112 lines
2.1 KiB
C
112 lines
2.1 KiB
C
|
|
#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
|
||
|
|
|
||
|
|
/*
|
||
|
|
#define MOD_DC 0
|
||
|
|
#define MOD_LSB 1
|
||
|
|
#define MOD_USB 2
|
||
|
|
#define MOD_AM 3
|
||
|
|
*/
|
||
|
|
|
||
|
|
#define SAT 0
|
||
|
|
#define WRAP 1
|
||
|
|
|
||
|
|
/*
|
||
|
|
#define MENU_SELECT_FREQ 0
|
||
|
|
#define MENU_SELECT_VOL 1
|
||
|
|
#define MENU_SELECT_MODUL 2
|
||
|
|
#define MENU_SELECT_FILTER_F 3
|
||
|
|
#define MENU_SELECT_FILTER_BW 4
|
||
|
|
*/
|
||
|
|
|
||
|
|
// #define MENU_SELECT_DEFAULT MENU_SELECT_FREQ
|
||
|
|
// #define MENU_SELECT_EOM MENU_SELECT_FILTER_BW
|
||
|
|
|
||
|
|
#define MENU_NAME_ROW 0
|
||
|
|
#define MENU_NAME_COL 1
|
||
|
|
|
||
|
|
#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 {
|
||
|
|
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;
|
||
|
|
uint32_t *varptr;
|
||
|
|
menu_set_function set_function_ptr;
|
||
|
|
menu_print_function print_function_ptr;
|
||
|
|
};
|
||
|
|
|
||
|
|
extern uint8_t menu_mode, current_tab;
|
||
|
|
extern char modulation_list[4][4];
|
||
|
|
|
||
|
|
extern struct menu_item items[];
|
||
|
|
extern struct menu_item tabs[];
|
||
|
|
|
||
|
|
extern uint8_t menu_item_count;
|
||
|
|
extern uint8_t tabs_count;
|
||
|
|
|
||
|
|
// funcs
|
||
|
|
|
||
|
|
void encoder_increment(void);
|
||
|
|
void encoder_decrement(void);
|
||
|
|
void joystick_dx(void);
|
||
|
|
void joystick_sx(void);
|
||
|
|
void set_menu_mode(uint8_t mode);
|
||
|
|
|
||
|
|
void print_integer(uint8_t item_idx);
|
||
|
|
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);
|