From 96418e28e62e23b36ee92a0b296c5eaa52b7debb Mon Sep 17 00:00:00 2001 From: francois <francois@clever.amilab.irit.fr> Date: Fri, 18 Mar 2022 16:19:05 +0100 Subject: [PATCH] switch back to regular IKEA PMsensor commands + added hex_dump for frames --- neosensor/libraries/neocampus_drivers/SCD4x.cpp | 2 +- neosensor/libraries/neocampus_drivers/pm_serial.cpp | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/neosensor/libraries/neocampus_drivers/SCD4x.cpp b/neosensor/libraries/neocampus_drivers/SCD4x.cpp index 5acce2c9..55d38db8 100644 --- a/neosensor/libraries/neocampus_drivers/SCD4x.cpp +++ b/neosensor/libraries/neocampus_drivers/SCD4x.cpp @@ -26,7 +26,7 @@ #include "neocampus_debug.h" #include "neocampus_i2c.h" -// [may.20] debug +// for hex_dump debug #include "neocampus_utils.h" diff --git a/neosensor/libraries/neocampus_drivers/pm_serial.cpp b/neosensor/libraries/neocampus_drivers/pm_serial.cpp index 967b944b..89bef2e9 100644 --- a/neosensor/libraries/neocampus_drivers/pm_serial.cpp +++ b/neosensor/libraries/neocampus_drivers/pm_serial.cpp @@ -23,6 +23,9 @@ #include "neocampus.h" #include "neocampus_debug.h" +// for hex_dump debug +#include "neocampus_utils.h" + #include "pm_serial.h" // neOCampus driver @@ -870,8 +873,8 @@ boolean pm_serial::_ll_requestRead( void ) { res = true; } else if( _sensor_type == pmSensorType_t::IKEA ) { - // uint8_t command[] = { 0x11, 0x01, 0x02, 0xEC }; // regular command - uint8_t command[] = { 0x11, 0x02, 0x0b, 0x01, 0xE1 }; // [feb.22] hidden command + uint8_t command[] = { 0x11, 0x01, 0x02, 0xEC }; // regular command + // uint8_t command[] = { 0x11, 0x02, 0x0b, 0x01, 0xE1 }; // [feb.22] hidden command _stream->write(command, sizeof(command)); delay(50); res = true; } @@ -1132,6 +1135,10 @@ boolean pm_serial::serialRead_ikea( uint16_t timeout ) { continue; } + // DEBUG + log_debug(F("\n[pm_serial][IKEA] frame received: ")); log_flush(); + hex_dump( (char*)_payload, min(sizeof(_payload),(unsigned int)(_frameLen-1)) ); + uint16_t value; // Atmospheric Environment. //value = makeWord(_payload[6], _payload[7]); // PM1_0 -- GitLab