|
|
@@ -62,10 +62,10 @@ void NbusBridge::scanNetwork()
|
|
|
NBUS_TX_DATA0(response_raw + 2) == NBUS_BRIDGE_ECHO_SCAN_BYTE2 && NBUS_TX_DATA0(response_raw + 3) == NBUS_BRIDGE_ECHO_SCAN_BYTE3)
|
|
|
{
|
|
|
_num_slaves++;
|
|
|
- _slaves[i].setAddress(i);
|
|
|
+ _slaves[i].setModuleAddress(i);
|
|
|
_slaves[i].setCommunicator(_communicator);
|
|
|
_slave_adress[slave_index++] = i;
|
|
|
- _slaves[i].nbusSlaveCmd_getSensorCnt(true); // retrieve sensor count for each slave
|
|
|
+ _slaves[i].cmdGetSensorCnt(true); // retrieve sensor count for each slave
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -296,15 +296,25 @@ DataFrame * NbusBridge::_cmdGetFormat()
|
|
|
|
|
|
DataFrame* NbusBridge::_cmdGetSlaves()
|
|
|
{
|
|
|
+ NbusSlave * slave_ptr = nullptr;
|
|
|
+
|
|
|
_default_frame.Init();
|
|
|
_default_frame.AddUint8(NBUS_BROADCAST_ADDRESS);
|
|
|
_default_frame.AddUint8(NBUS_BRIDGE_ADDRESS);
|
|
|
_default_frame.AddUint8(FC_SLAVES);
|
|
|
+ _default_frame.AddUint8(_num_slaves);
|
|
|
+
|
|
|
+
|
|
|
|
|
|
for (uint8_t i = 0; i < _num_slaves; i++)
|
|
|
{
|
|
|
- _default_frame.AddUint8(i + 1);
|
|
|
- _default_frame.AddUint8(_slave_adress[i]);
|
|
|
+ slave_ptr = _getSlave(_slave_adress[i]);
|
|
|
+
|
|
|
+ if (slave_ptr != nullptr)
|
|
|
+ {
|
|
|
+ _default_frame.AddUint8(slave_ptr->getModuleAddress());
|
|
|
+ _default_frame.AddUint8(slave_ptr->cmdGetSensorCnt(false));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
_default_frame.Commit();
|