mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 16:30:28 +00:00
140 lines
5.0 KiB
Dart
140 lines
5.0 KiB
Dart
/// MeshCore BLE and Protocol Constants
|
|
class MeshCoreConstants {
|
|
// Supported protocol version
|
|
static const int supportedCompanionProtocolVersion = 1;
|
|
|
|
// BLE Service and Characteristic UUIDs
|
|
static const String bleServiceUuid =
|
|
'6E400001-B5A3-F393-E0A9-E50E24DCCA9E';
|
|
static const String bleCharacteristicRxUuid =
|
|
'6E400002-B5A3-F393-E0A9-E50E24DCCA9E'; // Write
|
|
static const String bleCharacteristicTxUuid =
|
|
'6E400003-B5A3-F393-E0A9-E50E24DCCA9E'; // Notify
|
|
|
|
// Command Codes (App -> Device)
|
|
static const int cmdAppStart = 1;
|
|
static const int cmdSendTxtMsg = 2;
|
|
static const int cmdSendChannelTxtMsg = 3;
|
|
static const int cmdGetContacts = 4;
|
|
static const int cmdGetDeviceTime = 5;
|
|
static const int cmdSetDeviceTime = 6;
|
|
static const int cmdSendSelfAdvert = 7;
|
|
static const int cmdSetAdvertName = 8;
|
|
static const int cmdAddUpdateContact = 9;
|
|
static const int cmdSyncNextMessage = 10;
|
|
static const int cmdSetRadioParams = 11;
|
|
static const int cmdSetTxPower = 12;
|
|
static const int cmdResetPath = 13;
|
|
static const int cmdSetAdvertLatLon = 14;
|
|
static const int cmdRemoveContact = 15;
|
|
static const int cmdShareContact = 16;
|
|
static const int cmdExportContact = 17;
|
|
static const int cmdImportContact = 18;
|
|
static const int cmdReboot = 19;
|
|
static const int cmdGetBatteryVoltage = 20;
|
|
static const int cmdSetTuningParams = 21;
|
|
static const int cmdDeviceQuery = 22;
|
|
static const int cmdExportPrivateKey = 23;
|
|
static const int cmdImportPrivateKey = 24;
|
|
static const int cmdSendRawData = 25;
|
|
static const int cmdSendLogin = 26;
|
|
static const int cmdSendStatusReq = 27;
|
|
static const int cmdGetChannel = 31;
|
|
static const int cmdSetChannel = 32;
|
|
static const int cmdSignStart = 33;
|
|
static const int cmdSignData = 34;
|
|
static const int cmdSignFinish = 35;
|
|
static const int cmdSendTracePath = 36;
|
|
static const int cmdSetOtherParams = 38;
|
|
static const int cmdSendTelemetryReq = 39;
|
|
static const int cmdSendBinaryReq = 50;
|
|
|
|
// Response Codes (Device -> App)
|
|
static const int respOk = 0;
|
|
static const int respErr = 1;
|
|
static const int respContactsStart = 2;
|
|
static const int respContact = 3;
|
|
static const int respEndOfContacts = 4;
|
|
static const int respSelfInfo = 5;
|
|
static const int respSent = 6;
|
|
static const int respContactMsgRecv = 7;
|
|
static const int respChannelMsgRecv = 8;
|
|
static const int respCurrTime = 9;
|
|
static const int respNoMoreMessages = 10;
|
|
static const int respExportContact = 11;
|
|
static const int respBatteryVoltage = 12;
|
|
static const int respDeviceInfo = 13;
|
|
static const int respPrivateKey = 14;
|
|
static const int respDisabled = 15;
|
|
static const int respChannelInfo = 18;
|
|
static const int respSignStart = 19;
|
|
static const int respSignature = 20;
|
|
|
|
// Push Codes (Device -> App, unsolicited)
|
|
static const int pushAdvert = 0x80;
|
|
static const int pushPathUpdated = 0x81;
|
|
static const int pushSendConfirmed = 0x82;
|
|
static const int pushMsgWaiting = 0x83;
|
|
static const int pushRawData = 0x84;
|
|
static const int pushLoginSuccess = 0x85;
|
|
static const int pushLoginFail = 0x86;
|
|
static const int pushStatusResponse = 0x87;
|
|
static const int pushLogRxData = 0x88;
|
|
static const int pushTraceData = 0x89;
|
|
static const int pushNewAdvert = 0x8A;
|
|
static const int pushTelemetryResponse = 0x8B;
|
|
static const int pushBinaryResponse = 0x8C;
|
|
|
|
// Error Codes
|
|
static const int errUnsupportedCmd = 1;
|
|
static const int errNotFound = 2;
|
|
static const int errTableFull = 3;
|
|
static const int errBadState = 4;
|
|
static const int errFileIoError = 5;
|
|
static const int errIllegalArg = 6;
|
|
|
|
// Advert Types
|
|
static const int advTypeNone = 0;
|
|
static const int advTypeChat = 1;
|
|
static const int advTypeRepeater = 2;
|
|
static const int advTypeRoom = 3;
|
|
|
|
// Self Advert Types
|
|
static const int selfAdvertZeroHop = 0;
|
|
static const int selfAdvertFlood = 1;
|
|
|
|
// Text Types
|
|
static const int txtTypePlain = 0;
|
|
static const int txtTypeCliData = 1;
|
|
static const int txtTypeSignedPlain = 2;
|
|
|
|
// Binary Request Types
|
|
static const int binaryReqGetTelemetryData = 0x03;
|
|
static const int binaryReqGetAvgMinMax = 0x04;
|
|
static const int binaryReqGetAccessList = 0x05;
|
|
static const int binaryReqGetNeighbours = 0x06;
|
|
|
|
// Cayenne LPP Data Types
|
|
static const int lppDigitalInput = 0;
|
|
static const int lppDigitalOutput = 1;
|
|
static const int lppAnalogInput = 2;
|
|
static const int lppAnalogOutput = 3;
|
|
static const int lppIlluminanceSensor = 101;
|
|
static const int lppPresenceSensor = 102;
|
|
static const int lppTemperatureSensor = 103;
|
|
static const int lppHumiditySensor = 104;
|
|
static const int lppAccelerometer = 113;
|
|
static const int lppBarometer = 115;
|
|
static const int lppVoltageSensor = 116;
|
|
static const int lppGyrometer = 134;
|
|
static const int lppGps = 136;
|
|
|
|
// MTU and timing
|
|
static const int maxMtuSize = 512;
|
|
static const int defaultTimeout = 5000; // 5 seconds
|
|
static const int reconnectDelay = 2000; // 2 seconds
|
|
static const int telemetryUpdateInterval = 300000; // 5 minutes
|
|
|
|
MeshCoreConstants._(); // Private constructor to prevent instantiation
|
|
}
|