cleanup
This commit is contained in:
parent
68792bb918
commit
f90b170dad
@ -29,7 +29,7 @@ stm32wb-hci = { version = "0.1.2", features = ["version-5-0"], optional = true }
|
|||||||
bitflags = { version = "2.3.3", optional = true }
|
bitflags = { version = "2.3.3", optional = true }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["stm32wb55rg", "mac", "ble", "defmt"]
|
default = []
|
||||||
defmt = ["dep:defmt", "embassy-sync/defmt", "embassy-embedded-hal/defmt", "embassy-hal-common/defmt"]
|
defmt = ["dep:defmt", "embassy-sync/defmt", "embassy-embedded-hal/defmt", "embassy-hal-common/defmt"]
|
||||||
|
|
||||||
ble = ["dep:stm32wb-hci"]
|
ble = ["dep:stm32wb-hci"]
|
||||||
|
@ -98,8 +98,6 @@ impl Mac {
|
|||||||
let mut payload = [0u8; MAX_PACKET_SIZE];
|
let mut payload = [0u8; MAX_PACKET_SIZE];
|
||||||
cmd.copy_into_slice(&mut payload);
|
cmd.copy_into_slice(&mut payload);
|
||||||
|
|
||||||
debug!("sending {}", &payload[..T::SIZE]);
|
|
||||||
|
|
||||||
let response = self
|
let response = self
|
||||||
.tl_write_and_get_response(T::OPCODE as u16, &payload[..T::SIZE])
|
.tl_write_and_get_response(T::OPCODE as u16, &payload[..T::SIZE])
|
||||||
.await;
|
.await;
|
||||||
|
@ -28,8 +28,6 @@ impl ParseableMacEvent for AssociateConfirm {
|
|||||||
const SIZE: usize = 16;
|
const SIZE: usize = 16;
|
||||||
|
|
||||||
fn try_parse(buf: &[u8]) -> Result<Self, ()> {
|
fn try_parse(buf: &[u8]) -> Result<Self, ()> {
|
||||||
debug!("{}", buf);
|
|
||||||
|
|
||||||
Self::validate(buf)?;
|
Self::validate(buf)?;
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
|
@ -50,7 +50,7 @@ impl Sys {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// `HW_IPCC_SYS_CmdEvtNot`
|
/// `HW_IPCC_SYS_CmdEvtNot`
|
||||||
pub async fn write_and_get_response(&self, opcode: ShciOpcode, payload: &[u8]) -> SchiCommandStatus {
|
pub async fn write_and_get_response(&self, opcode: ShciOpcode, payload: &[u8]) -> Result<SchiCommandStatus, ()> {
|
||||||
self.write(opcode, payload).await;
|
self.write(opcode, payload).await;
|
||||||
Ipcc::flush(channels::cpu1::IPCC_SYSTEM_CMD_RSP_CHANNEL).await;
|
Ipcc::flush(channels::cpu1::IPCC_SYSTEM_CMD_RSP_CHANNEL).await;
|
||||||
|
|
||||||
@ -59,12 +59,12 @@ impl Sys {
|
|||||||
let p_command_event = &((*p_event_packet).evt_serial.evt.payload) as *const _ as *const CcEvt;
|
let p_command_event = &((*p_event_packet).evt_serial.evt.payload) as *const _ as *const CcEvt;
|
||||||
let p_payload = &((*p_command_event).payload) as *const u8;
|
let p_payload = &((*p_command_event).payload) as *const u8;
|
||||||
|
|
||||||
ptr::read_volatile(p_payload).try_into().unwrap()
|
ptr::read_volatile(p_payload).try_into()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "mac")]
|
#[cfg(feature = "mac")]
|
||||||
pub async fn shci_c2_mac_802_15_4_init(&self) -> SchiCommandStatus {
|
pub async fn shci_c2_mac_802_15_4_init(&self) -> Result<SchiCommandStatus, ()> {
|
||||||
use crate::tables::{
|
use crate::tables::{
|
||||||
Mac802_15_4Table, TracesTable, MAC_802_15_4_CMD_BUFFER, MAC_802_15_4_NOTIF_RSP_EVT_BUFFER,
|
Mac802_15_4Table, TracesTable, MAC_802_15_4_CMD_BUFFER, MAC_802_15_4_NOTIF_RSP_EVT_BUFFER,
|
||||||
TL_MAC_802_15_4_TABLE, TL_TRACES_TABLE, TRACES_EVT_QUEUE,
|
TL_MAC_802_15_4_TABLE, TL_TRACES_TABLE, TRACES_EVT_QUEUE,
|
||||||
@ -88,7 +88,7 @@ impl Sys {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "ble")]
|
#[cfg(feature = "ble")]
|
||||||
pub async fn shci_c2_ble_init(&self, param: ShciBleInitCmdParam) -> SchiCommandStatus {
|
pub async fn shci_c2_ble_init(&self, param: ShciBleInitCmdParam) -> Result<SchiCommandStatus, ()> {
|
||||||
self.write_and_get_response(ShciOpcode::BleInit, param.payload()).await
|
self.write_and_get_response(ShciOpcode::BleInit, param.payload()).await
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
|
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
|
||||||
# replace STM32WB55CCUx with your chip as listed in `probe-rs chip list`
|
# replace STM32WB55CCUx with your chip as listed in `probe-rs chip list`
|
||||||
runner = "probe-run --chip STM32WB55RGVx --speed 1000 --connect-under-reset"
|
# runner = "probe-run --chip STM32WB55RGVx --speed 1000 --connect-under-reset"
|
||||||
# runner = "teleprobe local run --chip STM32WB55RG --elf"
|
runner = "teleprobe local run --chip STM32WB55RG --elf"
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
target = "thumbv7em-none-eabihf"
|
target = "thumbv7em-none-eabihf"
|
||||||
|
@ -168,9 +168,13 @@ async fn main(spawner: Spawner) {
|
|||||||
.unwrap(),
|
.unwrap(),
|
||||||
MacEvent::McpsDataInd(data_ind) => {
|
MacEvent::McpsDataInd(data_ind) => {
|
||||||
let data_addr = data_ind.msdu_ptr;
|
let data_addr = data_ind.msdu_ptr;
|
||||||
let mut a = [0u8; 256];
|
let mut data = [0u8; 256];
|
||||||
unsafe { data_addr.copy_to(&mut a as *mut _, data_ind.msdu_length as usize) }
|
unsafe { data_addr.copy_to(&mut data as *mut _, data_ind.msdu_length as usize) }
|
||||||
info!("{}", a[..data_ind.msdu_length as usize])
|
info!("{}", data[..data_ind.msdu_length as usize]);
|
||||||
|
|
||||||
|
if &data[..data_ind.msdu_length as usize] == b"Hello from embassy!" {
|
||||||
|
info!("success");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
@ -148,7 +148,7 @@ async fn main(spawner: Spawner) {
|
|||||||
.send_command(&DataRequest {
|
.send_command(&DataRequest {
|
||||||
src_addr_mode: AddressMode::Short,
|
src_addr_mode: AddressMode::Short,
|
||||||
dst_addr_mode: AddressMode::Short,
|
dst_addr_mode: AddressMode::Short,
|
||||||
dst_pan_id: PanId::BROADCAST,
|
dst_pan_id: PanId([0x1A, 0xAA]),
|
||||||
dst_address: MacAddress::BROADCAST,
|
dst_address: MacAddress::BROADCAST,
|
||||||
msdu_handle: 0x02,
|
msdu_handle: 0x02,
|
||||||
ack_tx: 0x00,
|
ack_tx: 0x00,
|
||||||
|
Loading…
Reference in New Issue
Block a user