[sensor] support GPS/GNSS sensor class
This commit is contained in:
parent
de0bb6f96c
commit
6c25b839ee
|
@ -34,7 +34,8 @@ static char *const sensor_name_str[] =
|
|||
"step_", /* Step sensor */
|
||||
"forc_", /* Force sensor */
|
||||
"dust_", /* Dust sensor */
|
||||
"eco2_" /* eCO2 sensor */
|
||||
"eco2_", /* eCO2 sensor */
|
||||
"gnss_" /* GPS/GNSS sensor */
|
||||
};
|
||||
|
||||
/* Sensor interrupt correlation function */
|
||||
|
|
|
@ -47,6 +47,7 @@ extern "C" {
|
|||
#define RT_SENSOR_CLASS_FORCE (13) /* Force sensor */
|
||||
#define RT_SENSOR_CLASS_DUST (14) /* Dust sensor */
|
||||
#define RT_SENSOR_CLASS_ECO2 (15) /* eCO2 sensor */
|
||||
#define RT_SENSOR_CLASS_GNSS (16) /* GPS/GNSS sensor */
|
||||
|
||||
/* Sensor vendor types */
|
||||
|
||||
|
@ -84,6 +85,8 @@ extern "C" {
|
|||
#define RT_SENSOR_UNIT_MN (13) /* Force unit: mN */
|
||||
#define RT_SENSOR_UNIT_PPM (14) /* Concentration unit: ppm */
|
||||
#define RT_SENSOR_UNIT_PPB (15) /* Concentration unit: ppb */
|
||||
#define RT_SENSOR_UNIT_DMS (16) /* Coordinates unit: DMS */
|
||||
#define RT_SENSOR_UNIT_DD (17) /* Coordinates unit: DD */
|
||||
|
||||
/* Sensor communication interface types */
|
||||
|
||||
|
@ -184,6 +187,12 @@ struct sensor_3_axis
|
|||
rt_int32_t z;
|
||||
};
|
||||
|
||||
struct coordinates
|
||||
{
|
||||
double longitude;
|
||||
double latitude;
|
||||
};
|
||||
|
||||
struct rt_sensor_data
|
||||
{
|
||||
rt_uint32_t timestamp; /* The timestamp when the data was received */
|
||||
|
@ -193,6 +202,7 @@ struct rt_sensor_data
|
|||
struct sensor_3_axis acce; /* Accelerometer. unit: mG */
|
||||
struct sensor_3_axis gyro; /* Gyroscope. unit: mdps */
|
||||
struct sensor_3_axis mag; /* Magnetometer. unit: mGauss */
|
||||
struct coordinates coord; /* Coordinates unit: degrees */
|
||||
rt_int32_t temp; /* Temperature. unit: dCelsius */
|
||||
rt_int32_t humi; /* Relative humidity. unit: permillage */
|
||||
rt_int32_t baro; /* Pressure. unit: pascal (Pa) */
|
||||
|
|
|
@ -34,6 +34,9 @@ static void sensor_show_data(rt_size_t num, rt_sensor_t sensor, struct rt_sensor
|
|||
case RT_SENSOR_CLASS_MAG:
|
||||
LOG_I("num:%3d, x:%5d, y:%5d, z:%5d mGauss, timestamp:%5d", num, sensor_data->data.mag.x, sensor_data->data.mag.y, sensor_data->data.mag.z, sensor_data->timestamp);
|
||||
break;
|
||||
case RT_SENSOR_CLASS_GNSS:
|
||||
LOG_I("num:%3d, lon:%5d, lat:%5d, timestamp:%5d", num, sensor_data->data.coord.longitude, sensor_data->data.coord.latitude, sensor_data->timestamp);
|
||||
break;
|
||||
case RT_SENSOR_CLASS_TEMP:
|
||||
LOG_I("num:%3d, temp:%3d.%d C, timestamp:%5d", num, sensor_data->data.temp / 10, sensor_data->data.temp % 10, sensor_data->timestamp);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue