Files
bassofono/codice/Core/Inc/interface.h

113 lines
2.2 KiB
C
Raw Normal View History

2021-07-02 22:19:04 +02:00
#include <stdint.h>
// === Tosta CMDS ===
#define BT1P 'A'
#define BT1R 'a'
#define BT2P 'B'
#define BT2R 'b'
#define BT3P 'C'
#define BT3R 'c'
#define BT4P 'D'
#define BT4R 'd'
#define JSBP 'E'
#define JSBR 'e'
#define JSLP 'F'
#define JSLR 'f'
#define JSRP 'G'
#define JSRR 'g'
#define JSUP 'H'
#define JSUR 'h'
#define JSDP 'I'
#define JSDR 'i'
#define ENBP 'J'
#define ENBR 'j'
#define ENRH '+'
#define ENLH '-'
#define TYP_INT 0
#define TYP_FLOAT 1
#define TYP_ALPHA 2
#define TYP_LIST 3
2021-12-31 04:22:22 +01:00
#define TYP_NED 4
#define TYP_HID 5
2021-07-02 22:19:04 +02:00
2021-12-31 04:22:22 +01:00
#define MENU_PAGE_SOM 0
#define MENU_PAGE_DEFAULT 0
#define MENU_PAGE_AUDIO 1
#define MENU_PAGE_EOM 1
#define MENU_PAGE_MEM 2
#define MENU_PAGE_ALL 255
2021-07-02 22:19:04 +02:00
#define SAT 0
#define WRAP 1
#define MENU_NAME_ROW 0
2021-12-31 04:22:22 +01:00
#define MENU_NAME_COL 0
2021-07-02 22:19:04 +02:00
#define DISPLAY_BL_DIM 0
#define DISPLAY_ROWS 6
#define DISPLAY_COLS 14
#define DISPLAY_X_SIZE 48
#define DISPLAY_Y_SIZE 84
#define DISPLAY_STANDBY_TIMER 30000
// ==== MENU =======
typedef void (*menu_set_function)(void);
typedef void (*menu_print_function)(uint8_t a);
struct menu_item {
2021-12-31 04:22:22 +01:00
uint8_t page;
2021-07-02 22:19:04 +02:00
char name[14];
uint8_t type;
uint8_t size;
uint8_t row;
uint8_t col;
uint32_t step;
uint32_t min;
uint32_t max;
uint8_t wrap;
2021-12-31 04:22:22 +01:00
char prefix[4];
char suffix[4];
2021-07-02 22:19:04 +02:00
uint32_t *varptr;
menu_set_function set_function_ptr;
menu_print_function print_function_ptr;
};
2021-12-31 04:22:22 +01:00
extern uint8_t menu_item, menu_page;
extern uint8_t menu_last_item[MENU_PAGE_EOM + 1];
2021-07-02 22:19:04 +02:00
extern char modulation_list[4][4];
2021-12-31 04:22:22 +01:00
extern char status_list[3][3];
2021-07-02 22:19:04 +02:00
extern struct menu_item items[];
2021-12-31 04:22:22 +01:00
// extern struct menu_item tabs[];
2021-07-02 22:19:04 +02:00
extern uint8_t menu_item_count;
2021-12-31 04:22:22 +01:00
// extern uint8_t tabs_count;
2021-07-02 22:19:04 +02:00
// funcs
void encoder_increment(void);
void encoder_decrement(void);
void joystick_dx(void);
void joystick_sx(void);
2021-12-31 04:22:22 +01:00
void set_menu_item(uint8_t mode);
2021-07-02 22:19:04 +02:00
void print_integer(uint8_t item_idx);
2021-12-31 04:22:22 +01:00
void print_string(uint8_t item_idx);
2021-07-02 22:19:04 +02:00
void print_modulation(uint8_t item_idx);
void print_bar(uint8_t item_idx);
void print_frequency(uint8_t item_idx);
char * valToStr(uint32_t val, char *buf, uint8_t bufSize, char sepChar);
uint8_t sat_subu8b(uint8_t x, uint8_t y);
2021-12-31 04:22:22 +01:00
void menu_item_up(void);
void menu_item_down(void);