uart: add tcsendbreak support
Signed-off-by: Jon Trulson <jtrulson@ics.com> Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
This commit is contained in:
committed by
Alex Tereschenko
parent
6d5b2c0642
commit
e0a0dac47b
@@ -128,6 +128,7 @@ mraa_mock_board()
|
||||
b->adv_func->uart_init_raw_replace = &mraa_mock_uart_init_raw_replace;
|
||||
b->adv_func->uart_set_baudrate_replace = &mraa_mock_uart_set_baudrate_replace;
|
||||
b->adv_func->uart_flush_replace = &mraa_mock_uart_flush_replace;
|
||||
b->adv_func->uart_sendbreak_replace = &mraa_mock_uart_sendbreak_replace;
|
||||
b->adv_func->uart_set_flowcontrol_replace = &mraa_mock_uart_set_flowcontrol_replace;
|
||||
b->adv_func->uart_set_mode_replace = &mraa_mock_uart_set_mode_replace;
|
||||
b->adv_func->uart_set_non_blocking_replace = &mraa_mock_uart_set_non_blocking_replace;
|
||||
|
||||
@@ -53,6 +53,12 @@ mraa_mock_uart_flush_replace(mraa_uart_context dev)
|
||||
return MRAA_SUCCESS;
|
||||
}
|
||||
|
||||
mraa_result_t
|
||||
mraa_mock_uart_sendbreak_replace(mraa_uart_context dev, int duration)
|
||||
{
|
||||
return MRAA_SUCCESS;
|
||||
}
|
||||
|
||||
mraa_result_t
|
||||
mraa_mock_uart_set_flowcontrol_replace(mraa_uart_context dev, mraa_boolean_t xonxoff, mraa_boolean_t rtscts)
|
||||
{
|
||||
|
||||
@@ -137,6 +137,12 @@ mraa_pman_uart_flush_replace(mraa_uart_context dev)
|
||||
return MRAA_ERROR_FEATURE_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
static mraa_result_t
|
||||
mraa_pman_uart_sendbreak_replace(mraa_uart_context dev)
|
||||
{
|
||||
return MRAA_ERROR_FEATURE_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
static int
|
||||
mraa_pman_uart_read_replace(mraa_uart_context dev, char* buf, size_t len)
|
||||
{
|
||||
@@ -854,6 +860,7 @@ mraa_peripheralman_plat_init()
|
||||
b->adv_func->uart_init_raw_replace = &mraa_pman_uart_init_raw_replace;
|
||||
b->adv_func->uart_set_baudrate_replace = &mraa_pman_uart_set_baudrate_replace;
|
||||
b->adv_func->uart_flush_replace = &mraa_pman_uart_flush_replace;
|
||||
b->adv_func->uart_sendbreak_replace = &mraa_pman_uart_sendbreak_replace;
|
||||
b->adv_func->uart_set_flowcontrol_replace = &mraa_pman_uart_set_flowcontrol_replace;
|
||||
b->adv_func->uart_set_mode_replace = &mraa_pman_uart_set_mode_replace;
|
||||
b->adv_func->uart_set_non_blocking_replace = &mraa_pman_uart_set_non_blocking_replace;
|
||||
|
||||
@@ -323,6 +323,27 @@ mraa_uart_flush(mraa_uart_context dev)
|
||||
return MRAA_SUCCESS;
|
||||
}
|
||||
|
||||
mraa_result_t
|
||||
mraa_uart_sendbreak(mraa_uart_context dev, int duration)
|
||||
{
|
||||
if (!dev) {
|
||||
syslog(LOG_ERR, "uart: sendbreak: context is NULL");
|
||||
return MRAA_ERROR_INVALID_HANDLE;
|
||||
}
|
||||
|
||||
if (IS_FUNC_DEFINED(dev, uart_sendbreak_replace)) {
|
||||
return dev->advance_func->uart_sendbreak_replace(dev, duration);
|
||||
}
|
||||
|
||||
#if !defined(PERIPHERALMAN)
|
||||
if (tcsendbreak(dev->fd, duration) == -1) {
|
||||
return MRAA_ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
#endif
|
||||
|
||||
return MRAA_SUCCESS;
|
||||
}
|
||||
|
||||
mraa_result_t
|
||||
mraa_uart_set_baudrate(mraa_uart_context dev, unsigned int baud)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user