1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #pragma once
- using namespace DIOS::Dev::Communication::Detail;
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- enum PacketClass
- {
- PC_NAN = -1,
- PC_NOTIFY,
- };
- enum PacketNotifyType
- {
- PNT_NAN = -1,
- PNT_HANDSWITCH_FIRST_PRESSED,
- PNT_HANDSWITCH_FIRST_RELEASE,
- PNT_HANDSWITCH_SECOND_PRESSED,
- PNT_HANDSWITCH_SECOND_RELEASE,
- PNT_PWM_OFFSET,
- PNT_XRAY_ON,
- PNT_XRAY_OFF,
- PNT_TUBE_HEIGHT_AD,
- PNT_TUBE_ANGLE_LOW_LIMIT,
- PNT_TUBE_ANGLE_LEAVE_LOW_LIMIT,
- PNT_TUBE_ANGLE_HIGH_LIMIT,
- PNT_TUBE_ANGLE_LEAVE_HIGH_LIMIT,
- PNT_TUBE_ANGLE_ENCODER,
- PNT_TUBE_ANGLE_ENCODER_Z_CLEAR,
- PNT_TUBE_HEIGHT_ENCODER,
- PNT_TUBE_HEIGHT_ENCODER_Z_CLEAR,
- PNT_TUBE_HEIGHT_LOW_LIMIT,
- PNT_TUBE_HEIGHT_HIGH_LIMIT,
- PNT_TUBE_HEIGHT_LEAVE_LOW_LIMIT,
- PNT_TUBE_HEIGHT_LEAVE_HIGH_LIMIT,
- PNT_TUBE_HORIZONTAL_ENCODER,
- PNT_TUBE_HORIZONTAL_ENCODER_Z_CLEAR,
- PNT_TUBE_HORIZONTAL_LEFT_LIMIT,
- PNT_TUBE_HORIZONTAL_RIGHT_LIMIT,
- PNT_TUBE_HORIZONTAL_LEAVE_LEFT_LIMIT,
- PNT_TUBE_HORIZONTAL_LEAVE_RIGHT_LIMIT,
- PNT_SYSTEM_RESET_START,
- PNT_SYSTEM_RESET_STOP,
- PNT_CAN,
- PNT_SYSTEM_RESET_SWING_START,
- PNT_SYSTEM_RESET_SWING_STOP,
- PNT_SYSTEM_RESET_CIRCULAR_START,
- PNT_SYSTEM_RESET_CIRCULAR_STOP,
- PNT_TUBE_HEIGHT_CONTROLLER_DIRECTION_1_START,
- PNT_TUBE_HEIGHT_CONTROLLER_DIRECTION_1_STOP,
- PNT_TUBE_HEIGHT_CONTROLLER_DIRECTION_2_START,
- PNT_TUBE_HEIGHT_CONTROLLER_DIRECTION_2_STOP,
- PNT_TUBE_ANGLE_CONTROLLER_DIRECTION_1_START,
- PNT_TUBE_ANGLE_CONTROLLER_DIRECTION_1_STOP,
- PNT_TUBE_ANGLE_CONTROLLER_DIRECTION_2_START,
- PNT_TUBE_ANGLE_CONTROLLER_DIRECTION_2_STOP,
- PNT_CARM_SCANNING_SWITCH_CIRCULAR,
- PNT_CARM_SCANNING_SWITCH_SWING,
- PNT_TUBE_HORIZONTAL_CONTROLLER_DIRECTION_1_START,
- PNT_TUBE_HORIZONTAL_CONTROLLER_DIRECTION_1_STOP,
- PNT_TUBE_HORIZONTAL_CONTROLLER_DIRECTION_2_START,
- PNT_TUBE_HORIZONTAL_CONTROLLER_DIRECTION_2_STOP,
- };
- struct PWMOffsetPacket;
- struct TubeLineADPacket;
- struct EncoderPacket;
- struct CanDeviceData;
- class DIOSBoardProtocolParser
- {
- public:
- static PacketClass IdentifyPacketClass(SCFPacket *packet);
- static PacketNotifyType IdentifyPacketNotifyType(SCFPacket *packet);
- static bool ParsePWMOffsetPacket(SCFPacket *packet, PWMOffsetPacket *outpacket);
- static bool ParseTubeHeightADPacket(SCFPacket *packet, TubeLineADPacket *outpacket);
- static bool ParseEncoderPacket(SCFPacket *packet, EncoderPacket *outpacket);
- static bool ParseCanPacket(SCFPacket *packet, CanDeviceData *outpacket);
- };
- }
|