Added movement task and rewired the channels
This commit is contained in:
parent
ace48440f3
commit
90768d9bf0
4 changed files with 101 additions and 18 deletions
27
src/main.rs
27
src/main.rs
|
|
@ -21,18 +21,29 @@ mod display;
|
|||
use display::display_task;
|
||||
|
||||
mod usb;
|
||||
use usb::usb_task;
|
||||
use usb::{usb_task, Gs232Cmd};
|
||||
|
||||
#[derive(PartialEq, Format)]
|
||||
mod movement;
|
||||
use movement::movement_task;
|
||||
|
||||
#[derive(PartialEq, Format, Copy, Clone)]
|
||||
pub struct AzElPair {
|
||||
az: u16,
|
||||
el: u16,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Format, Copy, Clone)]
|
||||
pub struct RotorState {
|
||||
actual_pos: AzElPair,
|
||||
setpoint_pos: AzElPair,
|
||||
stopped: bool,
|
||||
}
|
||||
|
||||
#[embassy_executor::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
static CMD_CHAN: Channel<ThreadModeRawMutex, AzElPair, 1> = Channel::new();
|
||||
static CMD_CHAN: Channel<ThreadModeRawMutex, Gs232Cmd, 1> = Channel::new();
|
||||
static POS_CHAN: Channel<ThreadModeRawMutex, AzElPair, 1> = Channel::new();
|
||||
static STATE_CHAN: Channel<ThreadModeRawMutex, RotorState, 1> = Channel::new();
|
||||
|
||||
let mut config = Config::default();
|
||||
config.rcc.hse = Some(Hertz(8_000_000));
|
||||
|
|
@ -54,7 +65,15 @@ async fn main(spawner: Spawner) {
|
|||
spawner
|
||||
.spawn(usb_task(p.USB, p.PA12, p.PA11, CMD_CHAN.sender()))
|
||||
.unwrap();
|
||||
|
||||
spawner
|
||||
.spawn(display_task(p.I2C1, p.PB6, p.PB7, CMD_CHAN.receiver()))
|
||||
.spawn(movement_task(
|
||||
CMD_CHAN.receiver(),
|
||||
POS_CHAN.sender(),
|
||||
STATE_CHAN.sender(),
|
||||
))
|
||||
.unwrap();
|
||||
spawner
|
||||
.spawn(display_task(p.I2C1, p.PB6, p.PB7, STATE_CHAN.receiver()))
|
||||
.unwrap();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue