Commit Graph

13 Commits

Author SHA1 Message Date
Sebastian Huber
791469bd4f termios: Fix canonical mode
In canonical mode, input is made available line by line.  We must stop
the canonical buffer filling upon reception of an end-of-line character.

Close #3218.
2017-11-07 08:31:40 +01:00
Sebastian Huber
c4b8b147dd tests: Use simple console driver
Update #3170.
Update #3199.
2017-11-06 07:26:42 +01:00
Sebastian Huber
af4355459e tests: Remove TEST_INIT
The TEST_EXTERN is a used only by the system.h style tests and they use
CONFIGURE_INIT appropriately.

Update #3170.
Update #3199.
2017-10-28 13:33:56 +02:00
Chris Johns
98c6d50145 testsuite: Use printk for all test output where possible.
- Remove the printf support leaving the direct printk support configured
  with TESTS_USE_PRINTK and all other output goes via a buffered vsniprintf
  call to printk.
- Control the test's single init for functions and global data with
  TEST_INIT and not CONFIGURE_INIT. They are now separate.

Updates #3170.
2017-10-23 16:25:45 +11:00
Sebastian Huber
93531e9b08 Move RTEMS-specific Termios API content
Remove obsolete support for OFILL, OFDEL, NLDLY, CRDLY, BSDLY, VTDLY,
and FFDLY which is not present on FreeBSD and not implemented in Linux.

Update #2833.
2017-06-07 12:57:39 +02:00
Sebastian Huber
902ffeddb5 termios09: Test send callback 2017-02-28 09:09:23 +01:00
Sebastian Huber
3663543392 termios: Implement non-blocking write 2017-02-28 09:09:23 +01:00
Sebastian Huber
a165a9607a termios: Make write POSIX compatible
Currently only blocking read/write operations are implemented.  A
blocking write must transfer at least one character.  It should not wait
for the device for the second character and so on.

Close #2917.
2017-02-28 09:09:19 +01:00
Sebastian Huber
5244d31ef7 termios: Simplify oproc()
Call rtems_termios_puts() only once.  Adjust column in one place.
2017-02-28 09:05:47 +01:00
Sebastian Huber
06d14667f7 termios09: Test output post processing 2017-02-28 09:05:47 +01:00
Sebastian Huber
c80f6aa916 termios: Fix infinite loop in receive path
In canonical mode, the raw input buffer or the canonical buffer may
overflow without an end of line.  Avoid an infinite loop in this case.

Close #2915.
2017-02-28 09:05:47 +01:00
Sebastian Huber
9fa0f543ec termios: Change receive callback invocation
Call the receive callback in case a read will succeed without to block.
This enables the use of the receive callback for a poll() and select()
support.  Increase raw input buffer size to allow buffering of one line.

Close #2916.
2017-02-28 09:05:42 +01:00
Sebastian Huber
9f69ac2a9d termios: Ignore carriage return early if desired
In case carriage return characters should be ignored in the input
(IGNCR), then drop them early before they reach the raw input buffer.
This makes it easier to calculate the content size of the raw input
buffer.
2017-02-28 08:51:31 +01:00