static uint32_t asleep_timestampe = 0;
#ifdef CYWEE_MAC_ACTIVE
-int cm__hs1__mac_c0_init(void);
-int cm__hs1__mac_c0r_init(void);
+int cm__hs1__mac_c1_init(void);
int cm__hs1__deinit(void);
uint8_t SEC_FILE_ADDR[78] = {0};
cywee_installized = 1;
#ifdef CYWEE_MAC_ACTIVE
+ // /******************获取chipinfo 找到对应的btmac 并配置进去*************************/
+ // int chipinfolen = strlen((char*)chipInfo);
+ // if (chipinfolen >= 4)
+ // {
+ //uint32_t chipinfo_num= *(uint32_t*)(&chipInfo[chipinfolen - 4]);
+ //change_mac_from_chipinfo_map(chipinfo_num);
+ //}
+
+ change_mac_from_chipinfo_map();
uint16_t len = 78;
uapi_cywee_get_mac_key(SEC_FILE_ADDR,&len);
+ // printf("SEC_FILE_ADDR : ");
+ // for(int i = 0 ; i < 78 ; i++)
+ // printf("0x%2x, ",SEC_FILE_ADDR[i]);
+ // printf("\n");
#endif
int i;
memset(&scl, 0, sizeof(scl));
uint32_t irqMask = 0;
irqMask = osal_irq_lock();
#ifdef CYWEE_MAC_ACTIVE
-
- // /******************获取chipinfo 找到对应的btmac 并配置进去*************************/
- // int chipinfolen = strlen((char*)chipInfo);
- // if (chipinfolen >= 4)
- // {
- //uint32_t chipinfo_num= *(uint32_t*)(&chipInfo[chipinfolen - 4]);
- //change_mac_from_chipinfo_map(chipinfo_num);
- //}
-
- change_mac_from_chipinfo_map();
- //cm__hs1__mac_c0_init();//若mac_address的排列為正相時呼叫的api
- cm__hs1__mac_c0r_init();//若mac_address的排列為反相時呼叫的api
+ cm__hs1__mac_c1_init();
#else
cm__hs1__init();
#endif
{0x00FD,"d45d9057f5daa16a0a03780fab820100"},
{0x00FE,"d45d90576bd9a2540a03780f69820100"},
{0x00FF,"d45d905756362ff20a03780f81820100"},
-{0x0100,"d409441782b5a8ca0a03787507820100"},
-{0x0101,"d40944175563517a0a03787521820100"},
-{0x0102,"d4094417231002070a03787505820100"},
-{0x0103,"d4094417f128ae310a03781d27820100"},
+{0x0100,"7409441782b5a8ca0a03787507820100"},
+{0x0101,"740944175563517a0a03787521820100"},
+{0x0102,"74094417231002070a03787505820100"},
+{0x0103,"74094417f128ae310a03781d27820100"},
{0x0104,"d45dd617267bc5070a03780f4f830100"},
{0x0105,"d45dd6178656a6f10a03780f2d830100"},
-{0x0106,"d4094417cf5b57f10a03787521820100"},
-{0x0107,"d4094417ff4014470a0378750d820100"},
-{0x0108,"d4094417b9da89830a03787549820100"},
+{0x0106,"74094417cf5b57f10a03787521820100"},
+{0x0107,"74094417ff4014470a0378750d820100"},
+{0x0108,"74094417b9da89830a03787549820100"},
};
errcode_t change_mac_from_chipinfo_map(void)
{
uint8_t bd_addr[BD_ADDR_LEN]={0};
+ uint32_t len = 6;
uint8_t soc_id[20]={0};
uint8_t uid[16]={0};
char uid_str[33] = {0};
sprintf(uid_str + i * 2, "%02x", uid[i]);
uid_str[32] = '\0';
+ uapi_get_nv_btaddr(bd_addr,&len);
+
for (int i=0 ; i< sizeof(g_chipinfo_map)/sizeof(chiinfo_mac_pair);i++)
{
if(strcmp(uid_str, g_chipinfo_map[i].uid) == 0)
{
+ if((bd_addr[4] << 8 | bd_addr[5]) == g_chipinfo_map[i].mac)
+ return ERRCODE_SUCC;
+
uint16_t btmac2 = g_chipinfo_map[i].mac;
bd_addr[5] = (btmac2&0x00FF) ;
bd_addr[4] = (btmac2&0xFF00) >>8 ;
bd_addr[2] = 0x06 ;
bd_addr[1] = 0x11 ;
bd_addr[0] = 0x28 ;
- ret = uapi_set_nv_btaddr(bd_addr, sizeof(bd_addr));
+ ret = uapi_set_nv_btaddr(bd_addr, len);
if (ret != ERRCODE_SUCC) {
/* ERROR PROCESS */
// printf("found chipinfo 0x%08X and change btmac to 0xXXXXXX01%04X failed! ret %d\n",