Реклама:
Хочешь стать куратором любимой темы?
0 Пользователи и 1 Гость просматривают эту тему.
mTotalDistance = ((data[6]&0xFF) <<24) + ((data[7]&0xFF) << 16) + ((data[8] & 0xFF) <<8) + (data[9] & 0xFF); if (mUseRatio) mTotalDistance = Math.round(mTotalDistance * RATIO_GW);
if ((paramString.equals("W")) && (bool)) {} switch (paramInt) { default: break; case 3: setSpeed(new String[] { "Y", "0", "3", "b" }); break; case 6: setSpeed(new String[] { "Y", "0", "6", "b" }); break; case 9: setSpeed(new String[] { "Y", "0", "9", "b" }); break; case 12: setSpeed(new String[] { "Y", "1", "2", "b" }); break;
Data received: 085 170 024 244 000 000 000 000 000 047 255 251 249 214 000 001 255 248 000 024 090 090 090 090
void setup() {Serial.begin(115200); // put your setup code here, to run once:byte data[24] = {85, 170, 85, 170, 0, 0, 0, 0, 0, 47, 255, 251, 249, 214, 0, 1, 255, 248, 0, 24, 90, 90, 90, 90};word vbat_int = data[2]<<8 | data[3];float vbat = vbat_int/100.0;int spd = data[4]<<8 | data[5];float outs = spd*0.036;unsigned long mDistance = (unsigned long)data[6]<<24 | (unsigned long)data[7]<<16 | (unsigned long)data[8]<<8 | (unsigned long)data[9];float outd = mDistance*0.875;int amp = data[10]<<8 | data[11];float outa = amp*1.85/100.0;int temp = data[12]<<8 | data[13];float outt = temp/340.0; outt = outt + 35;Serial.print("SPEED = "); Serial.println(outs);Serial.print("VOLTS = ");Serial.println(vbat);Serial.print("AMPS = ");Serial.println(outa);Serial.print("TEMP = ");Serial.println(outt); Serial.print("DISTANCE = ");Serial.println(outd);}void loop() { }