14#if defined(__GNUC__) || defined(__CC_ARM)
15#define MESSAGE_PACKED __attribute__((packed))
18#error "MESSAGE_PACKED not defined for this compiler"
26 uint8_t figure_name[3];
27 uint32_t operate_type: 3;
28 uint32_t figure_type: 3;
31 uint32_t font_size: 9;
40 uint8_t figure_name[3];
41 uint32_t operate_type: 3;
42 uint32_t figure_type: 3;
45 uint32_t font_size: 9;
46 uint32_t str_length: 9;
56#define PRIMITIVE_CAT(x, y) x ## y
57#define CAT(x, y) PRIMITIVE_CAT(x, y)
60#define DEFINE_MESSAGE(name, p_a, p_b, p_c, p_d, p_e) \
61typedef struct __attribute__((__packed__)) { \
62 uint8_t figure_name[3]; \
63 uint32_t operate_type:3; \
64 uint32_t figure_type:3; \
67 uint32_t PRIMITIVE_CAT(,p_a) :9; \
68 uint32_t PRIMITIVE_CAT(,p_b):9; \
70 uint32_t start_x:11; \
71 uint32_t start_y:11; \
72 uint32_t PRIMITIVE_CAT(,p_c):10; \
73 uint32_t PRIMITIVE_CAT(,p_d):11; \
74 uint32_t PRIMITIVE_CAT(,p_e):11; \
75} MESSAGE_PACKED ui_interface_ ## name ##_t
90 uint16_t cmd_id, sub_id;
91 uint16_t send_id, recv_id;
97ui_interface_figure_t data[1];
103ui_interface_figure_t data[2];
109ui_interface_figure_t data[5];
115ui_interface_figure_t data[7];
MESSAGE_PACKED ui_7_frame_t
Definition ui_types.h:117
MESSAGE_PACKED ui_frame_header_t
Definition ui_types.h:92
MESSAGE_PACKED ui_delete_frame_t
Definition ui_types.h:132
MESSAGE_PACKED ui_interface_string_t
Definition ui_types.h:54
MESSAGE_PACKED ui_interface_number_t
Definition ui_types.h:37
MESSAGE_PACKED ui_2_frame_t
Definition ui_types.h:105
MESSAGE_PACKED ui_string_frame_t
Definition ui_types.h:124
struct __attribute__((__packed__))
Definition ui_types.h:25
MESSAGE_PACKED ui_5_frame_t
Definition ui_types.h:111
#define DEFINE_MESSAGE(name, p_a, p_b, p_c, p_d, p_e)
Definition ui_types.h:60
MESSAGE_PACKED ui_1_frame_t
Definition ui_types.h:99