1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * position_task.h
- *
- * Created on: Nov 6, 2024
- * Author: jakubski
- */
- #ifndef INC_POSITION_TASK_H_
- #define INC_POSITION_TASK_H_
- #include "cmsis_os.h"
- #include "main.h"
- enum _MovementPhases
- {
- idlePhase,
- startPhase,
- speedUpPhase,
- movePhase,
- slowDownPhase,
- stopPhase
- };
- typedef enum _MovementPhases MovementPhases;
- struct _PositionControlTaskInitArg
- {
- TIM_HandleTypeDef* htim;
- TIM_OC_InitTypeDef* motorTimerConfigOC;
- uint8_t channel1;
- uint8_t channel2;
- osTimerId_t motorTimerHandle;
- osMessageQueueId_t positionSettingQueue;
- uint8_t* switchLimiterUpStat;
- uint8_t* switchLimiterDownStat;
- uint8_t* switchLimiterCenterStat;
- float* currentPosition;
- float* positionSetting;
- uint8_t* motorStatus;
- float* motorPeakCurrent;
- char axe;
- };
- typedef struct _PositionControlTaskInitArg PositionControlTaskInitArg;
- struct _PositionControlTaskData
- {
- float positionSettingValue;
- };
- typedef struct _PositionControlTaskData PositionControlTaskData;
- extern PositionControlTaskInitArg positionXControlTaskInitArg;
- extern PositionControlTaskInitArg positionYControlTaskInitArg;
- void PositionControlTaskInit(void);
- void PositionControlTask (void* argument);
- #endif /* INC_POSITION_TASK_H_ */
|