123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- * 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* positionOffset;
- 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_ */
|