#include "components/ui_label_button_ext.h"
#include "cat1_ctl.h"
+
+#if USE_THISIOT
#define HTTP_JSON_SERVER_NAME "test.iot.api.thisiot.com"//"test.app.api.thisiot.com"//获取升级服务器
#define HTTP_FWPGK_SERVER_NAME "r-oss.thisiot.com"//"//升级包服务器
#define PORT (80)//(443)//http端口号
+#define POST_URL "http://test.iot.api.thisiot.com/ota/update-result"//上报url
+#define JSON_URL "http://test.iot.api.thisiot.com/ota/task?deviceId=%s&sourceVersion=%s"//获取升级url
+#else
+
+/**
+ * http://icfota.snicker.com.cn:8089/fd230ota.jsp?product=FD230&pkgver=V1.1_20240316_115535&imei=864430010001091
+查看 返回的"UptoDate" == False,即可根据"url"地址下载,文件校验可以后面再加。
+{ "UptoDate": false ,
+ "url" : "http://icfota.snicker.com.cn:8089/FD230/V1.1_20240316_115535/update.fwpkg",
+"OtaPackageLength" : 177504,
+ "OtaPackageName" : "update.fwpkg",
+ "OtaPackageVersion" : "V1.1_20240316_130929",
+"SystemVersion" : "V1.1_20240316_115535",
+"description" : " update to checkota version 3 ",
+ "md5sum" : "f51486072dc3d81f30610d6d5a58d717",
+"AutoUpdate" : true }
+*/
+#define HTTP_JSON_SERVER_NAME "snicker.com.cn"//"test.app.api.thisiot.com"//获取升级服务器
+#define HTTP_FWPGK_SERVER_NAME "snicker.com.cn"//"//升级包服务器
+#define PORT (8089)//(443)//http端口号
+#define POST_URL "http://snicker.com.cn:8089"//上报url
+#define JSON_URL "http://snicker.com.cn:8089/fd230otanew.jsp?product=FD230&imei=%s&pkgver=%s"//获取升级url
+#endif
+
#define UPDATAJSONPATH "/update/ota_start_.json"//获取升级的得到的json
#define UPDATAREPORT "/update/ota_start_reported_.json"//点升级后保存下来的json
#define UPDATAREPORT_ "/update/ota_report_.json"//上报升级得到的json
-#define POST_URL "http://test.iot.api.thisiot.com/ota/update-result"//上报url
-#define JSON_URL "http://test.iot.api.thisiot.com/ota/task?deviceId=%s&sourceVersion=%s"//获取升级url
namespace OHOS
{
SystemupgradeView::GetInstance()->set_string_value(NULL,false);
return;
}
- char *buf=(char *)malloc(512);
- memset((void*)buf,0,512);
- int ret =fread(buf,1,512,fp);
- int offset=512;
- while (ret==512)
- {
- buf=(char *)realloc(buf,offset+512);
- ret=fread(buf+offset,1,512,fp);
- offset+=512;
- }
+ char *buf=(char *)malloc(1024);
+ memset((void*)buf,0,1024);
+ int ret =fread(buf,1,1024,fp);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "httpc_download_result_ui %d %s\r\n",ret,buf);
if(ret==0)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "fread %d",ret);
return;
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "httpc_download_result_ui %d",ret);
// std::string jsonDataString((std::istreambuf_iterator<char>(inFile)), std::istreambuf_iterator<char>());
// const char *jsonData = jsonDataString.c_str();
- char *new_buf=NULL;
- new_buf=strstr(buf,"{\"success\":");//移到json的头的位置
- cJSON *root = cJSON_Parse(new_buf);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " %s",new_buf);
+ // char *new_buf=NULL;
+ // new_buf=strstr(buf,"{\"success\":");//移到json的头的位置
+ cJSON *root = cJSON_Parse(buf);
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " %s",new_buf);
free(buf);
if(root==NULL)
{
{
//"http://r-oss.thisiot.com/device-ota/2024_04_22/1782329689464958978.fwpkg?Expires=1713780167&OSSAccessKeyId=LTAI5tJa2arDBmqSUsSTQJ1T&Signature=OlbdNsfnz9Zje6ypFgXINQPXVE0%3D"
+ // char *uri = "http://icfota.snicker.com.cn:8089/FD230/V1.1/update.fwpkg";
char *uri = cJSON_GetObjectItem(downloadFileVo, "url")->valuestring;
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uri %s",uri);
sprintf((char *)uri_ota_package,"%s",uri);
if (cnt == 1) {
uapi_pm_remove_sleep_veto(PM_ID_CAT1);
} else {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has delete pm_id_cat1 vote\r\n");
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has delete pm_id_cat1 vote\r\n");
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"\r\nCAT1 SERVICE MCU SLEEP SUCCESS\r\n");
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"\r\nCAT1 SERVICE MCU SLEEP SUCCESS\r\n");
}
void uapi_cat1_add_cat1_vote(void)
{
if (cnt == 0) {
uapi_pm_add_sleep_veto(PM_ID_CAT1);
} else {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_cat1 vote\r\n");
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_cat1 vote\r\n");
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"\r\nCAT1 SERVICE MCU WAKEUP SUCCESS\r\n");
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"\r\nCAT1 SERVICE MCU WAKEUP SUCCESS\r\n");
}
extern void restart_sleep_cat1_timer(void);
void cat1_ring_isr_callback(pin_t pin, uintptr_t param)
{
- WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1_ring_isr_callback %d 0x%X\n",pin,param);
+ // WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1_ring_isr_callback %d 0x%X\n",pin,param);
uapi_gpio_clear_interrupt(pin);
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_ADD_CAT1VOTE,NULL,0);
}
}
if( wake == 1)
{
- WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"wakeup cat1\n");
+ // WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"wakeup cat1\n");
uapi_gpio_set_dir(S_AGPIO_L30, GPIO_DIRECTION_OUTPUT);
if(GPIO_LEVEL_HIGH != uapi_gpio_get_output_val(S_AGPIO_L30))
{
// wstp_print("wakeup Cat1! L30 high \r\n");
}else{
- WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"sleep cat1\n");
+ // WEARABLE_LOGW(WEARABLE_LOG_MODULE_MAIN_SERVICE,"sleep cat1\n");
uapi_gpio_set_dir(S_AGPIO_L30, GPIO_DIRECTION_OUTPUT);
if(GPIO_LEVEL_LOW != uapi_gpio_get_output_val(S_AGPIO_L30))
{
int cat1_handle_networ_msg(struct tcp_msg_t *msg)
{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 cat1_handle_networ_msg %s\n",msg->buffer);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 cat1_handle_networ_msg %s\n",msg->buffer);
if(decodeNetStat(msg->buffer) == 0)
{
runtime_status_t * runtime = get_device_runtime_status();
int cat1_handle_version_msg(struct tcp_msg_t *msg)
{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 cat1_handle_networ_msg %s\n",msg->buffer);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 cat1_handle_networ_msg %s\n",msg->buffer);
// BOOTUP:pyVer,PY_SRV_V4,modemVer,EG810MCNLAR06A01M08_VOLTE_OCPU_QPY_BETA0312
int cat1_handle_timesync(struct tcp_msg_t *msg)
{
char* timesync=msg->buffer;
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 cat1_handle_timesync %s\n",timesync);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 cat1_handle_timesync %s\n",timesync);
// ('24/03/01 07:15:36 8 0', 1709277336, 0)
// "4294938528@(2106, 2, 7, 6, 28, 48, 6, 38)@8"
}
}
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_synced %d\n",g_time_synced);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_synced %d\n",g_time_synced);
return 1;
}
if(osTimerIsRunning(g_timer_cat1_sleep)==1 )
{
osStatus_t ret = osTimerStop(g_timer_cat1_sleep);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"osTimerStop g_timer_cat1_sleep ret %d\n",ret);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"osTimerStop g_timer_cat1_sleep ret %d\n",ret);
}
uapi_cat1_remove_cat1_vote(); //接收到指令,让自己可以睡
}
if(osTimerIsRunning(g_timer_cat1_sleep)==1 )
{
osStatus_t ret = osTimerStop(g_timer_cat1_sleep);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"osTimerStop g_timer_cat1_sleep ret %d\n",ret);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"osTimerStop g_timer_cat1_sleep ret %d\n",ret);
}
if(osTimerIsRunning(g_timer_cat1_sleep)==0 )
{
// uint32_t tick = (uint32_t )osMs2Tick(5000); // 5 seconds
osStatus_t ret = osTimerStart(g_timer_cat1_sleep,5000); //5秒后重试同步时间
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"osTimerStart g_timer_cat1_sleep ret %d\n",ret);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"osTimerStart g_timer_cat1_sleep ret %d\n",ret);
}
}
{
// osStatus_t ret = osTimerStop(g_timer_time_sync);
// WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_synced == 1 stop timer , ret %d\n",ret);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_synced == 1 stop timer \n");
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_synced == 1 stop timer \n");
return ;
}else{
g_time_sync_retry_time ++;
{
// osStatus_t ret = osTimerStop(g_timer_time_sync);
// WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_sync_retry_time >= %d stop timer ,ret %d\n",MAX_TIME_SYNC_RETRY_TIME,ret);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_sync_retry_time >= %d stop timer \n",MAX_TIME_SYNC_RETRY_TIME);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_MAIN_SERVICE,"cat1 g_time_sync_retry_time >= %d stop timer \n",MAX_TIME_SYNC_RETRY_TIME);
return ;
}
cat1_gettime();
}
// Data received
rx_buffer[len] = '\0'; // Null-terminate whatever we received and treat like a string
- PRINT("Received %d bytes, rx_buffer: %s\n", len, rx_buffer);
+ // PRINT("Received %d bytes, rx_buffer: %s\n", len, rx_buffer);
index = udp_packet_parse(rx_buffer, len);
// if( index >= 0 ) {
// udp_send_response(tx_buffer, rx_buffer, "OK"/* msg_wifi_resp[index]*/);
LOS_Msleep(5000);
addressbookToRead(NULL);
- up_report_timer();
+ // up_report_timer();
if ( poweron_cat1_on_bootup_flag() )
{
PRINT("PowerOn Cat1 !\r\n");
#define LWIP_SOCKET_SELECT 0
#define LWIP_SOCKET_POLL 1
+
+// Options for old lwipopts.h
+#define MEM_SIZE (4*1024*1024) // (512*1024)
+#define IP_FRAG_MAX_MTU 1500
+#define LWIP_CONFIG_NUM_SOCKETS 128
+#define IP_REASS_MAX_MEM_SIZE (MEM_SIZE / 4)
+
// Options in old opt.h that differs from new opt.h
#define MEM_ALIGNMENT __SIZEOF_POINTER__
#define MEMP_NUM_NETDB 8
#define MEMP_NUM_TCPIP_MSG_INPKT 512
#define MEMP_NUM_TCP_PCB LWIP_CONFIG_NUM_SOCKETS
#define MEMP_NUM_TCP_PCB_LISTEN LWIP_CONFIG_NUM_SOCKETS
-#define MEMP_NUM_TCP_SEG (((TCP_SND_BUF * 3 / 2) + TCP_WND) * LWIP_CONFIG_NUM_SOCKETS / TCP_MSS)
#define MEMP_NUM_UDP_PCB LWIP_CONFIG_NUM_SOCKETS
-#define MEM_SIZE (4*1024*1024) // (512*1024)
#define PBUF_POOL_BUFSIZE 1550
#define PBUF_POOL_SIZE 64
#define SO_REUSE 1
#define TCPIP_THREAD_PRIO 5
#define TCPIP_THREAD_STACKSIZE 0x6000
#define TCP_MAXRTX 64
-#define TCP_MSS 1400
+// #define TCP_MSS 1400
+#define TCP_MSS (IP_FRAG_MAX_MTU - 20 - 20)
#define TCP_SND_BUF 65535
#define TCP_SND_QUEUELEN (8 * TCP_SND_BUF) / TCP_MSS
#define TCP_TTL 255
#define TCP_WND 32768
#define UDP_TTL 255
+#define MEMP_NUM_TCP_SEG (((TCP_SND_BUF * 3 / 2) + TCP_WND) * LWIP_CONFIG_NUM_SOCKETS / TCP_MSS)
// Options in old lwipopts.h but kept in Defaults with new opt.h
#define IP_FORWARD 0
#undef DEFAULT_ACCEPTMBOX_SIZE
#define DEFAULT_ACCEPTMBOX_SIZE LWIP_CONFIG_NUM_SOCKETS
-#undef TCP_MSS
-#define TCP_MSS (IP_FRAG_MAX_MTU - 20 - 20)
+// #undef TCP_MSS
+// #define TCP_MSS (IP_FRAG_MAX_MTU - 20 - 20)
#undef IP_SOF_BROADCAST_RECV
#define IP_SOF_BROADCAST_RECV 0
#define DRIVERIF_DEBUG LWIP_DBG_OFF
#endif
-// Options for old lwipopts.h
-#define IP_FRAG_MAX_MTU 1500
-#define LWIP_CONFIG_NUM_SOCKETS 128
-#define IP_REASS_MAX_MEM_SIZE (MEM_SIZE / 4)
+
// Options for enhancement code, same for old lwipopts.h
#define LWIP_NETIF_PROMISC 1
httpc_create_request_string(const httpc_connection_t *settings, const char* server_name, int server_port, const char* uri,
int use_host, char *buffer, size_t buffer_size)
{
- printf("httpc_create_request_string use_post %d use_proxy %d use_host %d \r\n",settings->use_post,settings->use_proxy,use_host);
+ // printf("httpc_create_request_string use_post %d use_proxy %d use_host %d \r\n",settings->use_post,settings->use_proxy,use_host);
if (settings->use_proxy) {
LWIP_ASSERT("server_name != NULL", server_name != NULL);
if (server_port != HTTP_DEFAULT_PORT)