• 物联网工程师开发服务平台

MiCO 系统核心数据管理

为了高效管理系统核心数据,MiCO 定义了一个系统核心数据结构体:mico_Context_t,用来存放系统核心数据,同时提供一系列核心数据管理 API 函数。主要的结构体定义和功能API接口说明如下:

mico_Context_t

核心数据结构体定义:

typedef struct _mico_Context_t
{
  /*Flash content*/
  system_config_t           flashContentInRam;
  mico_mutex_t              flashContentInRam_mutex;

  void *                    user_config_data;
  uint32_t                  user_config_data_size;

  /*Running status*/ 
  system_status_wlan_t      micoStatus;
} system_context_t;

其中:

  • flashContentInRam:系统 flash 配置参数结构体,请参考: system_config_t
  • flashContentInRam_mutex: flash 操作互斥锁结构体
  • user_config_data:用户配置数据
  • user_config_data_size:用户配置数据长度
  • micoStatus: mico 运行状态结构体,请参考: system_status_wlan_t

system_config_t

该结构体定义:

typedef struct {

  /*OTA options*/
  boot_table_t             bootTable;

  /*MICO system core configuration*/
  mico_sys_config_t        micoSystemConfig;

#ifdef MICO_BLUETOOTH_ENABLE
  mico_bt_config_t         bt_config; 
#endif
} system_config_t;

其中:

  • boot_table_t bootTable:bootloader 模式表信息
  • micoSystemConfig:系统核心配置结构体

system_status_wlan_t

该结构体定义:

typedef struct
{
  system_state_t        current_sys_state;
  mico_semaphore_t      sys_state_change_sem;
  /*MICO system Running status*/
  char                  localIp[maxIpLen];
  char                  netMask[maxIpLen];
  char                  gateWay[maxIpLen];
  char                  dnsServer[maxIpLen];
  char                  mac[18];
  char                  rf_version[50];
} system_status_wlan_t;` 

其中:

  • current_sys_state: 当前系统状态
  • sys_state_change_sem: 系统状态信号量
  • char localIp[maxIpLen]: 系统本地 IP 地址
  • char netMask[maxIpLen]: 系统设备的子网掩码
  • char gateWay[maxIpLen]: 系统设备的网关信息
  • char dnsServer[maxIpLen]: dns服务器
  • char mac[18]: 系统设备的 MAC 地址
  • char rf_version[50]: 系统设备的射频驱动固件版本

API 接口

文本导读目录