Пример #1
0
static _Noreturn void mainLoop()
{
	uint32_t pad;

	while (true) {
		drawBottom();
		pad = InputWait();

		if (pad & BUTTON_A) rxMode(1);		//EMUNAND
		if (pad & BUTTON_X) rxMode(0);		//SYSNAND
		if (pad & BUTTON_Y) PastaMode();	//PASTAMODE
		if (pad & BUTTON_B) ShutDown(1);	//SHUTDOWN
		if (pad & BUTTON_LEFT)
		{
			if(cfgs[CFG_DEFAULT].val.i == 0) cfgs[CFG_DEFAULT].val.i = 3;
			else cfgs[CFG_DEFAULT].val.i--;
			writeCfg();

		}
		if(pad & BUTTON_RIGHT)
		{
			if(cfgs[CFG_DEFAULT].val.i == 3) cfgs[CFG_DEFAULT].val.i = 0;
			else cfgs[CFG_DEFAULT].val.i++;
			writeCfg();
		}
	}
}
Пример #2
0
int CheckTemp (void)
{
	if ( temp < onTemp ) 
	{
		tempState = 1;
		printf("< threshhold. Heat On.");
	}
	else if ( temp >= onTemp && temp >= offTemp && temp < highTemp)
	{
		tempState = 2;
		printf(">= threshhold. Heat off until < onTemp.");
	}
	else if ( temp >= highTemp )
	{
		tempState = 3;
		printf("> highTemp. Heat Off, All fans On.");
	}
	else
	{
		printf("Leaving on until > offTemp or off until < onTemp.");
		return;
	}

	writeCfg();	

	return 0;
}
Пример #3
0
int main( int argc, char *argv[] )
{
	if (!argc)
	{
		printf("Missing input argument!\n");
		return 1;
	}

	if (wiringPiSetup() == -1)
	{
		printf("wiringPiSetup returned -1!\n");
		return 1;
	}

	if (strcmp(argv[1], "w") == 0) {
		onTemp = atoi(argv[2]);
		offTemp =  atoi(argv[3]);
		highTemp =  atoi(argv[4]);
		onHum =  atoi(argv[5]);
		offHum =  atoi(argv[6]);
		webOR =  atoi(argv[7]);
		tempState =  atoi(argv[8]);
		humState =  atoi(argv[9]);

		writeCfg();
	}
	else if (strcmp(argv[1], "r") == 0) {
		readCfg();
		printf("%i %i %i %i %i %i %i %i\n", onTemp, offTemp, highTemp, onHum, offHum, webOR, tempState, humState);
	}
	else
	{
		year = atoi(argv[1]);
		month  = atoi(argv[2]);
		day  = atoi(argv[3]);
		hour  = atoi(argv[4]);
		min  = atoi(argv[5]);
		sec  = atoi(argv[6]);
		timestampL = atoi(argv[7]);
		hum = atof(argv[8]);
		temp = atof(argv[10]);

		printf("\n%s:%s:%s %i Read config file %s",  argv[4], argv[5], argv[6], timestampL, config_file_name);
		readCfg();
		printf("\nonTemp: %i, offTemp: %i, highTemp: %i, onHum: %i, offHum: %i, webOR: %i, tempState: %i, humState: %i", onTemp, offTemp, highTemp, onHum, offHum, webOR, tempState, humState);

		printf("\n%s:%s:%s %i Read sensors", argv[4], argv[5], argv[6], timestampL);

		printf("\nTemperature: %.1f  Range: (%i - %i) %.1f degrees from offTemp. ", temp, onTemp, offTemp, offTemp - temp);
		CheckTemp();

		printf("\nHumidity:    %.1f  Range: (%i - %i) %.1f percent from offHum. ", hum, onHum, offHum, offHum - hum);
		CheckHum();

		if (!webOR) { ChangeRelays ( offTemp - temp, offHum - hum ); }
		else { printf("WebOverride activated - No relay change!\n"); }
	}

	return 0;
}
Пример #4
0
void
WVConfigDlg::providerSLOT( const QString & name )
{
  if (!curGroup.isEmpty())
  {
    writeCfg( curGroup );
  }
  
  QString account = "Dialer ";
  account += name;
  
  curGroup = account;
  
  removeBut->setEnabled( name != "Defaults" );
  
  productEdit->setText( cfg->getString( account, WV_PRODUCT, "" ));
  homeEdit->setText( cfg->getString( account, WV_HOMEPAGE, "" ));
  countryEdit->setText( cfg->getString( account, WV_COUNTRY, "" ));
  phoneEdit->setText( cfg->getString( account, WV_PHONE, "" ));
  userEdit->setText( cfg->getString( account, WV_USERNAME, "" ));
  passwdEdit->setText( cfg->getString( account, WV_PASSWORD, "" ));

  if (cfg->getInt( "Dialer Defaults", WV_IDLE_SECONDS, 180 ) == 0)
  {
    setTimeout( false );
    setTimeoutValue( 180 );
  }
  else
  {
    setTimeout( true );
    setTimeoutValue( cfg->getInt( "Dialer Defaults", WV_IDLE_SECONDS, 180 ) );
  }
  
  expertDlg->readConfig( account, cfg );  
}
Пример #5
0
void
WVConfigDlg::addProviderSLOT()
{
  // Prepare dialog with already defined names
  //
  QStringList list;
  for (int i=0; i<providerCombo->count(); i++)
  {
    list.append( providerCombo->text(i) );
  }
  providerName->setNameList( list );
  
  // Exec diallog and append new name if ok
  //
  if (providerName->exec())
  {
    if (!curGroup.isEmpty())
    {
      writeCfg( curGroup );
    }  
    providerCombo->insertItem( providerName->provider() );
    providerCombo->setCurrentItem( providerCombo->count()-1 );
    providerSLOT( providerName->provider() );
  } 
}
Пример #6
0
void InstallConfigData(){
	if(CheckInstallationData() == 0)
	{
		first_boot = false;
		return;
	}

	first_boot = true;
	trySetLangFromTheme();
	writeCfg();

	sprintf(str, "/rxTools/Theme/%u/cfg0TOP.bin", cfgs[CFG_THEME].val.i);
	DrawTopSplash(str, str, str);
	sprintf(str, "/rxTools/Theme/%u/cfg0.bin", cfgs[CFG_THEME].val.i);
	DrawBottomSplash(str);

	int res = InstallData("0");	//SD Card
	sprintf(str, "/rxTools/Theme/%u/cfg1%c.bin", cfgs[CFG_THEME].val.i, res == 0 ? 'O' : 'E');
	DrawBottomSplash(str);
	sprintf(str, "/rxTools/Theme/%u/TOP.bin", cfgs[CFG_THEME].val.i);
	sprintf(strl, "/rxTools/Theme/%u/TOPL.bin", cfgs[CFG_THEME].val.i);
	sprintf(strr, "/rxTools/Theme/%u/TOPR.bin", cfgs[CFG_THEME].val.i);
	DrawTopSplash(str, strl, strr);

	InputWait();
}
Пример #7
0
bool Day::write()
{
    if (!loaded) readData();
    bool ret = writeCfg();
    ret &= writeShortDescription();
    ret &= writeGlobalObjects();
    return ret;
}
Пример #8
0
int CheckHum (void)
{
	if ( hum < onHum )
	{
		humState = 1;
		printf("< threshhold. Hum On.");
	}
	else if ( hum >= onHum && hum >= offHum )
	{
		humState = 2;
		printf(">= threshhold. Hum Off until < onHum.");
	}
	else
	{
		printf("Leaving on until > offHum or off until < onHum.");
		return 0;
	}

	writeCfg();

	return 0;
}
Пример #9
0
int connectDialog::connectToDB()
{
    qDebug()<<"Availiable Drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    qDebug()<<drivers;
    QSqlDatabase db;
    if( driverComboBox->currentText()=="Oracle")
    {
        db = QSqlDatabase::addDatabase("QOCI");
        g_DBDriver = "QOCI";
    }
    else if(driverComboBox->currentText() == "DB2")
    {
        db = QSqlDatabase::addDatabase("QDB2");
        g_DBDriver = "QDB2";
    }
    db.setHostName(this->serverEdit->text());
    db.setPort(this->portEdit->text().toInt());
    db.setDatabaseName(this->dbNameEdit->text());
    db.setUserName(this->usrEdit->text());
    db.setPassword(this->passwordEdit->text());
    g_Server = this->serverEdit->text();
    g_port = this->portEdit->text().toInt();
    g_DBName = this->dbNameEdit->text();
    g_UsrName = this->passwordEdit->text();
    if (db.open()) {
        QMessageBox::information(this,"Connect Success","数据库连接成功",QMessageBox::No|QMessageBox::Yes,QMessageBox::Yes);
        this->hide();
        return 0;
    }else{
        writeCfg();
        QMessageBox::information(this,"Connect Error","数据库连接失败",QMessageBox::No|QMessageBox::Yes,QMessageBox::Yes);
        //this->close();
        return -1;
    }
    this->connectBtn->setText("断开");
    return 0;
}