Commit Graph

20211 Commits (4acdf7012c1b2f96956b49c0a2ef1a50f587f502)

Author SHA1 Message Date
Russ Butler 4acdf7012c Disable all NRF52 serial interrupts on init
When initializing serial disable all interrupts as some of these may
have been enabled by a bootloader. This ensures that the NRF52
serial driver remains compatible with any bootloader version.
2018-11-21 14:37:20 -06:00
Russ Butler 9ce3965ae2 Add flow control for RX FIFO filling
When the RX FIFO is nearly full use flow control to stop receiving
data.
2018-11-19 19:21:46 -06:00
Russ Butler 59bb79b05b NRF52 Serial overhaul
Make the following enhancement:
-Support serial port use without flow control
-Prevent dropped bytes by updating flow control handling
-Remove dead code

Serial port use without flow control:
In the prior implementation there was a window of time between
reloading DMA buffers after a timeout where bytes could be dropped.
This is because the uart needed to be turned off in order to flush the
bytes in the DMA buffer.

This change configures the DMA buffer to only receive one byte at a
time so there is no need to disable the uart to flush it. After each
byte is received the DMA transfer will be over so the transfer will
never be partially complete and need flushing. Since the uart is
always on it is safe to use it even without flow control.

Prevent dropped bytes by updating flow control handling:
To prevent dropped bytes due to high latency the flow control handling
of the RTS line was configured to be asserted automatically by
hardware after each byte. Once the CPU has read the byte and setup
the next receive buffer the RTS line is deasserted to the transfer can
continue. This ensure that when flow control is enabled data won't be
lost due to interrupt latency.

Remove dead code:
With the above changes there is a lot of dead code, such as the timer
handling code. This patch removes the code that is no longer used.
2018-11-19 19:21:45 -06:00
Russ Butler 21dd8e40ab Configure NRF52 uart on interrupt attach
When attaching an irq to serial call nordic_nrf5_serial_configure.
This ensures the serial is ready to receive data at the correct
baudrate.
2018-11-16 17:35:54 -06:00
Marcus Chang bb98ce082e Make serial_putc for NRF52 non-blocking
Busy-wait before sending a charecter instead of after. If
serial_writeable has been called first, the busy-wait loop will
be skipped.

Added initialization code to ensure NRF_UARTE_EVENT_TXDRDY is
armed correctly.
2018-11-16 17:32:53 -06:00
Russ Butler 4cda158e55 Fix uart race condition dropping bytes on NRF52
In nordic_nrf5_uart_event_handler if the events NRF_UARTE_EVENT_ENDRX
and NRF_UARTE_EVENT_RXSTARTED become pending after the check for
NRF_UARTE_EVENT_ENDRX but before the check for
NRF_UARTE_EVENT_RXSTARTED the RX DMA buffers will be setup incorrectly
by nordic_nrf5_uart_event_handler_rxstarted because active_bank hasn't
been updated. This cause dropped and incorrect data.

This patch fixes that problem by adding a second check for
NRF_UARTE_EVENT_ENDRX after checking for NRF_UARTE_EVENT_RXSTARTED
and skipping processing if NRF_UARTE_EVENT_ENDRX is set. The
subsequent interrupt will process both in the correct order. This
ensures that these events cannot be handled out of order and thus fixes
the corruption.
2018-11-16 17:30:31 -06:00
Cruz Monrreal d643034941
Merge pull request #8668 from jamesbeyond/fm_emac
Enable Fast Models emac drivers
2018-11-16 09:52:06 -06:00
Qinghao Shi d157e59267 reformat to following codeing style rules 2018-11-16 10:29:31 +00:00
Qinghao Shi 25e8f89567 update wait_ms() to sleep_for() 2018-11-16 10:29:31 +00:00
Qinghao Shi 78b186ec56 Update code according to the reviews
* move emac driver to COMPONENT folder
* use mbed rtos C++ API instead of CMSIS API
2018-11-16 10:29:31 +00:00
Qinghao Shi eea7245d41 update targets.json enable EMAC driver for FVP_MPS2 platforms 2018-11-16 10:29:30 +00:00
Qinghao Shi 1a25051f91 override default mem-size in lwIP stack config 2018-11-16 10:27:15 +00:00
Qinghao Shi e603f1ad49 add FVP EMAC driver 2018-11-16 10:22:42 +00:00
Qinghao Shi bbe3b131dc add lan91c111 drivers for FVP MPS2 platfrom 2018-11-16 10:22:42 +00:00
Martin Kojtal 8a2044b5fc
Merge pull request #8763 from cmonr/rollup-b.1
Rollup PR: Retest CI-troubled PRs target for 5.11 v2
2018-11-16 09:15:56 +00:00
Cruz Monrreal II b327b12c75 Merge branch 'david_unity_error_code' of ssh://github.com/davidsaada/mbed-os into rollup-b.1 2018-11-15 18:26:14 -06:00
Cruz Monrreal II 49b940c9a7 Merge branch 'prepare_for_mbedos511' of ssh://github.com/artokin/mbed-os into rollup-b.1 2018-11-15 18:26:12 -06:00
Cruz Monrreal II 0e4f843022 Merge branch 'david_buffered_bd_perf' of ssh://github.com/davidsaada/mbed-os into rollup-b.1 2018-11-15 18:26:11 -06:00
Cruz Monrreal II 5c1c7bf71f Merge branch 'fix_astyle_error' of ssh://github.com/0xc0170/mbed-os into rollup-b.1 2018-11-15 18:26:09 -06:00
Cruz Monrreal II 8cbd310858 Merge branch 'Lora_compliance' of ssh://github.com/AnttiKauppila/mbed-os into rollup-b.1 2018-11-15 18:26:06 -06:00
Cruz Monrreal fa2077df41
Merge pull request #8685 from bridadan/clean_up_deprecated_feature_code
Clean up deprecated feature code
2018-11-15 17:05:22 -06:00
Cruz Monrreal ba0a476510
Merge pull request #8753 from 0xc0170/dev_rollup
Rollup PR: Retest bundled PRs that experienced CI issues
2018-11-15 16:55:55 -06:00
Martin Kojtal a2bced7db5 Merge branch 'lora_ut_fix' of https://github.com/AnttiKauppila/mbed-os into dev_rollup 2018-11-15 14:05:00 +00:00
Martin Kojtal 48569e1cf7 Merge branch 'master' of https://github.com/ConradBraam/mbed-os into dev_rollup 2018-11-15 14:04:41 +00:00
Martin Kojtal 251f559a3b Merge branch 'ONME-3852' of https://github.com/mtomczykmobica/mbed-os into dev_rollup 2018-11-15 14:04:01 +00:00
Martin Kojtal 22185ba229 Merge branch 'wio3g' of https://github.com/SeeedJP/mbed-os into dev_rollup 2018-11-15 14:03:13 +00:00
Martin Kojtal caae883306 Merge branch 'Musca_march' of https://github.com/deepikabhavnani/mbed-os into dev_rollup 2018-11-15 14:02:14 +00:00
Martin Kojtal 2422949398 Merge branch 'platform-lib-whitespace-patch' of https://github.com/kegilbert/mbed-os into dev_rollup 2018-11-15 13:59:30 +00:00
Martin Kojtal d925d124c9 Merge branch 'remove-filer-paths' of https://github.com/theotherjimmy/mbed into dev_rollup 2018-11-15 13:58:45 +00:00
Martin Kojtal 9a252cd218 Merge branch 'feature-emac-mxrt1050' of https://github.com/NXPmicro/mbed into dev_rollup 2018-11-15 13:58:27 +00:00
Martin Kojtal 88ef552d1a Merge branch 'master' of https://github.com/kyliuxing/mbed-os into dev_rollup 2018-11-15 13:58:04 +00:00
Martin Kojtal 3f289c217f unittest: fix stubs coding style 2018-11-15 10:47:14 +00:00
Martin Kojtal 91e1da1f8c cellular: fix test coding style 2018-11-15 10:47:11 +00:00
Martin Kojtal f91eed97da cellular: fix onboard cellular coding style 2018-11-15 10:47:08 +00:00
David Saada 3995779806 Add a Unity macro to assert on platform error code difference 2018-11-15 12:14:44 +02:00
David Saada 50836e76a1 Improve the efficiency of BufferedBlockDevice 2018-11-15 11:52:22 +02:00
Yoshihiro TSUBOI dad6ede7f5 [Wio 3G] Added default I/F type and pin defs 2018-11-15 17:38:03 +09:00
Martin Kojtal 1ac4d9b430
Merge pull request #8680 from kfnta/initial_components
Add PSA build components to build configuration for non-PSA targets
2018-11-15 07:31:09 +00:00
Martin Kojtal a2ae34b0e6 cellular: fix coding style 2018-11-15 07:23:37 +00:00
Martin Kojtal cbdd6324ed travis: echo failure if astyle fails 2018-11-15 07:20:13 +00:00
Martin Kojtal 6d6c09bb80 blockdevice: fix coding style 2018-11-15 07:20:13 +00:00
Martin Kojtal d3e51fc3a0 events: fix coding style 2018-11-15 07:20:13 +00:00
Martin Kojtal 70b5772dc4 travis: add after_failure for astyle
To get to failure, we need to exit with 1
2018-11-15 07:20:13 +00:00
Martin Kojtal 3f9d1a9271 nanostack eventloop: fix coding style 2018-11-15 07:20:13 +00:00
Martin Kojtal eec4e1329a nanostack interface: fix coding style 2018-11-15 07:20:12 +00:00
Martin Kojtal 29a1149bd6 nanostakc cmsis rtos: fix coding style 2018-11-15 07:20:12 +00:00
Martin Kojtal 3aab38140a nanostack mesh: fix coding style 2018-11-15 07:20:12 +00:00
Martin Kojtal e1e20a64f9 rtos: fix coding style 2018-11-15 07:20:12 +00:00
Martin Kojtal ef728d01dc tests: fix doxygen style 2018-11-15 07:20:12 +00:00
Martin Kojtal 53c427735c filehandle test: fix coding style 2018-11-15 07:20:12 +00:00