| 123456789101112131415161718192021222324252627282930313233 |
- #ifndef _NBUS_APP_DRIVER_H_
- #define _NBUS_APP_DRIVER_H_
- #include <cinttypes>
- #include <Stream.h>
- #include <esp32-hal.h>
- #define NBUS_APP_DRIVER_PAYLOAD_MIN 4
- #define NBUS_APP_DRIVER_PAYLOAD_MAX 127
- class NbusAppDriver
- {
- public:
- NbusAppDriver(Stream *stream_obj, uint8_t *data, int16_t size, int32_t timeout);
- void setData(uint8_t *data, int16_t size);
- int16_t receiveFromMaster();
-
-
- private:
- bool _checkTimeout();
- void _resetRxState();
- Stream *_stream_obj;
- uint8_t *_data{nullptr};
- int16_t _size{0};
- int32_t _timeout{0};
- int64_t _time0{INT64_MAX};
- int16_t _rx_index{0};
- int16_t _rx_size{0};
- };
- #endif // _NBUS_APP_DRIVER_H_
|