anchao
fa08e69cca
drivers/serial/uart_16550.c: Add serial termios handling
2018-08-26 11:30:51 -06:00
Xiang Xiao
b426e35ed2
drivers/serial/uart_16550.c: Fix UART 16550 warning when disable HAVE_16550_CONSOLE.
2018-08-26 11:28:57 -06:00
ligd
1cbaae77cc
drivers/serial/uart_16550.c: Add stub implementations of DMA-related methods in the 16550 UART v-table.
2018-08-26 11:22:44 -06:00
Xiang Xiao
46e47c8dcf
Squashed commit of the following:
...
drivers/serial/uart_16550.c: Add a configuration, analogous to the STM32 configuration option, to suppress the NuttX standard re-ordering for /dev/ttySN for special case of the 16550 UART.
config/serial: UART 16550: Add CONFIG_SERIAL_UART_ARCH_MMIO option so the a memory mapped device doesn't need to provide uart_getreg() and uart_putreg() implementations.
u16550_txempty() should check UART_LSR_TEMT to avoid some data left in the transmit FIFO
2018-08-26 11:17:33 -06:00
Xiang Xiao
ea62b13fd0
drivers/serial/serial.c: In DMA mode, the use of uart_disablexinit() is insufficient to protect a critical section. enter/leave_critical_section() must be used in those cases if CONFIG_SERIAL_DMA=y
2018-08-26 10:30:48 -06:00
Xiang Xiao
9e922873d4
drivers/serial: Move head/tail pointer reset to uart_recvchars_dma since dma may be still transferring in the background.
2018-08-26 10:03:30 -06:00
Xiang Xiao
4465cccdbd
drivers/serial/serial.c: Don't overwrite nwritten unconditionally on UART write failure.
2018-08-26 09:56:02 -06:00
xuanlin
c8df5f3df3
drivers/serial/serial.c: Support UART direct write for non console device
2018-08-26 09:47:25 -06:00
ligd
4c4d2b54a3
Send poll() notification when the Tx buffer is flushed
2018-08-26 09:39:16 -06:00
Gregory Nutt
55b7938f0a
drivers/serial/Kconfig: Make feature dependent on CONFIG_BUILD_FLAT.
2018-08-26 08:56:16 -06:00
ligd
11f8dc735c
Squashed commit of the following:
...
drivers/serial: Add Ctrl-C/Ctrl-X support. This is an initial working implementation that still requires that several details be resolved.
sched/task/task_start.c: Add default signal action to SIGKILL.
2018-08-26 08:49:08 -06:00
Gregory Nutt
729a65f3ab
drivers/serial/pty.c: Add support so that a PTY can poll for both IN/OUT event simultaneously.
2018-08-26 07:27:19 -06:00
Gregory Nutt
8fdbb1e0a4
Elimate use of the non-standard type systime_t and replace it the equivalent, standard type clock_t
...
Squashed commit of the following:
sched: Rename all use of system_t to clock_t.
syscall: Rename all use of system_t to clock_t.
net: Rename all use of system_t to clock_t.
libs: Rename all use of system_t to clock_t.
fs: Rename all use of system_t to clock_t.
drivers: Rename all use of system_t to clock_t.
arch: Rename all use of system_t to clock_t.
include: Remove definition of systime_t; rename all use of system_t to clock_t.
2018-06-16 12:16:13 -06:00
Gregory Nutt
c74e9fd6da
Update a readme and some comments.
2018-05-27 15:13:54 -06:00
Gregory Nutt
f3392e0a6c
drivers/serial: Add a timeout to uart_tcdrain(). Even if tcflush() is used to discard buffered data, the close() can still hang if (a) hardware flow control is enabled, (b) CTS == 1, and (c) there is data stuck in the hardware Tx FIFO. tcflush() does not currently clear the MCU serial drivers' hardware Tx FIFOs. This is a workaround for that.
2018-05-27 11:39:34 -06:00
Gregory Nutt
759e510c28
Per Matias Edlund: I recently used the tcflush function and found that it failed with ENOTTY. The reason is that the TCFLSH case in the function uart_ioctl in the file drivers/serial/serial.c does not update the ret value." On success, the TCFLSH IOCTL logic needs to explicitly set the return value (ret) to zero.
2018-03-26 13:54:47 -06:00
Gregory Nutt
9c1efc7ab9
drivers/serial/Kconfig: Kconfig is too big, divide into Kconfig, Kconfig-uart, Kconfig-usart, Kconfig-sci, Kconfig-16550. More than one MCU supports LPUARTs. Add Kconfig-lpuart and remove MCU-specific LPUART definitions. Affects Kinetis and STM32L4.
2018-03-14 10:33:27 -06:00
Dmitriy Linikov
a8c58607e9
Merged in hardlulz/modem-3.0-nuttx/fix-sem-EINTR (pull request #603 )
...
Added ECANCELED condition to DEBUGASSERT-s checking sem_wait result
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-02-20 18:24:53 +00:00
Gregory Nutt
1567b82429
Make sure that labeling is used consistently in all function headers (part 2).
2018-02-01 12:03:55 -06:00
Gregory Nutt
8bc90a1899
This adds basic architectural support for the LPC546xx family and includes support for the LPCXpresso-LPC54628 board. The basic NSH port is almost complete... still lacking GPIO support and LED support. There are still no significant drivers available.
...
Squashed commit of the following:
arch/arm/src/lpc54xx: Finish off some missing logic. Complete now execpt for GPIO and LED support.
arch/arm/src/lpc54xx: Add lpc54_clrpend.c
arch/arm/src/lpc54xx: Serial driver is complete and compiles.
arch/arm/src/lpc54xx: Add beginning of a serial driver (still missing some logic)
arch/arm/src/lpc54xx: Fleshes out low level USART intialization.
arch/arm/src/lpc546xx/Kconfig: Add hooks to integrate with common seril upper half.
arch/arm/src/lpc54xx: Beginning of USART console support.
arch/arm/src/lpc54xx: Completes very basic clock configuration.
arch/arm/src/lpc54xx: Add clocking logic (still not complete)
arch/arm/src/lpc54xx: Beginning of PLL configuration logic.
arch/arm/src/lpc54xx: Fix a few things from first compile attempt. Compilation cannot work until I at least finish the clock configuration logic.
arch/arm/src/lpc54xx: Addes some SysTick logic.
arch/arm/src/lpc54xx: Completes basic startup logic (sans clock configuration) and interrupt configuration.
arch/arm/src/lpc54xx: Add generic ARMv7-M start-up logic (needs LPC54628 customizations); add emtpy file that will eventually hold the clock configuration logic.
arch/arm/src/lpc54xx: Add (incomplete) SYSCON register definition header file.
arch/arm/src/lpc54xx: Add FLEXCOMM header file.
arch/arm/src/lpc54xx: Bring in tickless clock logic from LPC43; configs/lpcxpresso-lpc54628: mount procfs if enabled.
arch/arm/src/lpc54xx: Add RIT clock definitions; add SysTick initialization (not finished)
LPC54xx and LPCXpresso-LPC54628: add more boilerplate files and stubbed out files.
arch/arm/src/lpc54xx: Add (incomplete) USART header file.
Add another condition to a Kconfig; refresh a defconfig.
arch/arm/src/lpc54xx/chip: Add LPC54628 memory map header files.
configs/lpcxpresso-lpc54628: Add basic build files for the LPCXpresso-LPC54628
arch/: Basic build directory structure for the LPC54628
2017-12-07 13:30:02 -06:00
Frank Benkert
c6942f6137
drivers/serial/serial.c: Optimize wait time in tcdram() for buffer emptying
...
According to the specification, the close function must wait until all data
has been written before it closes the file (except O_NONBLOCK is set). The
maximum waiting time for this is not specified.
To be able to edit the file list of the process, the close function has to lock
the file list semaphore. After that the close function of the serial driver is
called.
Waiting for the complete transmission of all data is done in the serial driver.
This causes the semaphore to remain locked until all data has been sent.
However, no other thread of the process can edit the file list for that time
(open, close, dup2, etc.). This is not optimal in a multithreaded environment.
Therefore, we have to keep the waiting time within the driver as short as possible.
2017-11-02 08:53:14 -06:00
Gregory Nutt
85a1a3cc98
drivers/usbdev: Correct input flow control logic when watermarks are not enabled. Problem not by and change based on suggestion by Juha Niskanen.
2017-10-18 06:49:11 -06:00
Gregory Nutt
5b04c25dcd
drivers/serial/tcdrain: tcdrain() was recently added to the NuttX C library. But there is a problem. The specification of tcdrain() requires that it be a cancellation point. In order to do this, tcdrain was moved from the C library into the OS and the addition cancellation point hooks were added. In non-FLAT builds, access via system calls is also now supported.
2017-10-06 10:55:36 -06:00
Gregory Nutt
936df1bcb5
Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These differ from the standard sleep() and usleep() in that (1) they don't cause cancellation points, and (2) don't set the errno variable (if applicable). All calls to sleep() and usleep() changed to calls to nxsig_sleep() and nxsig_usleep().
...
Squashed commit of the following:
Change all calls to usleep() in the OS proper to calls to nxsig_usleep()
sched/signal: Add a new OS internal function nxsig_usleep() that is functionally equivalent to usleep() but does not cause a cancellaption point and does not modify the errno variable.
sched/signal: Add a new OS internal function nxsig_sleep() that is functionally equivalent to sleep() but does not cause a cancellaption point.
2017-10-06 10:15:01 -06:00
Gregory Nutt
9568600ab1
Squashed commit of the following:
...
This commit backs out most of commit b4747286b1
. That change was added because sem_wait() would sometimes cause cancellation points inappropriated. But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.
In the OS, all calls to sem_wait() changed to nxsem_wait(). nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.
In all OS functions (not libraries), change sem_wait() to nxsem_wait(). This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.
sched/semaphore: Add the function nxsem_wait(). This is a new internal OS interface. It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615
Squashed commit of the following:
...
sched/semaphore: Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable. Changed all references to sem_post in the OS to nxsem_post().
sched/semaphore: Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable. Changed all references to sem_destroy() in the OS to nxsem_destroy().
libc/semaphore and sched/semaphore: Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable. Changed all references to sem_setprotocol in the OS to nxsem_setprotocol(). sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552
Squashed commit of the following:
...
libc/semaphore: Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable. Changed all references to sem_getvalue in the OS to nxsem_getvalue().
sched/semaphore: Rename all internal private functions from sem_xyz to nxsem_xyz. The sem_ prefix is (will be) reserved only for the application semaphore interfaces.
libc/semaphore: Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable. Changed all references to sem_init in the OS to nxsem_init().
sched/semaphore: Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.
sched/semaphoate: Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
8394f9b60f
Squashed commit of the following:
...
configs/z80sim and xtrs: Serial driver lower halfs ioctl methods should return a negated errno value, not set the errno variable.
drivers/wireless: CC1101 driver not permitted to set errno.
drivers/sensors: LIS331DL driver not permitted to set errno.
drivers/lcd: ILI9341 initialize method not permitted to set errno,
drivers/serial: 16550 UART driver IOCTL method must not set errno; it must return a negated errno value.
2017-09-30 12:59:33 -06:00
Gregory Nutt
bd027b9019
serial.c: Use common TX drain logic when closing a driver as with the TCDRAIN IOCTL.
2017-08-01 10:14:24 -06:00
Gregory Nutt
4f0238339e
serial.c: Finish implementation of TCDRAIN. Based partly on logic from Sebastien Lorquet.
2017-08-01 07:39:08 -06:00
Sebastien Lorquet
e22912db37
drivers/serial/serial.c: Add support for TCFLUSH
2017-08-01 06:30:52 -06:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -06:00
Gregory Nutt
d3b9f5b37f
Syslog buffering: Use IOBs to buffer data, not an on-stack buffer
2017-05-10 17:36:08 -06:00
Stefan Kolb
591f35be87
I discovered a problem in the file drivers/serial/serial.c concerning the function uart_close(…). In the case that a serial device is opened with the flag O_NONBLOCK the function uart_close(…) blocks until all data in the buffer is transmitted. The function close(…) called on an handle opened with O_NONBLOCK should not block. The problem occurred with a CDC/ACM device.
2017-05-10 07:59:58 -06:00
Gregory Nutt
e3c9e9e0b8
UART 16550: Missing left parenthesis in function prototype. This is Bitbucket Issue #41 .
2017-04-20 06:50:11 -06:00
Jussi Kivilinna
e2702cbe4e
STM32F7: fix UART7 and UART8 IFLOWCONTROL options
2017-04-06 08:46:24 -06:00
Gregory Nutt
b4ff7391f8
Convert more drivers to use use irq_attach with argument.
2017-02-27 10:44:13 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
08c001196b
drivers/: Remove all explicit use of 'hidden' macro _info. Code must never use this directly. Code must always use a debug macro such as info which is basic on _info but can be appropriately filtered.
2017-01-15 13:00:50 -06:00
Gregory Nutt
4fcbe8e410
drivers: Disable priority inheritance on all semaphores used for signaling
2016-11-03 11:00:47 -06:00
Gregory Nutt
47b043df1e
drivers/serial.c: Make sure that priority inheritance is not enabled for the signaling semaphores used in the serial driver.
2016-11-03 08:16:59 -06:00
Gregory Nutt
79c8bb7ddf
Updae more comments
2016-07-27 08:03:09 -06:00
Gregory Nutt
59e0c4411f
Correct some comments
2016-07-26 13:39:20 -06:00
Gregory Nutt
0c7f5d62e4
More comments
2016-07-26 12:13:30 -06:00
Gregory Nutt
084d200a66
PTY: Cosmetic, update some comments
2016-07-26 10:09:35 -06:00
Gregory Nutt
eaaa69da0a
serial.c: Fix an error in FIONWRITE calculation
2016-07-26 06:47:53 -06:00
Gregory Nutt
e0b4a10dfa
drivers/serial/pty.c, serial.c, usbdev/cdcacm.c, include/nuttx/fs/ioctl.h: Fix FIONWRITE and add FIONSPACE. All implementations of FIONWRITE were wrong. FIONWRITE should return the number of bytes waiting in the outgoing send queue, not the free space. Rather, FIONSPACE should return the free space in the send queue.
2016-07-25 14:06:32 -06:00
Gregory Nutt
9a8c3572db
serial.c: Fix a race condition noted by Stefan Kolb. Between the test if the TX buffer is full and entering a critical section, bytes may be removed from the TX buffer making the wait unnecessary. The unnecessary wait is an inefficiency, but not really a problem. But with USB CDC/ACM it can be a problem because the entire TX buffer may be emptied when we lose the race. If that happens that uart_putxmitchar() can hang waiting for data to be removed from an empty TX buffer.
2016-07-22 07:47:59 -06:00
Gregory Nutt
10fff9011a
Move include/nuttx/configdata.h to include/nuttx/mtd/configdata.h
2016-07-21 13:34:54 -06:00
Gregory Nutt
4b4dbc79a2
Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h
2016-07-20 13:15:37 -06:00
Gregory Nutt
2cacc6204a
Kconfig: If Pseudo-terminals are enabled, then pipes must be selected as well
2016-07-19 14:26:40 -06:00
Gregory Nutt
318f34fb7d
Psuedo-terminal pipe size is now configurable
2016-07-19 14:26:41 -06:00
Gregory Nutt
56582e2263
Update some comments
2016-07-19 10:40:23 -06:00
Gregory Nutt
8bf4684de8
Update some comments
2016-07-19 09:53:52 -06:00
Gregory Nutt
a4458c5016
PTY: Fix a race condition in test-fifo-empty-before-read logic
2016-07-19 06:45:02 -06:00
Gregory Nutt
d9fbf4c90f
Eliminate some warnings
2016-07-18 11:27:06 -06:00
Gregory Nutt
1660329d06
Rename up_rnginitialize to devrandom_register
2016-07-18 10:55:37 -06:00
Gregory Nutt
6194467c13
PTY: Fix termios read input processing.. what was I thinking? Also, if some data was read, pty_read() should not block on the empty FIFO.
2016-07-18 08:00:56 -06:00
Gregory Nutt
ded91e451b
PTY: Add TERMIOS support.
2016-07-16 10:43:44 -06:00
Alan Carvalho de Assis
8fa14b8fed
Fix poll-related compile issues introduced with recent PTY changes
2016-07-16 07:03:38 -06:00
Gregory Nutt
6a75f2df89
PTY: Add some encode to reduce the likely of misinterpreting the return value of the file open() method
2016-07-15 17:13:21 -06:00
Gregory Nutt
4b1553d3ad
PTY: Fix some tricky issues. Now seems to be working. A lot more testing is needed
2016-07-15 14:29:32 -06:00
Gregory Nutt
4b5149b244
PTY: Fix a few errors from early testing
2016-07-15 14:09:02 -06:00
Gregory Nutt
9ecd558002
Add the correct implementation of the file_poll() function
2016-07-15 11:34:08 -06:00
Gregory Nutt
f7f7036db8
Update some comments
2016-07-15 11:15:33 -06:00
Gregory Nutt
4d1b811117
PTY: Add support for the poll() method.
2016-07-15 10:07:33 -06:00
Gregory Nutt
95555a0199
PTY: Add ioctls to support locking and unlocking of the slave. LIBC: Add implementation of unlockpt()
2016-07-15 09:39:33 -06:00
Gregory Nutt
6139860c0b
PTY: Added PTY IOCTL command definitions. Add support for TIOCGPTN. LIB: Implement ptsname() and ptsname_r()
2016-07-15 08:33:47 -06:00
Gregory Nutt
bcbe9806d2
In SUSv1 model, need to tried the PTY driver pair as unlinked if the master closes its reference
2016-07-15 07:33:48 -06:00
Gregory Nutt
14c216107a
PTY: Need to free PTMX minor number is slave is unlinked
2016-07-15 07:22:36 -06:00
Gregory Nutt
e50646336b
Add PTY header files
2016-07-15 07:19:42 -06:00
Gregory Nutt
7fa5093fff
PTYs prototypes hooked into build and configuration system (as EXPERIMENTAL)
2016-07-15 06:48:10 -06:00
Gregory Nutt
ccf4bfafcb
Prototype versions of ptmx/pty suppoprt. Still under developement; not yet hooked into build or configuration system.
2016-07-14 20:20:48 -06:00
Heath Petersen
dc72e16625
handle when CONFIG_SERIAL_UART_ARCH_IOCTL is not enabled
2016-07-12 06:50:58 +00:00
Gregory Nutt
29a99bef0f
serial/Kconfig: Oops put SERIAL_CONSOLE definition within if-endif condition. Better outside
2016-06-20 17:49:16 -06:00
Gregory Nutt
9434d3e945
There is now one-and-only-one copy of syslog_putc. It is in the SYSLOG channel logic and can redirect syslog output as needed. All former syslog_putc versions were renamed and the corresponding SYSLOG device initializaiton now calls syslog_channel()
2016-06-19 13:03:20 -06:00
Gregory Nutt
0c8c7fecf0
Add _ to the beginning of all debug macros to avoid name collisions
2016-06-16 12:33:32 -06:00
Gregory Nutt
efb02f2ef1
drivers/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network evernts are not errors.
2016-06-12 08:31:22 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Paul A. Patience
f8f7b7582c
Silence some warnings
2016-05-26 14:06:13 -04:00
Gregory Nutt
9ec104834a
Remove CONFIG_USARTn_ISUART
2016-05-25 11:21:48 -06:00
Gregory Nutt
c089a2f241
Rename CONFIG_ARCH_HAVE_OTHER_UART to CONFIG_OTHER_UART_SERIALDRIVER
2016-05-25 10:48:33 -06:00
Gregory Nutt
e2e6ce3f1b
Rename CONFIG_ARCH_HAVE_SCIn to CONFIG_SCIn_SERIALDRIVER
2016-05-25 10:46:55 -06:00
Gregory Nutt
2a87741e72
Rename CONFIG_ARCH_HAVE_UARTn to CONFIG_UARTn_SERIALDRIVER
2016-05-25 10:45:01 -06:00
Gregory Nutt
249a2e48e5
Rename CONFIG_ARCH_HAVE_USARTn to CONFIG_USARTn_SERIALDRIVER
2016-05-25 10:39:23 -06:00
Gregory Nutt
050f544782
Fix typo in variable name in serial BREAK logic. Review other serial implementations for similar naming problems.
2016-05-05 11:30:47 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
2244ed46bc
nuttx/drivers: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 07:32:58 -06:00
Gregory Nutt
ce2a0b6b51
Eliminate a warning
2016-01-06 10:05:39 -06:00
Gregory Nutt
ab9d124528
serial: Remove confusing inline functions. Correct attribution for serial DMA logic
2015-11-15 08:39:01 -06:00
Gregory Nutt
7f1ac36194
Serial driver: Move serial DMA logic to a separate file
2015-11-15 07:58:08 -06:00
Max Neklyudov
d54a39832a
Implement high level DMA infrastructure for serial devices
2015-11-12 14:16:19 -06:00
Gregory Nutt
cf14f8d1b5
drivers/: Fixes to spacing and alignement
2015-10-10 10:41:00 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Paul A. Patience
3b89eabd50
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
2015-09-01 13:52:29 -04:00
Anton D. Kachalov
1bb74504a8
Add support for custom platform IOCTL on UART
...
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-08-03 15:32:51 +03:00
Anton D. Kachalov
a07ed262b4
Revert "Two more places there THRE is used with inverted sense"
...
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-08-03 13:21:01 +03:00
Anton D. Kachalov
2fa6237b49
Revert THRNE-patch. The problem was in u16550_putc
...
Regarding to:
https://github.com/tanzilli/ariag25-linux-2.6.39/blob/ariag25/drivers/tty/serial/8250.c#L1584
https://github.com/tanzilli/ariag25-linux-2.6.39/blob/ariag25/drivers/tty/serial/8250.c#L1913
When UART_LSR_THRE bit is set, then we ready to transmit more.
Current u16550_putc loops while UART_LSR_THRE bit is set. This logic have to be inverted.
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-08-03 13:19:55 +03:00
Anton D. Kachalov
274b7986be
[drivers/serial/uart_16550] Typo fix in data bits setup
...
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-07-31 20:19:54 +03:00
Gregory Nutt
fb82061bf7
Two more places there THRE is used with inverted sense
2015-07-29 20:42:49 -06:00
Gregory Nutt
8935ff34d5
16550 UART Driver: Add a configuration option to indicate the the THR empty bit is inverted. This is the the case for the moxART SoC. Based comments from Anton D. Kachalov
2015-07-29 16:31:21 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
e4d2822af8
Make some file section headers more consistent with standard
2015-04-08 07:15:32 -06:00
Gregory Nutt
b83cea4f99
Back out 70cb75adaf3243478276cebf367c5f47c4725715
2015-03-13 10:40:09 -06:00
Gregory Nutt
3473bb1635
drivers/serial: Report correct number of bytes free in serial buffer with FIONWRITE. From Jussi Kivilinna.
2015-03-13 07:22:43 -06:00
Gregory Nutt
6f335dc6c6
STM32 SPI: The source clock for SPI 4,5, and 6 should be PCLK2, not PCLK1 (for F411, F427, and F429). Per David Sidrane.
2015-02-07 13:59:45 -06:00
Gregory Nutt
52aeabb4b2
Cosmetic changes
2015-01-02 13:59:47 -06:00
Gregory Nutt
5ee81c0d50
Serial: Allow serial console selection even if /dev/console is disabled: There can still be a serial console with no file system at all
2014-12-28 15:23:05 -06:00
Gregory Nutt
089578319a
STM32 Serial: PX4 HW workarround for flaky STM32 RTS. From David Sidrane
2014-12-27 18:58:18 -06:00
Gregory Nutt
33f7151cd9
Remove STM32-specific RX flow control logic from the upper level serial driver to the lower level STM32 serial driver
2014-12-27 09:45:45 -06:00
Gregory Nutt
32fd858dc6
Serial RX Flow Control: Fix a bunch of compile problems introduced into unbuilt, conditioned out logic
2014-12-27 08:15:41 -06:00
Gregory Nutt
2fadd0da4b
Eliminate an unnecessary calculation in the serial RX flow control logic
2014-12-27 08:00:48 -06:00
Gregory Nutt
aefde565d3
Serial Upper Half: Add watermarks to RX flow control logic
2014-12-27 07:43:06 -06:00
Gregory Nutt
623757d77c
Update TODO list and add REVISIT comment
2014-12-13 08:44:28 -06:00
Gregory Nutt
d09bb13833
In case a thread is doing a blocking operation (e.g. read()) on a serial
...
device, while it is being terminated by pthread_cancel(), then
uart_close() gets called, but the semaphore (dev->recv.sem in the above
example) is still blocked.
This means that once the serial device is opened next time, data will
arrive on the serial port (and driver interrupts handled as normal), but
the received characters never arrive in the reader thread.
This patch addresses the problem by re-initializing the semaphores on the
last uart_close() on the device.
2014-12-13 08:07:21 -06:00
Gregory Nutt
0ec5043a4e
Add an interface definition and upper half driver for a discrete joystick device
2014-11-27 17:42:16 -06:00
Gregory Nutt
5d231b25f0
SAMA5D3 Xplained: Add an apps/examples/bridge configuration
2014-11-20 16:24:30 -06:00
Gregory Nutt
5120d745fd
Fix some typos
2014-10-29 10:48:50 -06:00
Gregory Nutt
6c9f325e1e
Move selection for CONFIG_SERIAL_TERMIOS out of MCU Kconfigs to common drivers/serial/Kconfig. Add CONFIG_ARCH_HAVE_SERIAL_TERMIOS to indicate if an MCU supports TERMIOS
2014-10-27 11:31:16 -06:00
Gregory Nutt
37e08c3b49
The olimex-efm32g880f128-stk now defaults to use LEUART1 as the serial console. Also fixes lots of compile bugs from the original LEUART checkin
2014-10-21 11:38:51 -06:00
Gregory Nutt
d13c9a08b9
EFM32: Add configuration support for LEUARTs
2014-10-21 09:37:02 -06:00
Gregory Nutt
47d55c28dc
Mostly cosmetic changes
2014-09-04 10:28:38 -06:00
Gregory Nutt
320707fdfa
SAMA5: Fix bugs in timer/counter interrupts and one-shot timer
2014-08-10 10:47:38 -06:00
Gregory Nutt
b5efb9dd77
Add serial method so that lower half driver can provide RX flow control information. From Jussi Kivilinna
2014-05-08 09:01:14 -06:00
Gregory Nutt
7594d8b8cf
Add serial method so that lower half driver can provide RX flow control information. From Jussi Kivilinna
2014-05-08 09:00:33 -06:00
Gregory Nutt
7ad2ace833
Costmetic changes to some comments
2014-04-14 16:36:07 -06:00
Gregory Nutt
3a1324741a
More trailing whilespace removal
2014-04-13 14:32:20 -06:00
Gregory Nutt
cbdc9155ab
SAMA5: Add support for DBGU. Xplained board now uses DBGU for the serial console
2014-04-01 11:24:15 -06:00
Gregory Nutt
113d5a2a81
Correct an error introduced in this file in very recent commits
2014-03-06 15:33:02 -06:00
Gregory Nutt
17a96f6e1e
configs/us7032evb1/ostest: Configuration converted to use the kconfig-frontends tools
2014-03-06 09:17:11 -06:00
Gregory Nutt
ba6fe788ea
SAMA5 serial: Restore logic to minimize TX interrupts. Oddly, seems to improve ADC stability
2013-10-26 16:02:07 -06:00
Gregory Nutt
0ab6d8382f
SAMA5 TC: Debug instrumentation
2013-10-26 14:03:30 -06:00
Gregory Nutt
bc46b447dc
Fix all occurrences of "the the" in documentation and comments
2013-08-27 09:40:19 -06:00
Gregory Nutt
dd3c682443
SAMA5: Some improvements to the HSCMI card removal/insertion logic
2013-08-11 11:13:11 -06:00
Gregory Nutt
82b528e0c8
Serial FIONREAD, FIONWRITE, and TERMIOS I/O processing from Mike Smith, Andrew Tridgell, and and Lorenz Meier
2013-08-10 19:14:05 -06:00
Gregory Nutt
968b2553cd
Rearrange configuration settings so that ARCH_HAVE_SDIO is moved to higher, sharable level
2013-08-10 09:06:53 -06:00
Gregory Nutt
77e1c27005
Update SAMA5D3x-EK board configuration to support on-board UART connections, LEDs, and push buttons
2013-07-24 12:27:12 -06:00
Gregory Nutt
9cf942bcb2
SAM3/4: Loop counter for PLL delay must be volatile or it may get optimized away
2013-06-13 16:18:25 -06:00
Gregory Nutt
3edec35c51
Add flow control support to the STM32 serial driver; Fix some issues with UART2 and 5. From Lorenz Meier and Mike Smith
2013-06-06 14:49:14 -06:00
Gregory Nutt
420ca1b256
configs/freedom-kl25z: Change references to NuTiny to Freedom KL25Z
2013-04-25 20:09:15 -06:00
Gregory Nutt
b630e6a153
Useless TIOCSERGSTRUCT logic in most serial drivers is not compiled unless CONFIG_DEBUG and CONFIG_SERIAL_TIOCSERGSTRUCT are defined
2013-04-25 15:52:48 -06:00
patacongo
0bfa1b75e2
Add support for STM32 F427/437 chips. From Mike Smith
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5807 42af7a65-404d-4744-a932-0658087f49c3
2013-04-01 13:43:31 +00:00
patacongo
ebf9960deb
convert Kwikstik K40 configurations to use kconfig-frontends tools
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5784 42af7a65-404d-4744-a932-0658087f49c3
2013-03-25 17:33:41 +00:00
patacongo
730dc3e202
Add missing implementation of O_NONBLOCK for serial writes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5755 42af7a65-404d-4744-a932-0658087f49c3
2013-03-18 16:04:29 +00:00
patacongo
d621681866
Some NuTiny-SDK-NUC120 size reduction; All serial driver vtables should be static const
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5683 42af7a65-404d-4744-a932-0658087f49c3
2013-02-27 22:24:49 +00:00
patacongo
ad447766ff
Fix a readline bug. If a NUL is received, it would return end-of-file
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5633 42af7a65-404d-4744-a932-0658087f49c3
2013-02-10 00:46:27 +00:00
patacongo
cf411bec51
A spurious checkin... I just want to improve some code structure
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5597 42af7a65-404d-4744-a932-0658087f49c3
2013-02-02 01:50:34 +00:00
patacongo
11aa231cf0
drivers/serial.c: Fix some race conditions. Some bad things code happen if we lost a USB connection at certain times.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5596 42af7a65-404d-4744-a932-0658087f49c3
2013-02-02 00:29:55 +00:00
patacongo
9a05ccdbbc
Last minute 6.25 change
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5595 42af7a65-404d-4744-a932-0658087f49c3
2013-02-01 22:51:34 +00:00
patacongo
1b94639432
Misc clean; mark assertions as non-returning; allow toolchain prefix to be overriden from make command line
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5591 42af7a65-404d-4744-a932-0658087f49c3
2013-01-31 23:29:34 +00:00
patacongo
cdbbfaa464
Fix readline return value; Add support for removable serial devices
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5589 42af7a65-404d-4744-a932-0658087f49c3
2013-01-31 16:52:20 +00:00
patacongo
df9a72994f
configs/xtrs/nsh and pashello now use kconfig-frontends and build Windows native
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5422 42af7a65-404d-4744-a932-0658087f49c3
2012-12-09 17:34:53 +00:00
patacongo
620d1c9a33
configs/xtrs/ostest converted to kconfig-frontend and Windows native
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5421 42af7a65-404d-4744-a932-0658087f49c3
2012-12-08 23:21:34 +00:00
patacongo
a93d7eb69e
Shenzhou board is first to use ONLY Kconfig for configuration
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5114 42af7a65-404d-4744-a932-0658087f49c3
2012-09-08 13:56:21 +00:00
patacongo
08ef9d0367
Add Kconfig settings for the LPC17xx
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5094 42af7a65-404d-4744-a932-0658087f49c3
2012-09-05 17:20:19 +00:00
patacongo
e3f1d80ed6
Refactor serial configuratin; AVR teensy Kconfig now builds
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5092 42af7a65-404d-4744-a932-0658087f49c3
2012-09-05 12:45:35 +00:00
patacongo
59588247bf
Kconfig changes + back out part of last check-in: The 2STOP setting must be integer 0/1, not boolean
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5086 42af7a65-404d-4744-a932-0658087f49c3
2012-09-04 15:28:56 +00:00
patacongo
70b1c3f2f6
Make the lib/ subdirectory build more like other directories
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5025 42af7a65-404d-4744-a932-0658087f49c3
2012-08-13 22:27:06 +00:00
patacongo
b7a1b00c08
drivers/serial/serial.c open, read, write, and poll methods will not return a short transfer or an EINTR error if a signal is received while waiting (only)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5022 42af7a65-404d-4744-a932-0658087f49c3
2012-08-12 17:37:04 +00:00
patacongo
5b7341f5db
drivers/, drivers/pipes, and drivers/serial file clean-up
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4944 42af7a65-404d-4744-a932-0658087f49c3
2012-07-15 14:56:25 +00:00
patacongo
be3ebf6201
More Kconfig files
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4632 42af7a65-404d-4744-a932-0658087f49c3
2012-04-18 19:17:30 +00:00
patacongo
e91f97ada2
drivers/serial: Don't disable Rx interrrupts on each character
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4631 42af7a65-404d-4744-a932-0658087f49c3
2012-04-18 17:08:27 +00:00
patacongo
e828b09381
Kconfig updates
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4606 42af7a65-404d-4744-a932-0658087f49c3
2012-04-14 13:31:14 +00:00
patacongo
0830ef18dd
Minor kconfig fixes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4600 42af7a65-404d-4744-a932-0658087f49c3
2012-04-13 15:04:05 +00:00
patacongo
1dc41e329b
Kconfig update
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4599 42af7a65-404d-4744-a932-0658087f49c3
2012-04-13 14:27:44 +00:00
patacongo
330b89ca0e
Add kconfig documentation
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4567 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 16:45:52 +00:00
patacongo
4b8c0c41c8
Adding skeleton Kconfig files (part 1 of 2)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4564 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 15:49:35 +00:00
patacongo
1c1dee962d
A couple of fixes to common and STM32 serial handling to fix some data overrun conditions
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4550 42af7a65-404d-4744-a932-0658087f49c3
2012-04-02 01:02:41 +00:00
patacongo
34b7ebdf68
Move serial header files to include/nuttx/serial
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4500 42af7a65-404d-4744-a932-0658087f49c3
2012-03-21 19:47:23 +00:00
patacongo
2fe4ad52f8
Move file-system header files to include/nuttx/fs
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4499 42af7a65-404d-4744-a932-0658087f49c3
2012-03-21 18:01:07 +00:00
patacongo
e69cbad010
Add logic so that a RAM log can be used in place of a console device
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4380 42af7a65-404d-4744-a932-0658087f49c3
2012-02-11 03:50:52 +00:00
patacongo
8d01473fff
Move lib/stdio/lib_fgets.c to apps/system/readline; simplify fgets(); use readline instead of fgets in NSH
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4356 42af7a65-404d-4744-a932-0658087f49c3
2012-02-01 19:07:57 +00:00
patacongo
ee04a259db
ADS7843E driver is code complete
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4018 42af7a65-404d-4744-a932-0658087f49c3
2011-10-04 17:08:59 +00:00
patacongo
95e415d274
Re-architect FAT data structures to support long file names
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3780 42af7a65-404d-4744-a932-0658087f49c3
2011-07-13 13:30:38 +00:00
patacongo
62d94bb3d6
Add wchar_t type; Add LPC17xx CAN driver from Lzyy; Fix serial bug reported by Lzyy
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3775 42af7a65-404d-4744-a932-0658087f49c3
2011-07-12 16:36:45 +00:00
patacongo
2ad95a1d10
Correct error handling in the case of an overrun error in the serial driver
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3774 42af7a65-404d-4744-a932-0658087f49c3
2011-07-12 14:29:08 +00:00
patacongo
fe7a627a50
Update documents and comments
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3723 42af7a65-404d-4744-a932-0658087f49c3
2011-06-18 15:49:59 +00:00
patacongo
1ba2240762
Add initial CC1101 wireless logic from Uros
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3617 42af7a65-404d-4744-a932-0658087f49c3
2011-05-16 15:09:39 +00:00
patacongo
fff9db3c57
First set of changes to incorporate the RGMP port
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3595 42af7a65-404d-4744-a932-0658087f49c3
2011-05-12 17:42:01 +00:00
patacongo
a3c96a8df6
Add QEMU NSH configuration
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3358 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 04:13:44 +00:00
patacongo
046aa70b2a
Fix basic QEMU port
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3357 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 00:58:10 +00:00
patacongo
9634f25391
Changing NuttX fixed size type names to C99 standard names -- things will be broken for awhile
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2343 42af7a65-404d-4744-a932-0658087f49c3
2009-12-15 14:25:14 +00:00
patacongo
9535a28d7a
Eliminate some hcs12 compile errors/warnings
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2329 42af7a65-404d-4744-a932-0658087f49c3
2009-12-13 15:13:37 +00:00
patacongo
9b04ee217e
Move some drivers to separate subdirectories
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2156 42af7a65-404d-4744-a932-0658087f49c3
2009-10-18 13:52:21 +00:00