@@ -30,6 +30,11 @@ Bno055::Bno055 (std::string name, std::string hubName, const oni_dev_idx_t devic
3030 auto streamIdentifier = getStreamIdentifier ();
3131
3232 std::string port = getPortName (deviceIdx);
33+
34+ const ContinuousChannel::InputRange eulerYawRange { -360 .0f , 360 .0f };
35+ const ContinuousChannel::InputRange eulerRollRange { -180 .0f , 180 .0f };
36+ const ContinuousChannel::InputRange eulerPitchRange { -90 .0f , 90 .0f };
37+
3338 StreamInfo eulerAngleStream = StreamInfo (
3439 createStreamName (" Euler" ),
3540 " Bosch Bno055 9-axis inertial measurement unit (IMU) Euler angle" ,
@@ -39,12 +44,15 @@ Bno055::Bno055 (std::string name, std::string hubName, const oni_dev_idx_t devic
3944 " Eul" ,
4045 ContinuousChannel::Type::AUX,
4146 eulerAngleScale,
42- " Degrees " ,
47+ " Deg. " ,
4348 { " Y" , " R" , " P" },
4449 " euler" ,
45- { " y" , " r" , " p" });
50+ { " y" , " r" , " p" },
51+ { eulerYawRange, eulerRollRange, eulerPitchRange });
4652 streamInfos.add (eulerAngleStream);
4753
54+ const ContinuousChannel::InputRange quaternionRange { -1 .0f , 1 .0f };
55+
4856 StreamInfo quaternionStream = StreamInfo (
4957 createStreamName (" Quaternion" ),
5058 " Bosch Bno055 9-axis inertial measurement unit (IMU) Quaternion" ,
@@ -54,12 +62,15 @@ Bno055::Bno055 (std::string name, std::string hubName, const oni_dev_idx_t devic
5462 " Quat" ,
5563 ContinuousChannel::Type::AUX,
5664 quaternionScale,
57- " u " , // NB: Quaternion data is unitless by definition
65+ " " , // NB: Quaternion data is unitless by definition
5866 { " W" , " X" , " Y" , " Z" },
5967 " quaternion" ,
60- { " w" , " x" , " y" , " z" });
68+ { " w" , " x" , " y" , " z" },
69+ { quaternionRange });
6170 streamInfos.add (quaternionStream);
6271
72+ const ContinuousChannel::InputRange accelerationRange { -100 .0f , 100 .0f };
73+
6374 StreamInfo accelerationStream = StreamInfo (
6475 createStreamName (" Acceleration" ),
6576 " Bosch Bno055 9-axis inertial measurement unit (IMU) Acceleration" ,
@@ -72,9 +83,12 @@ Bno055::Bno055 (std::string name, std::string hubName, const oni_dev_idx_t devic
7283 " m/s^2" ,
7384 { " X" , " Y" , " Z" },
7485 " acceleration" ,
75- { " x" , " y" , " z" });
86+ { " x" , " y" , " z" },
87+ { accelerationRange });
7688 streamInfos.add (accelerationStream);
7789
90+ const ContinuousChannel::InputRange gravityRange { -10 .0f , 10 .0f };
91+
7892 StreamInfo gravityStream = StreamInfo (
7993 createStreamName (" Gravity" ),
8094 " Bosch Bno055 9-axis inertial measurement unit (IMU) Gravity" ,
@@ -87,9 +101,12 @@ Bno055::Bno055 (std::string name, std::string hubName, const oni_dev_idx_t devic
87101 " m/s^2" ,
88102 { " X" , " Y" , " Z" },
89103 " gravity" ,
90- { " x" , " y" , " z" });
104+ { " x" , " y" , " z" },
105+ { gravityRange });
91106 streamInfos.add (gravityStream);
92107
108+ const ContinuousChannel::InputRange temperatureRange { -100 .0f , 100 .0f };
109+
93110 StreamInfo temperatureStream = StreamInfo (
94111 createStreamName (" Temperature" ),
95112 " Bosch Bno055 9-axis inertial measurement unit (IMU) Temperature" ,
@@ -99,11 +116,15 @@ Bno055::Bno055 (std::string name, std::string hubName, const oni_dev_idx_t devic
99116 " Temp" ,
100117 ContinuousChannel::Type::AUX,
101118 1 .0f ,
102- " Celsius " ,
119+ String::fromUTF8 ( " \xc2\xb0 " ) + String ( " C " ), // NB: "\xc2\xb0" --> degree symbol
103120 { " " },
104- " temperature" );
121+ " temperature" ,
122+ {},
123+ { temperatureRange });
105124 streamInfos.add (temperatureStream);
106125
126+ const ContinuousChannel::InputRange calibrationRange { -3 .0f , 3 .0f };
127+
107128 StreamInfo calibrationStatusStream = StreamInfo (
108129 createStreamName (" Calibration" ),
109130 " Bosch Bno055 9-axis inertial measurement unit (IMU) Calibration status" ,
@@ -116,7 +137,8 @@ Bno055::Bno055 (std::string name, std::string hubName, const oni_dev_idx_t devic
116137 " " ,
117138 { " Mag" , " Acc" , " Gyr" , " Sys" },
118139 " calibration" ,
119- { " magnetometer" , " acceleration" , " gyroscope" , " system" });
140+ { " magnetometer" , " acceleration" , " gyroscope" , " system" },
141+ { calibrationRange });
120142 streamInfos.add (calibrationStatusStream);
121143
122144 for (int i = 0 ; i < numFrames; i++)
0 commit comments