cam state in telemetry
This commit is contained in:
parent
f532dd6d70
commit
5a30e91800
1 changed files with 13 additions and 2 deletions
|
@ -30,7 +30,7 @@ use log::*;
|
|||
use embassy_executor::Spawner;
|
||||
use embassy_net::tcp::TcpSocket;
|
||||
use embassy_net::{Config, StackResources};
|
||||
use embassy_rp::bind_interrupts;
|
||||
use embassy_rp::{bind_interrupts, watchdog};
|
||||
use embassy_rp::clocks::RoscRng;
|
||||
use embassy_rp::gpio::{Input, Level, Output, Pull};
|
||||
use embassy_rp::peripherals::{DMA_CH0, PIO0, USB};
|
||||
|
@ -278,7 +278,7 @@ async fn main(spawner: Spawner) {
|
|||
if let Ok((data, _ts)) = CHANNEL.try_receive() {
|
||||
let telem = TelemetryPacket {
|
||||
sensors: data,
|
||||
voltage: 0.0, // TODO
|
||||
cam_state: cam_state.borrow().to_telem(),
|
||||
};
|
||||
|
||||
if let Ok(telem) = postcard::to_slice(&telem, &mut telem_buf) {
|
||||
|
@ -310,6 +310,17 @@ enum CamState {
|
|||
Idle,
|
||||
}
|
||||
|
||||
impl CamState {
|
||||
fn to_telem(&self) -> common::CamState {
|
||||
match self {
|
||||
Self::Override(_) | Self::Fire => common::CamState::Firing,
|
||||
Self::Charging(_) => common::CamState::Charging,
|
||||
Self::Charged => common::CamState::Charged,
|
||||
Self::Idle => common::CamState::Idle,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[embassy_executor::task]
|
||||
async fn cam_manager(mut cam: Pwm<'static>, limit: Input<'static>, cam_state: &'static RefCell<CamState>) {
|
||||
loop {
|
||||
|
|
Loading…
Reference in a new issue