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. 24
      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)
{
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);
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);
@ -155,4 +155,17 @@ void SendIV_Init(void)
.priority = (osPriority_t) osPriorityRealtime1,
};
(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_2;
TComCtrl *g_ptrs485_3;
TComCtrl *g_ptrs485_4;
TComCtrl *g_ptlte_7S0;
TComCtrl *g_ptSbus;
TComCtrl *g_ptInterCall;
TComCtrl *g_ptlpuart;
TComCtrl *g_ptCAN1;
TComCtrl *g_ptCAN2;
TComCtrl *g_ptrs485_1 = NULL;
TComCtrl *g_ptrs485_2 = NULL;
TComCtrl *g_ptrs485_3 = NULL;
TComCtrl *g_ptrs485_4 = NULL;
TComCtrl *g_ptlte_7S0 = NULL;
TComCtrl *g_ptSbus = NULL;
TComCtrl *g_ptInterCall = NULL;
TComCtrl *g_ptlpuart = NULL;
TComCtrl *g_ptCAN1 = NULL;
TComCtrl *g_ptCAN2 = NULL;
CV_struct_define g_stCV = {0};
/*----------------------------------------------*
@ -119,7 +119,7 @@ int RS485_4_Send(char *_pBuffer, uint32_t _iSize)
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;
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};
@ -236,7 +236,7 @@ void Read_PV(void *argument)
}
}
void Read_motor(void *argument)
void CAN1_task(void *argument)
{
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 int check_PV(char *_pBuffer, uint32_t _iSize);
extern void decode_PV(const char *buf, uint32_t _iSize);
extern void ground_manger_init(void);
extern void Custom_Task(void *argument);
void SendIV_Init(void);
void client_setting_Init(void);
void TL720D_Init(void);
void RBcore_Init(void);
void controller_init(void);
@ -264,7 +284,7 @@ void Drv_InterfaceInit(void)
MsgCenter_Init();
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();
const osThreadAttr_t Custom_attributes = {
@ -282,30 +302,40 @@ void Drv_InterfaceInit(void)
};
(void)osThreadNew(MotorTask, NULL, &motor_task_attributes);
const osThreadAttr_t Read_motor_attributes = {
.name = "Read_motor",
const osThreadAttr_t CAN1_task_attributes = {
.name = "CAN1_task",
.stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1,
};
(void)osThreadNew(Read_motor, NULL, &Read_motor_attributes);
(void)osThreadNew(CAN1_task, NULL, &CAN1_task_attributes);
RBcore_Init();
controller_init();
TUartUserData *ptUartUserData = UART_userdata_init(0, -1, 512);
g_ptlpuart = rd_ComCreate(check_PV, decode_PV, LPUART_PV_Send, ptUartUserData->m_buf_size, ptUartUserData);
UART_IT_init(g_ptlpuart);
rd_ComSetRecvTime(g_ptlpuart, 1500);// PV平均一到两秒发一条,这里超时时间设置为1.5秒
const osThreadAttr_t Sbus_task_attributes = {
.name = "Sbus_task",
.stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1,
};
(void)osThreadNew(Sbus_task, NULL, &Sbus_task_attributes);
const osThreadAttr_t Read_PV_attributes = {
.name = "Read_PV",
const osThreadAttr_t lpuart_task_attributes = {
.name = "lpuart_task",
.stack_size = THREAD_DEFAULT_STACK,
.priority = (osPriority_t) osPriorityRealtime1,
};
(void)osThreadNew(Read_PV, NULL, &Read_PV_attributes);
(void)osThreadNew(lpuart_task, NULL, &lpuart_task_attributes);
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();
//Timer_Init();

1
RBcore/include/drv_interface.h

@ -93,6 +93,7 @@ extern CV_struct_define g_stCV;
* 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 FDCAN1_Send(char *_pBuffer, uint32_t _iSize);
extern int FDCAN2_Send(char *_pBuffer, uint32_t _iSize);

24
controller/msp_MK32.c

@ -121,28 +121,18 @@ void decode_MK32(const char *buf, uint32_t _iSize)
}
}
void Read_MK32(void *argument)
{
char pcBuffer[52] = {0};
while (1)
{
rd_ComRead(g_ptSbus, pcBuffer, 25);
}
}
void controller_init(void)
{
if (NULL == g_ptSbus)
{
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);
}
else
{
rd_ComAddDev(g_ptSbus, check_MK32, decode_MK32);
}
}
WEAK void MK32_Key_Func(SP_MSP_MK32_Button *_pstMK32, int _iMode, int _iSubMode)

Loading…
Cancel
Save