diff --git a/debug-app/include/device-parser.h b/debug-app/include/device-parser.h index 8544addf1890bdad4dc7c9b1ca03a51a426b89ab..c5f097d0510c2fe3a9f9acf75a5b2e01d28146a8 100644 --- a/debug-app/include/device-parser.h +++ b/debug-app/include/device-parser.h @@ -4,7 +4,7 @@ #include "utilities.h" typedef struct BleSensorData { - uint8_t tempSensor; + uint8_t sensorData; } BleSensorData_t; class DeviceParser { diff --git a/debug-app/module/handler/device-parser/src/device-parser.cpp b/debug-app/module/handler/device-parser/src/device-parser.cpp index 11145e878ae559b393485f6d08efd66b752b284b..ab6f21f10251c7ff97ebf0c8958f8abb02292335 100644 --- a/debug-app/module/handler/device-parser/src/device-parser.cpp +++ b/debug-app/module/handler/device-parser/src/device-parser.cpp @@ -3,7 +3,7 @@ #include <zephyr/zbus/zbus.h> LOG_MODULE_REGISTER(DeviceParser); -ZBUS_CHAN_DECLARE(bleScanChannel); +ZBUS_CHAN_DECLARE(bleScanChannel, driverResponseChannel); static DeviceParser *context; @@ -20,9 +20,18 @@ void DeviceParser::BleScanListener(const struct zbus_channel *chan){ msg = (BleData_t *)zbus_chan_const_msg(chan); // Direct message access BleSensorData_t parsedData; if(context->BleDeviceParser(msg, &parsedData)){ - LOG_INF("Device %s has data %d", msg->address.c_str(), parsedData.tempSensor); + LOG_INF("Device %s has data %d", msg->address.c_str(), parsedData.sensorData); + std::vector<uint8_t> dataValue; + dataValue.push_back(parsedData.sensorData); + DriverMessage_t sentMessage = { + .number = BLUETOOTH, + .type = REQUEST_SET, + .value = dataValue + }; + + zbus_chan_pub(&driverResponseChannel, &sentMessage, K_FOREVER); } - LOG_HEXDUMP_INF(msg->data.data(), msg->data.size(), "data raw"); + // LOG_HEXDUMP_INF(msg->data.data(), msg->data.size(), "data raw"); } else{ return; @@ -32,7 +41,7 @@ void DeviceParser::BleScanListener(const struct zbus_channel *chan){ bool DeviceParser::BleDeviceParser(const BleData_t *data, BleSensorData_t *parsedData){ if(data->data.size() >= 8){ if(data->data[5] == 0x1a && data->data[6] == 0x18){ - parsedData->tempSensor = data->data[7]; + parsedData->sensorData = data->data[7]; return true; } }