110 lines
1.5 KiB
C
110 lines
1.5 KiB
C
#ifndef __HAL_DEF_H
|
|
#define __HAL_DEF_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Clock */
|
|
typedef struct
|
|
{
|
|
uint16_t year;
|
|
uint8_t month;
|
|
uint8_t day;
|
|
uint8_t week;
|
|
uint8_t hour;
|
|
uint8_t minute;
|
|
uint8_t second;
|
|
uint16_t millisecond;
|
|
} Clock_Info_t;
|
|
|
|
/* GPS */
|
|
typedef struct
|
|
{
|
|
double longitude;
|
|
double latitude;
|
|
float altitude;
|
|
float course;
|
|
float speed;
|
|
int16_t satellites;
|
|
bool isVaild;
|
|
Clock_Info_t clock;
|
|
} GPS_Info_t;
|
|
|
|
/* MAG */
|
|
typedef struct
|
|
{
|
|
int16_t x;
|
|
int16_t y;
|
|
int16_t z;
|
|
} MAG_Info_t;
|
|
|
|
/* IMU */
|
|
typedef struct
|
|
{
|
|
int16_t ax;
|
|
int16_t ay;
|
|
int16_t az;
|
|
int16_t gx;
|
|
int16_t gy;
|
|
int16_t gz;
|
|
float acc[3];
|
|
float gyr[3];
|
|
int16_t steps;
|
|
} IMU_Info_t;
|
|
|
|
/* SportStatus */
|
|
typedef struct
|
|
{
|
|
uint32_t lastTick;
|
|
|
|
float weight;
|
|
|
|
float speedKph;
|
|
float speedMaxKph;
|
|
float speedAvgKph;
|
|
|
|
union
|
|
{
|
|
uint32_t totalTimeUINT32[2];
|
|
uint64_t totalTime;
|
|
};
|
|
|
|
float totalDistance;
|
|
|
|
union
|
|
{
|
|
uint32_t singleTimeUINT32[2];
|
|
uint64_t singleTime;
|
|
};
|
|
|
|
float singleDistance;
|
|
float singleCalorie;
|
|
|
|
} SportStatus_Info_t;
|
|
|
|
/* Power */
|
|
typedef struct
|
|
{
|
|
uint32_t voltage; /* micro voltage */
|
|
uint8_t usage;
|
|
uint8_t capacity;
|
|
bool isCharging;
|
|
} Power_Info_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
uint8_t btnPower;
|
|
uint8_t btnPowerLongPress;
|
|
} Button_Info_t;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|