Fluxo de trabalho para diagramas de fiação de hardware
Trate datasheets e desenhos de conectores como a fonte de verdade elétrica. Trate fotografias de componentes como evidência de posicionamento apenas, a menos que seus rótulos de pads sejam legíveis e a orientação seja inequívoca.
1. Estabeleça o contrato de conexão
- Faça o inventário de cada componente, conector, pino, sinal, domínio de tensão, orientação e formato de saída solicitado.
- Registre a fonte autoritativa e a revisão para cada pinagem. Não infira uma atribuição de pino a partir de uma foto de produto quando existir um datasheet ou esquema.
- Normalize toda conexão em uma netlist legível por máquina antes de desenhar. Use números de pinos físicos e nomes de sinais juntos.
- Marque pinos desconhecidos, opcionais, reservados, não conectados e fontes de alimentação explicitamente. Pare antes de rotear se uma pinagem ou tensão crítica para segurança não for resolvida.
- Distinga um diagrama de montagem/fiação de um esquemático de princípio. Mantenha-os sincronizados através da mesma netlist, mesmo que apenas um seja mostrado ao usuário.
Leia source-truth-and-orientation.md antes de interpretar placas rotacionadas, visões espelhadas, fotografias de baixo ou faces de acoplamento de conectores. Leia electrical-rules.md para verificações de sinal e alimentação.
2. Planeje a folha antes de rotear
- Selecione A4 ou A3 e reserve zonas para título, componentes, chamadas de pinagem, notas e legenda.
- Coloque o controlador principal próximo ao centro visual. Coloque periféricos perto do lado do controlador ao qual se conectam.
- Gire a imagem do componente e sua chamada juntos. Mantenha cada chamada próxima ao conector físico correspondente.
- Use uma chamada de pinagem compacta quando um conector de placa for muito denso. Preserve a ordem física exata após rotação ou espelhamento.
- Mova os rótulos para um lado livre antes de rotear. Nunca roteie através de fotografias, rótulos, números de pinos ou símbolos de contato adjacentes.
Leia layout-and-callouts.md para a composição A3, chamada de GPIO e padrões de cartão de componente.
3. Roteie conexões deterministicamente
- Roteie ortogonalmente, a menos que o projeto exija explicitamente outro estilo.
- Conecte do limite de um terminal rotulado ou pad ao limite do seu destino. Não pare antes do tempo, desapareça sob um cartão ou cruze o centro do contato.
- Reserve um canal por fio. Nunca coloque dois segmentos de conexão no mesmo segmento geométrico.
- Evite cruzamentos. Se um cruzamento for inevitável, mantenha-o em 90 graus, use uma convenção de separação visível e nunca implique uma junção.
- Desenhe rotas sob os símbolos de terminal e, em seguida, redesenhe os preenchimentos dos terminais, números e rótulos acima das rotas. Preserve um ponto final visível na borda do contato.
- Mantenha rotas paralelas separadas por pelo menos o espaçamento de canal configurado, incluindo seus halos.
- Aplique o mapeamento de cores estável em visual-language.md; sempre associe cor a um rótulo de sinal.
Use scripts/validate_wiring.py após cada alteração de roteamento material. Trate qualquer sobreposição, interseção não intencional, ponto final solto, rótulo obscurecido ou conexão elétrica inválida como um candidato reprovado.
4. Construa a partir de primitivas SVG reutilizáveis
- Comece a partir de wiring-a3-template.svg quando não existir um template nativo do projeto.
- Mantenha fotos de componentes em
assets/ou no diretório de ativos do projeto e referencie-as por caminho relativo. - Dê a rotas, terminais, rótulos, componentes e regiões de restrição IDs estáveis e atributos
data-*semânticos. Siga svg-annotation-contract.md. - Coloque rotas em uma camada dedicada abaixo dos terminais e texto. Use um halo apenas para separar rotas do fundo; não o use para ocultar outra rota.
- Preserve SVG editável como fonte. Renderize PNG/PDF apenas como artefatos de revisão derivados.
5. Valide em camadas
- Execute a análise estrutural SVG e o validador de fiação.
- Verifique se cada ponto final da netlist existe exatamente uma vez e cada rota termina em ambos os pontos finais declarados.
- Verifique direção da alimentação, compatibilidade de tensão, terra comum, crossover UART e requisitos específicos de barramento.
- Verifique a numeração física em relação à orientação real exibida, incluindo indicadores de pino 1 e linhas pares/ímpares.
- Renderize a folha completa e recortes ampliados de cada conector modificado.
- Inspecione no tamanho de impressão pretendido. Números de pinos, nomes de sinais, identidade do fio, contato do ponto final e avisos devem permanecer legíveis.
- Re-renderize após cada edição SVG; nunca relate sucesso apenas pela inspeção da fonte.
Use scripts/render_svg.py. No Codex Desktop, carregue dependências do espaço de trabalho quando disponíveis; o renderizador também detecta automaticamente o Node.js e o runtime Sharp integrados para saída PNG.
Leia validation-gates.md antes de declarar conclusão. Leia failure-patterns.md ao reparar um diagrama existente.
6. Entregue com veracidade
- Entregue o SVG editável, um PNG renderizado e PDF quando solicitado.
- Declare o mapeamento exato pino a pino para conexões recém-adicionadas ou alteradas.
- Declare quais pinagens foram verificadas por fonte e quais suposições permanecem.
- Relate
completedsomente quando as portas estrutural, elétrica, de roteamento e visual passarem. - Relate
blockedquando uma pinagem autoritativa, classificação de tensão, orientação do conector ou interpretação da face de acoplamento não puder ser estabelecida. - Nunca afirme que uma rota visualmente plausível prova correção elétrica.