修复死机 卡顿bug
authord15521469561 <d155214695615@qq.com>
Mon, 15 May 2023 01:19:13 +0000 (09:19 +0800)
committerd15521469561 <d155214695615@qq.com>
Mon, 15 May 2023 01:19:13 +0000 (09:19 +0800)
2.sdk/Helios_SDK/services/microPython/lib/lvgl/src/extra/libs/png/lv_png.c
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/mgr.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/protocol.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/source/modsocket.c
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui_main_menu.py
2.sdk/Helios_SDK/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip
2.sdk/Helios_SDK/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/include/app_link_start_addr.h

index 8f578c5..688a8c5 100644 (file)
@@ -149,6 +149,28 @@ static lv_res_t decoder_info(struct _lv_img_decoder_t * decoder, const void * sr
  * @param style style of the image object (unused now but certain formats might use it)
  * @return pointer to the decoded image or  `LV_IMG_DECODER_OPEN_FAIL` if failed
  */
+uint16_t rgb888_to_rgb565(uint8_t r, uint8_t g, uint8_t b) {
+    return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3);
+}
+
+typedef struct {
+    uint8_t red;
+    uint8_t green;
+    uint8_t blue;
+} _lv_color24_t;
+static void convert_color_depth1(uint8_t * img, uint32_t px_cnt)
+{
+    uint16_t color = 0;
+    int i = 0;
+    _lv_color24_t *img_rgb888 = (_lv_color24_t*)img;
+    for(i = 0; i < px_cnt; i++) {
+        color =  rgb888_to_rgb565(img_rgb888[i].red, img_rgb888[i].green, img_rgb888[i].blue);
+        img[i * 3 + 2] = 255;
+        img[i * 3 + 1] = color >> 8;
+        img[i * 3 + 0] = color & 0xFF;
+    }
+}
+
 static lv_res_t decoder_open(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t * dsc)
 {
 
@@ -156,6 +178,7 @@ static lv_res_t decoder_open(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t *
     uint32_t error;                 /*For the return values of PNG decoder functions*/
 
     uint8_t * img_data = NULL;
+    uint8_t * img_data_cov = NULL;
 
     /*If it's a PNG file...*/
     if(dsc->src_type == LV_IMG_SRC_FILE) {
@@ -184,10 +207,19 @@ static lv_res_t decoder_open(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t *
                 LV_LOG_WARN("error %u: %s\n", error, lodepng_error_text(error));
                 return LV_RES_INV;
             }
-
             /*Convert the image to the system's color depth*/
             convert_color_depth(img_data,  png_width * png_height);
-            dsc->img_data = img_data;
+
+            if(img_data) {
+                img_data_cov = lv_mem_alloc(png_width * png_height * 3);
+                if(img_data_cov) {
+                    lv_memcpy(img_data_cov, img_data, png_width * png_height * 3);
+                    lv_mem_free(img_data);
+                    img_data = NULL;
+                }
+            }
+
+            dsc->img_data = img_data_cov;
             return LV_RES_OK;     /*The image is fully decoded. Return with its pointer*/
         }
     }
@@ -198,14 +230,14 @@ static lv_res_t decoder_open(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t *
         uint32_t png_height;            /*No used, just required by he decoder*/
 
         /*Decode the image in ARGB8888 */
-        error = lodepng_decode32(&img_data, &png_width, &png_height, img_dsc->data, img_dsc->data_size);
+        error = lodepng_decode24(&img_data, &png_width, &png_height, img_dsc->data, img_dsc->data_size);
 
         if(error) {
             return LV_RES_INV;
         }
 
         /*Convert the image to the system's color depth*/
-        convert_color_depth(img_data,  png_width * png_height);
+        //convert_color_depth(img_data,  png_width * png_height);
 
         dsc->img_data = img_data;
         return LV_RES_OK;     /*Return with its pointer*/
index a3bca26..246f16e 100644 (file)
@@ -555,6 +555,7 @@ class DeviceInfoManager(Abstract):
         #self.__city = None
         #self.__location = None
         self.timer_push_schedule = osTimer()
+        self.timer_pusht_test = osTimer()
         self.usb = USB()
         #self.battery_push_schedule = osTimer()
         self.check_battery_list = []
@@ -652,7 +653,7 @@ class DeviceInfoManager(Abstract):
 
         print("post_processor_after_instantiation:2")
         self.timer_push_schedule.start(10000, 1, self.publish_event)
-        # self.timer_push_schedule.start(2000, 1, self.publish_test)
+        # self.timer_pusht_test.start(2000, 1, self.publish_test)
         # self.battery_push_schedule.start(3000, 1, self.__check_battery)
         self.log.debug("post_processor_after_instantiation finished")
         #EventMesh.publish(constants.EVENT.START_HEART)
@@ -1333,7 +1334,9 @@ class SockManager(Abstract):
                 self.sock.close()
             self.sock = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)
             self.sock.connect(("api.xcloudtech.com", 9000))
+            _thread.stack_size(24*1024)
             _thread.start_new_thread(self.recv, ())
+            _thread.stack_size(8*1024)
             utime.sleep(1)
             #  发送数据
             EventMesh.publish(constants.PROTOCOL.LK_SEND)
@@ -1349,7 +1352,9 @@ class SockManager(Abstract):
             EventMesh.publish(constants.EVENT.SET_CONNECT,0) #标记断网
             if(self.sock != None) :
                     self.sock.close()
+            _thread.stack_size(24*1024)
             _thread.start_new_thread(self.reconnect, ()) #重连
+            _thread.stack_size(8*1024)
 
         self.connect_tmp = 0
 
@@ -1357,7 +1362,7 @@ class SockManager(Abstract):
         self.connect()
 
     def send(self, topic, msg):
-        print("TCP:send data:{}".format(msg))
+        # print("TCP:send data:{}".format(msg))
         self.sock.send(msg)
 
     def recv(self):
@@ -1369,19 +1374,23 @@ class SockManager(Abstract):
                 self.run_flag = False
                 if(self.sock != None) :
                     self.sock.close()
+                _thread.stack_size(24*1024)
                 _thread.start_new_thread(self.reconnect, ())
+                _thread.stack_size(8*1024)
                 break
             if not r:
                 self.run_flag = False
                 if(self.sock != None) :
                     self.sock.close()
+                _thread.stack_size(24*1024)
                 _thread.start_new_thread(self.reconnect, ())
+                _thread.stack_size(8*1024)
                 break
             data = data + r
             if data[-1] != 0x5d and len(data)<20*1024: #']':
                 continue
             self.connect_tmp = 1 #有数据,就认为是连接状态
-            # print("TCP:recv: data:{}".format(data))
+            print("TCP recv: data:len:{}".format(len(data)))
             EventMesh.publish(constants.EVENT.SET_CONNECT, 1)
             data_str = data.decode('ascii')
             data_str = data_str.split(']')
@@ -1444,6 +1453,7 @@ class LocationManager(Abstract):
         self.location_timer_count = 0
         self.location_check_data_timer_count = 0
         self.location_type = 0 #定位类型,0:正常定位,有gps数据或60秒关闭;1:测试模式,只有发CLOSE_LOCATION消息才关闭
+        self.location_thread_flag = 0
     @staticmethod
     def get_date():
         return "{:04d}-{:02d}-{:02d}".format(*utime.localtime()[0:3])
@@ -1482,6 +1492,8 @@ class LocationManager(Abstract):
         EventMesh.publish(constants.EVENT.GPSOPEN)
         self.location_timer_count = 0
         self.timer_read_GPS_info.start(1000, 1, self.location_timer)
+        if self.location_thread_flag == 0:
+            _thread.start_new_thread(self.location_thread, ())
         self.wifi_data = []
         self.gps_data = []
         self.cell_data = []
@@ -1495,6 +1507,8 @@ class LocationManager(Abstract):
         self.gps.power_switch(0)
         wifiScan.control(0)
         self.timer_read_GPS_info.stop()
+        self.location_timer_count = 5*60 #让线程结束
+        
 
     def WIFI_INFO(self, event, msg):
         self.wifi_data = msg
@@ -1531,68 +1545,74 @@ class LocationManager(Abstract):
         self.location_timer_count = self.location_timer_count +1
         self.location_check_data_timer_count = self.location_check_data_timer_count+1
 
-        match_gga_data = []
-        match_gsv_data = []
-
-        if self.location_check_data_timer_count > 2 :#5秒查一次
-            self.location_check_data_timer_count = 0
-            #print(self.location_timer_count)
-            #检查wifi数据
-            if self.wifi_data == [] or (self.wifi_data != [] and self.wifi_data[0] == 0):#and self.wifi_data[0] <= 0:
-                EventMesh.publish(constants.EVENT.WIFISCANOPEN)
-            #检查GNSS数据
-            if self.gps_data == [] and quecgnss.get_state() == 2:
-                self.gps.__gps_nmea_data_clean()
-                data = quecgnss.read(4096)
-                #print(data[1].decode())
-                if data[0] > 0 : #有数据
-                    match_gga_data = self.match.GxGGA(data[1]).split(",")
-                    match_gsv_data = self.match.GxGSV(data[1]).split(",")
-                    if self.gps.__check_gps_valid(data[1].decode()): #数据齐全
-                        match_gmc_data = self.match.GxRMC(data[1]).split(",")
-                        match_vtg_data = self.match.GxVTG(data[1]).split(",")
+    def location_thread(self):
+        self.location_thread_flag = 1
+        while True:
+            match_gga_data = []
+            match_gsv_data = []
+
+            if self.location_check_data_timer_count > 3 :#5秒查一次
+                self.location_check_data_timer_count = 0
+                #print(self.location_timer_count)
+                #检查wifi数据
+                if self.wifi_data == [] or (self.wifi_data != [] and self.wifi_data[0] == 0):#and self.wifi_data[0] <= 0:
+                    EventMesh.publish(constants.EVENT.WIFISCANOPEN)
+                #检查GNSS数据
+                if self.gps_data == [] and quecgnss.get_state() == 2:
+                    self.gps.__gps_nmea_data_clean()
+                    data = quecgnss.read(4096)
+                    #print(data[1].decode())
+                    if data[0] > 0 : #有数据
                         match_gga_data = self.match.GxGGA(data[1]).split(",")
-                        data = self.gps.read_coordinates(data[1])
-                        latitude_tmp = str(data[1]).split(".")
-                        if len(latitude_tmp) >= 2 and len(latitude_tmp[1])>=5:
-                            latitude = "%s.%s"%(latitude_tmp[0],latitude_tmp[1][:6])
-                        latitude = "%s,%s"%(latitude,match_gmc_data[4] )
-                        longitude_tmp = str(data[0]).split(".")
-                        if len(longitude_tmp) >= 2 and len(longitude_tmp[1])>=5:
-                            longitude = "%s.%s"%(longitude_tmp[0],longitude_tmp[1][:6])
-                        longitude = "%s,%s"%(longitude,match_gmc_data[6] ) #match_gmc_data[6] + str(data[1])
-                        high = str(data[2])
-                        self.gps_data = {
-                            "latitude": latitude,
-                            "longitude": longitude,
-                            "high": high,
-                            "direction": match_vtg_data[1],
-                            "speed": match_vtg_data[5],
-                            "number": match_gga_data[7],   
-                        }
-            #检查基站数据
-            if self.cell_data == []:
-                
-                self.cell_data = net.getCellInfo()
-                for cell in self.cell_data:
-                    if cell and cell[0][0] == 0 :
-                        self.cell_data = cell
-                        break
-        if self.location_type == 1: #测试模式
-              EventMesh.publish("PUSH_LOCATION_DATA", [data,self.wifi_data,self.cell_data]) 
-        elif self.location_type == 0: #正常模式     
-            if self.gps_data  != [] or self.location_timer_count > 40: #or( self.wifi_data != [] and self.cell_data != []): 
-                #print("publish:READ_LOCATION")
-                EventMesh.publish(constants.EVENT.READ_LOCATION, [self.gps_data,self.wifi_data,self.cell_data])
-                EventMesh.publish(constants.EVENT.CLOSE_LOCATION)#关闭定位
-
-            if len(match_gsv_data) >= 3:
-                #print("match_gsv_data[3]:{}".format(match_gsv_data[3]))  
-                if (int(match_gsv_data[3]) < 3 and self.wifi_data != [] and self.cell_data != [] and self.location_timer_count > 10): #超过10秒且卫星个数少于3
+                        match_gsv_data = self.match.GxGSV(data[1]).split(",")
+                        if self.gps.__check_gps_valid(data[1].decode()): #数据齐全
+                            match_gmc_data = self.match.GxRMC(data[1]).split(",")
+                            match_vtg_data = self.match.GxVTG(data[1]).split(",")
+                            match_gga_data = self.match.GxGGA(data[1]).split(",")
+                            data = self.gps.read_coordinates(data[1])
+                            latitude_tmp = str(data[1]).split(".")
+                            if len(latitude_tmp) >= 2 and len(latitude_tmp[1])>=5:
+                                latitude = "%s.%s"%(latitude_tmp[0],latitude_tmp[1][:6])
+                            latitude = "%s,%s"%(latitude,match_gmc_data[4] )
+                            longitude_tmp = str(data[0]).split(".")
+                            if len(longitude_tmp) >= 2 and len(longitude_tmp[1])>=5:
+                                longitude = "%s.%s"%(longitude_tmp[0],longitude_tmp[1][:6])
+                            longitude = "%s,%s"%(longitude,match_gmc_data[6] ) #match_gmc_data[6] + str(data[1])
+                            high = str(data[2])
+                            self.gps_data = {
+                                "latitude": latitude,
+                                "longitude": longitude,
+                                "high": high,
+                                "direction": match_vtg_data[1],
+                                "speed": match_vtg_data[5],
+                                "number": match_gga_data[7],   
+                            }
+                #检查基站数据
+                if self.cell_data == []:   
+                    self.cell_data = net.getCellInfo()
+                    for cell in self.cell_data:
+                        if cell and cell[0][0] == 0 :
+                            self.cell_data = cell
+                            break
+            if self.location_timer_count >= 60*4 : #4分钟关闭线程
+                break
+            if self.location_type == 1: #测试模式
+                EventMesh.publish("PUSH_LOCATION_DATA", [data,self.wifi_data,self.cell_data]) 
+            elif self.location_type == 0: #正常模式     
+                if self.gps_data  != [] or self.location_timer_count > 40: #or( self.wifi_data != [] and self.cell_data != []): 
                     #print("publish:READ_LOCATION")
                     EventMesh.publish(constants.EVENT.READ_LOCATION, [self.gps_data,self.wifi_data,self.cell_data])
-                    EventMesh.publish(constants.EVENT.CLOSE_LOCATION)#关闭定位    
-        
+                    EventMesh.publish(constants.EVENT.CLOSE_LOCATION)#关闭定位
+                    break
+                if len(match_gsv_data) >= 3:
+                    #print("match_gsv_data[3]:{}".format(match_gsv_data[3]))  
+                    if (int(match_gsv_data[3]) < 3 and self.wifi_data != [] and self.cell_data != [] and self.location_timer_count > 10): #超过10秒且卫星个数少于3
+                        #print("publish:READ_LOCATION")
+                        EventMesh.publish(constants.EVENT.READ_LOCATION, [self.gps_data,self.wifi_data,self.cell_data])
+                        EventMesh.publish(constants.EVENT.CLOSE_LOCATION)#关闭定位    
+                        break
+            utime.sleep_ms(1000)
+        self.location_thread_flag = 0
             
 
 # class AddrBookManager(Abstract):
index 60da1cc..77f3981 100644 (file)
@@ -999,11 +999,15 @@ class ProtoColResolver(object):
         # elif data.startswith("Update;"):
         #     data = data[7:]
         #     EventMesh.publish(constants.PROTOCOL.H04_RECV, data)
-        print("handler:{}".format(type(data)))
-        data_tmp = data.decode('ascii')
-        data_tmp = data_tmp.split(']')[0] #去掉]
-        ProtoCol_type = data_tmp.split('*')[3] #拿到协议标识
-        ProtoCol_type = ProtoCol_type.split(',')[0]
-        ProtoCol_type = "%s_RECV"%(ProtoCol_type)
-        # print("ProtoColResolver:ProtoCol_type:%s\r\ndata:%s"%(ProtoCol_type,data))
-        EventMesh.publish(ProtoCol_type, data) #返回协议read
+        try:
+            print("handler:{}".format(type(data)))
+            data_tmp = data.decode('ascii')
+            data_tmp = data_tmp.split(']')[0] #去掉]
+            ProtoCol_type = data_tmp.split('*')[3] #拿到协议标识
+            ProtoCol_type = ProtoCol_type.split(',')[0]
+            ProtoCol_type = "%s_RECV"%(ProtoCol_type)
+            # print("ProtoColResolver:ProtoCol_type:%s\r\ndata:%s"%(ProtoCol_type,data))
+            EventMesh.publish(ProtoCol_type, data) #返回协议read
+        except Exception as e:
+            print("handler:ERROR!!!!!!!!!!!")
+            print("handler:error data:{}".format(data))
index e866a26..3af7276 100644 (file)
@@ -187,7 +187,7 @@ NORETURN static void exception_from_errno(int _errno) {
 }
 
 static inline void check_for_exceptions(void) {
-    mp_handle_pending(true);
+    //mp_handle_pending(true);
 }
 
 // This function mimics lwip_getaddrinfo, with added support for mDNS queries
index cce8b67..2bf7fdd 100644 (file)
@@ -2747,6 +2747,7 @@ class CountdownScreen(Screen):
             self.hour = 0
             self.min = 0
             self.sec = 0
+            self.show_value()
         
 
     def sec_up(self,e):
@@ -3121,6 +3122,7 @@ class StopwatchScreen(Screen):
 
         if self.s_state == 0:
             self.reset(0)
+        
 
     def start(self, e):      
         global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
@@ -3264,7 +3266,7 @@ class UIFINDScreen(Screen):
         self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3')  #播放声音
         pass
     def FIND_timer_cb(self, *args):
-               EventMesh.publish("system_sleep_rest")
+        EventMesh.publish("system_sleep_rest")
         self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3') 
         self.FIND_timer_count += 1
         if self.FIND_timer_count > 20: #120秒
@@ -3272,14 +3274,13 @@ class UIFINDScreen(Screen):
     
     def stop_FIND(self) :
         self.FIND_timer.stop()
-        self.aud.stopAll()
-        self.aud.stop(1, 1, 'E:/static/audio_audio_haixiu.mp3')  #播放声音
+        self.aud.stop()  #播放声音
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def Close(self):
         print("self.FIND_timer_Close")
         self.FIND_timer.stop()
-        self.aud.stop(1, 1, 'E:/static/audio_audio_haixiu.mp3')  #播放声音
+        self.aud.stop() #播放声音
 
     def done_left_to_right(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
index a817394..328e756 100644 (file)
@@ -116,7 +116,7 @@ MainMenu2_img_alipay_text.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.
 MainMenu2_img_alipay = lv.img(MainMenu2_alipay)
 MainMenu2_img_alipay.set_size(160,160)
 MainMenu2_img_alipay.set_pos(40,20)
-MainMenu2_img_alipay.set_src("E:/static/main_menu/main_menu2/alipay_.png")
+MainMenu2_img_alipay.set_src("U:/static/alipay_.png")
 MainMenu2_img_alipay.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_alipay.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -133,7 +133,7 @@ label_text.set_text("2")
 MainMenu2_img_phone = lv.img(MainMenu2_phone)
 MainMenu2_img_phone.set_size(160,160)
 MainMenu2_img_phone.set_pos(40,20)
-MainMenu2_img_phone.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.png")
+MainMenu2_img_phone.set_src("U:/static/IMAGE_ONE_PAGE_CALL.png")
 MainMenu2_img_phone.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_phone.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -155,7 +155,7 @@ label_text.set_text("3")
 MainMenu2_img_contacts = lv.img(MainMenu2_contacts)
 MainMenu2_img_contacts.set_size(160,160)
 MainMenu2_img_contacts.set_pos(40,20)
-MainMenu2_img_contacts.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.png")
+MainMenu2_img_contacts.set_src("U:/static/IMAGE_ONE_PAGE_CONTACTS.png")
 MainMenu2_img_contacts.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_contacts.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -177,7 +177,7 @@ label_text.set_text("4")
 MainMenu2_img_heartrate = lv.img(MainMenu2_heartrate)
 MainMenu2_img_heartrate.set_size(160,160)
 MainMenu2_img_heartrate.set_pos(40,20)
-MainMenu2_img_heartrate.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.png")
+MainMenu2_img_heartrate.set_src("U:/static/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.png")
 MainMenu2_img_heartrate.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_heartrate.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -199,7 +199,7 @@ label_text.set_text("5")
 MainMenu2_img_spo2 = lv.img(MainMenu2_spo2)
 MainMenu2_img_spo2.set_size(160,160)
 MainMenu2_img_spo2.set_pos(40,20)
-MainMenu2_img_spo2.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.png")
+MainMenu2_img_spo2.set_src("U:/static/IMAGE_ONE_PAGE_SPO2_DETECT.png")
 MainMenu2_img_spo2.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_spo2.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -221,7 +221,7 @@ label_text.set_text("6")
 MainMenu2_img_toolbox = lv.img(MainMenu2_toolbox)
 MainMenu2_img_toolbox.set_size(160,160)
 MainMenu2_img_toolbox.set_pos(40,20)
-MainMenu2_img_toolbox.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.png")
+MainMenu2_img_toolbox.set_src("U:/static/IMAGE_ONE_PAGE_TOOLS.png")
 MainMenu2_img_toolbox.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_toolbox.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -243,7 +243,7 @@ label_text.set_text("7")
 MainMenu2_img_setting = lv.img(MainMenu2_setting)
 MainMenu2_img_setting.set_size(160,160)
 MainMenu2_img_setting.set_pos(40,20)
-MainMenu2_img_setting.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.png")
+MainMenu2_img_setting.set_src("U:/static/IMAGE_ONE_PAGE_SETTINGS.png")
 MainMenu2_img_setting.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_setting.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -265,7 +265,7 @@ label_text.set_text("8")
 MainMenu2_img_temperature = lv.img(MainMenu2_temperature)
 MainMenu2_img_temperature.set_size(160,160)
 MainMenu2_img_temperature.set_pos(40,20)
-MainMenu2_img_temperature.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.png")
+MainMenu2_img_temperature.set_src("U:/static/IMAGE_ONE_PAGE_TEMPERATURE.png")
 MainMenu2_img_temperature.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_temperature.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -287,7 +287,7 @@ label_text.set_text("9")
 MainMenu2_img_wechat = lv.img(MainMenu2_wechat)
 MainMenu2_img_wechat.set_size(160,160)
 MainMenu2_img_wechat.set_pos(40,20)
-MainMenu2_img_wechat.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.png")
+MainMenu2_img_wechat.set_src("U:/static/IMAGE_ONE_PAGE_WECHAT.png")
 MainMenu2_img_wechat.add_flag(lv.obj.FLAG.CLICKABLE)
 MainMenu2_img_wechat.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
index d20ec8e..3b9e90d 100644 (file)
Binary files a/2.sdk/Helios_SDK/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip and b/2.sdk/Helios_SDK/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip differ
index 626db58..ce6504d 100644 (file)
@@ -3,7 +3,7 @@
 #define __APP_LINK_START_ADDR_H__
 
 #define APP_LINK_START_ADDR  0x805FD000
-#define APP_FLASH_MAX_SIZE 0x180000
+#define APP_FLASH_MAX_SIZE 0x167000
 
 #define APP_RAM_START 0x7E3E0000
 #define APP_RAM_MAX_SIZE 0x180000