| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*
- * AppBridge.cpp
- *
- * Created on: Mar 3, 2025
- * Author: juraj
- */
- #include <NbusSlave.h>
- NbusSlave::NbusSlave(uint8_t address, NbusCommunicator *comm) {
- _address = address;
- _communicator = comm;
- _pdu.ma = address;
- }
- NbusSlave::~NbusSlave() {
- // TODO Auto-generated destructor stub
- }
- DataFrame* NbusSlave::nbus_echo() {
- _pdu.sa = SLAVE_ADDRESS_MODULE;
- _pdu.fc = FC_ECHO;
- _sensor_cache[0] = 60 + _pdu.ma;
- _sensor_cache[1] = 61 + _pdu.ma;
- _sensor_cache[2] = 62 + _pdu.ma;
- _sensor_cache[3] = 63 + _pdu.ma;
- _sensor_count = 0;
- return _communicator->send(&_pdu, _sensor_cache, 4);
- }
- uint8_t NbusSlave::nbus_get_sensor_count(bool check_hw) {
- if (_sensor_count == 0 || check_hw == true) {
- nbus_sensor_count();
- }
- return _sensor_count;
- }
- DataFrame* NbusSlave::nbus_sensor_count() {
- _pdu.sa = SLAVE_ADDRESS_MODULE;
- _pdu.fc = FC_SENSOR_CNT;
- DataFrame* df = _communicator->send(&_pdu, _sensor_cache, 0);
- _sensor_count = df->GetFrame()[3];
- return df;
- }
- DataFrame* NbusSlave::nbus_sensor_type(uint8_t sensor_address) {
- _pdu.sa = sensor_address;
- _pdu.fc = FC_SENSOR_TYPE;
- return _communicator->send(&_pdu, _sensor_cache, 0);
- }
- DataFrame* NbusSlave::nbus_module_info() {
- _pdu.sa = SLAVE_ADDRESS_MODULE;
- _pdu.fc = FC_INFO;
- return _communicator->send(&_pdu, _sensor_cache, 0);
- }
- DataFrame* NbusSlave::nbus_module_format() {
- _pdu.sa = SLAVE_ADDRESS_MODULE;
- _pdu.fc = FC_SENSOR_FORMAT;
- return _communicator->send(&_pdu, _sensor_cache, 0);
- }
- DataFrame* NbusSlave::nbus_sensors_parameters() {
- return nbus_sensor_parameters(0);
- }
- DataFrame* NbusSlave::nbus_sensor_parameters(uint8_t sensor_address) {
- _pdu.sa = sensor_address;
- _pdu.fc = FC_SENSOR_FORMAT;
- return _communicator->send(&_pdu, _sensor_cache, 0);
- }
- DataFrame* NbusSlave::nbus_sensor_parameter(uint8_t sensor_address, uint8_t parameter) {
- _pdu.sa = sensor_address;
- _pdu.fc = FC_SENSOR_FORMAT;
- _sensor_cache[0] = parameter;
- return _communicator->send(&_pdu, _sensor_cache, 1);
- }
- DataFrame* NbusSlave::nbus_sensor_getData(uint8_t sensor_address) {
- _pdu.sa = sensor_address;
- _pdu.fc = FC_DATA;
- return _communicator->send(&_pdu, _sensor_cache, 0);
- }
|