| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #pragma once
- typedef enum {
- Meal_PagerCustomEventStartscreenUp,
- Meal_PagerCustomEventStartscreenDown,
- Meal_PagerCustomEventStartscreenLeft,
- Meal_PagerCustomEventStartscreenRight,
- Meal_PagerCustomEventStartscreenOk,
- Meal_PagerCustomEventStartscreenBack,
- Meal_PagerCustomEventTransmitUp,
- Meal_PagerCustomEventTransmitDown,
- Meal_PagerCustomEventTransmitLeft,
- Meal_PagerCustomEventTransmitRight,
- Meal_PagerCustomEventTransmitOk,
- Meal_PagerCustomEventTransmitBack,
- Meal_PagerCustomEventScene2Up,
- Meal_PagerCustomEventScene2Down,
- Meal_PagerCustomEventScene2Left,
- Meal_PagerCustomEventScene2Right,
- Meal_PagerCustomEventScene2Ok,
- Meal_PagerCustomEventScene2Back,
- } Meal_PagerCustomEvent;
- enum Meal_PagerCustomEventType {
- // Reserve first 100 events for button types and indexes, starting from 0
- Meal_PagerCustomEventMenuVoid,
- Meal_PagerCustomEventMenuSelected,
- };
- #pragma pack(push, 1)
- typedef union {
- uint32_t packed_value;
- struct {
- uint16_t type;
- int16_t value;
- } content;
- } Meal_PagerCustomEventMenu;
- #pragma pack(pop)
- static inline uint32_t meal_pager_custom_menu_event_pack(uint16_t type, int16_t value) {
- Meal_PagerCustomEventMenu event = {.content = {.type = type, .value = value}};
- return event.packed_value;
- }
- static inline void meal_pager_custom_menu_event_unpack(uint32_t packed_value, uint16_t* type, int16_t* value) {
- Meal_PagerCustomEventMenu event = {.packed_value = packed_value};
- if(type) *type = event.content.type;
- if(value) *value = event.content.value;
- }
- static inline uint16_t meal_pager_custom_menu_event_get_type(uint32_t packed_value) {
- uint16_t type;
- meal_pager_custom_menu_event_unpack(packed_value, &type, NULL);
- return type;
- }
- static inline int16_t meal_pager_custom_menu_event_get_value(uint32_t packed_value) {
- int16_t value;
- meal_pager_custom_menu_event_unpack(packed_value, NULL, &value);
- return value;
- }
|