#define MS 1
#define M0 2
#define SM 3
#define S0 4
#define MODE_VOL 2
byte mode = 0;
byte radio_mode = MS;
byte _event = 255;
char* config_mode_puls[3] = {"99", "master", "slave"}; // добавим name (pulse)
char* events_mode_puls[10] = {"one fire", "line fire", "0", "0", "0", "0", "0", "0", "0", "0"};
char* config_mode_burn[3] = {"7", "master", "slave"};
char* events_mode_burn[10] = {"burn", "0", "0", "0", "0", "0", "0", "0", "0", "0"};
char** modes[MODE_VOL] = {events_mode_puls, events_mode_burn};
void action(){
if (_event < 10) { // кнопки 0-9
Serial.println(modes[mode][_event]);
_event = 255;
} else if(_event == 10){ // кнопка 10
if (radio_mode < 4){radio_mode ++;}else{radio_mode = 1;}
//set pipe
Serial.println("radio_mode");
_event = 255;
} else if(_event == 11){ // кнопка 11
if(mode < MODE_VOL-1){mode ++;}else{mode = 0;}
radio_mode = MS;
//set channel
//set pipe
Serial.println("set mod");
_event = 255;
}
}
void setup() {
Serial.begin(115200);
Serial.println();
Serial.println(modes[mode][0]);
}
void loop() {
}
// лучший вариант с модификатором на кнопке 10. в таком случае, при
// вкл. модификаторе назначение кнопок 0-9 меняется на настройку канала,
// мощьности, мода, мода_приёма-передачи, дополтительных фильтров и т.д.
// тогда кнопка 11 будет get package.
// выключение модификатора применяет настройки.
// реализация: кнопка 10 поднимает флвг edit, кнопки 0-9 меняются,
// настраивается ?массив? ?переменные? кнопка 10 опускает флвг, настраивается NRF.
// render после каждого нажатия.
// думать над режимами передачи!
// лучше оставить всего 2 (MS SM). остальное перенести в настройку фильтров.
// либо M+MS S+SM M+S0 S+M0