blob: b68d9d47fd8cb210f385e68167f59fa25abb5379 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#ifndef SENSOR_DATA_H
2#define SENSOR_DATA_H
3
4#include "gps_oal.h"
5
6typedef struct
7{
8 U8 rawAcc[6];
9 U8 rawGyro[6];
10 U8 rawMag[6];
11 U8 rawBaro[3];
12 U8 rawTemp[2];
13} snrRawData_t;
14
15typedef struct
16{
17 FLT phyAcc[3];
18 FLT phyGyro[3];
19 FLT phyMag[3];
20 FLT phyBaro;
21 FLT phyTemp;
22 FLT walkDis;
23 U32 stepCnt;
24} snrPhysicalData_t;
25
26typedef struct
27{
28 U32 version;
29 U8 sensor;
30 U8 type;
31 FLT data[3];
32 FLT result[6];
33 U64 timestamp;
34 snrRawData_t rawData;
35 snrPhysicalData_t phyData;
36} snrHubSensorParse_t;
37
38
39typedef struct
40{
41 U16 override;
42 U16 oldDataLen;
43 U16 newDataLen;
44
45} snrFiFoDataHdrT;
46
47extern U64 stepCntBase;
48extern FLT walkDistBase;
49extern U32 virtualSnrMask;
50extern gpsMutexT sensorMaskContext;
51extern gpsMutexT sensorLogContext;
52
53extern void sensorHubInit(void);
54extern void sensorHubStart(void);
55extern void sensorHubStop(void);
56extern void sensorHubReset(void);
57
58extern void gpsSeSysInit(void);
59extern U8 gpsSeLogControl(void);
60extern void gpsSeSysDataFileInit(void);
61extern void gpsSeSysDataFileOpen(void);
62extern void gpsSeSysDataFileClose(void);
63
64extern void sensorHubUpdateSnrType(U32 type);
65extern void sesnorHubVirtualSnrInit(U8 type);
66extern void sesnorHubVirtualSnrDeInit(U8 type);
67extern void sensorHubDataParseFinish(void);
68extern void sensorHubExtractDataPackInfo(U8* buf, U8** msg, U16 len, U16* msgSize);
69extern S8 sensorHubParseDataPack(U8* msg, U16 len, U8* res);
70extern S8 sensorHubDataReportScreen(U16* event, U8 type);
71
72#endif