toPacket method

  1. @override
String toPacket()
override

toPacket returns the packet in the format of Layrz Protocol v3.

Definition: <Pi>IMEI;FW_ID;FW_BUILD;SYS_DEV_ID;SYS_DEV_HW_ID;SYS_DEV_MD_ID;SYS_DEV_FW_BRANCH;FOTA_ENABLED;CRC16</Pi>

Implementation

@override
String toPacket() {
  String payload = '$ident;';
  payload += '$firmwareId;';
  payload += '$firmwareBuild;';
  payload += '$deviceId;';
  payload += '$hardwareId;';
  payload += '$modelId;';
  payload += '${firmwareBranch.toPacket()};';
  payload += '${fotaEnabled ? '1' : '0'};';

  String crc = calculateCrc(payload.codeUnits).toRadixString(16).padLeft(4, '0').toUpperCase();

  return '<Pi>$payload$crc</Pi>';
}