Здравствуйте, я внедряю протокол обмена инфой с вашим трекером М17 согласно руководству: https://help.starline.ru/ru/protokol-obmena-dlya-mayakov-starline-m15-m17-24053340.html
Спасибо. Оно очень классное и понятное. Однако думаю возникнет ряд вопросов всё равно.
Один уже есть: У вас там есть пример пакета авторизации и функции для расчёта CRC.
Я пишу на js. Исходя из приведённого вами примера функции, я написал следующее:
// bufferedData - array of bytes export function starlineCRC(bufferedData) { let bytes_amount = bufferedData.length - 1; //кроме байта контрольной суммы let crc = 0x3B; for (let i=0; i < bytes_amount; i++) { crc += 0x56 ^ bufferedData[i]; crc++; crc ^= 0xC5 + bufferedData[i]; crc--; } return crc;} И применил к примеру пакета авторизации: 0x41 0x03 0x21 0x25 0x65 0x69 0x85 0x54 0x75 0xС1 0x61 0x91 0x73 0x48 0x40 0x02 0x12 0x34 0x81 Вышеуказанный алгоритм посчитал CRC = 0x5F Прошу подсказать в чём может быть ошибка при расчёте CRC.
Customer support service by UserEcho
Здравствуйте, я внедряю протокол обмена инфой с вашим трекером М17 согласно руководству: https://help.starline.ru/ru/protokol-obmena-dlya-mayakov-starline-m15-m17-24053340.html
Спасибо. Оно очень классное и понятное. Однако думаю возникнет ряд вопросов всё равно.
Один уже есть: У вас там есть пример пакета авторизации и функции для расчёта CRC.
Я пишу на js. Исходя из приведённого вами примера функции, я написал следующее: