From 5d716dc5fd406ee9f44ba800dc0b8a97bf691e07 Mon Sep 17 00:00:00 2001 From: zarpli <43631223+zarpli@users.noreply.github.com> Date: Fri, 13 May 2022 14:45:57 -0500 Subject: [PATCH] Add files via upload --- src/Z906.cpp | 12 ++++++++---- src/Z906.h | 3 ++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Z906.cpp b/src/Z906.cpp index 597431f..d128afa 100644 --- a/src/Z906.cpp +++ b/src/Z906.cpp @@ -29,7 +29,7 @@ int Z906::update(){ for(int i = 0; i < STATUS_TOTAL_LENGTH; i++) status[i] = dev_serial->read(); if (status[STATUS_STX] != EXP_STX) return 0; - if (status[STATUS_MODEL] != EXP_MODEL) return 0; + if (status[STATUS_MODEL] != EXP_MODEL_STATUS) return 0; if (status[STATUS_CHECKSUM] == LRC(status, STATUS_TOTAL_LENGTH)) return 1; return 0; @@ -38,12 +38,14 @@ int Z906::update(){ int Z906::request(uint8_t cmd){ - update(); - + if(update()) + { if(cmd == VERSION) return status[STATUS_VER_C] + 10 * status[STATUS_VER_B] + 100 * status[STATUS_VER_A]; if(cmd == CURRENT_INPUT) return status[STATUS_CURRENT_INPUT] + 1; return status[cmd]; + } + return 0; } int Z906::cmd(uint8_t cmd){ @@ -100,8 +102,10 @@ uint8_t Z906::main_sensor(){ if (millis() - currentMillis > SERIAL_TIME_OUT) return 0; uint8_t temp[TEMP_TOTAL_LENGTH]; - + for(int i = 0; i < TEMP_TOTAL_LENGTH; i++) temp[i] = dev_serial->read(); + if(temp[2] != EXP_MODEL_TEMP) return 0; + return temp[7]; } \ No newline at end of file diff --git a/src/Z906.h b/src/Z906.h index b0bc783..f501170 100644 --- a/src/Z906.h +++ b/src/Z906.h @@ -94,7 +94,8 @@ uint8_t main_sensor(); private: const uint8_t EXP_STX = 0xAA; -const uint8_t EXP_MODEL = 0x0A; +const uint8_t EXP_MODEL_STATUS = 0x0A; +const uint8_t EXP_MODEL_TEMP = 0x0C; const uint8_t STATUS_STX = 0x00; const uint8_t STATUS_MODEL = 0x01;