debug tty

This commit is contained in:
wmano
2025-09-14 23:17:13 +08:00
parent 349741d9e1
commit ea8dcada90
22 changed files with 982 additions and 1156 deletions
+10 -11
View File
@@ -128,19 +128,19 @@ static int chrg_tty_dev_open (struct chrg_tty_t *pTTY)
* @param level - send mode level
* @retval instance handle
*/
struct chrg_tty_t *chrg_tty_create (const char *name, int baudrate, int parity, int pin, int level)
struct chrg_tty_t *chrg_tty_create (const char *devname, int baudrate, int parity, int pin, int level)
{
struct chrg_tty_t *pTTY = RT_NULL;
rt_device_t dev;
dev = rt_device_find(name);
dev = rt_device_find(devname);
if (RT_NULL == dev) {
LOG_E("tty device '%s' not found.", name);
LOG_E("tty device '%s' not found.", devname);
return (RT_NULL);
}
if (RT_Device_Class_Char != dev->type) {
LOG_E("tty device '%s' type is not char.", name);
LOG_E("tty device '%s' type is not char.", devname);
return (RT_NULL);
}
@@ -150,14 +150,15 @@ struct chrg_tty_t *chrg_tty_create (const char *name, int baudrate, int parity,
return (RT_NULL);
}
pTTY->lock = rt_mutex_create(name, RT_IPC_FLAG_FIFO);
pTTY->devname = devname;
pTTY->lock = rt_mutex_create(devname, RT_IPC_FLAG_FIFO);
if (RT_NULL == pTTY->lock) {
rt_free(pTTY);
LOG_E("create mutex failed.");
return (RT_NULL);
}
pTTY->evt = rt_event_create(name, RT_IPC_FLAG_FIFO);
pTTY->evt = rt_event_create(devname, RT_IPC_FLAG_FIFO);
if (RT_NULL == pTTY->evt) {
rt_mutex_delete(pTTY->lock);
rt_free(pTTY);
@@ -450,21 +451,19 @@ int chrg_tty_send (struct chrg_tty_t *pTTY, void *buf, int size)
LOG_E("tty not connected.");
return (-RT_ERROR);
}
rt_kprintf("%s %d\r\n", __func__, __LINE__);
ret = rt_mutex_take(pTTY->lock, RT_WAITING_FOREVER);
if (RT_EOK != ret) {
LOG_E("mutex take failed. [%d]", ret);
return (-RT_ERROR);
}
rt_kprintf("%s %d size %d\r\n", __func__, __LINE__, size);
chrg_tty_mode_set(pTTY, 1);//set to send mode
rt_kprintf("%s %d\r\n", __func__, __LINE__);
send_len = rt_device_write(pTTY->dev, 0, buf, size);
rt_kprintf("%s %d %d\r\n", __func__, __LINE__, send_len);
chrg_tty_mode_set(pTTY, 0);//set to receive mode
rt_mutex_release(pTTY->lock);
rt_kprintf("%s %d\r\n", __func__, __LINE__);
return send_len;
}