1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include "beepthread.h"
- #include "../ytCore/yt_unit_shm.h"
- YT_UNIT_SHM *ytShm;
- bool load_shm()
- {
- int shmid;
- key_t key;
- if((key = ftok(SHM_PATH,(int)SHM_PORT))==-1)
- return false;
- if((shmid = shmget(key,sizeof(YT_UNIT_SHM),IPC_CREAT|0666))==-1)
- return false;
- ytShm = (YT_UNIT_SHM *)shmat(shmid,NULL,0);
- return true;
- }
- BeepThread::BeepThread(QObject *parent, Ycapi *api) :
- QThread(parent)
- {
- this->api = api;
- load_shm();
- }
- void BeepThread::setBeep(int type)
- {
- this->type = type;
- }
- void BeepThread::run()
- {
- while(1)
- {
- if(ytShm->dogTimeList.dogTime[63].LASTFEED!=0x00){
- type = BtnBeep;
- ytShm->dogTimeList.dogTime[63].LASTFEED=0x00;
- // printf("Btn Beep\n");
- emit btn_click();
- }
- switch(type)
- {
- case NoBeep:
- break;
- case OkBeep:
- api->BeepOn(true);
- usleep(50000);
- api->BeepOn(false);
- usleep(50000);
- api->BeepOn(true);
- usleep(150000);
- api->BeepOn(false);
- break;
- case BtnBeep:
- api->BeepOn(true);
- usleep(100000);
- api->BeepOn(false);
- break;
- case WrongBeep:
- api->BeepOn(true);
- usleep(150000);
- api->BeepOn(false);
- usleep(50000);
- api->BeepOn(true);
- usleep(50000);
- api->BeepOn(false);
- break;
- }
- type = NoBeep;
- usleep(500000);
- }
- }
|