#ifndef WMMDEVICE_H
#define WMMDEVICE_H

#include "sysdef.h"

#define ORDER_DEVICE_TYPE 0x0001          // 设备类型
#define ORDER_DEVICE_SERIAL_NO 0x0002     // 生产序列号
#define ORDER_DEVICE_MODEL 0x0003         // 设备型号
#define ORDER_DEVICE_MCU_VERSION 0x0004   // 软件版本
#define ORDER_DEVICE_PROJECT_ID 0x0005    // 设备归属项目ID(生产时内置设备中，不可修改)
#define ORDER_DEVICE_BLE_BTS_NAME 0x0006  // 蓝牙基站名称
#define ORDER_DEVICE_WIFI_BTS_NAME 0x0007 // wifi基站名称

// 设备参数结构
typedef struct
{
    uint8 byDeviceType;     // 设备类型，0x01:声波基站，0x02:同步基站，0x03:同步中继
    uint8 abySerialNo[20];  // 生产序列号
    uint8 abyModle[20];     // 设备型号
    uint8 abyMcuVision[20]; // 软件版本

    // 由省编号+市编号+项目编号三部分组成，其中省和市编号各占1字节，项目编号占2字节
    uint8 abyProjectId[4];    // 设备归属项目ID(生产时内置设备中，不可修改)
    uint8 abyBleBtsName[28];  // 蓝牙基站名称
    uint8 abyWifiBtsName[28]; // wifi基站名称

    uint8 abyReserve[23]; // 4字节对齐考虑
} SAVE_DEVICE_T;

// 外部接口
void wmm_device_init();
void wmm_device_set_param_with_default_data();
void wmm_device_set_param_with_flash_data(uint8 *pbyData);
SAVE_DEVICE_T *wmm_query_device_param();
void wmm_query_device(uint16 wCommand, uint8 *pbyData);
void wmm_set_device(uint16 wCommand, uint8 *pbyData);
void wmm_device_set_ble_bts_name(uint8 *pbyData);

// 内部接口

#endif
