printFullStatus method

void printFullStatus(
  1. Map<String, dynamic> statusMap
)

Función de utilidad para mostrar el estado completo

Implementation

void printFullStatus(Map<String, dynamic> statusMap) {
  if (!statusMap['success']) {
    log('Error obteniendo el estado: ${statusMap['error']}');
    return;
  }

  log('\n==== ESTADO DE LA IMPRESORA 3NSTART RPT008 ====');

  if (statusMap.containsKey('printerStatus')) {
    final status = statusMap['printerStatus']['status'];
    log('\n-- ESTADO GENERAL --');
    log('Gaveta: ${status['drawer']}');
    log('Online: ${status['online'] ? 'Sí' : 'No'}');
    log('Tapa abierta: ${status['coverOpen'] ? 'Sí' : 'No'}');
    log('Alimentación de papel manual: ${status['paperFeed'] ? 'Activa' : 'Inactiva'}');
    log('Error: ${status['error'] ? 'Sí' : 'No'}');
    log('Byte recibido: ${status['rawByte']}');
  }

  if (statusMap.containsKey('offlineStatus')) {
    final status = statusMap['offlineStatus']['status'];
    log('\n-- ESTADO OFFLINE --');
    log('Tapa abierta: ${status['coverOpen'] ? 'Sí' : 'No'}');
    log('Botón Feed presionado: ${status['paperFeedStop'] ? 'Sí' : 'No'}');
    log('Error ocurrido: ${status['errorOccurred'] ? 'Sí' : 'No'}');
    log('Offline: ${status['offline'] ? 'Sí' : 'No'}');
    log('Error auto-recuperable: ${status['autoRecoverableError'] ? 'Sí' : 'No'}');
    log('Esperando volver online: ${status['waitingForOnline'] ? 'Sí' : 'No'}');
    log('Byte recibido: ${status['rawByte']}');
  }

  if (statusMap.containsKey('errorStatus')) {
    final status = statusMap['errorStatus']['status'];
    log('\n-- ESTADO DE ERROR --');
    log('Error mecánico: ${status['mechanicalError'] ? 'Sí' : 'No'}');
    log('Error auto-recuperable: ${status['autoRecoverError'] ? 'Sí' : 'No'}');
    log('Error no recuperable: ${status['notRecoverableError'] ? 'Sí' : 'No'}');
    log('Error en cortador: ${status['autoRecoverableCutterError'] ? 'Sí' : 'No'}');
    log('Tapa abierta: ${status['coverOpen'] ? 'Sí' : 'No'}');
    log('Sin papel: ${status['paperEmpty'] ? 'Sí' : 'No'}');
    log('Byte recibido: ${status['rawByte']}');
  }

  if (statusMap.containsKey('paperStatus')) {
    final status = statusMap['paperStatus']['status'];
    log('\n-- ESTADO DEL PAPEL --');
    log('Papel por acabarse: ${status['paperNearEnd'] ? 'Sí' : 'No'}');
    log('Sin papel: ${status['paperEmpty'] ? 'Sí' : 'No'}');
    log('Detenido por papel por acabarse: ${status['paperNearEndStop'] ? 'Sí' : 'No'}');
    log('Detenido por falta de papel: ${status['paperEmptyStop'] ? 'Sí' : 'No'}');
    log('Byte recibido: ${status['rawByte']}');
  }

  log('\n========================================');
}