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

📄 cmd.cpp

📁 嵌入式LINUX的智能家居系统源码
💻 CPP
字号:
#include<stdio.h>#include"cmd.h"#include<pthread.h>ker_cmd::ker_cmd(){	DOOR_connected = false;	HOME_connected = false;	PDA_connected = false;}ker_cmd::~ker_cmd(){}void ker_cmd::center_cmd_proxy(int cmd){	printf("loging to sql \n");	emit sig_log(cmd);	printf("center get cmd %x \n",cmd);	int cmd_t;	if(cmd & TO(DOOR_CMD))	{		cmd_t =cmd;		cmd_t &= 0xf0ffffff;		cmd_t |= TO(DOOR_CMD);		printf("sig cmd door %x\n",cmd);		emit sig_cmd_door(cmd_t,DOOR_M);	}	if(cmd & TO(HOME_CMD))	{		cmd_t =cmd;		cmd_t &= 0xf0ffffff;		cmd_t |= TO(HOME_CMD);		printf("sig cmd home %x\n",cmd);		emit sig_cmd_home(cmd_t,HOME_M);	}	if(cmd & TO(PDA_CMD))	{		cmd_t =cmd;		cmd_t &= 0xf0ffffff;		cmd_t |= TO(PDA_CMD);		printf("sig cmd pda %x \n",cmd);		emit sig_cmd_pda(cmd_t);	}	if(cmd & TO(KER_CMD))	{		cmd_t =cmd;		cmd_t &= 0xf0ffffff;		cmd_t |= TO(KER_CMD);		printf("sig cmd ker %x\n",cmd);		ker_cmd_proxy(cmd_t);	}}void ker_cmd::ker_cmd_proxy(int cmd)//local executer should put signals directly to this{	int cmd_t;	printf("ker get cmd %x \n",cmd);	if(cmd & TO(KER_CMD))	{		if(cmd & ui)			emit sig_cmd_local_ui(cmd);		else		{			switch(cmd & 0xff)			{			//to local executer,from ker_cmd,indirectly from ui or bt				case start_ker_audio:				case close_ker_audio:					emit sig_cmd_local_audio(cmd);					break;				case start_ker_video:				case close_ker_video:					emit sig_cmd_local_video(cmd);					break;				case stop_bt_ser:				case bt_disconnect:					emit sig_cmd_local_bt(cmd_t);				default:					printf("error ker_cmd_local wrong cmd \n");					break;			}		}		cmd &= ~(TO(KER_CMD));		if(cmd & (TO(0xf)))			center_cmd_proxy(cmd);	}	else	{		if(cmd & (TO(0xf)))		{			printf("ker send to center %x \n",cmd);			center_cmd_proxy(cmd);		}	}	}void ker_cmd::try_connect_door(){	sig_cmd_door(connect_cmd_request,DOOR_M);}void ker_cmd::try_connect_home(){	sig_cmd_home(connect_cmd_request,HOME_M);}void ker_cmd::try_connect_pda(){	sig_cmd_pda(connect_cmd_request);}void ker_cmd::try_connect_all(){	try_connect_door();	try_connect_home();	try_connect_pda();}void ker_cmd::door_connected(){	DOOR_connected = true;}void ker_cmd::home_connected(){	HOME_connected = true;}void ker_cmd::pda_connected(){	PDA_connected = true;}

⌨️ 快捷键说明

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