Added mutex to MODBUS and I@c for mutithreading

This commit is contained in:
Emanuele Trabattoni
2025-07-14 11:29:16 +02:00
parent 7e02f3cef2
commit bdf3b9b41a
7 changed files with 26 additions and 16 deletions

View File

@@ -7,6 +7,7 @@
#include <HardwareSerial.h> // Reference the ESP32 built-in serial port library
#include <CRC16.h>
#include <memory>
#include <mutex>
namespace drivers
{
@@ -80,6 +81,7 @@ namespace drivers
private:
CRC16 m_crc;
std::mutex m_mutex;
const std::vector<uint8_t> singleRequest(const uint8_t device, const uint8_t func, const uint16_t reg, const uint16_t data);
const std::vector<uint8_t> multiRequest(const uint8_t device, const uint8_t func, const uint16_t reg, const uint16_t qty, const std::vector<uint8_t> &data);
const bool readBinary(const uint8_t device, const uint8_t func, const uint16_t reg, const uint16_t bits, std::vector<bool> &out);