0xB2BA,0x8FDF,0xC870,0xF515,0x472E,0x7A4B,0x3DE4,0x0081,
0xF508,0xC86D,0x8FC2,0xB2A7,0x009C,0x3DF9,0x7A56,0x4733,
0x2345,0x1E20,0x598F,0x64EA,0xD6D1,0xEBB4,0xAC1B,0x917E,
0x475A,0x7A3F,0x3D90,0x00F5,0xB2CE,0x8FAB,0xC804,0xF561,
0x9117,0xAC72,0xEBDD,0xD6B8,0x6483,0x59E6,0x1E49,0x232C,
0xD6A5,0xEBC0,0xAC6F,0x910A,0x2331,0x1E54,0x59FB,0x649E,
0x00E8,0x3D8D,0x7A22,0x4747,0xF57C,0xC819,0x8FB6,0xB2D3,
0x59C1,0x64A4,0x230B,0x1E6E,0xAC55,0x9130,0xD69F,0xEBFA,
0x8F8C,0xB2E9,0xF546,0xC823,0x7A18,0x477D,0x00D2,0x3DB7,
0xC83E,0xF55B,0xB2F4,0x8F91,0x3DAA,0x00CF,0x4760,0x7A05,
0x1E73,0x2316,0x64B9,0x59DC,0xEBE7,0xD682,0x912D,0xAC48};
WORD
CRCValue;
int
Counter;
int
BufferLen;
BYTE
Buffer[100];
BufferLen=0;
Buffer[BufferLen++]=0x01;
Buffer[BufferLen++]=0xFE;
Buffer[BufferLen++]=0x06;
Buffer[BufferLen++]=0x09;
CRCValue=0;
for (Counter=0;Counter<BufferLen;++Counter)
{
CRCValue=CRCTable[(CRCValue>>8) ^ Buffer[Counter]] ^ (CRCValue<<8);
}
Buffer[BufferLen++]=(BYTE)((CRCTestValue & 0xFF00)>>8);
Buffer[BufferLen++]=(BYTE)(CRCTestValue & 0x00FF);
Drei Beispielbefehle mit korrektem CRC:
Firmware Version abfragen:
Funktelegramm auslesen 2:
Funktelegramm auslesen 3:
Firmware Version abfragen
Liefert die Firmware Version und den Gerätetyp des MBWBLUE zurück (alle Bytes hexadezimal).
Anfrage:
Antwort OK:
Antwort Fehler:
VMajor:
VMinor0:
VMinor1:
VMinor2:
DType:
// Command for requesting firmware version
01 FE 06 09 CRC CRC
01 FE 0B 09 VMajor VMinor0 VMinor1 VMinor2 DType CRC CRC
01 FE 07 09 FF CRC CRC
major version number
minor version number 0
minor version number 1
minor version number 2
Gerätetyp
50 = MBWBLUE 868 MHz
51 = MBWBLUE 434 MHz
MBWBLUE
01 FE 06 09 3F DE
01 FE 06 10 45 09
01 FE 06 40 E9 C0
65