summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rust/event_manager/mod.rs40
-rw-r--r--src/rust/uci/mod.rs10
-rw-r--r--src/rust/uci/uci_hrcv.rs183
3 files changed, 72 insertions, 161 deletions
diff --git a/src/rust/event_manager/mod.rs b/src/rust/event_manager/mod.rs
index b8f6f46..cf93988 100644
--- a/src/rust/event_manager/mod.rs
+++ b/src/rust/event_manager/mod.rs
@@ -52,12 +52,15 @@ pub trait Manager {
fn device_status_notification_received(&self, data: DeviceStatusNtfPacket) -> Result<()>;
fn core_generic_error_notification_received(&self, data: GenericErrorPacket) -> Result<()>;
fn session_status_notification_received(&self, data: SessionStatusNtfPacket) -> Result<()>;
- fn short_range_data_notification(&self, data: ShortMacTwoWayRangeDataNtfPacket) -> Result<()>;
- fn extended_range_data_notification(
+ fn short_range_data_notification_received(
+ &self,
+ data: ShortMacTwoWayRangeDataNtfPacket,
+ ) -> Result<()>;
+ fn extended_range_data_notification_received(
&self,
data: ExtendedMacTwoWayRangeDataNtfPacket,
) -> Result<()>;
- fn session_update_controller_multicast_list_notification(
+ fn session_update_controller_multicast_list_notification_received(
&self,
data: SessionUpdateControllerMulticastListNtfPacket,
) -> Result<()>;
@@ -93,29 +96,33 @@ impl Manager for EventManager {
result
}
- fn short_range_data_notification(&self, data: ShortMacTwoWayRangeDataNtfPacket) -> Result<()> {
+ fn short_range_data_notification_received(
+ &self,
+ data: ShortMacTwoWayRangeDataNtfPacket,
+ ) -> Result<()> {
let env = self.jvm.attach_current_thread()?;
- let result = self.handle_short_range_data_notification(&env, data);
+ let result = self.handle_short_range_data_notification_received(&env, data);
self.clear_exception(env);
result
}
- fn extended_range_data_notification(
+ fn extended_range_data_notification_received(
&self,
data: ExtendedMacTwoWayRangeDataNtfPacket,
) -> Result<()> {
let env = self.jvm.attach_current_thread()?;
- let result = self.handle_extended_range_data_notification(&env, data);
+ let result = self.handle_extended_range_data_notification_received(&env, data);
self.clear_exception(env);
result
}
- fn session_update_controller_multicast_list_notification(
+ fn session_update_controller_multicast_list_notification_received(
&self,
data: SessionUpdateControllerMulticastListNtfPacket,
) -> Result<()> {
let env = self.jvm.attach_current_thread()?;
- let result = self.handle_session_update_controller_multicast_list_notification(&env, data);
+ let result =
+ self.handle_session_update_controller_multicast_list_notification_received(&env, data);
self.clear_exception(env);
result
}
@@ -454,7 +461,7 @@ impl EventManager {
)
}
- fn handle_short_range_data_notification(
+ fn handle_short_range_data_notification_received(
&self,
env: &JNIEnv,
data: ShortMacTwoWayRangeDataNtfPacket,
@@ -507,7 +514,7 @@ impl EventManager {
.map(|_| ()) // drop void method return
}
- fn handle_extended_range_data_notification(
+ fn handle_extended_range_data_notification_received(
&self,
env: &JNIEnv,
data: ExtendedMacTwoWayRangeDataNtfPacket,
@@ -561,7 +568,7 @@ impl EventManager {
.map(|_| ()) // drop void method return
}
- pub fn handle_session_update_controller_multicast_list_notification(
+ pub fn handle_session_update_controller_multicast_list_notification_received(
&self,
env: &JNIEnv,
data: SessionUpdateControllerMulticastListNtfPacket,
@@ -654,16 +661,19 @@ impl Manager for EventManagerTest {
fn session_status_notification_received(&self, data: SessionStatusNtfPacket) -> Result<()> {
Ok(())
}
- fn short_range_data_notification(&self, data: ShortMacTwoWayRangeDataNtfPacket) -> Result<()> {
+ fn short_range_data_notification_received(
+ &self,
+ data: ShortMacTwoWayRangeDataNtfPacket,
+ ) -> Result<()> {
Ok(())
}
- fn extended_range_data_notification(
+ fn extended_range_data_notification_received(
&self,
data: ExtendedMacTwoWayRangeDataNtfPacket,
) -> Result<()> {
Ok(())
}
- fn session_update_controller_multicast_list_notification(
+ fn session_update_controller_multicast_list_notification_received(
&self,
data: SessionUpdateControllerMulticastListNtfPacket,
) -> Result<()> {
diff --git a/src/rust/uci/mod.rs b/src/rust/uci/mod.rs
index 9645403..fd96223 100644
--- a/src/rust/uci/mod.rs
+++ b/src/rust/uci/mod.rs
@@ -34,7 +34,7 @@ use tokio::runtime::{Builder, Runtime};
use tokio::sync::{mpsc, oneshot, Notify};
use tokio::{select, task};
use uwb_uci_packets::{
- GetDeviceInfoCmdBuilder, GetDeviceInfoRspBuilder, Packet, RangeStartCmdBuilder,
+ GetDeviceInfoCmdBuilder, GetDeviceInfoRspPacket, Packet, RangeStartCmdBuilder,
RangeStopCmdBuilder, SessionDeinitCmdBuilder, SessionGetAppConfigCmdBuilder,
SessionGetCountCmdBuilder, SessionGetStateCmdBuilder, SessionState, SessionStatusNtfPacket,
StatusCode,
@@ -338,13 +338,13 @@ impl<T: Manager> Driver<T> {
self.event_manager.session_status_notification_received(response);
}
uci_hrcv::UciNotification::ShortMacTwoWayRangeDataNtf(response) => {
- self.event_manager.short_range_data_notification(response);
+ self.event_manager.short_range_data_notification_received(response);
}
uci_hrcv::UciNotification::ExtendedMacTwoWayRangeDataNtf(response) => {
- self.event_manager.extended_range_data_notification(response);
+ self.event_manager.extended_range_data_notification_received(response);
}
uci_hrcv::UciNotification::SessionUpdateControllerMulticastListNtf(response) => {
- self.event_manager.session_update_controller_multicast_list_notification(response);
+ self.event_manager.session_update_controller_multicast_list_notification_received(response);
}
_ => log::error!("Unexpected hal notification received {:?}", response),
}
@@ -415,7 +415,7 @@ pub struct Dispatcher {
cmd_sender: mpsc::UnboundedSender<(JNICommand, Option<UciResponseHandle>)>,
join_handle: task::JoinHandle<Result<()>>,
runtime: Runtime,
- pub device_info: Option<GetDeviceInfoRspBuilder>,
+ pub device_info: Option<GetDeviceInfoRspPacket>,
}
impl Dispatcher {
diff --git a/src/rust/uci/uci_hrcv.rs b/src/rust/uci/uci_hrcv.rs
index 8459610..079073c 100644
--- a/src/rust/uci/uci_hrcv.rs
+++ b/src/rust/uci/uci_hrcv.rs
@@ -26,23 +26,23 @@ pub enum UciMessage {
#[derive(Debug)]
pub enum UciResponse {
- GetDeviceInfoRsp(GetDeviceInfoRspBuilder),
- GetCapsInfoRsp(GetCapsInfoRspBuilder),
- SetConfigRsp(SetConfigRspBuilder),
- GetConfigRsp(GetConfigRspBuilder),
- DeviceResetRsp(DeviceResetRspBuilder),
- SessionInitRsp(SessionInitRspBuilder),
- SessionDeinitRsp(SessionDeinitRspBuilder),
- SessionGetAppConfigRsp(SessionGetAppConfigRspBuilder),
- SessionSetAppConfigRsp(SessionSetAppConfigRspBuilder),
- SessionGetStateRsp(SessionGetStateRspBuilder),
- SessionGetCountRsp(SessionGetCountRspBuilder),
- SessionUpdateControllerMulticastListRsp(SessionUpdateControllerMulticastListRspBuilder),
- RangeStartRsp(RangeStartRspBuilder),
- RangeStopRsp(RangeStopRspBuilder),
- RangeGetRangingCountRsp(RangeGetRangingCountRspBuilder),
- AndroidSetCountryCodeRsp(AndroidSetCountryCodeRspBuilder),
- AndroidGetPowerStatsRsp(AndroidGetPowerStatsRspBuilder),
+ GetDeviceInfoRsp(GetDeviceInfoRspPacket),
+ GetCapsInfoRsp(GetCapsInfoRspPacket),
+ SetConfigRsp(SetConfigRspPacket),
+ GetConfigRsp(GetConfigRspPacket),
+ DeviceResetRsp(DeviceResetRspPacket),
+ SessionInitRsp(SessionInitRspPacket),
+ SessionDeinitRsp(SessionDeinitRspPacket),
+ SessionGetAppConfigRsp(SessionGetAppConfigRspPacket),
+ SessionSetAppConfigRsp(SessionSetAppConfigRspPacket),
+ SessionGetStateRsp(SessionGetStateRspPacket),
+ SessionGetCountRsp(SessionGetCountRspPacket),
+ SessionUpdateControllerMulticastListRsp(SessionUpdateControllerMulticastListRspPacket),
+ RangeStartRsp(RangeStartRspPacket),
+ RangeStopRsp(RangeStopRspPacket),
+ RangeGetRangingCountRsp(RangeGetRangingCountRspPacket),
+ AndroidSetCountryCodeRsp(AndroidSetCountryCodeRspPacket),
+ AndroidGetPowerStatsRsp(AndroidGetPowerStatsRspPacket),
}
#[derive(Debug)]
@@ -86,25 +86,29 @@ pub fn uci_notification(evt: UciNotificationPacket) -> Result<UciNotification, U
fn core_response(evt: CoreResponsePacket) -> Result<UciResponse, UwbErr> {
match evt.specialize() {
- CoreResponseChild::GetDeviceInfoRsp(evt) => Ok(get_device_info_rsp(evt)),
- CoreResponseChild::GetCapsInfoRsp(evt) => Ok(get_caps_info_rsp(evt)),
- CoreResponseChild::SetConfigRsp(evt) => Ok(set_config_rsp(evt)),
- CoreResponseChild::GetConfigRsp(evt) => Ok(get_config_rsp(evt)),
- CoreResponseChild::DeviceResetRsp(evt) => Ok(device_reset_rsp(evt)),
+ CoreResponseChild::GetDeviceInfoRsp(evt) => Ok(UciResponse::GetDeviceInfoRsp(evt)),
+ CoreResponseChild::GetCapsInfoRsp(evt) => Ok(UciResponse::GetCapsInfoRsp(evt)),
+ CoreResponseChild::SetConfigRsp(evt) => Ok(UciResponse::SetConfigRsp(evt)),
+ CoreResponseChild::GetConfigRsp(evt) => Ok(UciResponse::GetConfigRsp(evt)),
+ CoreResponseChild::DeviceResetRsp(evt) => Ok(UciResponse::DeviceResetRsp(evt)),
_ => Err(UwbErr::Specialize(evt.to_vec())),
}
}
fn session_response(evt: SessionResponsePacket) -> Result<UciResponse, UwbErr> {
match evt.specialize() {
- SessionResponseChild::SessionInitRsp(evt) => Ok(session_init_rsp(evt)),
- SessionResponseChild::SessionDeinitRsp(evt) => Ok(session_deinit_rsp(evt)),
- SessionResponseChild::SessionSetAppConfigRsp(evt) => Ok(session_set_app_config_rsp(evt)),
- SessionResponseChild::SessionGetAppConfigRsp(evt) => Ok(session_get_app_config_rsp(evt)),
- SessionResponseChild::SessionGetStateRsp(evt) => Ok(session_get_state_rsp(evt)),
- SessionResponseChild::SessionGetCountRsp(evt) => Ok(session_get_count_rsp(evt)),
+ SessionResponseChild::SessionInitRsp(evt) => Ok(UciResponse::SessionInitRsp(evt)),
+ SessionResponseChild::SessionDeinitRsp(evt) => Ok(UciResponse::SessionDeinitRsp(evt)),
+ SessionResponseChild::SessionSetAppConfigRsp(evt) => {
+ Ok(UciResponse::SessionSetAppConfigRsp(evt))
+ }
+ SessionResponseChild::SessionGetAppConfigRsp(evt) => {
+ Ok(UciResponse::SessionGetAppConfigRsp(evt))
+ }
+ SessionResponseChild::SessionGetStateRsp(evt) => Ok(UciResponse::SessionGetStateRsp(evt)),
+ SessionResponseChild::SessionGetCountRsp(evt) => Ok(UciResponse::SessionGetCountRsp(evt)),
SessionResponseChild::SessionUpdateControllerMulticastListRsp(evt) => {
- Ok(session_update_controller_multicast_list_rsp(evt))
+ Ok(UciResponse::SessionUpdateControllerMulticastListRsp(evt))
}
_ => Err(UwbErr::Specialize(evt.to_vec())),
}
@@ -112,9 +116,11 @@ fn session_response(evt: SessionResponsePacket) -> Result<UciResponse, UwbErr> {
fn ranging_response(evt: RangingResponsePacket) -> Result<UciResponse, UwbErr> {
match evt.specialize() {
- RangingResponseChild::RangeStartRsp(evt) => Ok(range_start_rsp(evt)),
- RangingResponseChild::RangeStopRsp(evt) => Ok(range_stop_rsp(evt)),
- RangingResponseChild::RangeGetRangingCountRsp(evt) => Ok(range_get_ranging_count_rsp(evt)),
+ RangingResponseChild::RangeStartRsp(evt) => Ok(UciResponse::RangeStartRsp(evt)),
+ RangingResponseChild::RangeStopRsp(evt) => Ok(UciResponse::RangeStopRsp(evt)),
+ RangingResponseChild::RangeGetRangingCountRsp(evt) => {
+ Ok(UciResponse::RangeGetRangingCountRsp(evt))
+ }
_ => Err(UwbErr::Specialize(evt.to_vec())),
}
}
@@ -122,9 +128,11 @@ fn ranging_response(evt: RangingResponsePacket) -> Result<UciResponse, UwbErr> {
fn android_response(evt: AndroidResponsePacket) -> Result<UciResponse, UwbErr> {
match evt.specialize() {
AndroidResponseChild::AndroidSetCountryCodeRsp(evt) => {
- Ok(android_set_country_code_rsp(evt))
+ Ok(UciResponse::AndroidSetCountryCodeRsp(evt))
+ }
+ AndroidResponseChild::AndroidGetPowerStatsRsp(evt) => {
+ Ok(UciResponse::AndroidGetPowerStatsRsp(evt))
}
- AndroidResponseChild::AndroidGetPowerStatsRsp(evt) => Ok(android_get_power_start_rsp(evt)),
_ => Err(UwbErr::Specialize(evt.to_vec())),
}
}
@@ -156,113 +164,6 @@ fn ranging_notification(evt: RangingNotificationPacket) -> Result<UciNotificatio
}
}
-fn get_device_info_rsp(evt: GetDeviceInfoRspPacket) -> UciResponse {
- let evt_data = GetDeviceInfoRspBuilder {
- status: evt.get_status(),
- uci_version: evt.get_uci_version(),
- mac_version: evt.get_mac_version(),
- phy_version: evt.get_phy_version(),
- uci_test_version: evt.get_uci_test_version(),
- vendor_spec_info: evt.get_vendor_spec_info().to_vec(),
- };
- UciResponse::GetDeviceInfoRsp(evt_data)
-}
-
-fn get_caps_info_rsp(evt: GetCapsInfoRspPacket) -> UciResponse {
- let evt_data =
- GetCapsInfoRspBuilder { status: evt.get_status(), tlvs: evt.get_tlvs().to_vec() };
- UciResponse::GetCapsInfoRsp(evt_data)
-}
-
-fn set_config_rsp(evt: SetConfigRspPacket) -> UciResponse {
- let evt_data =
- SetConfigRspBuilder { status: evt.get_status(), cfg_status: evt.get_cfg_status().to_vec() };
- UciResponse::SetConfigRsp(evt_data)
-}
-
-fn get_config_rsp(evt: GetConfigRspPacket) -> UciResponse {
- let evt_data = GetConfigRspBuilder { status: evt.get_status(), tlvs: evt.get_tlvs().to_vec() };
- UciResponse::GetConfigRsp(evt_data)
-}
-
-fn device_reset_rsp(evt: DeviceResetRspPacket) -> UciResponse {
- let evt_data = DeviceResetRspBuilder { status: evt.get_status() };
- UciResponse::DeviceResetRsp(evt_data)
-}
-
-fn session_init_rsp(evt: SessionInitRspPacket) -> UciResponse {
- let evt_data = SessionInitRspBuilder { status: evt.get_status() };
- UciResponse::SessionInitRsp(evt_data)
-}
-
-fn session_deinit_rsp(evt: SessionDeinitRspPacket) -> UciResponse {
- let evt_data = SessionDeinitRspBuilder { status: evt.get_status() };
- UciResponse::SessionDeinitRsp(evt_data)
-}
-
-fn session_set_app_config_rsp(evt: SessionSetAppConfigRspPacket) -> UciResponse {
- let evt_data = SessionSetAppConfigRspBuilder {
- status: evt.get_status(),
- cfg_status: evt.get_cfg_status().to_vec(),
- };
- UciResponse::SessionSetAppConfigRsp(evt_data)
-}
-
-fn session_get_app_config_rsp(evt: SessionGetAppConfigRspPacket) -> UciResponse {
- let evt_data =
- SessionGetAppConfigRspBuilder { status: evt.get_status(), tlvs: evt.get_tlvs().to_vec() };
- UciResponse::SessionGetAppConfigRsp(evt_data)
-}
-
-fn session_get_state_rsp(evt: SessionGetStateRspPacket) -> UciResponse {
- let evt_data = SessionGetStateRspBuilder {
- status: evt.get_status(),
- session_state: evt.get_session_state(),
- };
- UciResponse::SessionGetStateRsp(evt_data)
-}
-
-fn session_get_count_rsp(evt: SessionGetCountRspPacket) -> UciResponse {
- let evt_data = SessionGetCountRspBuilder {
- status: evt.get_status(),
- session_count: evt.get_session_count(),
- };
- UciResponse::SessionGetCountRsp(evt_data)
-}
-
-fn session_update_controller_multicast_list_rsp(
- evt: SessionUpdateControllerMulticastListRspPacket,
-) -> UciResponse {
- let evt_data = SessionUpdateControllerMulticastListRspBuilder { status: evt.get_status() };
- UciResponse::SessionUpdateControllerMulticastListRsp(evt_data)
-}
-
-fn range_start_rsp(evt: RangeStartRspPacket) -> UciResponse {
- let evt_data = RangeStartRspBuilder { status: evt.get_status() };
- UciResponse::RangeStartRsp(evt_data)
-}
-
-fn range_stop_rsp(evt: RangeStopRspPacket) -> UciResponse {
- let evt_data = RangeStopRspBuilder { status: evt.get_status() };
- UciResponse::RangeStopRsp(evt_data)
-}
-
-fn range_get_ranging_count_rsp(evt: RangeGetRangingCountRspPacket) -> UciResponse {
- let evt_data =
- RangeGetRangingCountRspBuilder { status: evt.get_status(), count: evt.get_count() };
- UciResponse::RangeGetRangingCountRsp(evt_data)
-}
-
-fn android_set_country_code_rsp(evt: AndroidSetCountryCodeRspPacket) -> UciResponse {
- let evt_data = AndroidSetCountryCodeRspBuilder { status: evt.get_status() };
- UciResponse::AndroidSetCountryCodeRsp(evt_data)
-}
-
-fn android_get_power_start_rsp(evt: AndroidGetPowerStatsRspPacket) -> UciResponse {
- let evt_data = AndroidGetPowerStatsRspBuilder { stats: evt.get_stats().clone() };
- UciResponse::AndroidGetPowerStatsRsp(evt_data)
-}
-
fn range_data_ntf(evt: RangeDataNtfPacket) -> Result<UciNotification, UwbErr> {
match evt.specialize() {
RangeDataNtfChild::ShortMacTwoWayRangeDataNtf(evt) => {