Beispiel #1
0
STATUS testTime ()
{
    TIME_SOCKET tsTimeSet = {2011, 7, 4, 9, 34, 0};

    timeSet(tsTimeSet);
    return OK;
}
Beispiel #2
0
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;
	}
}
Beispiel #3
0
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);
    }
}
Beispiel #4
0
/**********************************************************************************************************
** 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 {
Beispiel #5
0
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;
	}
}
Beispiel #6
0
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;
}
Beispiel #7
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;
	}
Beispiel #8
0
	virtual void apply() {
		if (dataHolder.hasData) {
			timeSet(dataHolder.get().time);
		}
		updateDisp();
	}