NbusSlave.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * AppBridge.h
  3. *
  4. * Created on: Mar 3, 2025
  5. * Author: juraj
  6. */
  7. #ifndef SRC_APPSLAVE_H_
  8. #define SRC_APPSLAVE_H_
  9. #include "inttypes.h"
  10. #include "dataframe.h"
  11. #include "NbusCommunicator.h"
  12. /** Adresa slave modulu, bez špecifikácie adresy konktrétneho senzora. */
  13. #define SLAVE_ADDRESS_MODULE 0
  14. class NbusSlave {
  15. private:
  16. uint8_t _address;
  17. NbusCommunicator* _communicator;
  18. Nbus_pdu _pdu;
  19. uint8_t _sensor_cache[16];
  20. uint8_t _sensor_count;
  21. public:
  22. NbusSlave(uint8_t, NbusCommunicator*);
  23. virtual ~NbusSlave();
  24. DataFrame* nbus_echo();
  25. DataFrame* nbus_sensor_count();
  26. DataFrame* nbus_sensor_type(uint8_t);
  27. DataFrame* nbus_sensor_parameters(uint8_t);
  28. DataFrame* nbus_sensors_parameters();
  29. DataFrame* nbus_module_info();
  30. DataFrame* nbus_module_format();
  31. DataFrame* nbus_sensor_parameter(uint8_t, uint8_t);
  32. DataFrame* nbus_sensor_getData(uint8_t sensor_address);
  33. uint8_t nbus_get_sensor_count(bool check_hw);
  34. };
  35. #ifdef __cplusplus
  36. extern "C"
  37. {
  38. #endif
  39. #ifdef __cplusplus
  40. }
  41. #endif
  42. #endif /* SRC_APPSLAVE_H_ */