aboutsummaryrefslogtreecommitdiff
path: root/embassy-rp/src/uart
Commit message (Collapse)AuthorAgeFilesLines
* Update to embedded-io 0.7Dario Nieuwenhuis2025-12-191-0/+8
|
* Remove atomic-polyfillBjorn Beishline2025-11-252-8/+33
|
* embassy-rp: doc comment spelling passRob Wells2025-10-271-1/+1
| | | | | All changes but one are to documentation comments, and one to an ordinary comment.
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-061-12/+4
|
* remove line break reference from documentationMatt Bhagat-Conway2025-07-031-16/+16
|
* fix rustfmt in read_to_break docstringMatt Bhagat-Conway2025-07-031-1/+1
|
* add note about UART line breaks being different from ASCIIMatt Bhagat-Conway2025-07-031-0/+6
|
* Replace generic inner with argumentsMarc2025-05-021-14/+19
|
* Remove some forgotten commented out codeMarc2025-05-021-2/+0
|
* Removed instance from uart typesMarc2025-05-022-273/+324
|
* embassy-rp: uart: Increase RX FIFO watermarkDavid Brown2025-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | Change the UART RX FIFO depth from 1/8 to 7/8. This should allow for buffered receipt of uart data with a lower IRQ load. The PL011 fifo is pretty smart about the fifo, it has an automatic timeout (which triggers an interrupt) of about 4 characters worth of time, so setting this threshold doesn't affect the behavior of receipt of a partially filled fifo. This should not have any affect on the DMA mode, as the DMA will generally drain the fifo as data becomes available. The constraint for the fifo threshold should be determined by expected interrupt latency. The IRQ needs to be able to drain the fifo before it fills. As such, the proper threshold depends on system design and data rate. At full speed (7.8 Mbaud), the remaining 8 characters will come in in about 10us, which is probably insufficient. But, the time is quite adequate at lower speeds.
* BufferedUart initializationMichael Gomez2025-04-041-2/+2
| | | | | | | This change modifies UART initialization throughout Embassy to take pins before interrupts. Related to #1304.
* Remove Peripheral trait, rename PeripheralRef->Peri.Dario Nieuwenhuis2025-03-272-136/+98
|
* fix(rp): use uart dreq number defined in pacibuki20032024-11-141-6/+16
|
* Also implement `embedded_io::Write` for `UartTx<'d, T: Instance, Blocking>`flippette2024-11-011-0/+14
|
* Implement `embedded_io::Write` for `Uart<'d, T: Instance, Blocking>` (#3483)flippette2024-10-311-0/+14
| | | | | | | | | * Implement `embedded_io::{Read,Write}` for `Uart<'d, T: Instance, Blocking>` * Unimplement `embedded_io::Read` for `Uart<'d, T: Instance, Blocking>` * Revert "Unimplement `embedded_io::Read` for `Uart<'d, T: Instance, Blocking>`" * Unimplement `embedded_io::Read` for `Uart<'d, T: Instance, Blocking>` (take 2)
* rp: add constructor for tx-only blocking UARTSebastian Quilitz2024-09-161-0/+11
|
* Fix CI, rename private feature, address comments from dirbaio.Caleb Jamison2024-08-121-18/+18
|
* Handle pad isolation everywhere and in the same way.Caleb Jamison2024-08-101-4/+20
|
* Initial rp235x supportCaleb Jamison2024-08-081-6/+116
| | | | Examples have been run, but there is not yet a test suite.
* Add read_to_break_with_countJomer.Dev2024-07-191-100/+155
|
* Correctly handle modifying LCR register after uart enableMathias2024-07-171-22/+51
|
* Add split_ref fn to uart, allowing a mutable reference split into RX & TX ↵Mathias2024-07-172-3/+41
| | | | handles. Also change order of RX and TX handles in split fn, to streamline with other HALs
* rustfmtrafael2024-07-101-2/+2
|
* implement read_ready method in BufferedUartrafael2024-07-101-0/+18
|
* fix(embassy-rp): fix drop implementation of BufferedUartRx and BufferedUartTxtact1m4n32024-05-172-72/+82
|
* rp: remove mod sealed.Dario Nieuwenhuis2024-04-051-31/+24
|
* Merge branch 'embassy-rs:main' into barafael/minor_clippy_lints_rpRafael Bachmann2024-03-251-8/+2
|\
| * Fix warnings in recent nightly.Dario Nieuwenhuis2024-03-201-8/+2
| |
* | fix minor clippy lints in embassy_rpRafael Bachmann2024-03-182-3/+3
|/
* Use saturating_sub to make sure we don't overflowJomer.Dev2024-01-291-2/+2
|
* A rebase ate my doc comment!James Munns2024-01-191-0/+4
|
* Fun Learning about the RP2040 UART impl!James Munns2024-01-191-40/+41
|
* Debugging RSRJames Munns2024-01-191-48/+80
|
* A little more cleanupJames Munns2024-01-191-1/+4
|
* Update with more docs and less panicsJames Munns2024-01-191-23/+95
|
* Add a basic "read to break" functionJames Munns2024-01-191-0/+88
|
* docs: document all embassy-rp public apisUlf Lilleengen2023-12-192-1/+3
| | | | Enable missing doc warnings.
* docs: document spi, rtc and rest of uart for embassy-rpUlf Lilleengen2023-12-191-2/+46
|
* docs: embassy-rp rustdoc and refactoringUlf Lilleengen2023-12-192-0/+24
|
* Fix nb on rp uartJames Munns2023-12-181-3/+5
|
* Remove nightly and unstable-traits features in preparation for 1.75.Dario Nieuwenhuis2023-11-292-217/+192
|
* time: Update examples, tests, and other code to use new Timer::after_x ↵Adam Greig2023-10-152-4/+4
| | | | convenience methods
* Remove a few ultra-verbose logs.Dario Nieuwenhuis2023-10-031-2/+0
| | | | | | They're heavily spamming logs for HIL tests, and I don't believe they're valuable now that the thing they helped debug in their young age is now solid and mature.
* Update embedded-hal to 1.0.0-rc.1 (#1783)Dario Nieuwenhuis2023-08-162-52/+12
|
* Update to embedded-io 0.5 (#1752)Dario Nieuwenhuis2023-08-071-13/+13
|
* rp: rename gpio::Pin::io to gpio::Pin::gpiopennae2023-07-311-4/+4
| | | | | | we'll need access to the pin io bank registers for an upcoming fix, and having both `io` and `io_bank` or similar can get confusing quickly. rename `io` to `gpio` to avoid this, and also match the type while there.
* Rename embassy-hal-common to embassy-hal-internal, document it's for ↵Dario Nieuwenhuis2023-07-282-2/+2
| | | | internal use only. (#1700)
* rp: update rp-pac.Dario Nieuwenhuis2023-06-162-309/+267
|
* Make interrupt module more standard.Dario Nieuwenhuis2023-06-082-8/+8
| | | | | | | | | | | | - Move typelevel interrupts to a special-purpose mod: `embassy_xx::interrupt::typelevel`. - Reexport the PAC interrupt enum in `embassy_xx::interrupt`. This has a few advantages: - The `embassy_xx::interrupt` module is now more "standard". - It works with `cortex-m` functions for manipulating interrupts, for example. - It works with RTIC. - the interrupt enum allows holding value that can be "any interrupt at runtime", this can't be done with typelevel irqs. - When "const-generics on enums" is stable, we can remove the typelevel interrupts without disruptive changes to `embassy_xx::interrupt`.