#pragma once #include #include #include #include #include #include #include #include #include #include #include // namespace xsync { using namespace std; #pragma pack(1) typedef struct { uint16_t type; uint16_t index; uint16_t cmd; uint16_t ndata; uint32_t data[]; // first is always checksum } iflytop_xsync_packet_header_t; typedef struct { uint32_t eventid; uint32_t data[]; } iflytop_xsync_event_report_packet_t; #pragma pack() typedef enum { ktimecode_report_event = 0, kxsync_work_state_report_event = 1, } iflytop_event_type_t; typedef enum { kxsync_packet_type_none = 0, kxsync_packet_type_reg_read = 1, kxsync_packet_type_reg_write = 2, kxsync_packet_type_reg_read_regs = 3, kxsync_packet_type_timecode_report = 4, } xsync_protocol_cmd_t; typedef enum { kxsync_packet_type_cmd = 0, kxsync_packet_type_receipt = 1, kxsync_packet_type_report = 2, } xsync_protocol_packet_type_t; typedef enum { kxsync_device_type_none = 0, kxsync_device_type_xsync = 1, kxsync_device_type_puck_station = 2, kxsync_device_type_encoder = 3, } xsync_device_type_t; typedef enum { xsync_stm32_action_none = 0, // xsync_stm32_action_generator_new_mac = 1, // xsync_stm32_action_factory_reset = 2, // xsync_stm32_action_reboot = 3, // xsync_stm32_action_storage_cfg = 4, // } xsync_stm32_action_t; typedef enum { obtaining_ip_mode_type_static = 0, obtaining_ip_mode_type_dhcp = 1, } obtaining_ip_mode_t; } // namespace xsync