void arduino_loop(void) { #ifdef TARGET_COO vDelayMsec(100); suli_uart_printf(NULL, NULL, "random:%d\r\n", random()); #elif TARGET_ROU uint8 tmp[sizeof(tsApiSpec)]={0}; tsApiSpec apiSpec; int16 temper = suli_analog_read(temp_pin); sprintf(tmp, "R-HeartBeat:%ld\r\n", temper); PCK_vApiSpecDataFrame(&apiSpec, 0xec, 0x00, tmp, strlen(tmp)); /* Air to Coordinator */ uint16 size = i32CopyApiSpec(&apiSpec, tmp); if(API_bSendToAirPort(UNICAST, 0x0000, tmp, size)) { suli_uart_printf(NULL, NULL, "<HeartBeat%d>\r\n", random()); } #else /* Finish user job */ static jobCnt = 0; uint8 tmp[sizeof(tsApiSpec)]={0}; tsApiSpec apiSpec; int16 temper = suli_analog_read(temp_pin); sprintf(tmp, "E-HeartBeat:%ld\r\n", temper); PCK_vApiSpecDataFrame(&apiSpec, 0xec, 0x00, tmp, strlen(tmp)); /* Air to Coordinator */ uint16 size = i32CopyApiSpec(&apiSpec, tmp); if(API_bSendToAirPort(UNICAST, 0x0000, tmp, size)) { suli_uart_printf(NULL, NULL, "<HeartBeat%d>\r\n", jobCnt); jobCnt++; } if(10 == jobCnt) { jobCnt = 0; Sleep(3000); } #endif }
/* Require per otaReqPeriod */ vResetATimer(APP_OTAReqTimer, APP_TIME_MS(g_sDevice.otaReqPeriod)); } // else if(2 == g_sDevice.otaDownloading) else if(g_sDevice.otaDownloading == 2) { /* package apiSpec */ apiSpec.startDelimiter = API_START_DELIMITER; apiSpec.length = 1; apiSpec.teApiIdentifier = API_OTA_UPG_REQ; apiSpec.payload.dummyByte = 0; apiSpec.checkSum = 0; /* send through AirPort */ size = i32CopyApiSpec(&apiSpec, tmp); API_bSendToAirPort(UNICAST, g_sDevice.otaSvrAddr16, tmp, size); vResetATimer(APP_OTAReqTimer, APP_TIME_MS(1000)); } #endif } /****************************************************************************/ /*** Exported Functions ***/ /****************************************************************************/ /**************************************************************************** *