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

211 lines
11 KiB
C

/*----------------------------------------------------------------------------
* Copyright (c) Fenda Technologies Co., Ltd. 2021. All rights reserved.
*
* Description: sql_fit.h
*
* Author: saimen
*
* Create: 2024-06-08
*--------------------------------------------------------------------------*/
#ifndef __SQL_FIT__H
#define __SQL_FIT__H
#ifdef __cplusplus
extern "C"
{
#endif
#include <stdbool.h>
#include <stdint.h>
#define HR_DAY_MAX_NUM 288
#define SPO2_DAY_MAX_NUM 24
#define STRESS_DAY_MAX_NUM 24
#define DAILYDATA_DAY_MAX_NUM 24
#define CUSTOM_TASK_NUM 1
typedef struct
{
char custom_task_name[32];
bool iscustomtaskpunchClock; //自定义任务是否打卡
uint16_t custom_task_reminder_time;
} custom_task_t;
typedef struct
{
uint16_t mins_total;
uint16_t mins_light_sleep;
uint16_t mins_deep_sleep;
uint16_t mins_wake_sleep;
uint16_t mins_blink_sleep;
} sleep_total_data_t;
/**********************************************************************************************************************
* 固定接口
*/
extern int sql_fit_init(void);
extern void *sql_fit_get_info(uint32_t *len, char **path);
extern void sql_fit_set_save_flag(uint8_t value);
extern uint8_t sql_fit_get_save_flag(void);
extern void sql_fit_clear_cur_data(uint8_t week_day);
/**********************************************************************************************************************
* 用户信息接口
*/
extern void sql_fit_set_user_gender(uint8_t gender);
extern uint8_t sql_fit_get_user_gender(void);
extern void sql_fit_set_user_height(uint8_t height);
extern uint8_t sql_fit_get_user_height(void);
extern void sql_fit_set_user_weight(uint8_t weight);
extern uint8_t sql_fit_get_user_weight(void);
extern void sql_fit_set_user_age(uint8_t age);
extern uint8_t sql_fit_get_user_age(void);
extern void sql_fit_set_user_name(const char *name);
extern void sql_fit_get_user_name(char *name);
extern void sql_fit_set_hr_max(uint8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_hr_max(uint8_t week_day);
extern void sql_fit_set_hr_min(uint8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_hr_min(uint8_t week_day);
extern void sql_fit_set_last_hr(uint8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_last_hr(uint8_t week_day);
extern void sql_fit_set_last_hr_timestamp(uint64_t timestamp, uint8_t week_day);
extern uint64_t sql_fit_get_last_hr_timestamp(uint8_t week_day);
extern void sql_fit_set_hr_curdata(uint32_t index, uint8_t value);
extern uint32_t sql_fit_get_hr_daydata(uint8_t **array);
extern void sql_fit_set_spo2_min(uint8_t value, uint8_t week_day);
extern void sql_fit_set_spo2_max(uint8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_spo2_max(uint8_t week_day);
extern uint8_t sql_fit_get_spo2_min(uint8_t week_day);
extern void sql_fit_set_last_spo2(uint8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_last_spo2(uint8_t week_day);
extern void sql_fit_set_spo2_curdata(uint32_t index, uint8_t value);
extern uint32_t sql_fit_get_spo2_daydata(uint8_t **array);
extern int8_t sql_fit_get_spo2_curdata(uint8_t week_day);
extern uint8_t sql_fit_get_stress_max(uint8_t week_day);
extern void sql_fit_set_stress_min(uint8_t value, uint8_t week_day);
extern void sql_fit_set_stress_max(uint8_t value, uint8_t week_day);
extern void sql_fit_set_last_stress(uint8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_last_stress(uint8_t week_day);
extern void sql_fit_reset_stress_day_arry(uint8_t day);
extern void sql_fit_set_stress_record_day(uint8_t value);
extern uint8_t sql_fit_get_stress_record_day(void);
extern uint8_t sql_fit_get_stress_min(uint8_t week_day);
extern void sql_fit_set_stress_curdata(uint32_t index, uint8_t value);
extern uint32_t sql_fit_get_sterss_daydata(uint8_t **array);
extern void sql_fit_set_goalTaskNum_data(uint8_t value);
extern uint8_t sql_fit_get_goalTaskNum_data(void);
extern void sql_fit_set_currentTaskNum_data(uint8_t value);
extern uint8_t sql_fit_get_currentTaskNum_data(void);
extern void sql_fit_set_goalStandNum_data(uint8_t value);
extern uint8_t sql_fit_get_goalStandNum_data(void);
extern void sql_fit_set_currentStandNum_data(uint8_t value);
extern uint8_t sql_fit_get_currentStandNum_data(void);
extern void sql_fit_set_goalCalorieNum_data(uint16_t value);
extern uint16_t sql_fit_get_goalCalorieNum_data(void);
extern void sql_fit_set_currentCalorieNum_data(uint16_t value);
extern uint16_t sql_fit_get_currentCalorieNum_data(void);
extern void sql_fit_set_goalStrengthTime_data(uint8_t value);
extern uint8_t sql_fit_get_goalStrengthTime_data(void);
extern void sql_fit_set_currentStrengthTime_data(uint8_t value);
extern uint8_t sql_fit_get_currentStrengthTime_data(void);
extern void sql_fit_set_goalStepNum_data(uint32_t value);
extern uint32_t sql_fit_get_goalStepNum_data(void);
extern void sql_fit_set_currentStepNum_data(uint32_t value);
extern uint32_t sql_fit_get_currentStepNum_data(void);
extern void sql_fit_set_goalDrinkNum_data(uint16_t value);
extern uint16_t sql_fit_get_goalDrinkNum_data(void);
extern void sql_fit_set_currentDrinkNum_data(uint16_t value);
extern uint16_t sql_fit_get_currentDrinkNum_data(void);
extern uint8_t sql_fit_get_goalMedicineNum_data(void);
extern uint8_t sql_fit_get_currentMedicineNum_data(void);
extern void sql_fit_set_curBloodPressureMeasurTime_data(uint8_t value);
extern uint8_t sql_fit_get_curBloodPressureMeasurTime_data(void);
extern void sql_fit_set_goalBloodPressureMeasurTime_data(uint8_t value);
extern uint8_t sql_fit_get_goalBloodPressureMeasurTime_data(void);
extern void sql_fit_set_curEarlySleepTime_data(uint16_t value);
extern uint16_t sql_fit_get_curEarlySleepTime_data(void);
extern void sql_fit_set_goalEarlySleepTime_data(uint16_t value);
extern uint16_t sql_fit_get_goalEarlySleepTime_data(void);
extern void sql_fit_set_sleepEarly_data(bool value);
extern bool sql_fit_get_sleepEarly_data(void);
extern void sql_fit_set_currentSleepTime_data(uint16_t value);
extern uint16_t sql_fit_get_currentSleepTime_data(void);
extern void sql_fit_set_goalSleepTime_data(uint16_t value);
extern uint16_t sql_fit_get_goalSleepTime_data(void);
extern void sql_fit_set_has_custom_task(bool value);
extern bool sql_fit_get_has_custom_task(void);
extern void sql_fit_set_custom_task(uint8_t index, char *task_name, bool is_punch_clock, uint16_t redmind_time);
extern uint32_t sql_fit_get_custom_task(custom_task_t **array);
extern bool sql_fit_get_custom123_data(void);
extern bool sql_fit_get_prayToBuddha_data(void);
extern bool sql_fit_get_religious_data(void);
extern bool sql_fit_get_pray_data(void);
extern void sql_fit_set_total_sleep_daydata(sleep_total_data_t data, uint8_t week_day);
extern sleep_total_data_t sql_fit_get_total_sleep_daydata(uint8_t week_day);
extern void sql_fit_set_step_curdata(uint16_t index, uint32_t value);
extern uint32_t sql_fit_get_step_daydata(uint32_t **array);
extern uint32_t sql_fit_get_step_curdata_in_hour(uint8_t hour);
extern uint32_t sql_fit_get_calorie_curdata_in_hour(uint8_t hour);
extern uint32_t sql_fit_get_distance_curdata_in_hour(uint8_t hour);
extern void sql_fit_set_calorie_curdata(uint16_t index, uint16_t value);
extern uint16_t sql_fit_get_calorie_daydata(uint16_t **array);
extern void sql_fit_set_distance_curdata(uint16_t index, uint16_t value);
extern uint16_t sql_fit_get_distance_daydata(uint16_t **array);
extern void sql_fit_set_exertime_curdata(uint16_t index, uint16_t value);
extern uint16_t sql_fit_get_exertime_daydata(uint16_t **array);
extern void sql_fit_set_day_cadence_step(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_cadence_step(uint8_t week_day);
extern void sql_fit_set_day_step(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_day_step(uint8_t week_day);
extern void sql_fit_set_day_calorie(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_day_calorie(uint8_t week_day);
extern void sql_fit_set_day_distance(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_day_distance(uint8_t week_day);
extern void sql_fit_set_day_exercise_time(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_day_exercise_time(uint8_t week_day);
extern uint32_t sql_fit_get_last_step(uint8_t week_day);
extern void sql_fit_set_last_step(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_last_calorie(uint8_t week_day);
extern void sql_fit_set_last_calorie(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_last_distance(uint8_t week_day);
extern void sql_fit_set_last_distance(uint32_t value, uint8_t week_day);
extern uint8_t sql_fit_get_last_measure_time(uint8_t week_day);
extern void sql_fit_set_last_measure_time(int8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_heart_rate_arry(uint8_t **array);
extern void sql_fit_reset_sport_heart_rate_arry(void);
extern void sql_fit_set_sport_heart_rate_remind_value(int index, int value);
extern void sql_fit_set_sport_time_remind_value(int value);
extern int sql_fit_get_sport_time_remind_value(void);
extern void sql_fit_set_sport_dist_remind_value(int value);
extern int sql_fit_get_sport_dist_remind_value(void);
extern void sql_fit_set_total_sport_time(uint32_t value, uint8_t week_day);
extern uint32_t sql_fit_get_total_sport_time(uint8_t week_day);
extern void sql_fit_set_hand_up_flag(uint32_t value);
extern uint32_t sql_fit_get_hand_up_flag(void); //获取抬手标志位
/**********************************************************************************************************************
* 健康控制接口
*/
extern void sql_fit_set_goal_step_th(uint32_t goal_step_th);
extern uint32_t sql_fit_get_goal_step_th(void);
extern void sql_fit_set_switch_bright_screen(uint8_t brightness);
extern uint8_t sql_fit_get_switch_bright_screen(void);
extern void sql_fit_set_switch_sedentary_remind_sw(uint8_t sw);
extern uint8_t sql_fit_get_switch_sedentary_remind_sw(void);
/**********************************************************************************************************************
* 健康天数据接口
*/
extern void sql_fit_set_hr_last_val(uint8_t value, uint8_t week_day);
extern uint8_t sql_fit_get_hr_last_val(uint8_t week_day);
extern void sql_fit_set_hr_last_time(uint32_t timestamp, uint8_t week_day);
extern uint8_t sql_fit_get_hr_last_time(uint8_t week_day);
extern void sql_fit_clear_health_day_data(uint8_t week_day);
#ifdef __cplusplus
}
#endif
#endif /* __SQL_FIT__H */