Exemplo n.º 1
0
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();
			}
		}	
	}			
}
Exemplo n.º 2
0
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();
	}
}
Exemplo n.º 3
0
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();
	}
}
Exemplo n.º 4
0
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();
	}
}
Exemplo n.º 5
0
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();
	}
}