RDA 搜台

 转载马斯特·李

流程:

  

   

  将channel的读写回调在AL_FW_Init中注册

   

  

  

  初始化datasaving部件注册datasaving的回调并建立DATASAVING_NvmStore_Thread线程此线程接收回调的消息并处理

   

  如需要保存atv台的数据即调用AL_DB_Sync函数向线程发送消息

   

  线程接收到AI_NVMSTORE_CMD_ATV_STORE消息后如下处理

   

  最终通过函数中nvm写的回调完成数据存储到flash

   

  存储成功后调用_GenDBEvent将消息通过注册的watcher的回调发送到application

   

  gfpWatcherCB 即为_CDBIWatcherCallback

   CDBIWatcherCallback在通过gstMonitorCBInfo[uiCount].pfWatcher(uiDBType, enEvent, &hRec);传递消息,pfWatcher回调即为FW_cdbi_callback

    数据信息存储后,可能节目信息以及管理造成数据变化,这个时候就需要注册一个DBWatcher来监控这些变化,及时更新数据。

   

  

  搜台存储流程ATV

  APP_ATV_ScanProcess_Start

   

  _APP_ATV_ScanProcess_PostProcess中调用sync完成保存

   

  

当打开SUPPORT_CHANGE_TS_DYNAMICALLY

TS变化时会自动进行搜台此时会保存重新搜到的台

原文地址:https://www.cnblogs.com/jiangzhaowei/p/7551862.html