tty use mq
This commit is contained in:
+6
-6
@@ -1459,21 +1459,21 @@ CONFIG_BSP_USING_GPIO=y
|
|||||||
CONFIG_BSP_USING_UART=y
|
CONFIG_BSP_USING_UART=y
|
||||||
CONFIG_BSP_STM32_UART_V1_TX_TIMEOUT=2000
|
CONFIG_BSP_STM32_UART_V1_TX_TIMEOUT=2000
|
||||||
CONFIG_BSP_USING_UART1=y
|
CONFIG_BSP_USING_UART1=y
|
||||||
# CONFIG_BSP_UART1_RX_USING_DMA is not set
|
CONFIG_BSP_UART1_RX_USING_DMA=y
|
||||||
# CONFIG_BSP_UART1_TX_USING_DMA is not set
|
CONFIG_BSP_UART1_TX_USING_DMA=y
|
||||||
CONFIG_BSP_USING_UART2=y
|
CONFIG_BSP_USING_UART2=y
|
||||||
# CONFIG_BSP_UART2_RX_USING_DMA is not set
|
# CONFIG_BSP_UART2_RX_USING_DMA is not set
|
||||||
# CONFIG_BSP_UART2_TX_USING_DMA is not set
|
# CONFIG_BSP_UART2_TX_USING_DMA is not set
|
||||||
CONFIG_BSP_USING_UART3=y
|
CONFIG_BSP_USING_UART3=y
|
||||||
# CONFIG_BSP_UART3_RX_USING_DMA is not set
|
CONFIG_BSP_UART3_RX_USING_DMA=y
|
||||||
# CONFIG_BSP_UART3_TX_USING_DMA is not set
|
CONFIG_BSP_UART3_TX_USING_DMA=y
|
||||||
# CONFIG_BSP_USING_UART4 is not set
|
# CONFIG_BSP_USING_UART4 is not set
|
||||||
CONFIG_BSP_USING_UART5=y
|
CONFIG_BSP_USING_UART5=y
|
||||||
# CONFIG_BSP_UART5_RX_USING_DMA is not set
|
# CONFIG_BSP_UART5_RX_USING_DMA is not set
|
||||||
# CONFIG_BSP_UART5_TX_USING_DMA is not set
|
# CONFIG_BSP_UART5_TX_USING_DMA is not set
|
||||||
CONFIG_BSP_USING_UART6=y
|
CONFIG_BSP_USING_UART6=y
|
||||||
# CONFIG_BSP_UART6_RX_USING_DMA is not set
|
CONFIG_BSP_UART6_RX_USING_DMA=y
|
||||||
# CONFIG_BSP_UART6_TX_USING_DMA is not set
|
CONFIG_BSP_UART6_TX_USING_DMA=y
|
||||||
CONFIG_BSP_USING_I2C=y
|
CONFIG_BSP_USING_I2C=y
|
||||||
CONFIG_BSP_USING_I2C1=y
|
CONFIG_BSP_USING_I2C1=y
|
||||||
CONFIG_BSP_USING_I2C2=y
|
CONFIG_BSP_USING_I2C2=y
|
||||||
|
|||||||
@@ -47,14 +47,14 @@ struct chrg_tty_t chrgtty[TOTAL_TTY] = {
|
|||||||
static rt_err_t chrg_rs485_tty_input (rt_device_t dev, rt_size_t size)
|
static rt_err_t chrg_rs485_tty_input (rt_device_t dev, rt_size_t size)
|
||||||
{
|
{
|
||||||
rt_err_t ret;
|
rt_err_t ret;
|
||||||
rt_uint8_t ch;
|
|
||||||
rt_size_t i;
|
|
||||||
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_RS485];
|
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_RS485];
|
||||||
|
|
||||||
for (i = 0; i < size; i++) {
|
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
|
||||||
if (rt_device_read(dev, 0, &ch, 1)) {
|
pTTY->msg_mq.dev = dev;
|
||||||
rt_ringbuffer_put_force(pTTY->rb, &ch, 1);
|
pTTY->msg_mq.size = size;
|
||||||
ret = rt_sem_release(&pTTY->sem_rx);
|
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
|
||||||
|
if (RT_EOK != ret) {
|
||||||
|
LOG_E("send mq '%s' failed.", pTTY->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,14 +64,14 @@ static rt_err_t chrg_rs485_tty_input (rt_device_t dev, rt_size_t size)
|
|||||||
static rt_err_t chrg_lcd_tty_input (rt_device_t dev, rt_size_t size)
|
static rt_err_t chrg_lcd_tty_input (rt_device_t dev, rt_size_t size)
|
||||||
{
|
{
|
||||||
rt_err_t ret;
|
rt_err_t ret;
|
||||||
rt_uint8_t ch;
|
|
||||||
rt_size_t i;
|
|
||||||
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_LCD];
|
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_LCD];
|
||||||
|
|
||||||
for (i = 0; i < size; i++) {
|
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
|
||||||
if (rt_device_read(dev, 0, &ch, 1)) {
|
pTTY->msg_mq.dev = dev;
|
||||||
rt_ringbuffer_put_force(pTTY->rb, &ch, 1);
|
pTTY->msg_mq.size = size;
|
||||||
ret = rt_sem_release(&pTTY->sem_rx);
|
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
|
||||||
|
if (RT_EOK != ret) {
|
||||||
|
LOG_E("send mq '%s' failed.", pTTY->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,14 +81,14 @@ static rt_err_t chrg_lcd_tty_input (rt_device_t dev, rt_size_t size)
|
|||||||
static rt_err_t chrg_north_tty_input (rt_device_t dev, rt_size_t size)
|
static rt_err_t chrg_north_tty_input (rt_device_t dev, rt_size_t size)
|
||||||
{
|
{
|
||||||
rt_err_t ret;
|
rt_err_t ret;
|
||||||
rt_uint8_t ch;
|
|
||||||
rt_size_t i;
|
|
||||||
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_NORTH];
|
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_NORTH];
|
||||||
|
|
||||||
for (i = 0; i < size; i++) {
|
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
|
||||||
if (rt_device_read(dev, 0, &ch, 1)) {
|
pTTY->msg_mq.dev = dev;
|
||||||
rt_ringbuffer_put_force(pTTY->rb, &ch, 1);
|
pTTY->msg_mq.size = size;
|
||||||
ret = rt_sem_release(&pTTY->sem_rx);
|
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
|
||||||
|
if (RT_EOK != ret) {
|
||||||
|
LOG_E("send mq '%s' failed.", pTTY->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,14 +98,14 @@ static rt_err_t chrg_north_tty_input (rt_device_t dev, rt_size_t size)
|
|||||||
static rt_err_t chrg_south_tty_input (rt_device_t dev, rt_size_t size)
|
static rt_err_t chrg_south_tty_input (rt_device_t dev, rt_size_t size)
|
||||||
{
|
{
|
||||||
rt_err_t ret;
|
rt_err_t ret;
|
||||||
rt_uint8_t ch;
|
|
||||||
rt_size_t i;
|
|
||||||
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_SOUTH];
|
struct chrg_tty_t *pTTY = &chrgtty[IDX_TTY_SOUTH];
|
||||||
|
|
||||||
for (i = 0; i < size; i++) {
|
if ((RT_NULL != dev) && (RT_NULL != pTTY->mq) && (size > 0)) {
|
||||||
if (rt_device_read(dev, 0, &ch, 1)) {
|
pTTY->msg_mq.dev = dev;
|
||||||
rt_ringbuffer_put_force(pTTY->rb, &ch, 1);
|
pTTY->msg_mq.size = size;
|
||||||
ret = rt_sem_release(&pTTY->sem_rx);
|
ret = rt_mq_send(pTTY->mq, &pTTY->msg_mq, sizeof(struct mq_msg_t));
|
||||||
|
if (RT_EOK != ret) {
|
||||||
|
LOG_E("send mq '%s' failed.", pTTY->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,15 +166,9 @@ rt_err_t chrg_tty_open (struct chrg_tty_t *pTTY)
|
|||||||
return RT_ERROR;
|
return RT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = rt_sem_init(&pTTY->sem_rx, pTTY->name, 0, RT_IPC_FLAG_FIFO);
|
pTTY->mq = rt_mq_create(pTTY->name, sizeof(struct mq_msg_t), 16, RT_IPC_FLAG_FIFO);
|
||||||
if (ret != RT_EOK) {
|
if (RT_NULL == pTTY->mq) {
|
||||||
LOG_E("sem init '%s' failed.", pTTY->name);
|
LOG_E("create mq '%s' failed.", pTTY->name);
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
pTTY->rb = rt_ringbuffer_create(64);
|
|
||||||
if (RT_NULL == pTTY->rb) {
|
|
||||||
rt_kprintf("create rb failed.\r\n");
|
|
||||||
return RT_ERROR;
|
return RT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ typedef enum {
|
|||||||
TOTAL_TTY
|
TOTAL_TTY
|
||||||
} eIDX_TTY;
|
} eIDX_TTY;
|
||||||
|
|
||||||
|
struct mq_msg_t {
|
||||||
|
rt_device_t dev;
|
||||||
|
rt_size_t size;
|
||||||
|
};
|
||||||
|
|
||||||
struct chrg_tty_t {
|
struct chrg_tty_t {
|
||||||
rt_device_t dev;
|
rt_device_t dev;
|
||||||
@@ -28,6 +32,9 @@ struct chrg_tty_t {
|
|||||||
rt_uint32_t baudrate;
|
rt_uint32_t baudrate;
|
||||||
eIDX_TTY index;
|
eIDX_TTY index;
|
||||||
|
|
||||||
|
rt_mq_t mq;
|
||||||
|
struct mq_msg_t msg_mq;
|
||||||
|
|
||||||
struct rt_ringbuffer *rb;
|
struct rt_ringbuffer *rb;
|
||||||
struct rt_semaphore sem_rx;
|
struct rt_semaphore sem_rx;
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include "chrg_north.h"
|
#include "chrg_north.h"
|
||||||
|
|
||||||
|
#include "chrg_utils.h"
|
||||||
|
|
||||||
#define LOG_TAG "chrg.nor"
|
#define LOG_TAG "chrg.nor"
|
||||||
#define DBG_LEVEL DBG_LOG
|
#define DBG_LEVEL DBG_LOG
|
||||||
#include <rtdbg.h>
|
#include <rtdbg.h>
|
||||||
@@ -29,36 +31,52 @@ int chrg_north_send (rt_uint8_t *data, rt_size_t length)
|
|||||||
|
|
||||||
static void chrg_north_thread_entry (void *data)
|
static void chrg_north_thread_entry (void *data)
|
||||||
{
|
{
|
||||||
rt_err_t ret = RT_EOK;
|
|
||||||
struct chrg_north_t *pNOR = (struct chrg_north_t *)data;
|
struct chrg_north_t *pNOR = (struct chrg_north_t *)data;
|
||||||
|
|
||||||
if ((RT_NULL == pNOR)||(RT_NULL == pNOR->tty)) {
|
if ((RT_NULL == pNOR)||(RT_NULL == pNOR->tty)) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rt_uint8_t ch;
|
rt_uint8_t crc8 = 0;
|
||||||
|
rt_size_t len_mq = 0, len_get = 0, len_msg = 0;
|
||||||
struct chrg_tty_t *pTTY = pNOR->tty;
|
struct chrg_tty_t *pTTY = pNOR->tty;
|
||||||
|
struct mq_msg_t *pMQ = &pTTY->msg_mq;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
ret = rt_sem_take(&pTTY->sem_rx, RT_WAITING_FOREVER);
|
rt_memset(pMQ, 0, sizeof(struct mq_msg_t));
|
||||||
if (RT_EOK != ret) {
|
len_mq = rt_mq_recv(pTTY->mq, pMQ, sizeof(struct mq_msg_t), RT_WAITING_FOREVER);
|
||||||
LOG_E("sem take failed. %d", ret);
|
if (len_mq <= 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
rt_ringbuffer_getchar(pTTY->rb, &ch);
|
len_get = rt_device_read(pMQ->dev, 0, &pNOR->rx_buf[0], 1);
|
||||||
if (pNOR->rx_len < SIZE_BUF_UART) {
|
if (1 != len_get) {
|
||||||
pNOR->rx_buf[pNOR->rx_len++] = ch;
|
continue;
|
||||||
rt_kprintf("%c", ch);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pNOR->rx_len >= 32) {
|
pNOR->rx_len = 1;
|
||||||
|
|
||||||
|
len_msg = rt_device_read(pMQ->dev, 0, &pNOR->rx_buf[1], len_get-1);
|
||||||
|
if (len_msg <= 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
pNOR->rx_len += len_msg;
|
||||||
|
|
||||||
|
if (len_msg == len_get-1) {
|
||||||
|
crc8 = calc_crc8(pNOR->rx_buf, len_msg);
|
||||||
|
|
||||||
|
if (crc8 == pNOR->rx_buf[len_msg]) {
|
||||||
|
|
||||||
|
|
||||||
pNOR->rx_len = 0;
|
pNOR->rx_len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static int chrg_north_init (void)
|
static int chrg_north_init (void)
|
||||||
{
|
{
|
||||||
rt_err_t ret;
|
rt_err_t ret;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#include "chrg_switch.h"
|
#include "chrg_switch.h"
|
||||||
|
|
||||||
|
|
||||||
#define THR_NAME_NORTH "thr_nor"
|
#define THR_NAME_NORTH "thr.nor"
|
||||||
|
|
||||||
struct chrg_north_t {
|
struct chrg_north_t {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include "chrg_south.h"
|
#include "chrg_south.h"
|
||||||
|
|
||||||
|
#include "chrg_utils.h"
|
||||||
|
|
||||||
#define LOG_TAG "chrg.sou"
|
#define LOG_TAG "chrg.sou"
|
||||||
#define DBG_LEVEL DBG_LOG
|
#define DBG_LEVEL DBG_LOG
|
||||||
#include <rtdbg.h>
|
#include <rtdbg.h>
|
||||||
@@ -16,42 +18,58 @@ struct chrg_south_t chrgsouth = {
|
|||||||
|
|
||||||
static void chrg_south_thread_entry (void *data)
|
static void chrg_south_thread_entry (void *data)
|
||||||
{
|
{
|
||||||
rt_err_t ret = RT_EOK;
|
|
||||||
struct chrg_south_t *pSOU = (struct chrg_south_t *)data;
|
struct chrg_south_t *pSOU = (struct chrg_south_t *)data;
|
||||||
|
|
||||||
if ((RT_NULL == pSOU)||(RT_NULL == pSOU->tty)) {
|
if ((RT_NULL == pSOU)||(RT_NULL == pSOU->tty)) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rt_uint8_t ch;
|
rt_uint8_t crc8 = 0;
|
||||||
|
rt_size_t len_mq = 0, len_get = 0, len_msg = 0;
|
||||||
struct chrg_tty_t *pTTY = pSOU->tty;
|
struct chrg_tty_t *pTTY = pSOU->tty;
|
||||||
|
struct mq_msg_t *pMQ = &pTTY->msg_mq;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
ret = rt_sem_take(&pTTY->sem_rx, RT_WAITING_FOREVER);
|
rt_memset(pMQ, 0, sizeof(struct mq_msg_t));
|
||||||
if (RT_EOK != ret) {
|
len_mq = rt_mq_recv(pTTY->mq, pMQ, sizeof(struct mq_msg_t), RT_WAITING_FOREVER);
|
||||||
LOG_E("sem take failed. %d", ret);
|
if (len_mq <= 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
rt_ringbuffer_getchar(pTTY->rb, &ch);
|
len_get = rt_device_read(pMQ->dev, 0, &pSOU->rx_buf[0], 1);
|
||||||
if (pSOU->rx_len < SIZE_BUF_UART) {
|
if (1 != len_get) {
|
||||||
pSOU->rx_buf[pSOU->rx_len++] = ch;
|
continue;
|
||||||
rt_kprintf("%c", ch);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pSOU->rx_len >= 32) {
|
pSOU->rx_len = 1;
|
||||||
|
|
||||||
|
len_msg = rt_device_read(pMQ->dev, 0, &pSOU->rx_buf[1], len_get-1);
|
||||||
|
if (len_msg <= 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
pSOU->rx_len += len_msg;
|
||||||
|
|
||||||
|
if (len_msg == len_get-1) {
|
||||||
|
crc8 = calc_crc8(pSOU->rx_buf, len_msg);
|
||||||
|
|
||||||
|
if (crc8 == pSOU->rx_buf[len_msg]) {
|
||||||
|
|
||||||
|
|
||||||
pSOU->rx_len = 0;
|
pSOU->rx_len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static int chrg_south_init (void)
|
static int chrg_south_init (void)
|
||||||
{
|
{
|
||||||
rt_err_t ret;
|
rt_err_t ret;
|
||||||
struct chrg_south_t *pSOU = &chrgsouth;
|
struct chrg_south_t *pSOU = &chrgsouth;
|
||||||
|
|
||||||
pSOU->tty = &chrgtty[IDX_TTY_NORTH];
|
pSOU->tty = &chrgtty[IDX_TTY_SOUTH];
|
||||||
rt_memset(pSOU->rx_buf, 0, SIZE_BUF_UART);
|
rt_memset(pSOU->rx_buf, 0, SIZE_BUF_UART);
|
||||||
|
|
||||||
ret = rt_mutex_init(&pSOU->lock, pSOU->name, RT_IPC_FLAG_FIFO);
|
ret = rt_mutex_init(&pSOU->lock, pSOU->name, RT_IPC_FLAG_FIFO);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include "chrg_tty.h"
|
#include "chrg_tty.h"
|
||||||
#include "chrg_switch.h"
|
#include "chrg_switch.h"
|
||||||
|
|
||||||
#define THR_NAME_SOUTH "thr_sou"
|
#define THR_NAME_SOUTH "thr.sou"
|
||||||
|
|
||||||
struct chrg_south_t {
|
struct chrg_south_t {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ void source_set_pd (rt_uint8_t pro, rt_uint8_t src, rt_uint8_t pps,
|
|||||||
rt_uint16_t vmax, rt_uint16_t vmin, rt_int16_t max_cur)
|
rt_uint16_t vmax, rt_uint16_t vmin, rt_int16_t max_cur)
|
||||||
{
|
{
|
||||||
rt_size_t len = 0;
|
rt_size_t len = 0;
|
||||||
rt_uint8_t data[12] = {0};
|
rt_uint8_t data[16] = {0};
|
||||||
|
|
||||||
data[0] = 0x0B;
|
data[0] = 0x0B;
|
||||||
data[1] = 0x00;
|
data[1] = 0x00;
|
||||||
|
|||||||
@@ -449,10 +449,16 @@
|
|||||||
#define BSP_USING_UART
|
#define BSP_USING_UART
|
||||||
#define BSP_STM32_UART_V1_TX_TIMEOUT 2000
|
#define BSP_STM32_UART_V1_TX_TIMEOUT 2000
|
||||||
#define BSP_USING_UART1
|
#define BSP_USING_UART1
|
||||||
|
#define BSP_UART1_RX_USING_DMA
|
||||||
|
#define BSP_UART1_TX_USING_DMA
|
||||||
#define BSP_USING_UART2
|
#define BSP_USING_UART2
|
||||||
#define BSP_USING_UART3
|
#define BSP_USING_UART3
|
||||||
|
#define BSP_UART3_RX_USING_DMA
|
||||||
|
#define BSP_UART3_TX_USING_DMA
|
||||||
#define BSP_USING_UART5
|
#define BSP_USING_UART5
|
||||||
#define BSP_USING_UART6
|
#define BSP_USING_UART6
|
||||||
|
#define BSP_UART6_RX_USING_DMA
|
||||||
|
#define BSP_UART6_TX_USING_DMA
|
||||||
#define BSP_USING_I2C
|
#define BSP_USING_I2C
|
||||||
#define BSP_USING_I2C1
|
#define BSP_USING_I2C1
|
||||||
#define BSP_USING_I2C2
|
#define BSP_USING_I2C2
|
||||||
|
|||||||
@@ -484,7 +484,7 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg)
|
|||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t box_num)
|
static rt_ssize_t _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t box_num)
|
||||||
{
|
{
|
||||||
CAN_HandleTypeDef *hcan;
|
CAN_HandleTypeDef *hcan;
|
||||||
hcan = &((struct stm32_can *) can->parent.user_data)->CanHandle;
|
hcan = &((struct stm32_can *) can->parent.user_data)->CanHandle;
|
||||||
@@ -586,7 +586,7 @@ static int _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo)
|
static rt_ssize_t _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo)
|
||||||
{
|
{
|
||||||
HAL_StatusTypeDef status;
|
HAL_StatusTypeDef status;
|
||||||
CAN_HandleTypeDef *hcan;
|
CAN_HandleTypeDef *hcan;
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ static int _waitq_inqueue(rt_wqueue_t *queue, struct rt_wqueue_node *node,
|
|||||||
if (ret == RT_EOK)
|
if (ret == RT_EOK)
|
||||||
{
|
{
|
||||||
rt_wqueue_add(queue, node);
|
rt_wqueue_add(queue, node);
|
||||||
if (timeout != RT_WAITING_FOREVER)
|
if ((int)timeout != RT_WAITING_FOREVER)
|
||||||
{
|
{
|
||||||
rt_timer_control(timer, RT_TIMER_CTRL_SET_TIME, &timeout);
|
rt_timer_control(timer, RT_TIMER_CTRL_SET_TIME, &timeout);
|
||||||
|
|
||||||
|
|||||||
@@ -723,7 +723,7 @@ rt_object_t rt_object_find(const char *name, rt_uint8_t type)
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* parameter check */
|
/* parameter check */
|
||||||
if (name == RT_NULL || rt_object_get_information(type) == RT_NULL)
|
if (name == RT_NULL || rt_object_get_information((enum rt_object_class_type)type) == RT_NULL)
|
||||||
return RT_NULL;
|
return RT_NULL;
|
||||||
|
|
||||||
/* which is invoke in interrupt status */
|
/* which is invoke in interrupt status */
|
||||||
|
|||||||
@@ -482,3 +482,5 @@ void rt_scheduler_stack_check(struct rt_thread *thread)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* RT_USING_OVERFLOW_CHECK */
|
#endif /* RT_USING_OVERFLOW_CHECK */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -721,3 +721,4 @@ rt_err_t rt_sched_thread_bind_cpu(struct rt_thread *thread, int cpu)
|
|||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
/**@endcond*/
|
/**@endcond*/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user