Commit Graph

3692 Commits

Author SHA1 Message Date
81298394b5 rp: remove extraneous newlines in logs 2022-09-23 07:58:48 +02:00
5d1576ea73 Add time-driver feature to docs 2022-09-23 07:58:48 +02:00
f46b838746 Feature-gate time-driver in embassy-rp 2022-09-23 07:58:48 +02:00
3f672c8a93 Make rustfmt happy 2022-09-23 07:58:48 +02:00
e5af4c4bce Add .into_inner() and .get_mut() to Mutex 2022-09-23 07:58:48 +02:00
7bb9620b1a make State::new() const, consistent with others 2022-09-23 07:58:48 +02:00
2e7916c5fe Add RP2040 ROM functions and intrinsics aliases 2022-09-23 06:45:44 +02:00
dacbc9acd5 Merge #963
963: Remove some uses of the `futures` crate r=Dirbaio a=Dirbaio

- use `Future` from `core`
- `poll_fn` is now stable in `core` since Rust 1.64 (out today)
- Use `join` from `embassy-futures`.


Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-09-22 15:46:07 +00:00
10d1ad2343 Replace futures::future::join -> embassy_futures::join::join. 2022-09-22 16:48:35 +02:00
a0487380da Replace futures::future::poll_fn -> core::future::poll_fn. 2022-09-22 16:42:49 +02:00
c1e25067da Merge #962
962: Update Rust nightly. r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-09-22 14:39:02 +00:00
897b72c872 Update Rust nightly.
Removes feature(generic_associated_types)
2022-09-22 16:38:14 +02:00
5914d80968 Add non blocking Bxcan constructor.
Signed-off-by: Andrew Ealovega <Andrew@Ealovega.dev>
2022-09-21 22:29:57 -04:00
5f7e0eb2ae Fix builds on other nrf pacs 2022-09-21 14:06:56 +02:00
15b4f9db90 Remove unused function 2022-09-21 11:19:47 +02:00
0f55f5a73d Remove left-in comments and logs 2022-09-21 11:06:06 +02:00
3d708a459c Implement proper Drop for BufferedUarte 2022-09-21 10:48:02 +02:00
3b58ac1bf8 Merge #949
949: (embassy-rp): Implement RealTimeClock r=lulf a=MathiasKoch

Basically a 1:1 port of the great implementation effort made by `rp-hal`

Co-authored-by: Mathias <mk@blackbird.online>
2022-09-21 07:19:23 +00:00
1d3e41f970 Remove code-duplication in async bufferedUart implementations 2022-09-21 06:00:35 +02:00
44d7a84e47 Merge #957
957: Take into account size of revert index r=lulf a=lulf

Fixes a bug in the partition assertions that ensures that the state page(s) have enough space for 2x active partition range.

Add unit test to verify that panic is observed.

Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
2022-09-20 12:56:46 +00:00
b418c0e4d6 Take into account size of revert index
Fixes a bug in the partition assertions that ensures that the state
page(s) have enough space for 2x active partition range.

Add unit test to verify that panic is observed.
2022-09-20 14:04:57 +02:00
11da25800b Merge #956
956: Remove BootFlash borrow r=lulf a=lulf

Compiler will infer a different lifetime for BootFlash than for the borrowed flash, which makes it require more type annotations than if it was just owning the type. Since it doesn't really matter if it owns or borrows in practical use, change it to own so that it simplifies usage.

Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
2022-09-20 07:55:20 +00:00
d0fe654c82 Remove BootFlash borrow
Compiler will infer a different lifetime for BootFlash than for the
borrowed flash, which makes it require more type annotations than if it
was just owning the type. Since it doesn't really matter if it owns or
borrows in practical use, change it to own so that it simplifies usage.
2022-09-20 09:54:37 +02:00
6663390224 Merge #954
954: rp: fix async SPI read and write r=lulf a=newAM

Closes #953 

Co-authored-by: Alex Martens <alex@thinglab.org>
2022-09-19 07:26:10 +00:00
ac13675f3a Merge #955
955: rp: remove extraneous newlines in logs r=Dirbaio a=newAM



Co-authored-by: Alex Martens <alex@thinglab.org>
2022-09-18 23:22:14 +00:00
0c6933fefb rp: remove extraneous newlines in logs 2022-09-18 14:54:24 -07:00
295cc997ae rp: let SPI RX overflow during async write 2022-09-18 12:23:17 -07:00
ab1a6889a6 rp: fix async SPI read and write 2022-09-18 12:02:05 -07:00
336ebe54c0 Merge #952
952: (embassy-rp): Feature-gate time-driver r=MathiasKoch a=MathiasKoch



Co-authored-by: Mathias <mk@blackbird.online>
2022-09-16 14:46:35 +00:00
1c657d2d55 Add time-driver feature to docs 2022-09-16 16:45:59 +02:00
c495c765df Enable embedded-io on nightly 2022-09-16 13:23:52 +02:00
feb840c503 First iteration attempt on implementing generic flash mutation access for RP2040 2022-09-16 13:20:22 +02:00
feead3ae89 Implement RealTimeClock for embassy-rp 2022-09-16 13:18:23 +02:00
f7267d493f Feature-gate time-driver in embassy-rp 2022-09-16 12:54:26 +02:00
ec10460547 Merge #950
950: Add .into_inner() and .get_mut() to Mutex r=Dirbaio a=hulthe

Similar to the methods on std Mutex, these methods allow accessing the underlying data without locking the mutex when you have exclusive access to it.

Co-authored-by: Joakim Hulthe <joakim@hulthe.net>
2022-09-16 10:32:12 +00:00
79654510b7 Make rustfmt happy 2022-09-16 10:45:01 +02:00
70a3b85acc Add .into_inner() and .get_mut() to Mutex 2022-09-16 10:32:43 +02:00
9794bc59cc Merge #948
948: (embassy-stm32): make `State::new()` const, consistent with others r=Dirbaio a=FrozenDroid



Co-authored-by: Vincent Stakenburg <v.stakenburg@sinewave.nl>
2022-09-15 11:14:24 +00:00
c4d5c047d7 make State::new() const, consistent with others 2022-09-15 12:34:17 +02:00
809a4a127b Merge #946
946: sync/signal: wake old waker on overflow instead of panicking. r=Dirbaio a=Dirbaio

This makes behavior consistent with `WakerRegistration`. It allows canceling `wait` in one task and then calling `wait` in another. If two tasks are `wait`ing concurrently the signal will be received by only one of them, randomly.

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-09-12 10:30:01 +00:00
ea5f2c71e0 sync/signal: wake old waker on overflow instead of panicking.
This makes behavior consistent with `WakerRegistration`. It allows canceling `wait`
in one task and then calling `wait` in another. If two tasks are `wait`ing
concurrently the signal will be received by only one of them, randomly.
2022-09-12 12:05:58 +02:00
b2d0f8d590 Formatting 2022-09-09 10:49:47 +02:00
31d85da78a Add bufferedUart, including a split version for only Rx or Tx 2022-09-09 10:48:52 +02:00
9611e7c9f2 Add BufferedUart implementation, and feature-guard time-driver initialization, to free up TIMER peripheral if not used with embassy executor 2022-09-09 10:48:30 +02:00
573c433f64 Merge pull request #945 from danbev/embassy-hal-common-typo
Fix typo in peripheral.rs
2022-09-08 19:09:32 +02:00
34ed3441ce Fix typo in peripheral.rs 2022-09-08 17:01:45 +02:00
5886679006 Merge #941
941: Add critical-section/std to std feature r=lulf a=danbev

This commit suggests adding `critical-section/std` to the std feature as
without this a link time error is generated:
```console
 cargo r --bin main
    Updating git repository `https://github.com/embassy-rs/embassy`
    Updating crates.io index
   Compiling embassy-executor v0.1.0 (https://github.com/embassy-rs/embassy?branch=master#50af13d4)
   Compiling embassy-macros v0.1.0 (https://github.com/embassy-rs/embassy?branch=master#50af13d4)
   Compiling embassy-time v0.1.0 (https://github.com/embassy-rs/embassy?branch=master#50af13d4)
   Compiling embassy-exploration v0.1.0 (/home/danielbevenius/work/rust/learning-rust/embassy)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/rustcSRodQD/symbols.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.14ikas4ibqicm80d.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.18i7scdiuioyv581.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.1ok8uqc3ldhimh25.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.1xqethf2arni74gv.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.21vi9l5ujpxyqdul.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.2ddnd7hcxhe0zt3p.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.2sfet6lnlsxolfnj.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.2woh8eris2teqn61.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.3ed4nji3ub904efe.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.3j1qr10cbnc5hdky.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.3kcxk9i0yzeygir7.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.3ztlzj8m8r2zg8uw.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.4121l5kfb4jvrdx7.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.4edu5yotynsqm8za.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.4v8bu7v01yjurri4.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.4vcoqtkqdc34e9mz.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.56mjzsmaddhhm01o.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.5a0f5kqacoiz75iw.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.5cdnitb2zabtf8r6.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.857b2iuurxhsdws.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.vdaib0obomov020.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.wuy7mahwirenj6w.rcgu.o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5.2vd161v9s1cmfe2q.rcgu.o" "-Wl,--as-needed" "-L" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps" "-L" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/build/defmt-585554c438e0da4a/out" "-L" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libenv_logger-13edb7439f725ac4.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libatty-12c8601fe43875b5.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/liblibc-9edce8612524dfa4.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libtermcolor-6a61078d9610ba74.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libhumantime-69fede984985242f.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libregex-626fa72ec79b7aa5.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libaho_corasick-056f10d3df8fc98c.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libmemchr-e6bbee201eb478c9.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libregex_syntax-5e1cc215759dcea0.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/liblog-41607b4997ff699e.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libembassy_executor-3e221766d4969e83.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libcfg_if-90e3626e3c41eec3.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libstatic_cell-999da4360e12ca6a.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libembassy_time-b2d6b6cd79ad554e.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libdefmt-dd2e870ef9533c1d.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libbitflags-05dfd5b5d1225bed.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libfutures_util-5618995ea68d96a0.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libpin_project_lite-d4223cfaa04037d7.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libfutures_task-a4bc7de7fd258585.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libpin_utils-b7ff504f33cec58a.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libfutures_core-27e4b4b8992e0256.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libembedded_hal-5a6482b51eb4cf4d.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libvoid-7b6fd157ed8721ab.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libnb-36022c86298e770b.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libnb-80571a5b05fafda2.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libcritical_section-b3e8f14a54b3edad.rlib" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libatomic_polyfill-51ffda39a8157221.rlib" "-Wl,--start-group" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4393e7d07259b8a4.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e13cbb326bcd01a4.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-13ac6af5403a52c8.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-a7b8febdd2acb289.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-343513f0726f71ed.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-8f833d900bfb98aa.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-e97a7960ca6216c8.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-683fb35093a61fcc.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-f943c2d34bd4b56d.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-72ce2aaa649404e0.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ac5d08ad5339e92e.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-dacfda262d5656fb.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e2056a834ba0712c.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-a60649c148c6e2db.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-3e961d059b9bcde7.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-20f26f875d0170e2.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-522518611024dce5.rlib" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-05898138a596088a.rlib" "-Wl,--end-group" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-5b83a1df856cf582.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/danielbevenius/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/main-1832a615156f75e5" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libembassy_executor-3e221766d4969e83.rlib(embassy_executor-3e221766d4969e83.embassy_executor.0b7ca5ea-cgu.11.rcgu.o): in function `critical_section::acquire':
          /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/critical-section-1.1.0/src/lib.rs:180: undefined reference to `_critical_section_1_0_acquire'
          /usr/bin/ld: /home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libembassy_executor-3e221766d4969e83.rlib(embassy_executor-3e221766d4969e83.embassy_executor.0b7ca5ea-cgu.11.rcgu.o): in function `critical_section::release':
          /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/critical-section-1.1.0/src/lib.rs:197: undefined reference to `_critical_section_1_0_release'
          /usr/bin/ld: /home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libembassy_executor-3e221766d4969e83.rlib(embassy_executor-3e221766d4969e83.embassy_executor.0b7ca5ea-cgu.11.rcgu.o): in function `critical_section::acquire':
          /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/critical-section-1.1.0/src/lib.rs:180: undefined reference to `_critical_section_1_0_acquire'
          /usr/bin/ld: /home/danielbevenius/work/rust/learning-rust/embassy/target/debug/deps/libembassy_executor-3e221766d4969e83.rlib(embassy_executor-3e221766d4969e83.embassy_executor.0b7ca5ea-cgu.11.rcgu.o): in function `critical_section::release':
          /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/critical-section-1.1.0/src/lib.rs:197: undefined reference to `_critical_section_1_0_release'
          collect2: error: ld returned 1 exit status
          
  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `embassy-exploration` due to previous error

```
I ran into this when updating an [example project](https://github.com/danbev/learning-rust/tree/master/embassy) I have to use `embassy-executor`. 

----
### Reproduce
Create a new project:
```console
$ cargo new --bin embassy-standalone
$ cd embassy-standalone
```
Update `Cargo.toml`:
```toml
[package]                                                                       
name = "embassy-standalone"                                                        
version = "0.1.0"                                                                  
edition = "2021"                                                                
                                                                                
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
                                                                                
[dependencies]                                                                  
embassy-executor = { version = "0.1.0", features = ["std", "integrated-timers", "nightly"] }
embassy-time = { version = "0.1.0", features = ["defmt", "defmt-timestamp-uptime", "std", "nightly"] }
log = "0.4.14"                                                                  
env_logger = "0.9.0"                                                            
#critical-section = { version = "1.1", features = [ "std" ] }                    
                                                                                
[patch.crates-io]                                                               
embassy-executor = { git = "https://github.com/embassy-rs/embassy", branch = "master" }
embassy-time = { git = "https://github.com/embassy-rs/embassy", branch = "master" }
```
Notice the commented out `critical-section` dependency which will produces the link error. 

Update `src/main.rs` with the code from [embassy.dev/dev/examples.html](https://embassy.dev/dev/examples.html):
```rust
#![feature(type_alias_impl_trait)]

use embassy_executor::Spawner;
use embassy_time::{Duration, Timer};
use log::*;

#[embassy_executor::task]
async fn run() {
    loop {
        info!("tick");
        Timer::after(Duration::from_secs(1)).await;
    }
}

#[embassy_executor::main]
async fn main(spawner: Spawner) {
    env_logger::builder()
        .filter_level(log::LevelFilter::Debug)
        .format_timestamp_nanos()
        .init();

    spawner.spawn(run()).unwrap();
}
```
Running the example:
```console
$ cargo r
```

Co-authored-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2022-09-08 07:10:01 +00:00
7004b095c3 Add critical-section/std to std feature
This commit suggests adding critical-section/std to the std feature as
without this a link time error is generated.
2022-09-08 06:03:43 +02:00
22c32b5d5c Merge #939
939: time: add more tick rates, use 1mhz as default. r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-09-04 22:13:34 +00:00
107bb0946a Merge #944
944: usbd-hid: 0.5.2 -> 0.6.0 r=newAM a=newAM

Changes: ccfda68832..2f1c984f2c

Co-authored-by: Alex Martens <alex@thinglab.org>
2022-09-04 21:39:09 +00:00