STATUS testTime () { TIME_SOCKET tsTimeSet = {2011, 7, 4, 9, 34, 0}; timeSet(tsTimeSet); return OK; }
void fraiseReceive() // receive raw { unsigned char c; c=fraiseGetChar(); switch(c) { case 10 : timeSet(fraiseGetChar(), fraiseGetChar(), fraiseGetChar()); break; case 120 : DCMOTOR_INPUT(A) ; break; case 121 : DCMOTOR_INPUT(B) ; break; case 122 : rampInput(&rampeVitesseA); break; case 123 : rampInput(&rampeVitesseB); break; } }
void Stopwatch::clientMessage(QJsonObject msg, int id) { if(msg.contains("start")){ start(false); emit started(); sendMsgButNotTo(msg,id,true); } if(msg.contains("stop")){ stop(false); emit stoped(); sendMsgButNotTo(msg,id,true); } if(msg.contains("resume")){ resume(false); emit resumed(); sendMsgButNotTo(msg,id,true); } if(msg.contains("set")){ setTo((long)msg.value("set").toDouble(),false); emit timeSet(); sendMsgButNotTo(msg,id,true); } }
/********************************************************************************************************** ** Function name: date ** Descriptions: display now month calendar with color, like this: ** ----------------------------- ** SUN MON TUE WED THU FRI SAT ** ----------------------------- ** 1 2 ** 3 4 5 6 7 8 9 ** 10 11 12 13 14 15 16 ** 17 18 19 20 21 22 23 ** 24 25 26 27 28 29 30 ** 31 ** ----------------------------- ** input parameters: NONE ** output parameters: NONE ** Returned value: OK: Always ** Created by: WangDongfang ** Created Date: 2010-07-02 **--------------------------------------------------------------------------------------------------------- ** Modified by: ** Modified date: **--------------------------------------------------------------------------------------------------------- **********************************************************************************************************/ STATUS C_date (int argc, char **argv) { int iFirstWeekday; int iDays; int i; int set_val; NONGLI_DATE nong_date; TIME_SOCKET tsTimeSet; TIME_SOCKET tsTimeNow; tsTimeSet = timeGet(); /* * set time if need */ if (argc >= 2) { sscanf (argv[1], "%d", (unsigned int *)&set_val); if (set_val != 0) { tsTimeSet.iYear = set_val; } } if (argc >= 3) { sscanf (argv[2], "%d", (unsigned int *)&set_val); if (set_val != 0) { tsTimeSet.iMon = set_val; } } if (argc >= 4) { sscanf (argv[3], "%d", (unsigned int *)&set_val); if (set_val != 0) { tsTimeSet.iDay = set_val; } } if (argc >= 5) { sscanf (argv[4], "%d", (unsigned int *)&tsTimeSet.iHour); } if (argc >= 6) { sscanf (argv[5], "%d", (unsigned int *)&tsTimeSet.iMin); } if (argc >= 7) { sscanf (argv[6], "%d", (unsigned int *)&tsTimeSet.iSec); } if (argc >= 2) { timeSet (tsTimeSet); } /* * get now time */ tsTimeNow = timeGet(); iFirstWeekday = (7 - (tsTimeNow.iDay - 1) % 7 + tsTimeNow.iWday) % 7; iDays = monthDays(tsTimeNow.iYear, tsTimeNow.iMon); MODE_BEGIN_STRING_DATE printf("Date : %d-%02d-%02d\n" "Today : %s\n", tsTimeNow.iYear, tsTimeNow.iMon, tsTimeNow.iDay, __GpcWeeks[tsTimeNow.iWday]); MODE_BEGIN_FRAME printf("-----------------------------\n"); for (i = 0; i < 7; i++) { /* SUN MON TUE ... SAT */ printf(" %s", __GpcWeeksShort[i]); } printf("\n"); printf("-----------------------------\n"); for (i = 0; i < iFirstWeekday; i++) { /* The Blanks before 1# */ printf(" "); } for (i = 1; i <= iDays; i++) { /* The days 1# ... 31# */ if (iFirstWeekday == 6 || iFirstWeekday == 0) { MODE_BEGIN_WEEKEND } else { MODE_BEGIN_WEEKDAY } if (i == tsTimeNow.iDay) { printf(" "); MODE_BEGIN_TODDAY printf("%2d", i); MODE_END_TODDAY } else {
void performCommandPLC() { UINT8 ui8NameStrDL[15]; UINT32 pos; UINT32 err = SUCCESS; UINT32 ui32dstDirPos; switch(ucHMI_addr) { case PLC_TIME: stime.tm_sec = uiHMIWord[PLC_TIME+5]; stime.tm_min = uiHMIWord[PLC_TIME+4]; stime.tm_hour = uiHMIWord[PLC_TIME+3]; stime.tm_mday = uiHMIWord[PLC_TIME+2]; stime.tm_mon = uiHMIWord[PLC_TIME+1]; stime.tm_year = uiHMIWord[PLC_TIME]-1900; timeSet(&stime); #if C_LEVI_DEBUG printf("time=%d/%d/%d %d:%d:%d ",uiHMIWord[PLC_TIME],uiHMIWord[PLC_TIME+1],uiHMIWord[PLC_TIME+2],uiHMIWord[PLC_TIME+3],uiHMIWord[PLC_TIME+4],uiHMIWord[PLC_TIME+5]); #endif if((uiHMIWord[PLC_TIME]!=2000)||(uiHMIWord[PLC_TIME+1]!=01)) ui8TimeFlag = 1; timeGet(&ptime); sio_psprintf(ui8NameStrDL, "%02d%02d%02dDC.CSV", (UINT32)(ptime->tm_year-100)%100, ptime->tm_mon,ptime->tm_mday); xdcfCurRootDirSet(ui8TermModule); //mp3_GetFileList(); pos = myFindFile(ui8NameStrDL); myGetSingleDayDL(pos, &ui32SuccessNum); break; case PLC_PARA_BUF: memcpy((UINT8 *)&curDevice, (UINT8 *)&uiHMIWord[PLC_PARA_BUF], C_PLC_PARA_NUM*sizeof(UINT16)); #if C_LEVI_DEBUG printf("device=%d, class=%d ",uiHMIWord[PLC_MODULE_NO],uiHMIWord[PLC_MODULE_NO+1]); #endif getModuleName(ui16CurModule, ui8TermModule); writePara(); //readPara(); break; case PLC_MODULE_NO: #if C_LEVI_DEBUG printf("device=%d, class=%d ",uiHMIWord[PLC_MODULE_NO],uiHMIWord[PLC_MODULE_NO+1]); #endif ui16CurModule = uiHMIWord[PLC_MODULE_NO]; ui16CurClass = uiHMIWord[PLC_MODULE_NO+1]; getModuleName(ui16CurModule, ui8TermModule); readPara(); writePara(); readParadelaytime(); writeParadelaytime(); break; case TESTSTEP0: test_step0=(~uiHMIWord[TESTSTEP0])&0xffff; test_step1=(~uiHMIWord[TESTSTEP1])&0xff; test_mode=(uiHMIWord[TestMode]&0x01); printf("test_step0=%d, test_step1=%d, test_mode=%d ",test_step0,test_step1,test_mode); break; case delay_time: memcpy((UINT8 *)&delay,(UINT8 *)&uiHMIWord[delay_time],C_delay_NUM*sizeof(UINT16)); //memcpy((UINT8 *)&uiHMIWord[delay_time], (UINT8 *)&delay, C_delay_NUM*sizeof(UINT16)); getModuleName(ui16CurModule, ui8TermModule); writeParadelaytime(); //readParadelaytime(); break; case PLC_BAKCMD: gpioConfig(GPIO_CARD_DET, 0); gpioSet(GPIO_CARD_DET, 1); if(gpioGet(GPIO_CARD_DET)==0) { err = xdcfActiveDevIdSet(DRIVE_SD); xdcfInit(imageDirNameStr, imageFileNameStr, 0); dirInit(); if(err==SUCCESS) { xdcfChange2Root(); vfsMkdir(ui8TermModule); xdcfCurRootDirSet(ui8TermModule); xdcfCurDirPosGet(&ui32dstDirPos); myXdcfDelFile(); xdcfActiveDevIdSet(DRIVE_NAND); xdcfCurRootDirSet(ui8TermModule); xdcfChange2Root(); vfsChdir(ui8TermModule); err |= myXdcfCopyDisk(ui32dstDirPos); if(uiHMIWord[PLC_BAKCMD]) { myXdcfDelFile(); } if(err==SUCCESS) uiHMIWord[PLC_BAKINFO] = 2; else uiHMIWord[PLC_BAKINFO] = 4; // ¶ÁSD¿¨´íÎó } else { uiHMIWord[PLC_BAKINFO] = 4; // ¶ÁSD¿¨´íÎó } } else { uiHMIWord[PLC_BAKINFO] = 3; // ûÓÐSD¿¨ } #if C_FILE_DEBUG printf("backup end "); #endif break; default: break; } }
int main () { initCoCoSupport(); heapInit(); timeInit(); setHighSpeed(TRUE); width(32); if (dateTime->marker = 0x1234) { timeSet(dateTime->year, dateTime->month, dateTime->day, dateTime->hour, dateTime->minute, dateTime->second); } daliConfig.width = 256; daliConfig.height = 192; daliConfig.bitmap = 0xe00; daliConfig.max_fps = 30; daliConfig.max_cps = 30; daliConfig.render_state = 0; daliConfig.time_mode = HHMMSS; daliConfig.date_mode = MMDDYY; daliConfig.display_date_p = 0; daliConfig.test_hack = 0; render_init(&daliConfig); memset(daliConfig.bitmap, 0xff, 6144); pmode(4, daliConfig.bitmap); screen(1, 1); UInt32 displayTimeTime; UInt32 five = UInt32Init(0, 5); struct timeval now; struct timezone tzp; while(TRUE) { // Revert to time display if time if (daliConfig.display_date_p) { gettimeofday(&now, &tzp); if (UInt32GreaterThan(&now.tv_sec, &displayTimeTime)) { daliConfig.display_date_p = FALSE; } } byte a = MyInkey(); switch(a) { case '0': daliConfig.time_mode = HHMMSS; daliConfig.date_mode = MMDDYY; break; case '1': daliConfig.time_mode = HHMMSS; break; case '2': daliConfig.time_mode = HHMM; break; case '3': daliConfig.time_mode = SS; break; case '4': daliConfig.date_mode = MMDDYY; break; case '5': daliConfig.date_mode = DDMMYY; break; case '6': daliConfig.date_mode = YYMMDD; break; case ' ': daliConfig.display_date_p = TRUE; gettimeofday(&now, &tzp); UInt32Add(&displayTimeTime, &now.tv_sec, &five); break; } render_once(&daliConfig); } return 0; }
void uartDecode(void) { u8 length = 0, command = 0, verify = 0, readOrWrite = 0; u8 i; timeStructure timeSetBLE; u8 data[20]; extern u16 temperature; command = receiveBuffer[1]; readOrWrite = receiveBuffer[2]; length = receiveBuffer[3]; for(i = 1; i < (length - 1); i++) { verify += receiveBuffer[i]; } if(verify != receiveBuffer[length - 1]) return; switch(command) { //时间 case 0x01: if(readOrWrite == 1) { timeSetBLE.year = receiveBuffer[4]; timeSetBLE.month = receiveBuffer[5]; timeSetBLE.data = receiveBuffer[6]; timeSetBLE.hour = receiveBuffer[7]; timeSetBLE.minute = receiveBuffer[8]; timeSetBLE.second = receiveBuffer[9]; timeSetBLE.weekday = receiveBuffer[10]; timeSet(timeSetBLE); } break; //关屏时间 case 0x02: //写 if(readOrWrite == 1) { timeScreenOff = receiveBuffer[4]; } //读 else if(readOrWrite == 0) { data[0] = 0x7f; data[1] = 0x02; data[2] = 0x00; data[3] = 0x06; data[4] = timeScreenOff; data[5] = data[1] + data[2] + data[3] + data[4]; bleSend(data, 6); } break; //系统状态 case 0x03: if (readOrWrite == 0) { data[0] = 0x7f; data[1] = 0x03; data[2] = 0x00; data[3] = 0x0C; data[4] = stateCharging; // 是否充电中 data[5] = voltageBattery - 200; // 电池电压 data[6] = batteryState; // 电池电量等级 data[7] = ledDelaySecond / 60; // 照明延时时间 data[8] = SW_VERSION; // 固件版本 data[9] = temperature >> 8; // 温度 data[10] = temperature; // 温度 data[11] = 0; for (i = 1; i < 11; i++) { data[11] += data[i]; } bleSend(data, 12); } break; //LED case 0x04: //写 if(readOrWrite == 1) { u8 mode = receiveBuffer[4]; u8 delay = receiveBuffer[5]; pwmWhite = receiveBuffer[6]; // 照明亮度 flagBreathLedEnable = receiveBuffer[7]; // 呼吸灯使能 pwmRedSet = receiveBuffer[8]; // 红灯亮度 pwmGreenSet = receiveBuffer[9]; // 绿灯亮度 pwmBlueSet = receiveBuffer[10]; // 蓝灯亮度 // 照明模式 if (0 == mode) { // 改变亮度 flagColorLedEnable = 0; pwmChange(pwmWhite, pwmWhite, pwmWhite); modeBreathLed = breathOff; } // 彩灯模式 else { // 改变颜色 flagColorLedEnable = 1; pwmChange(pwmRedSet, pwmGreenSet, pwmBlueSet); if (flagBreathLedEnable) { modeBreathLed = breathColor; } else { modeBreathLed = breathOff; } } if((delay > 0) && (pwmWhite > 0) && (flagColorLedEnable == DISABLE)) { //开始计时 flagDelayLedEnable = ENABLE; //计算延时秒数 ledDelaySecond = delay * 60; } else { flagDelayLedEnable = DISABLE; ledDelaySecond = 0; } } //读 else if(readOrWrite == 0) { data[0] = 0x7f; data[1] = 0x04; data[2] = 0x00; data[3] = 0x0c; data[4] = flagColorLedEnable; // 模式 data[5] = (ledDelaySecond + 59) / 60; // 延时时间 data[6] = pwmWhite; // 照明亮度 data[7] = flagBreathLedEnable; // 呼吸灯 data[8] = pwmRedSet; // 红灯亮度 data[9] = pwmGreenSet; // 绿灯亮度 data[10] = pwmBlueSet; // 蓝灯亮度 data[11] = 0; for (i = 1; i < 11; i++) { data[11] += data[i]; } bleSend(data, 12); } break; default: break; }
virtual void apply() { if (dataHolder.hasData) { timeSet(dataHolder.get().time); } updateDisp(); }