void advancedConfig() { while(1) { menuMax = 1; selectedMenu = NOT_SELECTED; currentMenu = 0; while(selectedMenu == NOT_SELECTED) { if (currentMenu == 0) { // DWELL greenOn(); delay_ms(50); greenOff(); redOn(); delay_ms(50); redOff(); delay_ms(800); } else if (currentMenu == 1) { // DEBOUNCE 2 for (uint8_t i = 0; i < 2; i++) { greenOn(); delay_ms(50); greenOff(); redOn(); delay_ms(50); redOff(); delay_ms(100); } delay_ms(700); } } if (selectedMenu == 0) { // DWELL // Max is set high to prevent wrapping around to 0 without the user knowing getNumberFromUser(USER_DWELL, 255); // Dwell was entered into selectedMenu. Verify it and save it. if (selectedMenu >= 2 && selectedMenu <= 20) { eeprom_write_byte(&EEPROM_USER_DWELL, selectedMenu); USER_DWELL = selectedMenu; successBlink(); } else { failureBlink(); } } else { // DEBOUNCE // Max is set high to prevent wrapping around to 0 without the user knowing getNumberFromUser(USER_DEBOUNCE, 255); // Debounce was entered into selectedMenu. Verify it and save it. if (selectedMenu >= 5 && selectedMenu <= 50) { eeprom_write_byte(&EEPROM_USER_DEBOUNCE, selectedMenu); USER_DWELL = selectedMenu; successBlink(); } else { failureBlink(); } } } }
void burstSizeMenu() { getNumberFromUser(BURST_SIZE, 10); // Burst size was entered into selectedMenu. Verify it and save it. if (selectedMenu >= 2 && selectedMenu <= 10) { eeprom_write_byte(&EEPROM_BURST_SIZE[currentSelector][CURRENT_PRESET[currentSelector]], selectedMenu); BURST_SIZE = selectedMenu; successBlink(); } else { failureBlink(); } }
void rateOfFireMenu() { getNumberFromUser(BALLS_PER_SECOND, 40); // Firing rate was entered into selectedMenu. Verify it and save it. if (selectedMenu >= 5 && selectedMenu <= 40) { eeprom_write_byte(&EEPROM_BALLS_PER_SECOND[currentSelector][CURRENT_PRESET[currentSelector]], selectedMenu); BALLS_PER_SECOND = selectedMenu; successBlink(); } else { failureBlink(); } }
void safetyShotMenu() { getNumberFromUser(SAFETY_SHOT, 5); // Burst size was entered into selectedMenu. Verify it and save it. if (selectedMenu >= 0 && selectedMenu <= 250) { eeprom_write_byte(&EEPROM_SAFETY_SHOT[currentSelector][CURRENT_PRESET[currentSelector]], selectedMenu); SAFETY_SHOT = selectedMenu; successBlink(); } else { failureBlink(); } }
void ammoLimitMenu() { getNumberFromUser(AMMO_LIMIT, 250); // Burst size was entered into selectedMenu. Verify it and save it. if (selectedMenu >= 0 && selectedMenu <= 250) { eeprom_write_byte(&EEPROM_AMMO_LIMIT[currentSelector][CURRENT_PRESET[currentSelector]], selectedMenu); AMMO_LIMIT = selectedMenu; successBlink(); } else { failureBlink(); } }