Skip to content

Commit

Permalink
rf233 component: replace integer with constant
Browse files Browse the repository at this point in the history
and fix typo in comment
  • Loading branch information
ppannuto committed May 17, 2024
1 parent 6289b6c commit e9785c0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
16 changes: 9 additions & 7 deletions boards/components/src/rf233.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ macro_rules! rf233_component_static {
capsules_core::virtualizers::virtual_spi::VirtualSpiMasterDevice<'static, $S>,
>
);
// The RF233 radio stack requires our buffers for its SPI operations:
// The RF233 radio stack requires four buffers for its SPI operations:
//
// 1. buf: a packet-sized buffer for SPI operations, which is
// used as the read buffer when it writes a packet passed to it and the write
Expand All @@ -48,8 +48,10 @@ macro_rules! rf233_component_static {
// 3 + 4: two small buffers for performing registers
// operations (one read, one write).
let rf233_buf = kernel::static_buf!([u8; kernel::hil::radio::MAX_BUF_SIZE]);
let rf233_reg_write = kernel::static_buf!([u8; 2]);
let rf233_reg_read = kernel::static_buf!([u8; 2]);
let rf233_reg_write =
kernel::static_buf!([u8; capsules_extra::rf233::SPI_REGISTER_TRANSACTION_LENGTH]);
let rf233_reg_read =
kernel::static_buf!([u8; capsules_extra::rf233::SPI_REGISTER_TRANSACTION_LENGTH]);

(spi_device, rf233_buf, rf233_reg_write, rf233_reg_read)
};};
Expand Down Expand Up @@ -88,15 +90,15 @@ impl<S: SpiMaster<'static> + 'static> Component for RF233Component<S> {
type StaticInput = (
&'static mut MaybeUninit<RF233<'static, VirtualSpiMasterDevice<'static, S>>>,
&'static mut MaybeUninit<[u8; hil::radio::MAX_BUF_SIZE]>,
&'static mut MaybeUninit<[u8; 2]>,
&'static mut MaybeUninit<[u8; 2]>,
&'static mut MaybeUninit<[u8; SPI_REGISTER_TRANSACTION_LENGTH]>,
&'static mut MaybeUninit<[u8; SPI_REGISTER_TRANSACTION_LENGTH]>,
);
type Output = &'static RF233<'static, VirtualSpiMasterDevice<'static, S>>;

fn finalize(self, s: Self::StaticInput) -> Self::Output {
let rf233_buf = s.1.write([0; hil::radio::MAX_BUF_SIZE]);
let rf233_reg_write = s.2.write([0; 2]);
let rf233_reg_read = s.3.write([0; 2]);
let rf233_reg_write = s.2.write([0; SPI_REGISTER_TRANSACTION_LENGTH]);
let rf233_reg_read = s.3.write([0; SPI_REGISTER_TRANSACTION_LENGTH]);
let rf233 = s.0.write(RF233::new(
self.spi,
rf233_buf,
Expand Down
6 changes: 4 additions & 2 deletions capsules/extra/src/rf233.rs
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ enum InternalState {
// and waits for the interrupt specifying the entire packet has been
// received.

pub const SPI_REGISTER_TRANSACTION_LENGTH: usize = 2;

pub struct RF233<'a, S: spi::SpiMasterDevice<'a>> {
spi: &'a S,
radio_on: Cell<bool>,
Expand Down Expand Up @@ -1034,8 +1036,8 @@ impl<'a, S: spi::SpiMasterDevice<'a>> RF233<'a, S> {
pub fn new(
spi: &'a S,
spi_buf: &'static mut [u8],
reg_write: &'static mut [u8; 2],
reg_read: &'static mut [u8; 2],
reg_write: &'static mut [u8; SPI_REGISTER_TRANSACTION_LENGTH],
reg_read: &'static mut [u8; SPI_REGISTER_TRANSACTION_LENGTH],
reset: &'a dyn gpio::Pin,
sleep: &'a dyn gpio::Pin,
irq: &'a dyn gpio::InterruptPin<'a>,
Expand Down

0 comments on commit e9785c0

Please sign in to comment.