Skip to content

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