Struct OpenSkyhawk::AxisCal
ClassList > OpenSkyhawk > AxisCal
Captured endpoints for one axis, unsigned 0–65535 throughout. More...
#include <AxisCal.h>
Public Attributes
| Type | Name |
|---|---|
| uint16_t | centre Raw value at rest. Captured, never computed. |
| uint16_t | deadzone |
| uint16_t | max Raw value at the axis's high mechanical stop. |
| uint16_t | min Raw value at the axis's low mechanical stop. |
Detailed Description
centre is always provided data, never derived — the client captures it, and neither the device nor the client substitutes (min + max) / 2. Raw midpoint is not physical midpoint whenever the transfer is nonlinear, and for a rotating-magnet hall axis it is nonlinear by construction (the normal field component goes as sin θ). An offset centre is the normal case and is exactly what the second segment exists to absorb.
Public Attributes Documentation
variable centre
Raw value at rest. Captured, never computed.
uint16_t OpenSkyhawk::AxisCal::centre;
variable deadzone
uint16_t OpenSkyhawk::AxisCal::deadzone;
Reserved, always 0 in blob version 1. The field exists only so that adding a deadzone later needs no CAL_VERSION bump; nothing reads it, and the wire protocol rejects a non-zero value. AnalogInput's 128-count output hysteresis already hides return scatter, and if scatter ever exceeds that the fix is that axis's hysteresis argument, not a user-facing control.
variable max
Raw value at the axis's high mechanical stop.
uint16_t OpenSkyhawk::AxisCal::max;
variable min
Raw value at the axis's low mechanical stop.
uint16_t OpenSkyhawk::AxisCal::min;
The documentation for this class was generated from the following file Firmware/Libraries/SimGateway/AxisCal.h