相关的Issue

原因(目的、解决的问题等)

wifi-iot实例项目编译测试samgr模块出现若干如下错误:

../../applications/sample/wifi-iot/app/samgr/maintenance_example.c: In function 'GetTaskConfig':
../../applications/sample/wifi-iot/app/samgr/maintenance_example.c:114:27: error: 'PRI_HIGH' undeclared (first use in this function); did you mean 'PRI_BUTT'?
         config.priority = PRI_HIGH;
                           ^~~~~~~~
                           PRI_BUTT
../../applications/sample/wifi-iot/app/samgr/maintenance_example.c:114:27: note: each undeclared identifier is reported only once for each function it appears in
../../applications/sample/wifi-iot/app/samgr/broadcast_example.c: In function 'Initialize':
../../applications/sample/wifi-iot/app/samgr/broadcast_example.c:63:72: error: implicit declaration of function 'SAMGR_GetProcessTime'; did you mean 'SAMGR_GetInstance'? [-Werror=implicit-function-declaration]
            osThreadGetId(), g_broadcastStep++, BROADCASR_TEST_SERVICE, SAMGR_GetProcessTime());
                                                                        ^~~~~~~~~~~~~~~~~~~~
                                                                        SAMGR_GetInstance
cc1: all warnings being treated as errors

原因是未include相关头文件,以及使用错误的符号等。

描述(做了什么,变更了什么)

修复以上错误,设计的本模块(applications_sample_wifi_iot)的变更有:

  1. applications/sample/wifi-iot/app/samgr/BUILD.gn
    添加include:
    "//foundation/distributedschedule/services/samgr_lite/samgr/source",
    "//foundation/distributedschedule/services/samgr_lite/samgr/adapter",
    "//test/xts/tools/hctest/include", 多处需要应用#include "hctest.h"

  2. applications/sample/wifi-iot/app/samgr/broadcast_example.c
    #include "time_adapter.h": 加入SAMGR_GetProcessTime()声明
    #include "hctest.h": 加入TEST_INIT()声明

  3. applications/sample/wifi-iot/app/samgr/service_example.c
    #include "time_adapter.h": 加入SAMGR_GetProcessTime()声明
    #include "hctest.h": 加入TEST_INIT()声明

  4. applications/sample/wifi-iot/app/samgr/task_example.c
    #include "time_adapter.h": 加入SAMGR_GetProcessTime()声明

  5. applications/sample/wifi-iot/app/samgr/maintenance_example.c
    114行: config.priority = PRI_ABOVE_NORMAL; service.h中定义的TaskPriority 没有PRI_HIGH优先级,改为PRI_ABOVE_NORMAL;

  6. applications/sample/wifi-iot/app/samgr/feature_example.c
    #include "time_adapter.h": 加入SAMGR_GetProcessTime()声明
    #include "hctest.h": 加入TEST_INIT()声明

  7. applications/sample/wifi-iot/app/samgr/specified_task_example.c
    #include "time_adapter.h": 加入SAMGR_GetProcessTime()声明

其他:
修复该问题还需修改其他模块(foundation/distributedschedule/services/samgr_lite/samgr/source/BUILD.gn)
在ohos_kernel_type == "liteos_riscv" 分支添加source "samgr_maintenance.c",否则在链接阶段会报错找不到符号SAMGR_PrintServices()

测试用例(新增、改动、可能影响的功能)