示例#1
0
void SettingsMenu::editItem(uint8_t index, uint8_t key)
{
    int dir = -1;
    if(key == BUTTON_INC) dir = 1;
//    dir *= keyboard.getSpeedFactor();
    START_CASE_COUNTER;
    switch(index) {
#ifdef ENABLE_LCD_BACKLIGHT
        case NEXT_CASE:     changeBacklight(dir);                       break;
#endif
#ifdef ENABLE_FAN
        case NEXT_CASE:     changeTemp(p_.fanTempOn_, dir);             break;
#endif
#ifdef ENABLE_T_INTERNAL
        case NEXT_CASE:     changeTemp(p_.dischargeTempOff_, dir);      break;
#endif
        case NEXT_CASE:     changeMax(p_.externT_, dir, 1);             break;
        case NEXT_CASE:     changeTemp(p_.externTCO_,dir);              break;
        case NEXT_CASE:     changeDeltaTemp(p_.deltaT_,dir);            break;
        case NEXT_CASE:     changeMax(p_.deltaV_NiMH_, dir, 20);        break;
        case NEXT_CASE:     changeMax(p_.deltaV_NiCd_, dir, 20);        break;
        case NEXT_CASE:     change1Max(p_.CDcycles_, dir, 5);           break;
        case NEXT_CASE:     change1Max(p_.capCutoff_, dir, 250);        break;
        case NEXT_CASE:     changeInputVolt(p_.inputVoltageLow_, dir);  break;
        case NEXT_CASE:     changeMaxSmart(p_.dischargeOffset_LiXX_, dir, Settings::MaxDischargeOffset_LiXX);  break;
        case NEXT_CASE:     changeBalanceError(p_.balancerError_, dir); break;
        case NEXT_CASE:     changeMax(p_.UART_, dir, Settings::ExtDebugAdc); break;
        case NEXT_CASE:     changeMax(p_.UARTspeed_, dir, Settings::UARTSpeeds-1); break;
    }
}
示例#2
0
int main(int argc, char* argv[]){

	hd44780 lcd(14, 15, 24, 25, 8, 7);
   	lcd.init(20, 4);
	lcd.setAutoscroll(hd44780::HSCROLL_LINE | hd44780::VSCROLL);
	
	rpihw::gpio &io = rpihw::gpio::get();
	io.setup(23, rpihw::OUTPUT);
	io.write(23, rpihw::HIGH); bool *backlight = new bool(true);

	uint8_t blank[8]		= {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
	lcd.defChar(hd44780::CCHAR2, blank);
	
	getDatabaseDetails(&DBHOST, &USER, &PASSWORD, &DATABASE);
	retrieveSQL(entries, lcd);
	entries.erase(0);
	
	int card = 0;
	
	lcd.move(0,2);
	printfl("DeltaPi ver. 0.9.0",lcd);
	
	do{
		moveAndClearLine(0,0,lcd);
		lcd.write("Retrieving database");
		retrieveSQL(entries, lcd);
		scanCard(entries, card, lcd);
		if (!(*backlight))
			changeBacklight(io, backlight, lcd);
		if (card > 10){
			moveAndClearLine(0,1,lcd);
			lcd.write("Retrieving database");
			retrieveSQL(entries, lcd);
			printInfo(entries, card, lcd);
			transaction(entries, card, lcd);
		}
		else if (card == 0){
			printHelp(lcd);
		}else if (card == 1){
			lcd.write("Retrieving database");
			retrieveSQL(entries, lcd);
			printSummary(entries, lcd);
		} else if (card == 3){
			lcd.clear();
			lcd.move(0,1);
			printfl("Retrieving database", lcd);
			retrieveSQL(entries, lcd);	
		} else if (card == 4){
			printTime(lcd);
		} else if (card == 6){
			printLastCoffee(lcd);
		} else if (card == 9){
			changeBacklight(io, backlight, lcd);
		}
	}while (card != -1);
	lcd.clear();
	
	printfl("  Closing DeltaPi", lcd);
	lcd.move(6,2);
	lcd.write("Goodbye!    .",128);
	io.write(23, rpihw::LOW);
	
	delete backlight;
	return 0;
}