El paso "Imprime" de recepción deja de ser una promesa: la iQ4R confirma cada etiqueta
con su task ID y la barra solo avanza cuando hay tinta sobre papel. Los fallos son
ámbar y se reanudan — nunca se reimprime lo confirmado, nunca se pierde una tirada.
ConectaImprimeConfirmaPega
1Conecta↦ una sola vez
9:415G
al día
MOGOS GROUP C.A
(3)-SF-7741-1
Marielena Rodríguez · Caracas
iQ4R · sin conexión
Impresora
Bluetooth · etiquetas 62 × 62 mm
buscando impresoras cercanas…
iQ4R-A3F2guardada · se reconecta solaconectada
iQ4R-B710DC:0D:30:8B:B7:10
Imprimir etiqueta de prueba
El chip es la puerta. Se toca "sin conexión" y sube un sheet — el operador nunca abandona el paso 6. Emparejar pasa una vez: la dirección queda guardada y la app reconecta sola cada turno. La prueba de impresión vive aquí.
2Imprime↦ el botón trabaja
9:415G
al día
▲ MONTACARGAS
MOGOS GROUP C.A
(3)-SF-7741-2
Marielena Rodríguez · Caracas
saliendo la 2 · queda 1
iQ4R · imprimiendo
Imprimiendo 2 de 3etiqueta 1 confirmada en papel
Cero cromo nuevo: el CTA es la barra. La preview rota a la etiqueta que está saliendo (-1 → -2 → -3) y el relleno avanza con confirmaciones reales de la impresora — un task ID por caja, no "datos enviados". El QR ya es real: el id de la orden en ZPL a 300 dpi.
3Confirma↦ 3 de 3 en papel
9:415G
al día
▲ MONTACARGAS
MOGOS GROUP C.A
(3)-SF-7741-3
Marielena Rodríguez · Caracas
3 de 3 en papel
tirada completa · sin pendientes
iQ4R · lista
Pegar etiquetas
El cierre es automático. Al confirmar la última etiqueta, la pantalla pasa sola a "Pega" — el operador no declara nada que el papel no haya declarado ya. Si salió del paso con etiquetas pendientes, la tirada lo espera al volver.
AEl otro camino — la iQ4R dice que no
Se acabó el papel, quedó la tapa abierta, se cayó el Bluetooth. Todo fallo de impresora es recuperable: el error se materializa donde vivía el chip, en ámbar, y la tirada se reanuda exactamente donde quedó.
A1Sin papel↦ reanudar
9:415G
al día
MOGOS GROUP C.A
(3)-SF-7741-2
Marielena Rodríguez · Caracas
Sin papelrepón el rollo — la tirada espera
✓ 1⏸ 2· 3
Reanudar desde la 2
La 1 jamás se reimprime. La tarjeta ámbar dice qué hay en papel y qué falta; el CTA retoma desde la primera etiqueta sin confirmación. Etiquetas duplicadas en cajas reales = cajas perdidas en Caracas — por eso el papel manda.
A2Tapa abierta↦ se reanuda sola
9:415G
al día
MOGOS GROUP C.A
(3)-SF-7741-2
Marielena Rodríguez · Caracas
Tapa abiertase reanuda sola al cerrarla
✓ 1⏸ 2· 3
Esperando la tapa…
Cero acciones cuando el hardware avisa solo. La app escucha el estado de la impresora; al cerrar la tapa, la tirada continúa sin que nadie toque nada. Sobrecalentada recibe el mismo trato: "se reanuda sola al enfriar".
A3Sin conexión↦ la tirada no se pierde
9:415G
al día
MOGOS GROUP C.A
(3)-SF-7741-1
Marielena Rodríguez · Caracas
3 etiquetas · una por caja
iQ4R · sin conexión · reintentando…
Abrir impresora
Tres reintentos en silencio antes de pedir ayuda. Si el Bluetooth no vuelve, el CTA abre el sheet de "Conecta" — y la tirada queda en cola, intacta. Apagar y prender la impresora nunca cuesta una etiqueta.
BLa ingeniería — referencias, ZPL y secuencias
El mismo end-to-end, con cada referencia: de qué archivo sale cada dato, qué método del SDK lleva cada byte, y los tres diagramas de secuencia que gobiernan la tirada. Las marcas ámbar citan la sección exacta del manual del fabricante.
1 copia — el loop es por etiqueta, para confirmar cada task ID
^XZ
fin de formato
Secuencia A — Conexión. Una vez por turno; la dirección queda persistida y los próximos turnos auto-reconectan.
Secuencia B — Impresión feliz. Un loop por etiqueta; cada una confirmada en papel con su task ID antes de avanzar la barra.
Secuencia C — Error a mitad de tirada. Se acabó el papel en la 2 de 3: reanudar desde la 2, nunca reimprimir la 1.
llamadarespuesta / confirmaciónerror recuperable
Verificación de capacidades — documentado vs. validar día 1
honesto
Detectar sin papel / tapa / temperatura
✅ documentado en ambos — Android §3.35 · iOS PTPrintState
Confirmación por etiqueta (task IDs)
✅ documentado §3.36 — "Universal interface" · ⚠️ validar que la iQ4R lo honra con el APK demo del fabricante, el día 1, sin escribir código
Reanudar tras cerrar la tapa
✅ mecanismo nuestro: poll de estado §3.35 + reenviar los task IDs sin confirmar — no depende del firmware
Estado de impresión en iOS con ZPL
⚠️ el único hueco real: whenUpdatePrintState requiere activar el "status callback switch" — documentado para ESC/CPCL, no para ZPL. Plan B: poll de estado, igual que Android
La tirada nunca se pierde
✅ 100% software nuestro — cola en usePrinter() + draft persistente
Fuentes
Cotización iDPRT Q20260120J01
Xiamen Hanin Co., Ltd. — iQ4R (P/N 100700642) · M2 Pro PDA Android (P/N 102900028) · RF2 RFID (P/N 103000006)
28 pp. — PTDispatcher §2.1 · PTCommandZPL §2.5 · conexión §3 · ejemplos §4 · XCFrameworks con slice de simulador
RYCommunication Integration Guide (iOS)
9 pp. — protocolo RYAccessory · BLE · Info.plist
Spec de ingeniería
repo mogos-group → docs/superpowers/specs/2026-06-12-warehouse-printing-design.md — la versión completa con rutas, líneas y plan de validación
Debajo del cristal
La etiqueta no es una imagen: es ZPL puro generado en la app — texto, QR real con el id
de la orden y el banner de manejo, calculados a 300 dpi (732 × 732 puntos para 62 × 62 mm).
Un módulo nativo lo lleva por Bluetooth a la iQ4R desde la PDA Android del operador o desde
un iPhone, con el mismo contrato. La impresora responde etiqueta por etiqueta; esa respuesta
es la única fuente del progreso que se ve arriba.
draft de recepción → buildLabelZpl(draft, caja i) → módulo nativo (Android · iOS) → iQ4R → confirmación por task ID → UI
El papel es la verdadEl progreso avanza con confirmaciones de impresión reales, nunca con bytes enviados.
Ámbar, no rojoTodo fallo de impresora es recuperable; el rojo queda reservado para perder datos — y aquí no se pierden.
Nunca reimprime lo confirmadoReanudar parte de la primera etiqueta sin confirmación. Duplicados = cajas perdidas.
La impresora es mantenimientoSe empareja una vez; después es un susurro verde que nadie mira.
Sin modalesLos errores se materializan donde vive el chip, dentro del layout — calma, incluso cuando algo falla.