#include "ballTask.hpp"
#include "TopDefine.h"
#include "FreeRTOS.h"
#include "userTask.h"
#include <cmsis_os2.h>
#include "ball.hpp"
#include "remote_control.h"
extern RC_ctrl_t rc_ctrl;
Ball ball;
int abc=0;
int c30=0;

void FunctionBall(void *argument)
{
    (void)argument; /* 未使用argument,消除警告 */

    const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_BALL;

    ball.ballZero();
	ball.ballState=abc;

    uint32_t tick = osKernelGetTickCount();

    while(1)
    {
#ifdef DEBUG
     task_struct.stack_water_mark.ball = osThreadGetStackSpace(osThreadGetId());  
#endif          
        abc++;	
        c30=HAL_GPIO_ReadPin(STOP_GPIO_Port, STOP_Pin);	


        ball.ballHadling();
        ball.ballStateMachine();
        ball.ballCatch();

        osDelay(3);

        tick += delay_tick; /* 计算下一个唤醒时刻 */
        osDelayUntil(tick);
    }
}