Finch Logo


Finch Core API Documentation

Function Description
FinchInitError FinchInit(FinchDeviceType device) Init Finch Core
void FinchExit() Exit Finch Core
const char* FinchGetCoreVersion() Returns the version of Finch Core
FinchBodyRotationMode FinchGetBodyRotationMode() Returns the body rotation mode used in the Finch Сore
FinchDeviceType FinchGetDeviceType() Returns the type of device that used in the Finch Сore
uint32_t FinchGetStateNodes() Returns a flags of nodes state
uint8_t FinchIsChiralityRedefining() Returns true, if chirality redefining calibration in process
const char* FinchGetDeviceName(FinchNodeType node) Returns the device name selected node
const char* FinchGetFirmwareVersion(FinchNodeType node) Returns the version of Firmware selected node
uint8_t FinchIsBoneAvailable(FinchBone bone) Returns true, if bone data is available
FinchQuaternion FinchGetBoneRotation(FinchBone bone) Returns bone current orientation in space, as a quaternion
FinchVector3 FinchGetBoneCoordinate(FinchBone bone) Returns bone position relatively midpoint of left and right shoulders
FinchVector3 FinchGetBoneLocalAcceleration(FinchBone bone) Returns bone acceleration in local coordinate system
FinchVector3 FinchGetBoneLocalAngularVelocity(FinchBone bone) Returns bone angular velocity vector in local coordinate system
FinchVector2 FinchGetTouchpadAxes(FinchChirality chirality) Returns coordinates of the touchpad
float FinchGetNodeCharge(FinchNodeType node) Returns battery charge in percentages
float FinchGetBoneLength(FinchBone bone) Returns the bone length skeletal model
uint16_t FinchGetEvents(FinchChirality chirality, FinchEventType type) Returns the events flag of controller's element
float FinchGetIndexTrigger(FinchChirality chirality) Returns the value of the index trigger
float FinchGetMiddleTrigger(FinchChirality chirality) Returns the value of the middle trigger
void FinchResetCalibration(FinchChirality chirality) Resets calibrate the selected chirality
void FinchRecenter(FinchChirality chirality, FinchRecenterMode mode) Sets forward direction of user by selected direction of hand
void FinchChiralityRedefine() Calibration with the redefine of the chirality of node
void FinchStartChiralityRedefine() Calibration with the redefine of the chirality of the node in automatic mode
void FinchAxisCalibration(FinchChirality chirality, FinchAxisCalibrationStep step) Full axis calibration
void FinchOnePoseAxisCalibration(FinchChirality chirality, FinchRecenterMode mode) Calculates axis calibration matrices by current pose
void FinchLoadCalibrations() Loads previously saved players calibrations from file
void FinchSaveCalibrations() Saves current players calibrations to file
void FinchSetBoneLength(FinchBone bone, float length) Sets the value of the selected bone length
void FinchSetBodyRotationMode(FinchBodyRotationMode mode) Sets the value of the body rotation mode
FinchUpdateError FinchUpdate() Update Finch Core Data
FinchUpdateError FinchHmdUpdate(FinchQuaternion hmd) Update Finch Core Data with a rotation of the HMD
void FinchSwapNode(FinchNodeType first, FinchNodeType second) Swap the selected node
uint32_t FinchGetRawDataSize(FinchNodeType type) Returns the size of raw data selected node
FinchIOError FinchGetRawData(FinchNodeType type, uint8_t* data, uint32_t length) Get the raw data selected node
FinchIOError FinchWriteData(FinchNodeType type, uint8_t* data, uint32_t length) Writes data to a node in synchronously mode
FinchIOError FinchAsyncWriteData(FinchNodeType type, uint8_t* data, uint32_t length) Writes data to a node in async mode