1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #pragma once
- namespace DiosCtrlBox
- {
- 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_SYSTEM_RESET_START,
- PNT_SYSTEM_RESET_STOP,
- PNT_CAN,
- };
- struct PWMOffsetPacket;
- struct TubeHeightADPacket;
- 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, TubeHeightADPacket *outpacket);
- static bool ParseEncoderPacket(SCFPacket *packet, EncoderPacket *outpacket);
- static bool ParseCanPacket(SCFPacket *packet, CanDeviceData *outpacket);
- };
- }
|