#include "nucTask.hpp"
#include "nuc.h"
#include "userTask.h"
#include "TopDefine.h"//事件组的一些东西
#include "FreeRTOS.h"
#include <cmsis_os2.h>
#include <stdio.h>

#ifdef DEBUG

NUC_t cmd_fromnuc;
//int send[3]={1,2,3};
float send[3]={1,2,3};

#endif

void Function_nuc(void *argument)
{
    (void)argument; /* 未使用argument，消除警告 */
    
   const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_AI;

    NUC_Init(&cmd_fromnuc);
    

   uint32_t tick = osKernelGetTickCount();

    while(1)
    {
#ifdef DEBUG
        task_struct.stack_water_mark.nuc = osThreadGetStackSpace(osThreadGetId());  
#endif         
        NUC_StartReceiving();

        NUC_RawParse(&cmd_fromnuc);
      
        //NUC_SendPacket(&send, sizeof(send)); // 发送数据包
//掉线处理有空写 
        // if(NUC_WaitDmaCplt())
        // {
        //     NUC_RawParse(&cmd_fromnuc);
            
        // }
        // else
        // {
        //     NUC_HandleOffline(&cmd_fromnuc);
        // }

        osMessageQueueReset(task_struct.msgq.nuc); // 清空消息队列
        osMessageQueuePut(task_struct.msgq.nuc,&(cmd_fromnuc),0,0);
        osDelay(2);

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