13. Location Service MCU Test Cases
13.1 CMN-EP-LOCATIONSERVICE-BLELOCATION-BV-01: Send location when there is BLE gateway.
13.1.1 Test Purpose
Verify EN send a location uplink at level 1.
13.1.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE or BLE+LoRa mode.
- The Sidewalk stack (BLE or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
13.1.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 5(on BLE+LoRa stack), BLE connected
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send 1
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: BLE_LOCATION_RESOLUTION_CMD
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Drop BLE connection
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0, BLE Disconnected"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0, BLE Disconnected"
13.1.4 Expected Results
13.1.4.1 Pass Verdict
Device can send location via BLE uplink using Sidewalk Network location.
13.2 CMN-EP-LOCATIONSERVICE-BLELOCATION-BV-02: Send location with piggybacking.
13.2.1 Test Purpose
Verify EN send a location uplink at level 1 via piggybacking.
13.2.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE or BLE+LoRa mode.
- The Sidewalk stack (BLE or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
13.2.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 5(on BLE+LoRa stack), BLE connected
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send 1
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: 1B)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (1B of Command data with location data)
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Drop BLE connection
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0, BLE Disconnected"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0, BLE Disconnected"
13.2.4 Expected Results
13.2.4.1 Pass Verdict
Device can send location via BLE uplink using Sidewalk Network location via piggybacking.
13.3 CMN-EP-LOCATIONSERVICE-WIFILOCATION-BV-01: Send location when there are enough Wi-Fi Access points.
13.3.1 Test Purpose
Verify EN send a location uplink at level 3.
13.3.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE, LoRa or BLE+LoRa mode.
- The Sidewalk stack (BLE, LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
- There is one Wi-Fi Access point nearby at least.
13.3.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send 3
DUT->>Upper_Tester: WIFI_LOCATION_RESOLUTION_RESULT
DUT->>Lower_Tester: WIFI_LOCATION_RESOLUTION_SEND_COMPLETE
Lower_Tester->>DUT: WIFI_LOCATION_RESOLUTION_COMPLETE_ACK(if EN is linked on LoRa link only)
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.3.4 Expected Results
13.3.4.1 Pass Verdict
Device can resolve and send location using Wi-Fi Access points location.
13.4 CMN-EP-LOCATIONSERVICE-WIFILOCATION-BV-02: Scan location when there are enough Wi-Fi Access points.
13.4.1 Test Purpose
Verify EN scan location at level 3.
13.4.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE, LoRa or BLE+LoRa mode.
- The Sidewalk stack (BLE, LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
- There is one Wi-Fi Access point nearby at least.
13.4.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location scan 3
DUT->>Upper_Tester: WIFI_LOCATION_RESOLUTION_RESULT
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.4.4 Expected Results
13.4.4.1 Pass Verdict
Device can resolve without sending UL using Wi-Fi Access points location.
13.5 CMN-EP-LOCATIONSERVICE-GNSSLOCATION-BV-01: Send location when there are enough satellites.
13.5.1 Test Purpose
Verify EN send a location uplink at level 4.
13.5.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE, LoRa or BLE+LoRa mode.
- The Sidewalk stack (BLE, LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
13.5.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send 4
DUT->>Upper_Tester: GNSS_LOCATION_RESOLUTION_RESULT
DUT->>Lower_Tester: GNSS_LOCATION_RESOLUTION_SEND_COMPLETE
Lower_Tester->>DUT: GNSS_LOCATION_RESOLUTION_COMPLETE_ACK(if EN is linked on LoRa link only)
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.5.4 Expected Results
13.5.4.1 Pass Verdict
Device can resolve and send location using GNSS location.
13.6 CMN-EP-LOCATIONSERVICE-GNSSLOCATION-BV-02: Scan location when there are enough satellites.
13.6.1 Test Purpose
Verify EN scan location at level 4.
13.6.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE, LoRa or BLE+LoRa mode.
- The Sidewalk stack (BLE, LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
13.6.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location scan 4
DUT->>Upper_Tester: GNSS_LOCATION_RESOLUTION_RESULT
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.6.4 Expected Results
13.6.4.1 Pass Verdict
Device can resolve without sending UL using GNSS location.
13.7 CMN-EP-LOCATIONSERVICE-FRAGMENT-BV-01: Re-transmit all missed fragments for Wi-Fi on LoRa.
13.7.1 Test Purpose
Verify some of location fragments are missed when specify location resolution via Wi-Fi and send via LoRa link.
13.7.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in LoRa or BLE+LoRa mode.
- The Sidewalk stack (LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
- There is one AP nearby at least.
13.7.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Note over Lower_Tester,Upper_Tester: Wait until BLE disconnected if operate in BLE+LoRa mode
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send 3
DUT->>Upper_Tester: WIFI_LOCATION_RESOLUTION_RESULT
Upper_Tester->>DUT: mac scfg R <channel_different_from_gw>
DUT->>Lower_Tester: FIRST_FRAGMENT_SENT
Upper_Tester->>DUT: mac scfg R <channel_same_as_gw>
DUT->>Lower_Tester: REMAINING_WIFI_LOCATION_RESOLUTION_FRAGMENTS_SENT
Lower_Tester->>DUT: WIFI_LOCATION_RESOLUTION_RESULT_ACK
DUT->>Lower_Tester: SENDING_LOST_WIFI_LOCATION_RESOLUTION_FRAGMENTS
Lower_Tester->>DUT: WIFI_LOCATION_RESOLUTION_COMPLETE_ACK
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.7.4 Expected Results
13.7.4.1 Pass Verdict
when some fragments fail to be received by the cloud, device will re-transmit lost fragments.
13.8 CMN-EP-LOCATIONSERVICE-FRAGMENT-BV-02: Re-transmit all missed fragments for GNSS on LoRa.
13.8.1 Test Purpose
Verify some of location fragments are missed when specify location resolution via GNSS and send via LoRa link.
13.8.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in LoRa or BLE+LoRa mode.
- The Sidewalk stack (LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
13.8.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Note over Lower_Tester,Upper_Tester: Wait until BLE disconnected if operate in BLE+LoRa mode
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send 4
DUT->>Upper_Tester: GNSS_LOCATION_RESOLUTION_RESULT
Upper_Tester->>DUT: mac scfg R <channel_different_from_gw>
DUT->>Lower_Tester: FIRST_FRAGMENT_SENT
Upper_Tester->>DUT: mac scfg R <channel_same_as_gw>
DUT->>Lower_Tester: REMAINING_GNSS_LOCATION_RESOLUTION_FRAGMENTS_SENT
Lower_Tester->>DUT: GNSS_LOCATION_RESOLUTION_RESULT_ACK
DUT->>Lower_Tester: SENDING_LOST_GNSS_LOCATION_RESOLUTION_FRAGMENTS
Lower_Tester->>DUT: GNSS_LOCATION_RESOLUTION_COMPLETE_ACK
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.8.4 Expected Results
13.8.4.1 Pass Verdict
when some fragments fail to be received by the cloud, device will re-transmit lost fragments.
13.9 CMN-EP-LOCATIONSERVICE-LOCATIONSWITCH-BV-01: Location resolution level move from 1 to 3.
13.9.1 Test Purpose
Verify switch location resolution from level 1 to level 3 automatically.
13.9.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE, LoRa or BLE+LoRa mode.
- The Sidewalk stack (BLE, LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
- There is no BLE but LoRa GW nearby.
- There is 1 AP nearby at least.
13.9.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send
DUT->>Upper_Tester: WIFI_LOCATION_RESOLUTION_RESULT
DUT->>Lower_Tester: WIFI_LOCATION_RESOLUTION_SEND_COMPLETE
Lower_Tester->>DUT: WIFI_LOCATION_RESOLUTION_COMPLETE_ACK(if EN is linked on LoRa link only)
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.9.4 Expected Results
13.9.4.1 Pass Verdict
When there is no BLE GW nearby but Wi-Fi Access points, device can switch to resolve and send location using AP location automatically.
13.10 CMN-EP-LOCATIONSERVICE-LOCATIONSWITCH-BV-02: Location resolution level move from 1 to 4.
13.10.1 Test Purpose
Verify switch location resolution from level 1 to level 4 automatically.
13.10.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in BLE, LoRa or BLE+LoRa mode.
- The Sidewalk stack (BLE, LoRa or BLE+LoRa) is initialized and started on the DUT.
- DUT is time-synced with Amazon Sidewalk network.
- SidewalkNetworkFlag is enabled on the Lower Tester.
- There is no BLE but LoRa GW nearby.
- There is no any APs nearby.
13.10.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 1(on BLE stack) or Link Mask 3(on LoRa stack) or Link Mask 5(on BLE+LoRa stack)
Upper_Tester->>DUT: location init
Upper_Tester->>DUT: location send
DUT->>Upper_Tester: GNSS_LOCATION_RESOLUTION_RESULT
DUT->>Lower_Tester: GNSS_LOCATION_RESOLUTION_SEND_COMPLETE
Lower_Tester->>DUT: GNSS_LOCATION_RESOLUTION_COMPLETE_ACK(if EN is linked on LoRa link only)
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
13.10.4 Expected Results
13.10.4.1 Pass Verdict
When there is no BLE GW and Wi-Fi Access points nearby, device can switch to resolve and send location using GNSS location automatically.