Browse Source

temp

master
Lizongdi 1 day ago
parent
commit
051748ac67
  1. 17
      RBcore/TL720D.c
  2. 15
      RBcore/client_setting.c
  3. 82
      RBcore/drv_interface.c
  4. 1
      RBcore/include/drv_interface.h
  5. 28
      controller/msp_MK32.c

17
RBcore/TL720D.c

@ -133,26 +133,9 @@ static void decode_TL720D(const char *buf, uint32_t _iSize)
} }
} }
void Read_TL720D(void *argument)
{
char pcBuffer[64] = {0};
while(1)
{
rd_ComRead(g_ptrs485_1, pcBuffer, 64);
}
}
void TL720D_Init(void) void TL720D_Init(void)
{ {
TUartUserData *pt4851UserData = UART_userdata_init(1, -1, 512); TUartUserData *pt4851UserData = UART_userdata_init(1, -1, 512);
g_ptrs485_1 = rd_ComCreate(check_TL720D, decode_TL720D, RS485_1_Send, pt4851UserData->m_buf_size, pt4851UserData); g_ptrs485_1 = rd_ComCreate(check_TL720D, decode_TL720D, RS485_1_Send, pt4851UserData->m_buf_size, pt4851UserData);
UART_IT_init(g_ptrs485_1); UART_IT_init(g_ptrs485_1);
const osThreadAttr_t Read_TL720D_attributes = {
.name = "Read_TL720D",
.stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1,
};
(void)osThreadNew(Read_TL720D, NULL, &Read_TL720D_attributes);
} }

15
RBcore/client_setting.c

@ -145,7 +145,7 @@ static void Send_IV(void *argument)
} }
} }
void SendIV_Init(void) void client_setting_Init(void)
{ {
g_uiIVModuleID = MsgCenter_Register(MODULE_NAME_SENDIV, SendIV_ModuleHandler); g_uiIVModuleID = MsgCenter_Register(MODULE_NAME_SENDIV, SendIV_ModuleHandler);
@ -155,4 +155,17 @@ void SendIV_Init(void)
.priority = (osPriority_t) osPriorityRealtime1, .priority = (osPriority_t) osPriorityRealtime1,
}; };
(void)osThreadNew(Send_IV, NULL, &Send_PV_attributes); (void)osThreadNew(Send_IV, NULL, &Send_PV_attributes);
if (NULL == g_ptlpuart)
{
TUartUserData *ptUartUserData = UART_userdata_init(0, -1, 512);
g_ptlpuart = rd_ComCreate(check_PV, decode_PV, LPUART_Send, ptUartUserData->m_buf_size, ptUartUserData);
UART_IT_init(g_ptlpuart);
}
else
{
rd_ComAddDev(g_ptlpuart, check_PV, decode_PV);
}
rd_ComSetRecvTime(g_ptlpuart, 1500);// PV平均一到两秒发一条,这里超时时间设置为1.5秒
} }

82
RBcore/drv_interface.c

@ -37,17 +37,17 @@ extern TComCtrl *g_ptUartCtrl;
/*----------------------------------------------* /*----------------------------------------------*
* 全局变量 * * 全局变量 *
*----------------------------------------------*/ *----------------------------------------------*/
TComCtrl *g_ptrs485_1; TComCtrl *g_ptrs485_1 = NULL;
TComCtrl *g_ptrs485_2; TComCtrl *g_ptrs485_2 = NULL;
TComCtrl *g_ptrs485_3; TComCtrl *g_ptrs485_3 = NULL;
TComCtrl *g_ptrs485_4; TComCtrl *g_ptrs485_4 = NULL;
TComCtrl *g_ptlte_7S0; TComCtrl *g_ptlte_7S0 = NULL;
TComCtrl *g_ptSbus; TComCtrl *g_ptSbus = NULL;
TComCtrl *g_ptInterCall; TComCtrl *g_ptInterCall = NULL;
TComCtrl *g_ptlpuart; TComCtrl *g_ptlpuart = NULL;
TComCtrl *g_ptCAN1; TComCtrl *g_ptCAN1 = NULL;
TComCtrl *g_ptCAN2; TComCtrl *g_ptCAN2 = NULL;
CV_struct_define g_stCV = {0}; CV_struct_define g_stCV = {0};
/*----------------------------------------------* /*----------------------------------------------*
@ -119,7 +119,7 @@ int RS485_4_Send(char *_pBuffer, uint32_t _iSize)
return iRet; return iRet;
} }
int LPUART_PV_Send(char *_pBuffer, uint32_t _iSize) int LPUART_Send(char *_pBuffer, uint32_t _iSize)
{ {
TUartUserData *ptUartUserData = (TUartUserData *)g_ptlpuart->m_pUserData; TUartUserData *ptUartUserData = (TUartUserData *)g_ptlpuart->m_pUserData;
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100);
@ -226,7 +226,7 @@ void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo0ITs)
} }
} }
void Read_PV(void *argument) void lpuart_task(void *argument)
{ {
char pcBuffer[64] = {0}; char pcBuffer[64] = {0};
@ -236,7 +236,7 @@ void Read_PV(void *argument)
} }
} }
void Read_motor(void *argument) void CAN1_task(void *argument)
{ {
char pcBuffer[32] = {0}; char pcBuffer[32] = {0};
@ -246,12 +246,32 @@ void Read_motor(void *argument)
} }
} }
void Sbus_task(void *argument)
{
char pcBuffer[52] = {0};
while (1)
{
rd_ComRead(g_ptSbus, pcBuffer, 25);
}
}
void rs485_1_task(void *argument)
{
char pcBuffer[64] = {0};
while(1)
{
rd_ComRead(g_ptrs485_1, pcBuffer, 64);
}
}
extern void MotorTask(void *argument); extern void MotorTask(void *argument);
extern int check_PV(char *_pBuffer, uint32_t _iSize); extern int check_PV(char *_pBuffer, uint32_t _iSize);
extern void decode_PV(const char *buf, uint32_t _iSize); extern void decode_PV(const char *buf, uint32_t _iSize);
extern void ground_manger_init(void); extern void ground_manger_init(void);
extern void Custom_Task(void *argument); extern void Custom_Task(void *argument);
void SendIV_Init(void); void client_setting_Init(void);
void TL720D_Init(void); void TL720D_Init(void);
void RBcore_Init(void); void RBcore_Init(void);
void controller_init(void); void controller_init(void);
@ -264,7 +284,7 @@ void Drv_InterfaceInit(void)
MsgCenter_Init(); MsgCenter_Init();
GF_BSP_EEPROM_ReadBytes((uint8_t *)&g_stCV, GF_BSP_EEPROM_CV_struct_define_Start_Address, sizeof(CV_struct_define)); GF_BSP_EEPROM_ReadBytes((uint8_t *)&g_stCV, GF_BSP_EEPROM_CV_struct_define_Start_Address, sizeof(CV_struct_define));
SendIV_Init(); client_setting_Init();
// ground_manger_init(); // ground_manger_init();
const osThreadAttr_t Custom_attributes = { const osThreadAttr_t Custom_attributes = {
@ -282,30 +302,40 @@ void Drv_InterfaceInit(void)
}; };
(void)osThreadNew(MotorTask, NULL, &motor_task_attributes); (void)osThreadNew(MotorTask, NULL, &motor_task_attributes);
const osThreadAttr_t Read_motor_attributes = { const osThreadAttr_t CAN1_task_attributes = {
.name = "Read_motor", .name = "CAN1_task",
.stack_size = THREAD_DEFAULT_STACK, .stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1, .priority = (osPriority_t) osPriorityRealtime1,
}; };
(void)osThreadNew(Read_motor, NULL, &Read_motor_attributes); (void)osThreadNew(CAN1_task, NULL, &CAN1_task_attributes);
RBcore_Init(); RBcore_Init();
controller_init(); controller_init();
TUartUserData *ptUartUserData = UART_userdata_init(0, -1, 512); const osThreadAttr_t Sbus_task_attributes = {
g_ptlpuart = rd_ComCreate(check_PV, decode_PV, LPUART_PV_Send, ptUartUserData->m_buf_size, ptUartUserData); .name = "Sbus_task",
UART_IT_init(g_ptlpuart); .stack_size = THREAD_DEFAULT_STACK,
rd_ComSetRecvTime(g_ptlpuart, 1500);// PV平均一到两秒发一条,这里超时时间设置为1.5秒 .priority = (osPriority_t) osPriorityRealtime1,
};
(void)osThreadNew(Sbus_task, NULL, &Sbus_task_attributes);
const osThreadAttr_t Read_PV_attributes = { const osThreadAttr_t lpuart_task_attributes = {
.name = "Read_PV", .name = "lpuart_task",
.stack_size = THREAD_DEFAULT_STACK, .stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1, .priority = (osPriority_t) osPriorityRealtime1,
}; };
(void)osThreadNew(Read_PV, NULL, &Read_PV_attributes); (void)osThreadNew(lpuart_task, NULL, &lpuart_task_attributes);
TL720D_Init(); TL720D_Init();
const osThreadAttr_t rs485_1_task_attributes = {
.name = "rs485_1_task",
.stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1,
};
(void)osThreadNew(rs485_1_task, NULL, &rs485_1_task_attributes);
daemon_Init(); daemon_Init();
//Timer_Init(); //Timer_Init();

1
RBcore/include/drv_interface.h

@ -93,6 +93,7 @@ extern CV_struct_define g_stCV;
* routines' or functions' implementations * * routines' or functions' implementations *
*----------------------------------------------*/ *----------------------------------------------*/
extern int LPUART_Send(char *_pBuffer, uint32_t _iSize);
extern int E28_SBUS_Send(char *_pBuffer, uint32_t _iSize); extern int E28_SBUS_Send(char *_pBuffer, uint32_t _iSize);
extern int FDCAN1_Send(char *_pBuffer, uint32_t _iSize); extern int FDCAN1_Send(char *_pBuffer, uint32_t _iSize);
extern int FDCAN2_Send(char *_pBuffer, uint32_t _iSize); extern int FDCAN2_Send(char *_pBuffer, uint32_t _iSize);

28
controller/msp_MK32.c

@ -121,28 +121,18 @@ void decode_MK32(const char *buf, uint32_t _iSize)
} }
} }
void Read_MK32(void *argument) void controller_init(void)
{ {
char pcBuffer[52] = {0}; if (NULL == g_ptSbus)
while (1)
{ {
rd_ComRead(g_ptSbus, pcBuffer, 25); TUartUserData *ptSbus = UART_userdata_init(5, -1, 512);
g_ptSbus = rd_ComCreate(check_MK32, decode_MK32, E28_SBUS_Send, ptSbus->m_buf_size, ptSbus);
UART_IT_init(g_ptSbus);
}
else
{
rd_ComAddDev(g_ptSbus, check_MK32, decode_MK32);
} }
}
void controller_init(void)
{
TUartUserData *ptSbus = UART_userdata_init(5, -1, 512);
g_ptSbus = rd_ComCreate(check_MK32, decode_MK32, E28_SBUS_Send, ptSbus->m_buf_size, ptSbus);
UART_IT_init(g_ptSbus);
const osThreadAttr_t MK32_Task_attributes = {
.name = "Read_MK32",
.stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1,
};
(void)osThreadNew(Read_MK32, NULL, &MK32_Task_attributes);
} }
WEAK void MK32_Key_Func(SP_MSP_MK32_Button *_pstMK32, int _iMode, int _iSubMode) WEAK void MK32_Key_Func(SP_MSP_MK32_Button *_pstMK32, int _iMode, int _iSubMode)

Loading…
Cancel
Save