Skip to content

Commit

Permalink
refactor: move mavlink message creation to RadioDevice
Browse files Browse the repository at this point in the history
  • Loading branch information
jonapap committed Jun 4, 2023
1 parent b843f06 commit da913c0
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 34 deletions.
26 changes: 21 additions & 5 deletions boards/main/src/communication.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ use mcan::{
config::{BitTiming, Mode},
filter::{Action, Filter},
};
use messages::mav_message;
use messages::mavlink;
use messages::Message;
use postcard::from_bytes;
Expand Down Expand Up @@ -193,7 +192,8 @@ impl CanDevice0 {
}

pub struct RadioDevice {
pub uart: Uart<GroundStationUartConfig, Duplex>,
uart: Uart<GroundStationUartConfig, Duplex>,
mav_sequence: u8,
}

impl RadioDevice {
Expand All @@ -218,15 +218,31 @@ impl RadioDevice {
uart::BaudMode::Fractional(uart::Oversampling::Bits16),
)
.enable();
(RadioDevice { uart }, gclk0)
(
RadioDevice {
uart,
mav_sequence: 0,
},
gclk0,
)
}
pub fn send_message(&mut self, m: Message) -> Result<(), HydraError> {
let payload: Vec<u8, 255> = postcard::to_vec(&m)?;
let mav_message = mav_message::mavlink_postcard_message(payload);

let mav_header = mavlink::MavHeader {
system_id: 1,
component_id: 1,
sequence: self.mav_sequence.wrapping_add(1),
};

let mav_message = mavlink::uorocketry::MavMessage::POSTCARD_MESSAGE(
mavlink::uorocketry::POSTCARD_MESSAGE_DATA { message: payload },
);

mavlink::write_versioned_msg(
&mut self.uart,
mavlink::MavlinkVersion::V2,
mav_message::get_mav_header(),
mav_header,
&mav_message,
)?;
Ok(())
Expand Down
2 changes: 1 addition & 1 deletion boards/main/src/sd_manager.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use core::marker::PhantomData;

use crate::types::SdController;
use atsamd_hal::gpio::{Output, Pin, PushPull, C, PA16, PA17, PA18, PA19};
use atsamd_hal::gpio::{Output, Pin, PushPull, PA16, PA17, PA18, PA19};
use atsamd_hal::pac;
use atsamd_hal::sercom::{spi, IoSet1, Sercom1};
use atsamd_hal::time::Hertz;
Expand Down
1 change: 0 additions & 1 deletion libraries/messages/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ pub use mavlink;
#[cfg(feature = "ts")]
use ts_rs::TS;

pub mod mav_message;
pub mod sender;
pub mod sensor;

Expand Down
27 changes: 0 additions & 27 deletions libraries/messages/src/mav_message.rs

This file was deleted.

0 comments on commit da913c0

Please sign in to comment.