|
|
@@ -51,6 +51,8 @@
|
|
|
#include "../../src/app/factorycmd/factory_atcmd.h"
|
|
|
#endif
|
|
|
|
|
|
+#include "wm_flash_map.h"
|
|
|
+
|
|
|
/* c librayr mutex */
|
|
|
tls_os_sem_t *libc_sem;
|
|
|
/*----------------------------------------------------------------------------
|
|
|
@@ -314,6 +316,24 @@ void task_start (void *data)
|
|
|
{
|
|
|
u8 enable = 0;
|
|
|
u8 mac_addr[6] = {0x00, 0x25, 0x08, 0x09, 0x01, 0x0F};
|
|
|
+ char unique_id [20] = {0};
|
|
|
+ tls_fls_read_unique_id(unique_id);
|
|
|
+#if defined(AIR103) && defined(LUAT_USE_WLAN)
|
|
|
+ // 判断实际flash大小, 为了正确读取系统擦拭能.
|
|
|
+ // AIR101的固件总是2M FLASH, 脚本区直接在1M之后, 单纯这里判断没有意义, 因为info.json写了具体偏移量
|
|
|
+ u8 magic[4] = {0};
|
|
|
+ u8 test[] = {0xFF, 0xFF, 0xFF, 0xFF};
|
|
|
+ int ret = tls_fls_read(TLS_FLASH_PARAM_DEFAULT, magic, 4);
|
|
|
+ if (ret || memcmp(test, magic, 4) == 0) {
|
|
|
+ // LLOGD("1M Flash");
|
|
|
+ TLS_FLASH_PARAM_DEFAULT = (0x80FB000UL);
|
|
|
+ TLS_FLASH_PARAM1_ADDR = (0x80FC000UL);
|
|
|
+ TLS_FLASH_PARAM2_ADDR = (0x80FD000UL);
|
|
|
+ TLS_FLASH_PARAM_RESTORE_ADDR = (0x80FE000UL);
|
|
|
+ TLS_FLASH_OTA_FLAG_ADDR = (0x80FF000UL);
|
|
|
+ TLS_FLASH_END_ADDR = (0x80FFFFFUL);
|
|
|
+ }
|
|
|
+#endif
|
|
|
|
|
|
#if TLS_CONFIG_CRYSTAL_24M
|
|
|
tls_wl_hw_using_24m_crystal();
|
|
|
@@ -336,16 +356,36 @@ void task_start (void *data)
|
|
|
tls_fls_init();
|
|
|
tls_fls_sys_param_postion_init();
|
|
|
|
|
|
- /*PARAM GAIN,MAC default*/
|
|
|
-#ifdef LUAT_USE_WLAN
|
|
|
+#if defined(LUAT_USE_NIMBLE) || defined(LUAT_USE_WLAN)
|
|
|
tls_ft_param_init();
|
|
|
tls_param_load_factory_default();
|
|
|
tls_param_init(); /*add param to init sysparam_lock sem*/
|
|
|
+#endif
|
|
|
|
|
|
- // 读wifi的mac, 如果是默认值,就根据unique_id读取
|
|
|
- char unique_id [18] = {0};
|
|
|
- tls_fls_read_unique_id(unique_id);
|
|
|
+#ifdef LUAT_USE_NIMBLE
|
|
|
+ // TODO 注意, 除了启用LUAT_USE_NIMBTE外
|
|
|
+ // 1. 修改FreeRTOSConfig.h的configTICK_RATE_HZ为500, 并重新make lib
|
|
|
+ // 2. 若修改libblehost.a相关代码,需要手工复制bin目录下的文件,拷贝到lib目录.
|
|
|
+
|
|
|
+ // 读蓝牙mac, 如果是默认值,就根据unique_id读取
|
|
|
+ uint8_t bt_mac[6];
|
|
|
// 缺省mac C0:25:08:09:01:10
|
|
|
+ uint8_t bt_default_mac[] = {0xC0,0x25,0x08,0x09,0x01,0x10};
|
|
|
+ tls_get_bt_mac_addr(bt_mac);
|
|
|
+ if (!memcmp(bt_mac, bt_default_mac, 6)) { // 看来是默认MAC, 那就改一下吧
|
|
|
+ if (unique_id[1] == 0x10){
|
|
|
+ memcpy(bt_mac, unique_id + 10, 6);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ memcpy(bt_mac, unique_id + 2, 6);
|
|
|
+ }
|
|
|
+ tls_set_bt_mac_addr(bt_mac);
|
|
|
+ }
|
|
|
+ LLOGD("BLE_4.2 %02X:%02X:%02X:%02X:%02X:%02X", bt_mac[0], bt_mac[1], bt_mac[2], bt_mac[3], bt_mac[4], bt_mac[5]);
|
|
|
+#endif
|
|
|
+
|
|
|
+ /*PARAM GAIN,MAC default*/
|
|
|
+#ifdef LUAT_USE_WLAN
|
|
|
tls_get_mac_addr(mac_addr);
|
|
|
if (!memcmp(mac_addr, default_mac, 6)) { // 看来是默认MAC, 那就改一下吧
|
|
|
if (unique_id[1] == 0x10){
|
|
|
@@ -356,6 +396,7 @@ void task_start (void *data)
|
|
|
}
|
|
|
tls_set_mac_addr(mac_addr);
|
|
|
}
|
|
|
+ //printf("WIFI %02X:%02X:%02X:%02X:%02X:%02X\n", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);
|
|
|
|
|
|
tls_get_tx_gain(&tx_gain_group[0]);
|
|
|
TLS_DBGPRT_INFO("tx gain ");
|