// // Created by ilya on 25.03.24. // #ifndef SMART_COMPONENTS_ACCEL_H #define SMART_COMPONENTS_ACCEL_H #include #include "AccelDataFlowInterface.h" #include "Accel_QMA6100P.h" typedef struct { tAccelQma6100P accel; tAccelDataFlowInterface accelDataFlow; osMessageQueueId_t dataQueue; volatile bool errorDataFlag; vector3 current; // struct { // osThreadId_t id; // uint32_t stack[256]; // StaticTask_t controlBlock; // osThreadAttr_t attr; // } thread; } tAccel; extern tAccel ACCEL; void Accel_Init(tAccel *env, tSpiPortIO *accelIO); void Accel_StartDevice(tAccel *env); void Accel_StartThread(tAccel *env); void Accel_Clear(tAccel *env); void TMR1_Accel_TmrStart(tAccel *env); bool Accel_WaitReady(tAccel *env, uint32_t timeout); #endif //SMART_COMPONENTS_ACCEL_H