Files
J1B4-Fitbot/docs/documentation/android/code_documentation/MotionProcessor.md

1.9 KiB

Class Implementation - MotionProcessor


Methods

Creates a WebSocket server and starts listening for incoming MotionData messages

public void startListening() { ... }

Stops the WebSocket server and stops listening for incoming MotionData messages

public void stopListening() { ... }

Parses an incoming WebSocket message packet and processes the data. The data that is accepted is a string that can be of the following formats:

  • "data Ax;Ay;Az;Rx;Ry;Rz"
  • "sampleRate x"
  • "calibrate x;y;z"
public void parsePacket(@NotNull String message) { ... }

Processes the provided MotionData object, uses it as a relative path point, and calls the
motionDataEventHandler with the calculated vector.

public void addMotionData(MotionData data) { ... }

Updates the relative path to the provided path.

public void setRelativePath(List<Vector3> relativePath) { ... }

Sets the motionDataEventHandler to the provided handler.

public void setMotionDataEventHandler(Consumer<Vector3> consumer) { ... }

Calculate the relative vector given a MotionData object. This converts relative acceleration and rotation to a vector, taking the sample rate into account.

public Vector3 getRelativeVector(MotionData motionData) { ... }

Get a list of error values given the provided GesturePath. This compares the relative path (calibrated) to the provided path segments, and returns the offsets.

public List<Double> getErrors(GesturePath referencePath) { ... }

Get the error offset of the provided vector to the provided path. This compares a given vector to the provided GesturePath object.

public double getError(GesturePath path, Vector3 referencePoint) { ... }

Get the average error offset of the relative path and the provided GesturePath object.

public double getAverageError(GesturePath referencePath) { ... }