Andres Oliva
4cec4b0548
Remove more unused stuff
2023-10-11 23:52:26 +02:00
Dario Nieuwenhuis
b91d1eaca0
stm32/rcc: add LSE/LSI to all chips, add RTC to more chips.
2023-10-11 04:12:38 +02:00
Andres Oliva
cd12c9cbce
stm32: add timeout to I2C driver
2023-10-10 18:20:46 +02:00
Gabriel Górski
e62bf6a9fd
Patch tests & examples
2023-10-09 13:46:56 +02:00
Dario Nieuwenhuis
6186fe0807
stm32/rcc: use PLL enums from PAC.
2023-10-09 02:48:22 +02:00
Dario Nieuwenhuis
85c6f23dcb
Merge pull request #2018 from jamesmunns/add-derives
...
Add some uncontroversial derives to Error types
2023-10-07 00:03:10 +00:00
Dario Nieuwenhuis
3a8e0d4a27
stm32: implement MCO for all chips.
2023-10-07 01:15:24 +02:00
Matt Ickstadt
f01609036f
h7: implement RTC and LSE clock configuration
2023-10-06 13:28:30 -05:00
James Munns
930b8f3495
Add some uncontroversial derives to Error types
2023-10-06 17:45:35 +02:00
Dario Nieuwenhuis
0324cee0ca
update embedded-io, embedded-nal-async.
2023-10-04 00:10:55 +02:00
Dion Dokter
05a9b11316
Fix examples
2023-10-01 23:39:53 +02:00
Dario Nieuwenhuis
5d8817d109
stm32/usart: return error instead of panicking on bad baudrate.
2023-09-26 00:19:27 +02:00
Dario Nieuwenhuis
83b4c01273
stm32/rcc: unify h5 and h7.
2023-09-21 23:47:56 +02:00
Ulf Lilleengen
1b20ba27b1
feat: bump embassy-sync version to 0.3.0
...
Update changelog in preparation for release
2023-09-14 18:26:00 +02:00
Tobias Breitwieser
dcd1a91966
stm32: bump fmc version
2023-09-14 14:07:15 +02:00
JuliDi
cf2d4eca7c
add wait_config_up to examples
2023-09-08 17:40:20 +02:00
Jesse Braham
1f63bf4153
Release embassy-time v0.1.3
2023-08-28 08:00:18 -07:00
Dániel Buga
a2c718f61c
Bump executor crate version to 0.3.0
2023-08-23 20:34:37 +02:00
Dario Nieuwenhuis
b3212ae383
Merge pull request #1763 from rubdos/sender-receiver-with-ctx
...
Refactor Channel/Sender/Receiver poll methods
2023-08-22 21:25:29 +00:00
Ruben De Smet
c39671266e
Deprecate *recv* in favor of *receive*
2023-08-22 16:58:31 +02:00
Dario Nieuwenhuis
f26dd54f63
Update embedded-hal to 1.0.0-rc.1 ( #1783 )
2023-08-16 00:40:56 +02:00
Dario Nieuwenhuis
5d5cd23715
Update to embedded-io 0.5 ( #1752 )
2023-08-07 13:43:09 +02:00
Julian
027801db60
Fix probe chip type in stm32h7 example
2023-07-31 10:17:44 +02:00
Dario Nieuwenhuis
6c6bd11c1a
Merge pull request #1606 from JcBernack/rng-update
...
STM32: RNG update
2023-07-30 23:44:11 +00:00
Dario Nieuwenhuis
4999b045df
stm32/rng: use bind_interrupts!.
2023-07-31 01:41:12 +02:00
bofh
04ed45941a
Fix format in stm32 SPI examples
2023-07-30 19:31:22 +02:00
bofh
55fb1d5126
Fix more stm32 SPI examples
2023-07-30 19:26:24 +02:00
xoviat
0d7b005252
stm32/pwm: add output type control
2023-07-29 12:01:32 -05:00
JuliDi
937a63ce28
remove memory.x files for other stm32 examples
2023-07-28 16:38:02 +02:00
JuliDi
b57ba84da5
add dac-dma example for h7, remove memory.x
2023-07-28 16:34:20 +02:00
Dario Nieuwenhuis
3690af9bea
stm32/timer: merge pwm module into timer. ( #1703 )
...
The traits there are applicable to timer use cases other than PWM.
It doesn't make sense to keep them separated.
2023-07-28 15:29:27 +02:00
Dario Nieuwenhuis
7fc138c91e
Merge pull request #1676 from adamgreig/fix-dac-example
...
stm32: Fix DAC examples
2023-07-24 14:18:37 +00:00
Adam Greig
fbe30b2453
Add notes about setting chip name correctly for examples.
2023-07-22 21:58:29 +01:00
Adam Greig
c83552eadc
stm32: fix DAC examples
...
The DAC driver defaults to enabling the channel trigger, but leaves it
at the default value of TIM6 TRGO, then performs a software trigger
after writing the new output value. We could change the trigger
selection to software trigger, but for this example it's simpler to just
disable the trigger.
2023-07-22 12:57:49 +01:00
xoviat
17d5e1c470
stm32/eth: add set_poll_interval
2023-07-15 12:02:08 -05:00
xoviat
975a780efe
stm32/eth: impl. poll interval
2023-07-15 09:57:09 -05:00
Dario Nieuwenhuis
d137286981
Release embassy-time v0.1.2
2023-07-06 01:29:44 +02:00
Dario Nieuwenhuis
a101d9078d
update embedded-hal crates.
2023-07-04 19:59:36 +02:00
Dario Nieuwenhuis
6eb46c419c
Merge pull request #1565 from JuliDi/main
...
Implement DMA for DAC on STM32
2023-06-29 08:54:28 +00:00
Dario Nieuwenhuis
f7ec579c18
Update probe-rs-cli -> probe-rs
2023-06-29 02:39:28 +02:00
JuliDi
91c31d5e43
Update DAC examples, add DAC + DMA example
2023-06-28 11:58:25 +02:00
Dario Nieuwenhuis
219ef5b37a
stm32/otg: add VBUS detection.
...
Fixes #1442 .
2023-06-27 12:52:37 +02:00
Dario Nieuwenhuis
558918651e
stm32: update stm32-metapac.
2023-06-19 03:22:12 +02:00
Dario Nieuwenhuis
98c821ac39
Remove embassy-cortex-m crate, move stuff to embassy-hal-common.
2023-06-09 16:44:20 +02:00
Ruben De Smet
352f0b6c38
net: Support dual stack IP
2023-06-07 13:18:19 +02:00
Ruben De Smet
54bab33c73
Rename StaticConfig to StaticConfigV4
2023-06-06 17:04:21 +02:00
Dario Nieuwenhuis
1d8321b821
Use make_static! from static-cell v1.1
2023-06-01 01:42:34 +02:00
Rasmus Melchior Jacobsen
8938d928f8
Fix examples
2023-05-25 22:36:56 +02:00
Rasmus Melchior Jacobsen
860b519f99
Let Flash<Async/Blocking> be a thing
2023-05-25 21:40:54 +02:00
Rasmus Melchior Jacobsen
7371eefa86
Align with new bind_interrupt
2023-05-25 20:07:42 +02:00
Rasmus Melchior Jacobsen
525e065474
Align examples
2023-05-25 20:07:42 +02:00
Rasmus Melchior Jacobsen
7477785bbb
Align examples
2023-05-25 20:07:41 +02:00
xoviat
316be179af
stm32: move to bind_interrupts
...
disable lora functionality for now
2023-05-24 17:29:56 -05:00
Dario Nieuwenhuis
26d7610554
net: do not use smoltcp Instant/Duration in public API.
2023-05-15 00:53:30 +02:00
Dirk Stolle
0584312ef0
Fix some typos
2023-05-08 23:25:01 +02:00
Ulf Lilleengen
42a8f1671d
Bump versions preparing for -macros and -executor release
2023-04-27 11:54:22 +02:00
Dario Nieuwenhuis
054ca17f66
Switch from probe-run to probe-rs-cli.
...
- probe-run screwed up the last release 2 weeks ago and it's still not fixed (issue 391). Doesn't look well maintained.
- Even when it's not broken, it lags behind probe-rs-cli in new chips support because it's slow in updating probe-rs.
2023-04-26 17:00:51 +02:00
pennae
8a9136e4e4
enable inline-asm feature for cortex-m in examples
...
inline assembly is supported since rust 1.59, we're way past that.
enabling this makes the compiled code more compact, and on rp2040
even decreses memory usage by not needing thunks in sram.
2023-04-18 21:07:36 +02:00
Dario Nieuwenhuis
577f060d24
Release embassy-sync v0.2.0
2023-04-13 23:40:49 +02:00
Dario Nieuwenhuis
be37eee13d
Update embedded-hal crates.
2023-04-06 22:41:50 +02:00
Rasmus Melchior Jacobsen
2a49e11cb0
Align flash examples
2023-04-05 10:55:31 +02:00
Dario Nieuwenhuis
d3c4e4a20a
executor: add Pender, rework Cargo features.
...
This introduces a `Pender` struct with enum cases for thread-mode, interrupt-mode and
custom callback executors. This avoids calls through function pointers when using only
the thread or interrupt executors. Faster, and friendlier to `cargo-call-stack`.
`embassy-executor` now has `arch-xxx` Cargo features to select the arch and to enable
the builtin executors (thread and interrupt).
2023-04-03 03:09:11 +02:00
Dario Nieuwenhuis
b2c6dc45e3
Fix examples broken by the macro fix.
2023-03-08 09:17:01 +01:00
Dario Nieuwenhuis
76642b3a3c
fix h7 examples
2023-02-10 23:35:44 +01:00
Dario Nieuwenhuis
3af991ab63
usb: unify ControlHandler+DeviceStateHandler, route all control requests to all handlers.
...
- Allows classes to handle vendor requests.
- Allows classes to use a single handler for multiple interfaces.
- Allows classes to access the other events (previously only `reset` was available).
2023-02-08 00:17:08 +01:00
Ulf Lilleengen
2a0ea52878
add missing copy of icmpv6 checksum
...
add proto-ipv6 feature to stm32h7 example to catch issues in CI
2023-01-24 10:25:37 +01:00
Dario Nieuwenhuis
fe15a7beee
net: allocate space for 2 sockets, needed for dhcp.
2023-01-19 14:44:01 +01:00
Paweł Jan Czochański
8f4fae9b36
Add smoltcp dhcp socket configuration
2023-01-19 14:44:01 +01:00
chemicstry
1af102a1aa
stm32 otg: add examples.
2023-01-11 17:58:15 +01:00
Dario Nieuwenhuis
1f033d509a
net: split driver trait to a separate crate.
2022-12-26 04:49:08 +01:00
Dario Nieuwenhuis
72bb9b53a2
net: remove unused pool-x features
2022-12-26 03:34:05 +01:00
Dario Nieuwenhuis
5eae295c8a
stm32: rename feature net
to embassy-net
.
...
The eth code is always built and available, but has no own API (other
than the embassy-net Device impl) to rx/tx packets. We could add this
API in the future, so the feature only means "embassy-net support".
2022-12-13 16:43:25 +01:00
Dario Nieuwenhuis
3005ee0178
stm32/eth_v2: update to new embassy-net trait, remove PeripheralMutex.
2022-12-13 16:43:25 +01:00
Dario Nieuwenhuis
1dcb0ea1f5
Bump defmt-rtt to 0.4
2022-11-29 21:15:24 +01:00
Dario Nieuwenhuis
3135ad016d
Bump embedded-nal-async to 0.3.0
2022-11-29 12:05:46 +01:00
Dario Nieuwenhuis
1e2fb0459d
Switch to async-fn-in-trait
2022-11-25 21:02:06 +01:00
Matous Hybl
cbc97758e3
stm32: Fix watchdog division by zero for 256 prescaler, add watchdog example for H7
2022-11-10 15:56:28 +01:00
bors[bot]
01e23bf9dd
Merge #1025
...
1025: Implement I2C timeouts, second attempt r=Dirbaio a=chemicstry
This is an alterrnative to #1022 as discussed there.
Timeouts are implemented using suggested `check_timeout: impl Fn() -> Result<(), Error>` function, which does not depend on `embassy-time` by default and is a noop for regular I2C.
This also adds `time` feature like in `embassy-nrf` to enable `embassy-time` dependencies. While at it, I also gated some other peripherals that depend on `embassy-time`, notably `usb` and (partially) `subghz`.
`TimeoutI2c` is currently only implemented for i2cv1, because i2cv2 has additional complications:
- Async methods still use a lot of busy waiting code in between DMA transfers, so simple `with_timeout()` will not work and it will have to use both types of timeouts. It could probably be rewritten to replace busy waits with IRQs, but that's outside the scope of this PR.
- I2C definition `I2c<'d, T, TXDMA, RXDMA>` is different from i2cv1 `I2c<'d, T>` making it hard to share single `TimeoutI2c` wrapper. A couple of options here:
- Duplicate `TimeoutI2c` code
- Add dummy `TXDMA`, `RXDMA` types to i2cv1 considering that in the future it should also support DMA
Co-authored-by: chemicstry <chemicstry@gmail.com>
2022-10-26 19:34:43 +00:00
Guillaume MICHEL
9cac649fcf
stm32: Add support for read_until_idle on UART
2022-10-26 19:06:18 +02:00
Dario Nieuwenhuis
eeb072d9cb
Update Rust nightly.
2022-10-26 16:47:29 +02:00
chemicstry
52c03cf0a4
Add more docs
2022-10-24 22:48:40 +03:00
chemicstry
1bed02296c
i2cv2 timeouts
2022-10-24 12:33:17 +03:00
chrysn
6718ca3a94
all Cargo.toml: Add license to all crate Cargo.toml files
...
Closes: https://github.com/embassy-rs/embassy/issues/1002
2022-10-07 12:41:56 +02:00
Mathias
a7fdeac560
Remove flash lock/unlock public API from stm32 flash, and perform the unlocking and locking automatically on erase and write operations
2022-09-30 06:00:46 +02:00
Ulf Lilleengen
72c2e985bb
Update embedded-hal versions and explicitly pin
2022-09-29 11:27:46 +02:00
ivmarkov
c5ce02b30e
Remove default, reorder generic params
2022-09-25 09:40:36 +03:00
Dario Nieuwenhuis
5327b9c289
time: add more tick rates, use 1mhz as default.
2022-09-02 00:59:34 +02:00
Dario Nieuwenhuis
464ae67108
net: feature-gate nightly-only async traits to allow building on stable.
2022-08-30 19:43:32 +02:00
Dario Nieuwenhuis
5677b13a86
sync: flatten module structure.
2022-08-22 22:18:13 +02:00
Dario Nieuwenhuis
21072bee48
split embassy-util
into embassy-futures
, embassy-sync
.
2022-08-22 22:18:13 +02:00
Dario Nieuwenhuis
478f472784
Remove Forever, switch to static_cell.
2022-08-22 16:11:40 +02:00
Dario Nieuwenhuis
5daa173ce4
Split embassy-time from embassy-executor.
2022-08-18 01:22:30 +02:00
Dario Nieuwenhuis
2e85eaf7d5
examples Remove the fn config()
idiom.
...
It was only useful for doing #[embassy_executor::main(config = "config()")]`. Now that
it's gone, it makes more sense to build the config in main directly.
2022-08-17 22:25:58 +02:00
Dario Nieuwenhuis
fc6e1e06b3
Remove HAL initialization from #[embassy::main] macro.
2022-08-17 22:16:46 +02:00
Dario Nieuwenhuis
67edea4168
Update to critical-section 1.0, atomic-polyfill 1.0
2022-08-17 19:01:56 +02:00
bors[bot]
0e524247fa
Merge #896
...
896: Implement I2C pullup configuration r=lulf a=chemicstry
I wasn't sure if I should put frequency into config struct, so left it separate as in SPI periph.
Also added Copy derives to gpio types, not sure why they weren't?
Co-authored-by: chemicstry <chemicstry@gmail.com>
2022-08-10 10:08:27 +00:00
chemicstry
6498324b58
Implement I2C pullup configuration
2022-08-09 22:13:35 +03:00
Ulf Lilleengen
2e76b13a4c
Add example using embedded-nal-async traits
2022-08-09 14:44:18 +02:00
Ulf Lilleengen
80c1551153
Wrap buffers in a single state type
2022-08-09 14:43:55 +02:00
Ulf Lilleengen
18671b94ba
Implement embedded-nal-async traits for embassy-net
2022-08-08 16:51:34 +02:00