From db81d02f47d7fcd04a88a689b95183a900dd40f0 Mon Sep 17 00:00:00 2001 From: Juha Heiskanen Date: Wed, 26 Jun 2019 10:54:02 +0300 Subject: [PATCH] SW MAC timestamp read update Now timestamp is returned by functional. Change-Id: Ieb10d01847f7a5298943dd53c847f0f6ce262ab9 --- nanostack/sw_mac.h | 5 ++--- source/6LoWPAN/ws/ws_bootstrap.c | 4 ++-- source/MAC/IEEE802_15_4/sw_mac.c | 9 +++++---- test/nanostack/unittest/stub/sw_mac_stub.c | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/nanostack/sw_mac.h b/nanostack/sw_mac.h index c0f5e3803ea4..8a864b91430d 100644 --- a/nanostack/sw_mac.h +++ b/nanostack/sw_mac.h @@ -84,10 +84,9 @@ extern int ns_sw_mac_statistics_start(struct mac_api_s *mac_api, struct mac_stat /** * @brief Read current timestamp for compared storaged data timestamp. * @param mac_api MAC instance. - * @param time_stamp_buffer pointer for staorage time stamp - * @return 0 on succeess, < 0 on fail + * @return Current timestamp in us */ -int ns_sw_mac_read_current_timestamp(struct mac_api_s *mac_api, uint32_t *time_stamp_buffer); +uint32_t ns_sw_mac_read_current_timestamp(struct mac_api_s *mac_api); #ifdef __cplusplus } diff --git a/source/6LoWPAN/ws/ws_bootstrap.c b/source/6LoWPAN/ws/ws_bootstrap.c index 3f211dc265c3..8f8cefcacfc6 100644 --- a/source/6LoWPAN/ws/ws_bootstrap.c +++ b/source/6LoWPAN/ws/ws_bootstrap.c @@ -1304,6 +1304,7 @@ static void ws_bootstrap_asynch_confirm(struct protocol_interface_info_entry *in uint32_t ws_time_from_last_unicast_traffic(uint32_t current_time_stamp, ws_neighbor_class_entry_t *ws_neighbor) { uint32_t time_from_last_unicast_shedule = current_time_stamp; + //Time from last RX unicast in us time_from_last_unicast_shedule -= ws_neighbor->fhss_data.uc_timing_info.utt_rx_timestamp; time_from_last_unicast_shedule /= 1000000; //Convert to seconds @@ -1320,8 +1321,7 @@ static void ws_bootstrap_neighbor_table_clean(struct protocol_interface_info_ent } memcpy(ll_target, ADDR_LINK_LOCAL_PREFIX, 8); - uint32_t current_time_stamp = 0; - ns_sw_mac_read_current_timestamp(interface->mac_api, ¤t_time_stamp); + uint32_t current_time_stamp = ns_sw_mac_read_current_timestamp(interface->mac_api); mac_neighbor_table_entry_t *neighbor_entry_ptr = NULL; ns_list_foreach_safe(mac_neighbor_table_entry_t, cur, &mac_neighbor_info(interface)->neighbour_list) { diff --git a/source/MAC/IEEE802_15_4/sw_mac.c b/source/MAC/IEEE802_15_4/sw_mac.c index f6695c28517e..ca31fe949d88 100644 --- a/source/MAC/IEEE802_15_4/sw_mac.c +++ b/source/MAC/IEEE802_15_4/sw_mac.c @@ -700,17 +700,18 @@ void sw_mac_stats_update(protocol_interface_rf_mac_setup_s *setup, mac_stats_typ } } -int ns_sw_mac_read_current_timestamp(struct mac_api_s *mac_api, uint32_t *time_stamp_buffer) +uint32_t ns_sw_mac_read_current_timestamp(struct mac_api_s *mac_api) { if (!mac_api) { - return -1; + return 0; } // Get a pointer to MAC setup structure protocol_interface_rf_mac_setup_s *mac_setup = get_sw_mac_ptr_by_mac_api(mac_api); if (!mac_setup) { - return -2; + return 0; } + uint32_t time_stamp_buffer; mac_setup->dev_driver->phy_driver->extension(PHY_EXTENSION_GET_TIMESTAMP, (uint8_t *)&time_stamp_buffer); - return 0; + return time_stamp_buffer; } diff --git a/test/nanostack/unittest/stub/sw_mac_stub.c b/test/nanostack/unittest/stub/sw_mac_stub.c index 695e76f4609d..c23acd13f2bb 100644 --- a/test/nanostack/unittest/stub/sw_mac_stub.c +++ b/test/nanostack/unittest/stub/sw_mac_stub.c @@ -75,7 +75,7 @@ void sw_mac_stats_update(protocol_interface_rf_mac_setup_s *setup, mac_stats_typ } -int ns_sw_mac_read_current_timestamp(struct mac_api_s *mac_api, uint32_t *time_stamp_buffer) +uint32_t ns_sw_mac_read_current_timestamp(struct mac_api_s *mac_api) { - return -1; + return 0; }