⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 home_terminel_form.ui.h

📁 嵌入式LINUX的智能家居系统源码
💻 H
字号:
/****************************************************************************** ui.h extension file, included from the uic-generated form implementation.**** If you wish to add, delete or rename functions or slots use** Qt Designer which will update this file, preserving your code. Create an** init() function in place of a constructor, and a destroy() function in** place of a destructor.*****************************************************************************/#include <qdatetime.h>#include <math.h>#include <unistd.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/ioctl.h>#include <fcntl.h>#include <qmessagebox.h>#include <qwidget.h>#include <qlabel.h>#include <qvbox.h>#include <qfiledialog.h>#include <qpainter.h>#include <qbrush.h>#include <qpixmap.h>#include <qtimer.h>#include "cmd_config.h"#include<stdio.h>#include "log_table.c"int sendcmd;QTimer *timer;QPainter painter;extern char log_table[][40]; void home_terminel_Form::switcher(int cmd){    int value1;    cmd &= Nui;    int order=cmd&(0xff);    QBrush brushg(green);    QBrush brushr(red);    switch (order)    {    case return_temperature:	value1=cmd & (0xffff00);	value1=(value1>>8);	environTem(value1);	break;    case return_humidity:	value1=cmd & (0xffff00);	value1=(value1>>8);	environHum(value1);	break;    case return_luminosity:	value1=cmd & (0xffff00);	value1=(value1>>8);	environLum(value1);	break;    case set_temperature_ok:	value1=cmd & (0xffff00);	value1=(value1>>8);	temperature_Box->setValue(value1);	break;    case set_humidity_ok:	value1=cmd & (0xffff00);	value1=(value1>>8);	humidity_Box->setValue(value1);	break;    case set_luminosity_ok:	value1=cmd & (0xffff00);	value1=(value1>>8);	luminosity_Box->setValue(value1);	break;    case open_oven_ok:	timer = new QTimer(this);	painter.begin(pixmapLabel1);	painter.setBrush(brushg);	painter.drawRect(240,80,40,30);	painter.end();		connect(timer,SIGNAL(timeout()),this,SLOT(ovenTimerOn()));	timer->start(1000);	break;    case close_oven_ok:	timer->stop();	painter.begin(pixmapLabel1);	painter.setBrush(brushr);	painter.drawRect(240,80,40,30);	painter.end();		ovenmin_spinBox->setEnabled(true);	ovensec_spinBox->setEnabled(true);	ovenmin_spinBox->setValue(0);	ovensec_spinBox->setValue(0);	break;    case collect_clothes_ok:	QMessageBox::information(this,"Hint","Clothes are being collected!");	break;    case hang_clothes_ok:	QMessageBox::information(this,"Hint","Clothes are being hanged out!");	break;    case stop_clothes_ok:	QMessageBox::information(this,"Hint","Device is stopped!");	break;    case door_opened:	doorStateLight->setChecked(true);	break;    case door_closed:	doorStateLight->setChecked(false);	break;    case camera_opened:	cameraStateLight->setChecked(true);	break;    case camera_closed:	cameraStateLight->setChecked(false);	break;    case audio_opened:	audioStateLight->setChecked(true);	break;    case audio_closed:	audioStateLight->setChecked(false);	break;    case door_alarm:	//	break;    case return_log:	//	break;    }}void home_terminel_Form::treatLog(char * logtime,int log){	printf("one log being treated \n");	int row_num = logtable->numRows();	logtable->setText( row_num-1,0,QString::fromLatin1(logtime));	log &= ~ui;	logtable->setText( row_num-1,1,QString::number(log));	logtable->setText( row_num-1,2,QString::fromLatin1(log_table[log-1]));	logtable->setNumRows( logtable->numRows() + 1 );	}char log_date[30];void home_terminel_Form::getLog(){	logtable->setNumRows( 1 );    int year,month,day;    year=logYearBox->value();    month=logMonthBox->value();    day=logDayBox->value();    sprintf(log_date,"%s%dy%dm%dd","log",year,month,day);	printf("geting log from table %s\n",log_date);    emit sig_get_log(log_date);}void home_terminel_Form::openDoor(){    int cmd=open_door;    cmd |= FROM(KER_CMD);    cmd |= TO(DOOR_CMD);    emit sig_cmd(cmd);}void home_terminel_Form::closeDoor(){    int cmd=close_door;    cmd |= FROM(HOME_CMD);    cmd |= TO(DOOR_CMD);	 emit sig_cmd(cmd);	}void home_terminel_Form::changeLum(){    int value=luminosity_Box->value();    value=(value<<8);    int cmd=set_luminosity;    cmd |= FROM(HOME_CMD);    cmd |= TO(HOME_CMD);    cmd |= value;    emit sig_cmd(cmd); }void home_terminel_Form::changeTem(){    int value=temperature_Box->value();    value=(value<<8);    int cmd=set_temperature;    cmd |= FROM(KER_CMD);    cmd |= TO(HOME_CMD);    cmd |= value;    emit sig_cmd(cmd);}void home_terminel_Form::changeHum(){    int value=humidity_Box->value();    value=(value<<8);    int cmd=set_humidity;    cmd |= FROM(KER_CMD);    cmd |= TO(HOME_CMD);    cmd |= value; }void home_terminel_Form::getenviron(){    int cmd=get_temperature;    cmd |= FROM(KER_CMD);    cmd |= TO(HOME_CMD);    emit sig_cmd(cmd);        int cmd2=get_humidity;    cmd2 |= FROM(KER_CMD);    cmd2 |= TO(HOME_CMD);    emit sig_cmd(cmd2);        cmd=get_luminosity;    cmd |= FROM(KER_CMD);    cmd |= TO(HOME_CMD);	emit sig_cmd(cmd);	}void home_terminel_Form::ovenTimerOn(){    if(ovensec_spinBox->value()==0)    {	if(ovenmin_spinBox->value()==0)	{	    timer->stop();	    	    //QPainter painter;	    QBrush brush(red);	    painter.begin(pixmapLabel1);	    painter.setBrush(brush);	    painter.drawRect(240,80,40,30);	    painter.end();	    	    ovenmin_spinBox->setEnabled(true);	    ovensec_spinBox->setEnabled(true);	    return;	}	ovenmin_spinBox->stepDown();	ovensec_spinBox->setValue(59);	    }    else    {	ovensec_spinBox->stepDown();    }}void home_terminel_Form::startOven(){    if(ovenmin_spinBox->value()==0 && ovenmin_spinBox->value()==0)    {	QMessageBox::information(this,"Hint","Please set timer!");	return;    }    else    {	if(ovenmin_spinBox->isEnabled()==false)	    QMessageBox::information(this,"Hint","Oven is working!");	else	{		ovenmin_spinBox->setEnabled(false);		ovensec_spinBox->setEnabled(false);		sendcmd = open_oven;		sendcmd |= (ovenmin_spinBox->value())<<16;		sendcmd |= (ovensec_spinBox->value())<<8;		sendcmd |=FROM(HOME_CMD);		sendcmd |=TO(HOME_CMD);		emit sig_cmd(sendcmd);	}    }	}void home_terminel_Form::stopOven(){    if(ovenmin_spinBox->value()==0 && ovenmin_spinBox->value()==0)    {	QMessageBox::information(this,"Hint","Oven is not working!");	return;    }    else    {	sendcmd = close_oven;	sendcmd |= FROM(HOME_CMD);	sendcmd |= TO(HOME_CMD);	emit sig_cmd(sendcmd);    }	}void home_terminel_Form::resetOven(){    if(ovenmin_spinBox->isEnabled())    {	if(ovenmin_spinBox->value()!=0 && ovensec_spinBox->value()!=0)	{	    ovenmin_spinBox->setValue(0);	    ovensec_spinBox->setValue(0);	    return;	}	return;    }    else    {	sendcmd = reset_oven;	sendcmd |= FROM(HOME_CMD);	sendcmd |= TO(HOME_CMD);	emit sig_cmd(sendcmd);    }}void home_terminel_Form::collectClothes(){    int cmd;    cmd = collecting_clothes;    cmd |= FROM(HOME_CMD);    cmd |= TO(HOME_CMD);    emit sig_cmd(cmd);	}void home_terminel_Form::hangClothes(){    int cmd;    cmd = hang_clothes;    cmd |= FROM(KER_CMD);    cmd |= TO(HOME_CMD);    emit sig_cmd(cmd);	}void home_terminel_Form::stopClothes(){    int cmd;    cmd = stop_clothes;    cmd |= FROM(HOME_CMD);    cmd |= TO(HOME_CMD);    emit sig_cmd(cmd);	}//////////////////////////////////////////////////////////////////////////int luminosity,temperature,humidity;void home_terminel_Form::environLum( int lum ){    luminosity=lum;    luminosity_lCDNumber->display(luminosity);        if (luminosity<(luminosity_Box->value()-50))    {	lum_in_light->setChecked(true);	lum_ap_light->setChecked(false);	lum_de_light->setChecked(false);    }    else if (luminosity>=(luminosity_Box->value()-50) && luminosity<=(luminosity_Box->value()+50))    {	lum_in_light->setChecked(false);	lum_ap_light->setChecked(true);	lum_de_light->setChecked(false);    }    else if (luminosity>(luminosity_Box->value()+50))    {	lum_in_light->setChecked(false);	lum_ap_light->setChecked(false);	lum_de_light->setChecked(true);    }}void home_terminel_Form::environTem( int tem ){    temperature=tem;    temperature_lCDNumber->display(temperature);        if (temperature<(temperature_Box->value()-1))    {	tem_in_light->setChecked(true);	tem_ap_light->setChecked(false);	tem_de_light->setChecked(false);    }    else if (temperature>=(temperature_Box->value()-1) && temperature<=(temperature_Box->value()+1))    {	tem_in_light->setChecked(false);	tem_ap_light->setChecked(true);	tem_de_light->setChecked(false);    }    else if (temperature>(temperature_Box->value()+1))    {	tem_in_light->setChecked(false);	tem_ap_light->setChecked(false);	tem_de_light->setChecked(true);    }}void home_terminel_Form::environHum( int hum ){    humidity=hum;    humidity_lCDNumber->display(humidity);    if (humidity<(humidity_Box->value()-2))    {	hum_in_light->setChecked(true);	hum_ap_light->setChecked(false);	hum_de_light->setChecked(false);    }    else if (humidity>=(humidity_Box->value()-2) && humidity<=(humidity_Box->value()+2))    {	hum_in_light->setChecked(false);	hum_ap_light->setChecked(true);	hum_de_light->setChecked(false);    }    else if (humidity>(humidity_Box->value()+2))    {	hum_in_light->setChecked(false);	hum_ap_light->setChecked(false);	hum_de_light->setChecked(true);    }}void home_terminel_Form::showDate(){   int year,month,day;   QString text;   QDate date = QDate::currentDate();   year=date.year();   month=date.month();   day=date.day();   QString date_text;   text=QString::number(month);   date_text.insert(0,text);   date_text.insert(2,"-");   text=QString::number(day);   date_text.insert(3,text);   date_lCDNumber->display(date_text);    }void home_terminel_Form::resetLogDate(){   int year,month,day;   QDate date = QDate::currentDate();   year=date.year();   month=date.month();   day=date.day();      logYearBox->setValue(year);   logMonthBox->setValue(month);   logDayBox->setValue(day);}void home_terminel_Form::showTime(){QTime time = QTime::currentTime();QString time_text = time.toString();if((time.second() % 2) == 0)    time_text[2] = ' ';time_text=time_text.left(5);time_lCDNumber->display(time_text);}void home_terminel_Form::setLumStep10(){luminosity_Box->setLineStep(10);set_lum_step1->setEnabled(true);set_lum_step10->setEnabled(false);set_lum_step50->setEnabled(true);}void home_terminel_Form::setLumStep50(){luminosity_Box->setLineStep(50);set_lum_step1->setEnabled(true);set_lum_step10->setEnabled(true);set_lum_step50->setEnabled(false);}void home_terminel_Form::setLumstep1(){luminosity_Box->setLineStep(1);set_lum_step1->setEnabled(false);set_lum_step10->setEnabled(true);set_lum_step50->setEnabled(true);}int userLum,userTem,userHum;void home_terminel_Form::saveMode(){    userLum=luminosity_Box->value();    userTem=temperature_Box->value();    userHum=humidity_Box->value();}void home_terminel_Form::setUserMode(){    luminosity_Box->setValue(userLum);    temperature_Box->setValue(userTem);    humidity_Box->setValue(userHum);}void home_terminel_Form::setCoolMode1(){    luminosity_Box->setValue(500);    temperature_Box->setValue(18);    humidity_Box->setValue(45);}void home_terminel_Form::setCoolMode2(){    luminosity_Box->setValue(800);    temperature_Box->setValue(16);    humidity_Box->setValue(45);}void home_terminel_Form::setWarmMode1(){    luminosity_Box->setValue(500);    temperature_Box->setValue(20);    humidity_Box->setValue(50);}void home_terminel_Form::setWarmMode2(){    luminosity_Box->setValue(300);    temperature_Box->setValue(22);    humidity_Box->setValue(55);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -