|
|
@ -43,37 +43,14 @@ uint8_t steering_gear_check_sum(int *buffer, int buffer_size) { |
|
|
|
return ((~checksum) & 0xff); |
|
|
|
} |
|
|
|
|
|
|
|
int get_int_buffer_len(int *buffer, int buffer_size) { |
|
|
|
int buffer_len = 0; |
|
|
|
int count = 0; |
|
|
|
|
|
|
|
for (int i = 0; i < buffer_size; i++) { |
|
|
|
if (0 == buffer[i]) { |
|
|
|
if (count == 0) { |
|
|
|
buffer_len = i; |
|
|
|
} |
|
|
|
count = count + 1; |
|
|
|
} else { |
|
|
|
count = 0; |
|
|
|
} |
|
|
|
|
|
|
|
if (count >= 3) { |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return buffer_len; |
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
* 恢复出厂设置: |
|
|
|
* 0xFF, 0xFF, 0x01, 0x02, 0x06 |
|
|
|
*/ |
|
|
|
int main(int argc, char *argv[]) { |
|
|
|
int buffer[128] = {0xFF, 0xFF, 0x01, 0x04, 0x03, 0x1E, 0x05}; // 恢复出厂设置 |
|
|
|
int buffer[] = {0xff, 0xff, 0x01, 0x07, 0x03, 0x2a, 0x00, 0x00, 0x00, 0x00}; // 恢复出厂设置 |
|
|
|
|
|
|
|
printf("check sum:0X%x\n", |
|
|
|
steering_gear_check_sum(buffer, get_int_buffer_len(buffer, (sizeof(buffer) / sizeof(int))))); |
|
|
|
printf("check sum:0X%x\n", steering_gear_check_sum(buffer, (sizeof(buffer) / sizeof(int)))); |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |