找回密码
 立即注册

微信扫码登录

查看: 184|回复: 2

SDK 3.7.1.1 (and 3.7.1.0 too) raises exception with event 21 in reportNoMinLimit

[复制链接]

3

主题

2

回帖

47

积分

英勇黄铜

积分
47
发表于 2024-11-23 20:43:50 | 显示全部楼层 |阅读模式
Hello.



void report_handler(void)
{
    if(zb_isDeviceJoinedNwk()){
        if(zcl_reportingEntryActiveNumGet()){
            uint16_t second = 1;//TODO: fix me

            reportNoMinLimit();

            //start report timer
            reportAttrTimerStart(second);
        }else{
            //stop report timer
            reportAttrTimerStop();
        }
    }
}


void app_task(void) {

    uart_cmd_handler();

    if(bdb_isIdle()) {
        report_handler();
    }


}






My log
OTA mode enabled. MCU boot from address: 0x8000
out_pkt <== 0x55AA02000101000003
inp_pkt ==> 0x55AA02000101001C7B2270223A227539626677686130222C2276223A22342E302E31227D84
manuf_name: 0, u9bfwha0 is find
out_pkt <== 0x55AA0200020200010107
inp_pkt ==> 0x55AA02000202000005
app_sysException, line: 198, event: 21, reset
OTA mode enabled. MCU boot from address: 0x8000
out_pkt <== 0x55AA02000101000003
inp_pkt ==> 0x55AA02000101001C7B2270223A227539626677686130222C2276223A22342E302E31227D84
manuf_name: 0, u9bfwha0 is find
out_pkt <== 0x55AA0200020200010107
inp_pkt ==> 0x55AA02000202000005
app_sysException, line: 198, event: 21, reset
OTA mode enabled. MCU boot from address: 0x8000




If commented reportNoMinLimit()
void report_handler(void)
{
    if(zb_isDeviceJoinedNwk()){
        if(zcl_reportingEntryActiveNumGet()){
            uint16_t second = 1;//TODO: fix me

//            reportNoMinLimit();

            //start report timer
            reportAttrTimerStart(second);
        }else{
            //stop report timer
            reportAttrTimerStop();
        }
    }
}

void app_task(void) {

    uart_cmd_handler();

    if(bdb_isIdle()) {
        report_handler();
    }
}



It's Ok.

OTA mode enabled. MCU boot from address: 0x8000
out_pkt <== 0x55AA02000101000003
inp_pkt ==> 0x55AA02000101001C7B2270223A227539626677686130222C2276223A22342E302E31227D84
manuf_name: 0, u9bfwha0 is find
out_pkt <== 0x55AA0200020200010107
inp_pkt ==> 0x55AA02000202000005
inp_pkt ==> 0x55AA020003060005240400010139
command 0x06
out_pkt <== 0x55AA020003060001010C
inp_pkt ==> 0x55AA020003060005240400010139
command 0x06
out_pkt <== 0x55AA020003060001010C
inp_pkt ==> 0x55AA020003060005240400010139
command 0x06
out_pkt <== 0x55AA020003060001010C
inp_pkt ==> 0x55AA020003060005240400010139
command 0x06
out_pkt <== 0x55AA020003060001010C
inp_pkt ==> 0x55AA020003060005240400010139
command 0x06




SDK 3.6.8.7 works great!!!

27

主题

182

回帖

613

积分

版主

积分
613
发表于 2024-11-25 15:58:35 | 显示全部楼层
It seems that reportNoMinLimit() caused queue overflow due to frequent creation of sending tasks.
Can you provide your reportingTab information?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2024-12-27 11:35 , Processed in 0.081084 second(s), 21 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表