Releases
0.2.0 (WIP)
- Many functions are asynchronous
- To make create an
async
main function you can use the attribute #[libtock::main]
- To retrieve the value of an asynchronous
value
, use value.await
- This is only possible within an
async fn
, so either- Make the caller
fn
of .await
an async fn
- Not recommended: Use
core::executor::block_on(value)
to retrieve the value
syscalls::yieldk_for
is no longer available- Yielding manually is discouraged as it conflicts with Rust's safety guarantees. If you need to wait for a condition, use
futures::wait_until
and .await
.
syscalls::yieldk
has become unsafe
for the same reason- Commands are no longer
unsafe
- The low-level syscalls have been moved to
syscalls::raw
syscalls::subscribe_ptr
becomes syscalls::raw::subscribe
syscalls::allow_ptr
becomes syscalls::raw::allow
- Targets without support for atomics can be built
- Most API functions, including
main()
, return a Result<T, TockError>
- The timer now supports to be used simultaneously. To make this safe,
TimerDriver
is now a singleton.
a8bb4fa9be504517d5533511fd8e607ea61f1750 (0.1.0)
- First and highly experimental
libtock-rs
API