|
|
@@ -233,8 +233,8 @@ DataFrame* NbusBridge::_cmdGetData()
|
|
|
NbusSlave * slave_ptr = nullptr;
|
|
|
|
|
|
_bridge_cast_frame.Init();
|
|
|
- _bridge_cast_frame.AddHeader(TYPE_HEADER_2B);
|
|
|
- _bridge_cast_frame.AddInt32(HAL_GetTick());
|
|
|
+ _bridge_cast_frame.AddArray(_bridge_cast_header, NBUS_BRIDGE_HEADER_SIZE); // add header
|
|
|
+ _bridge_cast_frame.AddUint32(HAL_GetTick());
|
|
|
|
|
|
|
|
|
for (uint32_t i = 0; i < _num_slaves; i++)
|
|
|
@@ -242,15 +242,13 @@ DataFrame* NbusBridge::_cmdGetData()
|
|
|
slave_ptr = _getSlave(_slave_adress[i]);
|
|
|
if (slave_ptr != nullptr)
|
|
|
{
|
|
|
- _bridge_cast_frame.AddInt8(slave_ptr->getModuleAddress());
|
|
|
+ _bridge_cast_frame.AddUint8(slave_ptr->getModuleAddress());
|
|
|
_worker_frame_ptr = slave_ptr->cmdGetData();
|
|
|
_bridge_cast_frame.AddArray(&NBUS_RX_DATA0(_worker_frame_ptr->GetFrame() + 1), _worker_frame_ptr->GetLength() - (NBUS_RX_META_SIZE + 1)); // add without length byte
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- _bridge_cast_frame.AddInt8(NBUS_BRIDGE_FOOTER_BYTE0);
|
|
|
- _bridge_cast_frame.AddInt8(NBUS_BRIDGE_FOOTER_BYTE1);
|
|
|
- _bridge_cast_frame.Commit();
|
|
|
+ _bridge_cast_frame.AddUint8(_crc8x_fast(_bridge_cast_frame.GetFrame(), _bridge_cast_frame.GetLength())); // add crc8
|
|
|
|
|
|
return &_bridge_cast_frame;
|
|
|
}
|
|
|
@@ -302,9 +300,8 @@ DataFrame* NbusBridge::_cmdGetSlaves()
|
|
|
_default_frame.AddUint8(NBUS_BROADCAST_ADDRESS);
|
|
|
_default_frame.AddUint8(NBUS_BRIDGE_ADDRESS);
|
|
|
_default_frame.AddUint8(FC_SLAVES);
|
|
|
- _default_frame.AddUint8(_num_slaves);
|
|
|
-
|
|
|
|
|
|
+ Nbus_SensorCnt_t sensor_cnt{0, 0};
|
|
|
|
|
|
for (uint8_t i = 0; i < _num_slaves; i++)
|
|
|
{
|
|
|
@@ -312,8 +309,11 @@ DataFrame* NbusBridge::_cmdGetSlaves()
|
|
|
|
|
|
if (slave_ptr != nullptr)
|
|
|
{
|
|
|
+ sensor_cnt = slave_ptr->cmdGetSensorCnt(false);
|
|
|
+
|
|
|
_default_frame.AddUint8(slave_ptr->getModuleAddress());
|
|
|
- _default_frame.AddUint8(slave_ptr->cmdGetSensorCnt(false));
|
|
|
+ _default_frame.AddUint8(sensor_cnt.read_only_count);
|
|
|
+ _default_frame.AddUint8(sensor_cnt.read_write_count);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -377,7 +377,6 @@ DataFrame* NbusBridge::_forwardPacket(uint8_t *data, uint8_t size)
|
|
|
_raw_data_frame.Init();
|
|
|
_raw_data_frame.AddUint8(size);
|
|
|
_raw_data_frame.AddArray(data, size);
|
|
|
- _raw_data_frame.Commit();
|
|
|
|
|
|
return &_raw_data_frame;
|
|
|
}
|