startThread

open fun startThread()

Call to delegate the manual data updating of the IMU to a thread managed by Threads. Manual calls to run will be ignored as they will be dispatched by the thread. This mirrors behaviour found in a BunyipsSubsystem.

WARNING: Multi-threading the IMU may not come with any performance gains and can degrade the performance and reliability of your OpModes due to how I2C calls are propagated. This method is exposed only for highly advanced operations and opens a wide range of technical complexity when dealing with hardware threading. You must ensure you know what you're doing before you multithread.

The thread will run at full speed as-is.


open fun startThread(@NonNull loopSleepDuration: Measure<Time>)

Call to delegate the manual data updating of the IMU to a thread managed by Threads. Manual calls to run will be ignored as they will be dispatched by the thread. This mirrors behaviour found in a BunyipsSubsystem.

WARNING: Multi-threading the IMU may not come with any performance gains and can degrade the performance and reliability of your OpModes due to how I2C calls are propagated. This method is exposed only for highly advanced operations and opens a wide range of technical complexity when dealing with hardware threading. You must ensure you know what you're doing before you multithread.

Parameters

loopSleepDuration

the duration to sleep this thread after every loop to save resources