mcu_hi3321_watch/tjd/sql/sql_weather.h
2025-05-26 20:15:20 +08:00

103 lines
4.1 KiB
C

/*----------------------------------------------------------------------------
* Copyright (c) Fenda Technologies Co., Ltd. 2021. All rights reserved.
*
* Description: sql_weather.h
*
* Author: saimen
*
* Create: 2024-06-08
*--------------------------------------------------------------------------*/
#ifndef SQL_WEATHER_H
#define SQL_WEATHER_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdbool.h>
#include <stdint.h>
enum WeatherInfo {
SQL_UNKNOW_WEATHER,
SQL_SUNNY,
SQL_PARTLY_CLOUDY,
SQL_CLOUDY,
SQL_LIGHT_RAIN,
SQL_MODERATE_RAIN,
SQL_HEAVY_RAIN,
SQL_SHOWER,
SQL_THUNDERSTORM,
SQL_SNOWY,
SQL_FOGGY,
SQL_DUSTSTORM,
SQL_TYPHOON,
SQL_WEATHER_TYPE_MAX
};
/**********************************************************************************************************************
* DEFINE
*/
#define WEATHER_VALID 0x55 //天气数据时间有效标识
#define WEATHER_INVALID 0x0 //天气数据无效标识
/**********************************************************************************************************************
* 固定接口
*/
extern int sql_weather_init(void);
extern void* sql_weather_get_info(uint32_t *len, char **path);
extern void sql_weather_set_save_flag(uint8_t value);
extern uint8_t sql_weather_get_save_flag(void);
/* weather common */
extern void sql_weather_set_switch(uint8_t en);
extern uint8_t sql_weather_get_switch(void);
extern void sql_weather_set_temper_unit(uint8_t unit);
extern uint8_t sql_weather_get_temper_unit(void);
extern void sql_weather_set_net_state(uint8_t state);
extern uint8_t sql_weather_get_net_state(void);
extern void sql_weather_set_timeout(uint8_t en);
extern uint8_t sql_weather_get_timeout(void);
extern void sql_weather_set_update_timestamp(uint32_t time);
extern uint32_t sql_weather_get_update_timestamp(void);
extern void sql_weather_set_location_txt( char *text,uint32_t len);
extern char* sql_weather_get_location_txt(void);
extern void sql_weather_set_now_temperature(int8_t temper);
extern int8_t sql_weather_get_now_temperature(void);
extern void sql_weather_set_update_hour(uint8_t hour);
extern uint8_t sql_weather_get_update_hour(void);
extern void sql_weather_set_update_minute(uint8_t minute);
extern uint8_t sql_weather_get_update_minute(void);
void sql_weather_set_sunrise_time(uint16_t sunrise_time);
uint16_t sql_weather_get_sunrise_time(void);
void sql_weather_set_sunset_time(uint16_t sunset_time);
uint16_t sql_weather_get_sunset_time(void);
/* weather forecast */
extern uint8_t sql_weather_get_forecast_max(void);
extern void sql_weather_set_forecast_count(uint8_t value);
extern uint8_t sql_weather_get_forecast_count(void);
extern void sql_weather_set_forecast_protocol_value(uint8_t index,uint16_t value);
extern uint16_t sql_weather_get_forecast_protocol_value(uint8_t index);
extern void sql_weather_set_forecast_date_timestamp(uint8_t index,uint32_t time);
extern uint32_t sql_weather_get_forecast_date_timestamp(uint8_t index);
extern void sql_weather_set_forecast_temperature_max(uint8_t index,int8_t value);
extern int8_t sql_weather_get_forecast_temperature_max(uint8_t index);
extern void sql_weather_set_forecast_temperature_min(uint8_t index,int8_t value);
extern int8_t sql_weather_get_forecast_temperature_min(uint8_t index);
extern void sql_weather_set_humidity(uint8_t value);
extern int8_t sql_weather_get_humidity(void);
extern void sql_weather_set_wind_speed(uint8_t value);
extern uint8_t sql_weather_get_wind_speed(void);
extern void sql_weather_set_forecast_aqi(uint8_t index,uint16_t value);
extern uint16_t sql_weather_get_forecast_aqi(uint8_t index);
extern void sql_weather_set_forecast_aqi_text(uint8_t index,char *text,uint32_t len);
extern char * sql_weather_get_forecast_aqi_text(uint8_t index);
extern void sql_weather_set_forecast_weather_text(uint8_t index,char *text,uint32_t len);
extern char * sql_weather_get_forecast_weather_text(uint8_t index);
/* 测试接口 */
extern void sql_weather_test(void);
#ifdef __cplusplus
}
#endif
#endif