50 unsigned int system_time;
52 system_time = millis();
54 while ((millis() - system_time < timeout) && (Serial1.available() < 2));
56 if (Serial1.available() >= 2) {
57 if (Serial1.read() == 0xAA) {
58 length = Serial1.read();
59 check = 0xAA ^ length;
61 system_time = millis();
63 while ((millis() - system_time < timeout) &&
64 (Serial1.available() < length * 2 + 1)) {}
66 if (Serial1.available() >= length * 2 + 1) {
67 for (
unsigned char n = 0; n < length * 2; n++) {
68 data_buffer[n] = Serial1.read();
69 check = check ^ data_buffer[n];
71 if (check == Serial1.read()) {
72 while (Serial1.available()) {
75 for (
unsigned char n = 0; n < length; n++) {
76 data[n] = (data_buffer[n * 2 + 1] << 8) + data_buffer[n * 2];
91 Serial1.write(
"start");