From d2214c28c5859a74515c37516efcbc4eb48976ea Mon Sep 17 00:00:00 2001 From: likun17 Date: Mon, 5 Aug 2024 11:51:53 +0800 Subject: [PATCH] uorb:Added 6dof motion and gesture related types. For details,see: https://developer.android.com/reference/android/hardware/SensorEvent#values Signed-off-by: likun17 --- system/uorb/sensor/accel.c | 3 ++ system/uorb/sensor/accel.h | 2 ++ system/uorb/sensor/angle.c | 39 ++++++++++++++++++++++++++ system/uorb/sensor/angle.h | 38 +++++++++++++++++++++++++ system/uorb/sensor/gesture.c | 24 ++++++++++++---- system/uorb/sensor/gesture.h | 8 ++++++ system/uorb/sensor/motion.c | 46 +++++++++++++++++++++++++++++++ system/uorb/sensor/motion.h | 42 ++++++++++++++++++++++++++++ system/uorb/sensor/pose_6dof.c | 42 ++++++++++++++++++++++++++++ system/uorb/sensor/pose_6dof.h | 38 +++++++++++++++++++++++++ system/uorb/sensor/rotation.c | 46 +++++++++++++++++++++++++++++++ system/uorb/sensor/rotation.h | 40 +++++++++++++++++++++++++++ system/uorb/sensor/step_counter.c | 41 +++++++++++++++++++++++++++ system/uorb/sensor/step_counter.h | 38 +++++++++++++++++++++++++ system/uorb/sensor/topics.c | 26 +++++++++++++++++ 15 files changed, 468 insertions(+), 5 deletions(-) create mode 100644 system/uorb/sensor/angle.c create mode 100644 system/uorb/sensor/angle.h create mode 100644 system/uorb/sensor/motion.c create mode 100644 system/uorb/sensor/motion.h create mode 100644 system/uorb/sensor/pose_6dof.c create mode 100644 system/uorb/sensor/pose_6dof.h create mode 100644 system/uorb/sensor/rotation.c create mode 100644 system/uorb/sensor/rotation.h create mode 100644 system/uorb/sensor/step_counter.c create mode 100644 system/uorb/sensor/step_counter.h diff --git a/system/uorb/sensor/accel.c b/system/uorb/sensor/accel.c index be39b55af1..6e3d313910 100644 --- a/system/uorb/sensor/accel.c +++ b/system/uorb/sensor/accel.c @@ -40,3 +40,6 @@ static const char sensor_accel_format[] = ORB_DEFINE(sensor_accel, struct sensor_accel, sensor_accel_format); ORB_DEFINE(sensor_accel_uncal, struct sensor_accel, sensor_accel_format); +ORB_DEFINE(sensor_linear_accel, struct sensor_accel, sensor_accel_format); +ORB_DEFINE(sensor_linear_accel_uncal, struct sensor_accel, + sensor_accel_format); diff --git a/system/uorb/sensor/accel.h b/system/uorb/sensor/accel.h index 43d22af48c..d4ac1c4bb6 100644 --- a/system/uorb/sensor/accel.h +++ b/system/uorb/sensor/accel.h @@ -35,5 +35,7 @@ ORB_DECLARE(sensor_accel); ORB_DECLARE(sensor_accel_uncal); +ORB_DECLARE(sensor_linear_accel); +ORB_DECLARE(sensor_linear_accel_uncal); #endif diff --git a/system/uorb/sensor/angle.c b/system/uorb/sensor/angle.c new file mode 100644 index 0000000000..03cd5aff65 --- /dev/null +++ b/system/uorb/sensor/angle.c @@ -0,0 +1,39 @@ +/**************************************************************************** + * apps/system/uorb/sensor/angle.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +#ifdef CONFIG_DEBUG_UORB +static const char sensor_angle_format[] = "timestamp:%" PRIu64 ",angle:%hf"; +#endif + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +ORB_DEFINE(sensor_hinge_angle, struct sensor_angle, sensor_angle_format); diff --git a/system/uorb/sensor/angle.h b/system/uorb/sensor/angle.h new file mode 100644 index 0000000000..cc7fd65fbe --- /dev/null +++ b/system/uorb/sensor/angle.h @@ -0,0 +1,38 @@ +/**************************************************************************** + * apps/system/uorb/sensor/angle.h + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#ifndef __APPS_SYSTEM_UORB_SENSOR_ANGLE_H +#define __APPS_SYSTEM_UORB_SENSOR_ANGLE_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/* register this as object request broker structure */ + +ORB_DECLARE(sensor_hinge_angle); + +#endif diff --git a/system/uorb/sensor/gesture.c b/system/uorb/sensor/gesture.c index f19a40a4bb..5d50d42e1a 100644 --- a/system/uorb/sensor/gesture.c +++ b/system/uorb/sensor/gesture.c @@ -29,7 +29,7 @@ ****************************************************************************/ #ifdef CONFIG_DEBUG_UORB -static const char sensor_wake_gesture_format[] = +static const char sensor_gesture_format[] = "timestamp:%" PRIu64 ",event:%" PRIu32 ""; #endif @@ -37,7 +37,21 @@ static const char sensor_wake_gesture_format[] = * Public Data ****************************************************************************/ -ORB_DEFINE(sensor_wake_gesture, struct sensor_wake_gesture, - sensor_wake_gesture_format); -ORB_DEFINE(sensor_wake_gesture_uncal, struct sensor_wake_gesture, - sensor_wake_gesture_format); +ORB_DEFINE(sensor_glance_gesture, struct sensor_event, + sensor_gesture_format); +ORB_DEFINE(sensor_glance_gesture_uncal, struct sensor_event, + sensor_gesture_format); +ORB_DEFINE(sensor_offbody_detector, struct sensor_event, + sensor_gesture_format); +ORB_DEFINE(sensor_offbody_detector_uncal, struct sensor_event, + sensor_gesture_format); +ORB_DEFINE(sensor_pickup_gesture, struct sensor_event, + sensor_gesture_format); +ORB_DEFINE(sensor_pickup_gesture_uncal, struct sensor_event, + sensor_gesture_format); +ORB_DEFINE(sensor_wrist_tilt, struct sensor_event, sensor_gesture_format); +ORB_DEFINE(sensor_wrist_tilt_uncal, struct sensor_event, + sensor_gesture_format); +ORB_DEFINE(sensor_wake_gesture, struct sensor_event, sensor_gesture_format); +ORB_DEFINE(sensor_wake_gesture_uncal, struct sensor_event, + sensor_gesture_format); diff --git a/system/uorb/sensor/gesture.h b/system/uorb/sensor/gesture.h index 521f7d8b37..8ea5568857 100644 --- a/system/uorb/sensor/gesture.h +++ b/system/uorb/sensor/gesture.h @@ -33,6 +33,14 @@ /* register this as object request broker structure */ +ORB_DECLARE(sensor_glance_gesture); +ORB_DECLARE(sensor_glance_gesture_uncal); +ORB_DECLARE(sensor_offbody_detector); +ORB_DECLARE(sensor_offbody_detector_uncal); +ORB_DECLARE(sensor_pickup_gesture); +ORB_DECLARE(sensor_pickup_gesture_uncal); +ORB_DECLARE(sensor_wrist_tilt); +ORB_DECLARE(sensor_wrist_tilt_uncal); ORB_DECLARE(sensor_wake_gesture); ORB_DECLARE(sensor_wake_gesture_uncal); diff --git a/system/uorb/sensor/motion.c b/system/uorb/sensor/motion.c new file mode 100644 index 0000000000..fedaca04c6 --- /dev/null +++ b/system/uorb/sensor/motion.c @@ -0,0 +1,46 @@ +/**************************************************************************** + * apps/system/uorb/sensor/motion.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +#ifdef CONFIG_DEBUG_UORB +static const char sensor_event_format[] = + "timestamp:%" PRIu64 ",event:%" PRIu32 ""; +#endif + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +ORB_DEFINE(sensor_motion_detect, struct sensor_event, sensor_event_format); +ORB_DEFINE(sensor_significant_motion, struct sensor_event, + sensor_event_format); +ORB_DEFINE(sensor_step_detector, struct sensor_event, sensor_event_format); +ORB_DEFINE(sensor_tilt_detector, struct sensor_event, sensor_event_format); +ORB_DEFINE(sensor_tilt_detector_uncal, struct sensor_event, + sensor_event_format); diff --git a/system/uorb/sensor/motion.h b/system/uorb/sensor/motion.h new file mode 100644 index 0000000000..313e9f5781 --- /dev/null +++ b/system/uorb/sensor/motion.h @@ -0,0 +1,42 @@ +/**************************************************************************** + * apps/system/uorb/sensor/motion.h + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#ifndef __APPS_SYSTEM_UORB_SENSOR_MOTION_H +#define __APPS_SYSTEM_UORB_SENSOR_MOTION_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/* register this as object request broker structure */ + +ORB_DECLARE(sensor_motion_detect); +ORB_DECLARE(sensor_significant_motion); +ORB_DECLARE(sensor_step_detector); +ORB_DECLARE(sensor_tilt_detector); +ORB_DECLARE(sensor_tilt_detector_uncal); + +#endif diff --git a/system/uorb/sensor/pose_6dof.c b/system/uorb/sensor/pose_6dof.c new file mode 100644 index 0000000000..2e1741f120 --- /dev/null +++ b/system/uorb/sensor/pose_6dof.c @@ -0,0 +1,42 @@ +/**************************************************************************** + * apps/system/uorb/sensor/pose_6dof.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +#ifdef CONFIG_DEBUG_UORB +static const char sensor_pose_6dof_format[] = + "timestamp:%" PRIu64 ",x:%hf,y:%hf,z:%hf,w:%hf,tx:%hf,ty:%hf,tz:%hf," + "dx:%hf,dy:%hf,dz:%hf,dw:%hf,dtx:%hf,dty:%hf,dtz:%hf,number:%" PRIu64 ""; +#endif + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +ORB_DEFINE(sensor_pose_6dof, struct sensor_pose_6dof, + sensor_pose_6dof_format); diff --git a/system/uorb/sensor/pose_6dof.h b/system/uorb/sensor/pose_6dof.h new file mode 100644 index 0000000000..4601b927ed --- /dev/null +++ b/system/uorb/sensor/pose_6dof.h @@ -0,0 +1,38 @@ +/**************************************************************************** + * apps/system/uorb/sensor/pose_6dof.h + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#ifndef __APPS_SYSTEM_UORB_SENSOR_POSE_6DOF_H +#define __APPS_SYSTEM_UORB_SENSOR_POSE_6DOF_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/* register this as object request broker structure */ + +ORB_DECLARE(sensor_pose_6dof); + +#endif diff --git a/system/uorb/sensor/rotation.c b/system/uorb/sensor/rotation.c new file mode 100644 index 0000000000..05777b8f13 --- /dev/null +++ b/system/uorb/sensor/rotation.c @@ -0,0 +1,46 @@ +/**************************************************************************** + * apps/system/uorb/sensor/rotation.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +#ifdef CONFIG_DEBUG_UORB +static const char sensor_rotation_format[] = + "timestamp:%" PRIu64 ",x:%hf,y:%hf,z:%hf"; +static const char sensor_orientation_format[] = + "timestamp:%" PRIu64 ",x:%hf,y:%hf,z:%hf,w:%hf"; +#endif + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +ORB_DEFINE(sensor_rotation, struct sensor_rotation, sensor_rotation_format); +ORB_DEFINE(sensor_orientation, struct sensor_orientation, + sensor_orientation_format); +ORB_DEFINE(sensor_device_orientation, struct sensor_orientation, + sensor_orientation_format); diff --git a/system/uorb/sensor/rotation.h b/system/uorb/sensor/rotation.h new file mode 100644 index 0000000000..e660beb60b --- /dev/null +++ b/system/uorb/sensor/rotation.h @@ -0,0 +1,40 @@ +/**************************************************************************** + * apps/system/uorb/sensor/rotation.h + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#ifndef __APPS_SYSTEM_UORB_SENSOR_ROTATION_H +#define __APPS_SYSTEM_UORB_SENSOR_ROTATION_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/* register this as object request broker structure */ + +ORB_DECLARE(sensor_rotation); +ORB_DECLARE(sensor_orientation); +ORB_DECLARE(sensor_device_orientation); + +#endif diff --git a/system/uorb/sensor/step_counter.c b/system/uorb/sensor/step_counter.c new file mode 100644 index 0000000000..3609225473 --- /dev/null +++ b/system/uorb/sensor/step_counter.c @@ -0,0 +1,41 @@ +/**************************************************************************** + * apps/system/uorb/sensor/step_counter.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Private Functions + ****************************************************************************/ + +#ifdef CONFIG_DEBUG_UORB +static const char sensor_step_counter_format[] = + "timestamp:%" PRIu64 ",event:%" PRIu32 ",cadence:%" PRIu32 ""; +#endif + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +ORB_DEFINE(sensor_step_counter, struct sensor_step_counter, + sensor_step_counter_format); diff --git a/system/uorb/sensor/step_counter.h b/system/uorb/sensor/step_counter.h new file mode 100644 index 0000000000..2e14a48eff --- /dev/null +++ b/system/uorb/sensor/step_counter.h @@ -0,0 +1,38 @@ +/**************************************************************************** + * apps/system/uorb/sensor/step_counter.h + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +#ifndef __APPS_SYSTEM_UORB_SENSOR_STEP_COUNTER_H +#define __APPS_SYSTEM_UORB_SENSOR_STEP_COUNTER_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +/* register this as object request broker structure */ + +ORB_DECLARE(sensor_step_counter); + +#endif diff --git a/system/uorb/sensor/topics.c b/system/uorb/sensor/topics.c index d7e5523f44..7c66569ae0 100644 --- a/system/uorb/sensor/topics.c +++ b/system/uorb/sensor/topics.c @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -51,16 +52,20 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -75,13 +80,17 @@ static FAR const struct orb_metadata *g_sensor_list[] = { ORB_ID(sensor_accel), ORB_ID(sensor_accel_uncal), + ORB_ID(sensor_hinge_angle), ORB_ID(sensor_baro), ORB_ID(sensor_cap), ORB_ID(sensor_co2), + ORB_ID(sensor_device_orientation), ORB_ID(sensor_dust), ORB_ID(sensor_ecg), ORB_ID(sensor_force), ORB_ID(sensor_gas), + ORB_ID(sensor_glance_gesture), + ORB_ID(sensor_glance_gesture_uncal), ORB_ID(sensor_gnss), ORB_ID(sensor_gnss_clock), ORB_ID(sensor_gnss_geofence_event), @@ -98,23 +107,40 @@ static FAR const struct orb_metadata *g_sensor_list[] = ORB_ID(sensor_ir), ORB_ID(sensor_light), ORB_ID(sensor_light_uncal), + ORB_ID(sensor_linear_accel), + ORB_ID(sensor_linear_accel_uncal), ORB_ID(sensor_mag), ORB_ID(sensor_mag_uncal), + ORB_ID(sensor_motion_detect), ORB_ID(sensor_noise), + ORB_ID(sensor_offbody_detector), + ORB_ID(sensor_offbody_detector_uncal), + ORB_ID(sensor_orientation), ORB_ID(sensor_ots), ORB_ID(sensor_ph), + ORB_ID(sensor_pickup_gesture), + ORB_ID(sensor_pickup_gesture_uncal), ORB_ID(sensor_pm10), ORB_ID(sensor_pm1p0), ORB_ID(sensor_pm25), + ORB_ID(sensor_pose_6dof), ORB_ID(sensor_ppgd), ORB_ID(sensor_ppgq), ORB_ID(sensor_prox), ORB_ID(sensor_rgb), + ORB_ID(sensor_rotation), + ORB_ID(sensor_significant_motion), + ORB_ID(sensor_step_counter), + ORB_ID(sensor_step_detector), ORB_ID(sensor_temp), + ORB_ID(sensor_tilt_detector), + ORB_ID(sensor_tilt_detector_uncal), ORB_ID(sensor_tvoc), ORB_ID(sensor_uv), ORB_ID(sensor_wake_gesture), ORB_ID(sensor_wake_gesture_uncal), + ORB_ID(sensor_wrist_tilt), + ORB_ID(sensor_wrist_tilt_uncal), NULL, };