integrar-balanca-impressoralisted
Install: claude install-skill roldaobatista/roldao-method
# integrar-balanca-impressora
Periféricos de PDV são metade do trabalho. Cada marca/modelo tem protocolo levemente diferente. Esta skill orienta a integração robusta com validação no startup (PDV-003).
## Balanças
### Tipos
| Tipo | Onde se usa | Protocolo |
|---|---|---|
| **Balança computadora** (com display + teclado) | Açougue, padaria, hortifruti, deli | Serial (RS-232) ou USB serial — texto ASCII |
| **Balança de checkout** (sob o caixa) | Supermercado, loja de conveniência | Serial / USB-HID — protocolo numérico |
| **Balança de plataforma** (chão, > 5kg) | Atacado, distribuidor | Serial / Ethernet |
| **Balança de bancada** (≤ 5kg) | Farmácia (gramas) | Serial / USB |
### Protocolos comuns
| Marca | Modelos | Protocolo padrão |
|---|---|---|
| Toledo | Prix III, MGV6, MS, Eclipse | Protocolo Toledo (ASCII) |
| Filizola | CS, ST, BP | Protocolo Filizola (ASCII, similar Toledo) |
| Urano | POP-S, US | Protocolo Urano (ASCII) |
| Magna | classe III | Protocolo próprio |
**Boa prática:** abstrair atrás de interface `Balanca` com método `lerPeso(): {peso, unidade, estavel}`. Adapter por marca.
### Padrão Toledo Prix (mais comum)
```
PC envia: ENQ (0x05)
Balança responde: <STX>P<peso>UN<EOT>
Exemplo: <STX>P12345UN<EOT> → 12.345 kg estável
: <STX>P00000UN<EOT> → 0 (sem produto)
: <STX>I<EOT> → instável
: <STX>N<EOT> → sobrecarga
```
### Validação no startup (PDV-003)
```javascript
async function startupBalanca() {
try {