/* * @file AppBridge.h * @brief Deklarácia modulu nBus Slave z pohľadu nBus Bridge * @date Mar 3, 2025 * @author Juraj Dudak */ #ifndef SRC_APPSLAVE_H_ #define SRC_APPSLAVE_H_ #include "inttypes.h" #include "dataframe.h" #include "NbusCommunicator.h" /** Adresa slave modulu, bez špecifikácie adresy konktrétneho senzora. */ #define SLAVE_ADDRESS_MODULE 0 class NbusSlave { private: uint8_t _address; NbusCommunicator* _communicator; Nbus_pdu _pdu; uint8_t _sensor_cache[16]; uint8_t _sensor_count; public: NbusSlave(uint8_t, NbusCommunicator*); NbusSlave(); virtual ~NbusSlave(); void setCommunicator(NbusCommunicator*); void setAddress(uint8_t); bool isActive(); DataFrame* nbus_echo(); DataFrame* nbus_sensor_count(); DataFrame* nbus_sensor_type(uint8_t); DataFrame* nbus_sensor_parameters(uint8_t); DataFrame* nbus_sensors_parameters(); DataFrame* nbus_module_info(); DataFrame* nbus_sensor_parameter(uint8_t, uint8_t); DataFrame* nbus_sensor_getData(uint8_t sensor_address); uint8_t nbus_get_sensor_count(bool check_hw = false); }; #ifdef __cplusplus extern "C" { #endif #ifdef __cplusplus } #endif #endif /* SRC_APPSLAVE_H_ */