|
Instrument Neutral Distributed Interface INDI 2.2.5
|
#include <indiimuinterface.h>
Public Member Functions | |
| uint32_t | GetCapability () const |
| GetIMUCapability returns the capability of the IMU device. | |
| void | SetCapability (uint32_t cap) |
| SetIMUCapability sets the IMU capabilities. All capabilities must be initialized. | |
| bool | HasOrientation () |
| bool | HasAcceleration () |
| bool | HasGyroscope () |
| bool | HasMagnetometer () |
| bool | HasCalibration () |
| bool | HasTemperature () |
| bool | HasStabilityMonitoring () |
Protected Member Functions | |
| IMUInterface (DefaultDevice *defaultDevice) | |
| virtual | ~IMUInterface ()=default |
| void | initProperties (const std::string &groupName) |
| Initialize IMU properties. It is recommended to call this function within initProperties() of your primary device. | |
| bool | updateProperties () |
| updateProperties Define or Delete IMU properties based on the connection status of the base device | |
| bool | processNumber (const std::string &dev, const std::string &name, double values[], char *names[], int n) |
| Process IMU number properties. | |
| bool | processSwitch (const std::string &dev, const std::string &name, ISState *states, char *names[], int n) |
| Process IMU switch properties. | |
| bool | processText (const std::string &dev, const std::string &name, char *texts[], char *names[], int n) |
| Process IMU text properties. | |
| bool | saveConfigItems (FILE *fp) |
| saveConfigItems Save IMU properties in config file | |
| virtual bool | SetOrientationData (double roll, double pitch, double yaw, double w=0.0) |
| SetOrientationData Set the orientation data (Roll, Pitch, Yaw, Quaternion W) | |
| virtual bool | SetAccelerationData (double x, double y, double z) |
| SetAccelerationData Set the linear acceleration data. | |
| virtual bool | SetGyroscopeData (double x, double y, double z) |
| SetGyroscopeData Set the angular velocity data. | |
| virtual bool | SetMagnetometerData (double x, double y, double z) |
| SetMagnetometerData Set the magnetic field strength data. | |
| virtual bool | SetCalibrationStatus (int sys, int gyro, int accel, int mag) |
| SetCalibrationStatus Set the calibration status for each sensor. | |
| virtual bool | StartCalibration () |
| StartCalibration Initiate the calibration sequence. | |
| virtual bool | SaveCalibrationData () |
| SaveCalibrationData Save the current calibration data. | |
| virtual bool | LoadCalibrationData () |
| LoadCalibrationData Load previously saved calibration data. | |
| virtual bool | ResetCalibration () |
| ResetCalibration Reset calibration data. | |
| virtual bool | SetPowerMode (const std::string &mode) |
| SetPowerMode Set the power mode of the IMU sensor. | |
| virtual bool | SetOperationMode (const std::string &mode) |
| SetOperationMode Set the operation mode of the IMU sensor. | |
| virtual bool | SetDistanceUnits (bool metric) |
| SetUnits Set the units for sensor data. | |
| virtual bool | SetAngularUnits (bool degrees) |
| SetAngularUnits Set the angular units for sensor data. | |
| virtual bool | SetUpdateRate (double rate) |
| SetUpdateRate Set the sensor polling frequency. | |
| virtual bool | SetDeviceInfo (const std::string &chipID, const std::string &firmwareVersion, const std::string &sensorStatus) |
| SetDeviceInfo Set chip ID, firmware version, and sensor status. | |
| virtual bool | SetTemperature (double temperature) |
| SetTemperature Set the internal chip temperature. | |
| virtual bool | SetStabilityMonitoring (double vibrationLevel, double stabilityThreshold) |
| SetStabilityMonitoring Set vibration level and alert threshold. | |
Definition at line 35 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| ACCELERATION_X | |
| ACCELERATION_Y | |
| ACCELERATION_Z | |
| ACCELERATION_PROPERTY_COUNT | |
Definition at line 63 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| ANGULAR_UNITS_DEGREES | |
| ANGULAR_UNITS_RADIANS | |
| ANGULAR_UNITS_PROPERTY_COUNT | |
Definition at line 129 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| CALIBRATION_CONTROL_START | |
| CALIBRATION_CONTROL_SAVE | |
| CALIBRATION_CONTROL_LOAD | |
| CALIBRATION_CONTROL_RESET | |
| CALIBRATION_CONTROL_PROPERTY_COUNT | |
Definition at line 96 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| CALIBRATION_STATUS_SYS | |
| CALIBRATION_STATUS_GYRO | |
| CALIBRATION_STATUS_ACCEL | |
| CALIBRATION_STATUS_MAG | |
| CALIBRATION_STATUS_PROPERTY_COUNT | |
Definition at line 87 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| DEVICE_INFO_CHIP_ID | |
| DEVICE_INFO_FIRMWARE_VERSION | |
| DEVICE_INFO_SENSOR_STATUS | |
| DEVICE_INFO_PROPERTY_COUNT | |
Definition at line 150 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| DISTANCE_UNITS_METRIC | |
| DISTANCE_UNITS_IMPERIAL | |
| DISTANCE_UNITS_PROPERTY_COUNT | |
Definition at line 122 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| GYROSCOPE_X | |
| GYROSCOPE_Y | |
| GYROSCOPE_Z | |
| GYROSCOPE_PROPERTY_COUNT | |
Definition at line 71 of file indiimuinterface.h.
Definition at line 42 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| MAGNETOMETER_X | |
| MAGNETOMETER_Y | |
| MAGNETOMETER_Z | |
| MAGNETOMETER_PROPERTY_COUNT | |
Definition at line 79 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| OFFSETS_X | |
| OFFSETS_Y | |
| OFFSETS_Z | |
| OFFSETS_PROPERTY_COUNT | |
Definition at line 142 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| OPERATION_MODE_IMU | |
| OPERATION_MODE_COMPASS | |
| OPERATION_MODE_M4G | |
| OPERATION_MODE_NDOF | |
| OPERATION_MODE_PROPERTY_COUNT | |
Definition at line 113 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| ORIENTATION_ROLL | |
| ORIENTATION_PITCH | |
| ORIENTATION_YAW | |
| ORIENTATION_QUATERNION_W | |
| ORIENTATION_PROPERTY_COUNT | |
Definition at line 54 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| POWER_MODE_NORMAL | |
| POWER_MODE_LOW_POWER | |
| POWER_MODE_SUSPEND | |
| POWER_MODE_PROPERTY_COUNT | |
Definition at line 105 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| STABILITY_MONITORING_VIBRATION_LEVEL | |
| STABILITY_MONITORING_STABILITY_THRESHOLD | |
| STABILITY_MONITORING_PROPERTY_COUNT | |
Definition at line 164 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| TEMPERATURE_VALUE | |
| TEMPERATURE_PROPERTY_COUNT | |
Definition at line 158 of file indiimuinterface.h.
| Enumerator | |
|---|---|
| UPDATE_RATE_RATE | |
| UPDATE_RATE_PROPERTY_COUNT | |
Definition at line 136 of file indiimuinterface.h.
|
explicitprotected |
Definition at line 30 of file indiimuinterface.cpp.
|
protectedvirtualdefault |
|
inline |
GetIMUCapability returns the capability of the IMU device.
Definition at line 174 of file indiimuinterface.h.
|
inline |
Definition at line 192 of file indiimuinterface.h.
|
inline |
Definition at line 204 of file indiimuinterface.h.
|
inline |
Definition at line 196 of file indiimuinterface.h.
|
inline |
Definition at line 200 of file indiimuinterface.h.
|
inline |
Definition at line 188 of file indiimuinterface.h.
|
inline |
Definition at line 212 of file indiimuinterface.h.
|
inline |
Definition at line 208 of file indiimuinterface.h.
|
protected |
Initialize IMU properties. It is recommended to call this function within initProperties() of your primary device.
Definition at line 34 of file indiimuinterface.cpp.
|
protectedvirtual |
LoadCalibrationData Load previously saved calibration data.
Reimplemented in INDI::IMU.
Definition at line 465 of file indiimuinterface.cpp.
|
protected |
Process IMU number properties.
Definition at line 211 of file indiimuinterface.cpp.
|
protected |
Process IMU switch properties.
Definition at line 247 of file indiimuinterface.cpp.
|
protected |
Process IMU text properties.
Definition at line 334 of file indiimuinterface.cpp.
|
protectedvirtual |
ResetCalibration Reset calibration data.
Reimplemented in INDI::IMU.
Definition at line 471 of file indiimuinterface.cpp.
|
protectedvirtual |
SaveCalibrationData Save the current calibration data.
Reimplemented in INDI::IMU.
Definition at line 459 of file indiimuinterface.cpp.
|
protected |
saveConfigItems Save IMU properties in config file
| fp | Pointer to config file |
Definition at line 546 of file indiimuinterface.cpp.
|
protectedvirtual |
SetAccelerationData Set the linear acceleration data.
| x | X-axis acceleration in m/s² |
| y | Y-axis acceleration in m/s² |
| z | Z-axis acceleration in m/s² |
Reimplemented in INDI::IMU.
Definition at line 365 of file indiimuinterface.cpp.
|
protectedvirtual |
SetAngularUnits Set the angular units for sensor data.
| degrees | True for degrees, false for radians |
Reimplemented in INDI::IMU.
Definition at line 498 of file indiimuinterface.cpp.
|
protectedvirtual |
SetCalibrationStatus Set the calibration status for each sensor.
| sys | System calibration status (0-3) |
| gyro | Gyroscope calibration status (0-3) |
| accel | Accelerometer calibration status (0-3) |
| mag | Magnetometer calibration status (0-3) |
Definition at line 422 of file indiimuinterface.cpp.
|
inline |
SetIMUCapability sets the IMU capabilities. All capabilities must be initialized.
| cap | ORed list of IMU capabilities. |
Definition at line 183 of file indiimuinterface.h.
|
protectedvirtual |
SetDeviceInfo Set chip ID, firmware version, and sensor status.
| chipID | Chip ID string |
| firmwareVersion | Firmware version string |
| sensorStatus | Sensor status string |
Definition at line 512 of file indiimuinterface.cpp.
|
protectedvirtual |
SetUnits Set the units for sensor data.
| metric | True for metric, false for imperial |
Reimplemented in INDI::IMU.
Definition at line 491 of file indiimuinterface.cpp.
|
protectedvirtual |
SetGyroscopeData Set the angular velocity data.
| x | X-axis angular velocity in rad/s or deg/s |
| y | Y-axis angular velocity in rad/s or deg/s |
| z | Z-axis angular velocity in rad/s or deg/s |
Reimplemented in INDI::IMU.
Definition at line 384 of file indiimuinterface.cpp.
|
protectedvirtual |
SetMagnetometerData Set the magnetic field strength data.
| x | X-axis magnetic field strength in µT |
| y | Y-axis magnetic field strength in µT |
| z | Z-axis magnetic field strength in µT |
Reimplemented in INDI::IMU.
Definition at line 403 of file indiimuinterface.cpp.
|
protectedvirtual |
SetOperationMode Set the operation mode of the IMU sensor.
| mode | Operation mode (e.g., IMU, Compass, NDOF) |
Reimplemented in INDI::IMU.
Definition at line 484 of file indiimuinterface.cpp.
|
protectedvirtual |
SetOrientationData Set the orientation data (Roll, Pitch, Yaw, Quaternion W)
| roll | Roll angle in degrees |
| pitch | Pitch angle in degrees |
| yaw | Yaw/Azimuth angle in degrees |
| w | Quaternion W component (optional) |
Reimplemented in INDI::IMU.
Definition at line 344 of file indiimuinterface.cpp.
|
protectedvirtual |
SetPowerMode Set the power mode of the IMU sensor.
| mode | Power mode (e.g., Normal, Low Power, Suspend) |
Reimplemented in INDI::IMU.
Definition at line 477 of file indiimuinterface.cpp.
|
protectedvirtual |
SetStabilityMonitoring Set vibration level and alert threshold.
| vibrationLevel | RMS vibration measurement |
| stabilityThreshold | Alert threshold |
Definition at line 534 of file indiimuinterface.cpp.
|
protectedvirtual |
SetTemperature Set the internal chip temperature.
| temperature | Temperature in Celsius |
Definition at line 523 of file indiimuinterface.cpp.
|
protectedvirtual |
SetUpdateRate Set the sensor polling frequency.
| rate | Frequency in Hz |
Reimplemented in INDI::IMU.
Definition at line 505 of file indiimuinterface.cpp.
|
protectedvirtual |
StartCalibration Initiate the calibration sequence.
Reimplemented in INDI::IMU.
Definition at line 453 of file indiimuinterface.cpp.
|
protected |
updateProperties Define or Delete IMU properties based on the connection status of the base device
Definition at line 145 of file indiimuinterface.cpp.
|
protected |
Definition at line 382 of file indiimuinterface.h.
|
protected |
Definition at line 394 of file indiimuinterface.h.
|
protected |
Definition at line 411 of file indiimuinterface.h.
|
protected |
Definition at line 388 of file indiimuinterface.h.
|
protected |
Definition at line 387 of file indiimuinterface.h.
|
protected |
Definition at line 413 of file indiimuinterface.h.
|
protected |
Definition at line 396 of file indiimuinterface.h.
|
protected |
Definition at line 399 of file indiimuinterface.h.
|
protected |
Definition at line 393 of file indiimuinterface.h.
|
protected |
Definition at line 383 of file indiimuinterface.h.
|
protected |
Definition at line 410 of file indiimuinterface.h.
|
protected |
Definition at line 384 of file indiimuinterface.h.
|
protected |
Definition at line 392 of file indiimuinterface.h.
|
protected |
Definition at line 381 of file indiimuinterface.h.
|
protected |
Definition at line 391 of file indiimuinterface.h.
|
protected |
Definition at line 403 of file indiimuinterface.h.
|
protected |
Definition at line 412 of file indiimuinterface.h.
|
protected |
Definition at line 400 of file indiimuinterface.h.
|
protected |
Definition at line 395 of file indiimuinterface.h.