#include "user_task.h"
#include "vofa.h"


/*******************************************************************

该任务用来给上位机打印固定频率的数据 如波形图 如电机的开环曲线等等 


用消息队列将需要打印的数据传送给该线程 注意需要在init里设定传送的数据的大小

后调用发送函数用虚拟串口发送给上位机

*********************************************************************/
#include "can_use.h"


#ifdef DEBUG
//此处数组的大小为打印的通道数量值
float vofa_data[6]= {0};
CAN_t can_vofa;
CAN_Output_t out_print;

void Task_data_print(void *argument)
{
	    (void)argument;/*消除警告*/
	const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_PRINT ;
	
	uint32_t tick = osKernelGetTickCount();
	
	while(1)
	{
		  /* 记录任务所使用的的栈空间 */
    task_runtime.stack_water_mark.data_print =
        osThreadGetStackSpace(osThreadGetId());
				
//    if (osMessageQueueGet(task_runtime.msgq.can.output.chassis6020,
//                          &(out_print.chassis6020), 0, 0) == osOK)
//		{
//			
//		}
//		if (osMessageQueueGet(task_runtime.msgq.can.output.chassis3508,
//                          &(out_print.motor3508), 0, 0) == osOK)
//		{
//			
//		}
//    if (osMessageQueueGet(task_runtime.msgq.can.output.chassis5065,
//                          &(out_print.chassis5065), 0, 0) == osOK)
//		{
//			
//		}
//	  osMessageQueueGet(task_runtime.msgq.can.feedback.chassisfed6020, &can_vofa, NULL, 0);
//			
//	  osMessageQueueGet(task_runtime.msgq.can.feedback.chassisfed5065, &can_vofa, NULL, 0);
//	
//	  osMessageQueueGet(task_runtime.msgq.can.feedback.chassisfed3508, &can_vofa, NULL, 0);
//		
////		vofa_data[0] = can_vofa.motor.chassis6020.as_array[0].torque_current;
//		vofa_data[0] = can_vofa.motor.chassis6020.as_array[0].rotor_angle;
//		vofa_data[1] = out_print.chassis6020.as_array[0];
////		
//		vofa_tx_main(vofa_data);
	 
	tick += delay_tick;
	osDelayUntil(tick);
	}
	
}

#endif

