Fix crash when no VGM. Use void* context (support more input scenarios).

This commit is contained in:
Derek Jamison
2024-03-24 14:15:04 -05:00
parent 05e629786a
commit 00e2574c5a
2 changed files with 42 additions and 40 deletions

View File

@@ -40,21 +40,21 @@ extern const ImuControllerConfig IMU_CONTROLLER_DEFAULT_CONFIG;
/**
* @brief A callback to queue input messages from the IMU controller to the event queue
* @param event_queue The event queue
* @param context The context for the callback
* @param type The input type
* @param key The input key
*/
typedef void (*ImuControllerQueue)(FuriMessageQueue* event_queue, InputType type, InputKey key);
typedef void (*ImuControllerQueue)(void* context, InputType type, InputKey key);
/**
* @brief Allocate a new IMU controller
* @param event_queue The event queue
* @param context The context for callbacks
* @param config The configuration for pitch and roll
* @param queue_message A callback to queue input messages
* @return The new IMU controller
*/
ImuController* imu_controller_alloc(
FuriMessageQueue* event_queue,
void* context,
const ImuControllerConfig* config,
ImuControllerQueue queue_message);