117 lines
3.0 KiB
C
117 lines
3.0 KiB
C
/**************************************************************************************************
|
|
* Copyright (c) Fenda Technologies Co., Ltd. 2020-2021. All rights reserved.
|
|
* Description: 天气接口函数
|
|
* Author: ball.caojianguang
|
|
* Create: 2020-6-4
|
|
************************************************************************************************/
|
|
|
|
#ifndef _USER_WEATHER_SERVER_H_
|
|
#define _USER_WEATHER_SERVER_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "ble_protocol.h"
|
|
|
|
#define WEATHER_TEMP_NUM_MAX 5
|
|
|
|
//4.16.1 App 下发实时和预报天气
|
|
enum {
|
|
LOCATE_NAME_TYPE = 0x01,
|
|
UPDATE_TIME_TYPE,
|
|
NOW_TEMPER_TYPE,
|
|
NOW_WEATHER_ICON_TYPE = 0x31,
|
|
NOW_WEATHER_TEXT_TYPE,
|
|
FORECAST_ITEM_LEN_TYPE = 0xFE,
|
|
FORECAST_ITEM_TIME_TYPE = 0x04,
|
|
FORECAST_ITEM_WEATHER_ICON_TYPE,
|
|
FORECAST_ITEM_WEATHER_TEXT_TYPE = 0x0A,
|
|
FORECAST_ITEM_AQI_TYPE = 0x06,
|
|
FORECAST_ITEM_AQI_TEXT_TYPE,
|
|
FORECAST_ITEM_TEMPER_MAX_TYPE,
|
|
FORECAST_ITEM_TEMPER_MIN_TYPE,
|
|
WEARTHER_TYPE_MAX,
|
|
};
|
|
|
|
//4.16.2 设备通知 App 更新天气
|
|
enum {
|
|
UPDATE_WEARTHER_TYPE = 0x01,
|
|
UPDATE_WEARTHER_TYPE_MAX,
|
|
};
|
|
|
|
//实况风力枚举量
|
|
enum {
|
|
RT_WIND_SCALE_ZERO = 1, //0级
|
|
RT_WIND_SCALE_ONE,
|
|
RT_WIND_SCALE_TWO,
|
|
RT_WIND_SCALE_THREE,
|
|
RT_WIND_SCALE_FOUR,
|
|
RT_WIND_SCALE_FIVE,
|
|
RT_WIND_SCALE_SIX,
|
|
RT_WIND_SCALE_SEVEN,
|
|
RT_WIND_SCALE_EIGHT,
|
|
RT_WIND_SCALE_NINE,
|
|
RT_WIND_SCALE_TEN,
|
|
RT_WIND_SCALE_ELEVEN,
|
|
RT_WIND_SCALE_TWELVE,
|
|
RT_WIND_SCALE_THIRTEEN,
|
|
RT_WIND_SCALE_FOURTEEN,
|
|
RT_WIND_SCALE_FIFTEEN,
|
|
RT_WIND_SCALE_SIXTEEN,
|
|
RT_WIND_SCALE_SEVENTEEN,
|
|
RT_WIND_SCALE_EIGHTEEN,
|
|
RT_WIND_SCALE_MAX,
|
|
};
|
|
|
|
//预报风力枚举量
|
|
enum {
|
|
FORECAST_WIND_SCALE_ONE = 1, //1级
|
|
FORECAST_WIND_SCALE_TWO,
|
|
FORECAST_WIND_SCALE_THREE,
|
|
FORECAST_WIND_SCALE_FOUR,
|
|
FORECAST_WIND_SCALE_FIVE, //5级
|
|
FORECAST_WIND_SCALE_SIX,
|
|
FORECAST_WIND_SCALE_SEVEN,
|
|
FORECAST_WIND_SCALE_EIGHT,
|
|
FORECAST_WIND_SCALE_NINE,
|
|
FORECAST_WIND_SCALE_TEN, //10级
|
|
FORECAST_WIND_SCALE_MAX,
|
|
};
|
|
|
|
//风向枚举量
|
|
enum {
|
|
NORTHEAST = 1,
|
|
EAST,
|
|
SOUTHEAST,
|
|
SOUTH,
|
|
SOUTHWEST,
|
|
WEST,
|
|
NORTHWEST,
|
|
NORTH,
|
|
};
|
|
|
|
//APP 设置天气开关
|
|
enum {
|
|
WeatherSwitchType = 0x01,
|
|
WeatherTemperatureUnitType,
|
|
weather_switch_type_max,
|
|
};
|
|
|
|
/********************************
|
|
* 天气--4.16 命令ID
|
|
**********************************/
|
|
enum {
|
|
APP_distribution_RT_weather_ID = 0x01,
|
|
DVE_req_weather_ID,
|
|
APP_set_weather_switch,
|
|
WEATHER_SERVERE_MAX_ID = 6,
|
|
};
|
|
|
|
void BleDistributeRTAndForecastWeather(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
|
|
void BLE_DeviceNotifyAppUpdateweather(void);
|
|
void BleAppSetWeatherSwitch(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
|
|
|
|
extern const p_func_t WeatherServerFunc[WEATHER_SERVERE_MAX_ID];
|
|
|
|
#endif
|
|
|