Merge arbiter and channel into sync

This commit is contained in:
Emil Fresk 2023-03-01 20:11:00 +01:00
parent c4ee8e8f02
commit 32b537aef6
16 changed files with 21 additions and 73 deletions

View file

@ -1,8 +1,7 @@
[workspace] [workspace]
members = [ members = [
"rtic", "rtic",
"rtic-arbiter", "rtic-sync",
"rtic-channel",
"rtic-common", "rtic-common",
"rtic-macros", "rtic-macros",
"rtic-monotonics", "rtic-monotonics",

View file

@ -1,29 +0,0 @@
[package]
name = "rtic-arbiter"
version = "1.0.0-alpha.0"
edition = "2021"
authors = [
"The Real-Time Interrupt-driven Concurrency developers",
"Emil Fresk <emil.fresk@gmail.com>",
"Henrik Tjäder <henrik@tjaders.com>",
"Jorge Aparicio <jorge@japaric.io>",
"Per Lindgren <per.lindgren@ltu.se>",
]
categories = ["concurrency", "embedded", "no-std", "asynchronous"]
description = "rtic-arbiter lib TODO"
license = "MIT OR Apache-2.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
critical-section = "1"
rtic-common = { version = "1.0.0-alpha.0", path = "../rtic-common" }
[dev-dependencies]
tokio = { version = "1", features = ["rt", "macros", "time"] }
[features]
default = []
testing = ["critical-section/std", "rtic-common/testing"]

View file

@ -1,2 +0,0 @@
Cargo.lock
target/

View file

@ -1,16 +0,0 @@
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
For each category, *Added*, *Changed*, *Fixed* add new entries at the top!
## [Unreleased]
### Added
### Changed
### Fixed
## [v1.0.0] - 2023-xx-xx

View file

@ -1,5 +1,5 @@
[package] [package]
name = "rtic-channel" name = "rtic-sync"
version = "1.0.0-alpha.0" version = "1.0.0-alpha.0"
edition = "2021" edition = "2021"
@ -11,7 +11,7 @@ authors = [
"Per Lindgren <per.lindgren@ltu.se>", "Per Lindgren <per.lindgren@ltu.se>",
] ]
categories = ["concurrency", "embedded", "no-std", "asynchronous"] categories = ["concurrency", "embedded", "no-std", "asynchronous"]
description = "rtic-channel lib TODO" description = "Synchronization primitives for asynchronous contexts"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -1,9 +1,5 @@
//! Crate //! Crate
#![no_std]
#![deny(missing_docs)]
//deny_warnings_placeholder_for_ci
use core::cell::UnsafeCell; use core::cell::UnsafeCell;
use core::future::poll_fn; use core::future::poll_fn;
use core::ops::{Deref, DerefMut}; use core::ops::{Deref, DerefMut};
@ -172,10 +168,6 @@ impl<'a, T> DerefMut for ExclusiveAccess<'a, T> {
} }
} }
#[cfg(test)]
#[macro_use]
extern crate std;
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*; use super::*;

View file

@ -1,9 +1,5 @@
//! Crate //! Crate
#![no_std]
#![deny(missing_docs)]
//deny_warnings_placeholder_for_ci
use core::{ use core::{
cell::UnsafeCell, cell::UnsafeCell,
future::poll_fn, future::poll_fn,
@ -463,10 +459,6 @@ impl<'a, T, const N: usize> Drop for Receiver<'a, T, N> {
} }
} }
#[cfg(test)]
#[macro_use]
extern crate std;
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*; use super::*;

12
rtic-sync/src/lib.rs Normal file
View file

@ -0,0 +1,12 @@
//! Synchronization primitives for asynchronous contexts.
#![no_std]
#![deny(missing_docs)]
//deny_warnings_placeholder_for_ci
pub mod arbiter;
pub mod channel;
#[cfg(test)]
#[macro_use]
extern crate std;

View file

@ -47,7 +47,7 @@ heapless = "0.7.7"
lm3s6965 = "0.1.3" lm3s6965 = "0.1.3"
cortex-m-semihosting = "0.5.0" cortex-m-semihosting = "0.5.0"
rtic-time = { path = "../rtic-time" } rtic-time = { path = "../rtic-time" }
rtic-channel = { path = "../rtic-channel" } rtic-sync = { path = "../rtic-sync" }
rtic-monotonics = { path = "../rtic-monotonics", features = ["cortex_m_systick"] } rtic-monotonics = { path = "../rtic-monotonics", features = ["cortex_m_systick"] }
[dev-dependencies.futures] [dev-dependencies.futures]

View file

@ -12,7 +12,7 @@ use panic_semihosting as _;
#[rtic::app(device = lm3s6965, dispatchers = [SSI0])] #[rtic::app(device = lm3s6965, dispatchers = [SSI0])]
mod app { mod app {
use cortex_m_semihosting::{debug, hprintln}; use cortex_m_semihosting::{debug, hprintln};
use rtic_channel::*; use rtic_sync::{channel::*, make_channel};
#[shared] #[shared]
struct Shared {} struct Shared {}

View file

@ -12,7 +12,7 @@ use panic_semihosting as _;
#[rtic::app(device = lm3s6965, dispatchers = [SSI0])] #[rtic::app(device = lm3s6965, dispatchers = [SSI0])]
mod app { mod app {
use cortex_m_semihosting::{debug, hprintln}; use cortex_m_semihosting::{debug, hprintln};
use rtic_channel::*; use rtic_sync::{channel::*, make_channel};
#[shared] #[shared]
struct Shared {} struct Shared {}

View file

@ -12,7 +12,7 @@ use panic_semihosting as _;
#[rtic::app(device = lm3s6965, dispatchers = [SSI0])] #[rtic::app(device = lm3s6965, dispatchers = [SSI0])]
mod app { mod app {
use cortex_m_semihosting::{debug, hprintln}; use cortex_m_semihosting::{debug, hprintln};
use rtic_channel::*; use rtic_sync::{channel::*, make_channel};
#[shared] #[shared]
struct Shared {} struct Shared {}

View file

@ -12,7 +12,7 @@ use panic_semihosting as _;
#[rtic::app(device = lm3s6965, dispatchers = [SSI0])] #[rtic::app(device = lm3s6965, dispatchers = [SSI0])]
mod app { mod app {
use cortex_m_semihosting::{debug, hprintln}; use cortex_m_semihosting::{debug, hprintln};
use rtic_channel::*; use rtic_sync::{channel::*, make_channel};
#[shared] #[shared]
struct Shared {} struct Shared {}

View file

@ -12,7 +12,7 @@ use panic_semihosting as _;
#[rtic::app(device = lm3s6965, dispatchers = [SSI0])] #[rtic::app(device = lm3s6965, dispatchers = [SSI0])]
mod app { mod app {
use cortex_m_semihosting::{debug, hprintln}; use cortex_m_semihosting::{debug, hprintln};
use rtic_channel::*; use rtic_sync::{channel::*, make_channel};
#[shared] #[shared]
struct Shared {} struct Shared {}