Zustünde Switch und Power publishen
This commit is contained in:
@@ -12,8 +12,15 @@ struct CAN_INTERFACE_DATA intf_data[MOTOR_COUNT];
|
||||
/// @return
|
||||
int Can_OpenInterface(int iMotorIndex, const char * ifacename)
|
||||
{
|
||||
// Init control data
|
||||
motctrl[iMotorIndex].iActualMotorPowerW = 0;
|
||||
motctrl[iMotorIndex].iMotorGear = MOTOR_GEAR_NEUTRAL;
|
||||
motctrl[iMotorIndex].iMotorPower = 0;
|
||||
motctrl[iMotorIndex].iMotorPowerPct = 0;
|
||||
motctrl[iMotorIndex].nSwitchState = 0;
|
||||
|
||||
strcpy(intf_data[iMotorIndex].iface_name, ifacename);
|
||||
Can_SetMotorGear(iMotorIndex, 0);
|
||||
Can_SetMotorGear(iMotorIndex, MOTOR_GEAR_NEUTRAL);
|
||||
Can_SetMotorPower(iMotorIndex, 0);
|
||||
|
||||
// first we have to create a socket
|
||||
@@ -232,12 +239,14 @@ void Can_ReadData(int iMotorIndex)
|
||||
/// @param frame
|
||||
void Can_Read_Manu_PGN(int iMotorIndex, struct can_frame *frame)
|
||||
{
|
||||
|
||||
motctrl[iMotorIndex].nSwitchState = frame->data[2];
|
||||
MqttClient_Publish_MotorSwitchState(iMotorIndex, motctrl[iMotorIndex].nSwitchState);
|
||||
}
|
||||
|
||||
/// @brief Read PGN 65300
|
||||
/// @param frame
|
||||
void Can_Read_Manu_PGN2(int iMotorIndex, struct can_frame *frame)
|
||||
{
|
||||
|
||||
motctrl[iMotorIndex].iActualMotorPowerW = (frame->data[3] << 16) | (frame->data[4] << 8) | frame->data[5];
|
||||
MqttClient_Publish_MotorActualPowerW(iMotorIndex, motctrl[iMotorIndex].iActualMotorPowerW);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user