Skip to main content Link Menu Expand (external link) Document Search Copy Copied

14. Power Optimization Test Cases

14.1 FSK/EP/PWR/OPT/BV/01: Verify RX duration can be adjusted.

14.1.1 Test Purpose

DUT FSK RX duration can be adjusted.

14.1.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set FSK Profile 2 command: sid option -lp_set SID_LINK2_PROFILE_2 RX_INTERVAL_IN_MS BEACON_INTERVAL RX_DURATION_IN_S

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_2)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 2 630 1 6
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 2, FSK Connected"
    Note over Lower_Tester,Upper_Tester: After 30 seconds, start a timer T = 0s
    Upper_Tester->>DUT: T = 0s, sid send test
    Lower_Tester->>DUT: T <= 5s, Send a downlink
    DUT->>Upper_Tester: Receive a downlink
    Lower_Tester->>DUT: T >= 7s, Send a downlink
    DUT->>Upper_Tester: Does not receive a downlink as expected

14.1.4 Expected Results

14.1.4.1 Pass Verdict

The RX window remains open for 6.63 (RX duration + RX window interval) seconds.

14.2 FSK/EP/PWR/OPT/BV/02: Verify RX windows after control message sent should not be closed.

14.2.1 Test Purpose

The RX windows after sending control messages (time-sync and join) should not be overridden by user settings. The RX windows should remain open until the response to the control message is received.

14.2.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set FSK Profile 2 command: sid option -lp_set SID_LINK2_PROFILE_2 RX_INTERVAL_IN_MS BEACON_INTERVAL RX_DURATION_IN_S

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_2)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 2 5040 1 6
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Lower_Tester->>DUT: After GW discover prcoess finish, disable GW Wi-Fi
    Note over Lower_Tester,Upper_Tester: Before 3rd time-sync request sent, enable GW Wi-Fi
    DUT->>Lower_Tester: EN sent 3rd time-sync request
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 0, FSK not Connected"
    Lower_Tester->>DUT: After EN time-synced, disable GW Wi-Fi
    Note over Lower_Tester,Upper_Tester: Before 3rd join request sent, enable GW Wi-Fi
    DUT->>Lower_Tester: EN sent 3rd join request
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 2, FSK Connected"
    Note over Lower_Tester,Upper_Tester: Wait for 30 seconds
    Lower_Tester->>DUT: Send a downlink
    DUT->>Upper_Tester: Does not receive a downlink as expected

14.2.4 Expected Results

14.2.4.1 Pass Verdict

Control messages (time-sync and join) are not affected by user config and can be sent and received normally.

14.3 FSK/EP/PWR/OPT/BV/03: Verify RX window termination request stop RX window opened at profile 2.

14.3.1 Test Purpose

Users can close the DUT RX windows at any time using the RX window termination command

14.3.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set FSK Profile 2 command: sid option -lp_set SID_LINK2_PROFILE_2 RX_INTERVAL_IN_MS BEACON_INTERVAL RX_DURATION_IN_S

  • DUT User control commands with sub-ghz: sid option -sub_ghz_ctl CTL_CMD

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_2)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 2 630 1 20
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 2, FSK Connected"
    Note over Lower_Tester,Upper_Tester: After 30 seconds, start a timer T = 0s
    Upper_Tester->>DUT: T = 0s, sid send test
    Lower_Tester->>DUT: T <= 5s, Send a downlink
    DUT->>Upper_Tester: Receive a downlink
    Upper_Tester->>DUT: T = 8s, sid option -sub_ghz 1
    Lower_Tester->>DUT: T = 10s, Send a downlink
    DUT->>Upper_Tester: Does not receive a downlink as expected

14.3.4 Expected Results

14.3.4.1 Pass Verdict

There is no RX window opening after RX window termination command executed.

14.4 FSK/EP/PWR/OPT/BV/04: Verify RX window termination request should not stop RX window opened at profile 1.

14.4.1 Test Purpose

As profile 1 default setting is unlimited RX duration, the RX window termination command should not interrupt or close RX windows.

14.4.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set FSK Profile 1 command: sid option -lp_set SID_LINK2_PROFILE_1 BEACON_INTERVAL

  • DUT User control commands with sub-ghz: sid option -sub_ghz_ctl CTL_CMD

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_2)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 1 1
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 2, FSK Connected"
    Note over Lower_Tester,Upper_Tester: Wait for 30 seconds
    Lower_Tester->>DUT: Send a downlink
    DUT->>Upper_Tester: Receive a downlink
    Upper_Tester->>DUT: sid option -sub_ghz 1
    Lower_Tester->>DUT: Send a downlink
    DUT->>Upper_Tester: Receive a downlink

14.4.4 Expected Results

14.4.4.1 Pass Verdict

RX window termination command should not interrupt or close RX windows.

14.5 FSK/EP/PWR/OPT/BV/05: Verify Beacon interval can be adjusted.

14.5.1 Test Purpose

Users can modify the number of beacons to skip.

14.5.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set FSK Profile 1 command: sid option -lp_set SID_LINK2_PROFILE_1 BEACON_INTERVAL

  • DUT Set FSK Profile 2 command: sid option -lp_set SID_LINK2_PROFILE_2 RX_INTERVAL_IN_MS BEACON_INTERVAL RX_DURATION_IN_S

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_2)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 2 5040 3 0
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 2, FSK Connected"
    DUT->>Upper_Tester: Receive a beacon
    DUT->>Upper_Tester: Receive a beacon
    DUT->>Upper_Tester: Receive a beacon
    Note over Lower_Tester,Upper_Tester: Check beacon interval is 3 * 10080 ms
    Note over Lower_Tester,Upper_Tester: Repeat the above steps, iterating through sid option -lp_set 2 5040 2 0 (beacon interval = 2 * 10080 ms), sid option -lp_set 2 5040 1 0 (1 * 10080 ms), sid option -lp_set 1 3 (3 * 10080 ms), sid option -lp_set 1 2 (2 * 10080 ms), sid option -lp_set 1 1 (1 * 10080 ms)

14.5.4 Expected Results

14.5.4.1 Pass Verdict

Beacon interval can be modified by user setting.

14.6 FSK/EP/PWR/OPT/BV/06: Verify beacon interval revert to default after 2nd beacon misses.

14.6.1 Test Purpose

To prevent gateway beacon loss, DUT beacon interval will revert to default (10080 ms) after two consecutive beacon misses

14.6.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set FSK Profile 2 command: sid option -lp_set SID_LINK2_PROFILE_2 RX_INTERVAL_IN_MS BEACON_INTERVAL RX_DURATION_IN_S

  • Sidewalk gateway put in a shielding box.

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_2)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 2 5040 3 0
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 2, FSK Connected"
    DUT->>Upper_Tester: Receive a beacon, start a timer T = 0s
    Note over Lower_Tester,Upper_Tester: Close the shielding box door
    DUT->>Upper_Tester: T = 30s, miss a beacon
    DUT->>Upper_Tester: T = 60s, miss a beacon
    Note over Lower_Tester,Upper_Tester: Open the shielding box door
    DUT->>Upper_Tester: T = 70s, receive a beacon
    DUT->>Upper_Tester: T = 100s, receive a beacon
    Note over Lower_Tester,Upper_Tester: Change DUT profile by sid option -lp_set 2 5040 2 0, repeat above steps. Expected behavior is T = 0s receive a beacon, T = 20s miss a beacon, T = 40s miss a beacon, T = 50s receive a beacon, T = 70s receive a beacon

14.6.4 Expected Results

14.6.4.1 Pass Verdict

When the DUT misses two beacons, it triggers a default interval beacon. Upon receiving this beacon, the Beacon interval should be restored to the user-configured setting.

14.7.1 Test Purpose

After DUT skip a beacon, there will be some time drift, but a compensation mechanism allows TX/RX to maintain normal transmission and reception

14.7.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set FSK Profile 2 command: sid option -lp_set SID_LINK2_PROFILE_2 RX_INTERVAL_IN_MS BEACON_INTERVAL RX_DURATION_IN_S

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_2)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 2 630 3 8
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 2, FSK Connected"
    DUT->>Upper_Tester: Receive a beacon, start a timer T = 0s
    Upper_Tester->>DUT: T = 11s, sid send -a 1 1 10 TEST
    DUT->>Lower_Tester: A uplink sent
    Lower_Tester->>DUT: Response an ACK
    DUT->>Upper_Tester: Receive an ACK
    Upper_Tester->>DUT: T = 22s, sid send -a 1 1 10 TEST
    DUT->>Lower_Tester: A uplink sent
    Lower_Tester->>DUT: Response an ACK
    DUT->>Upper_Tester: Receive an ACK

14.7.4 Expected Results

14.7.4.1 Pass Verdict

Even during the beacon skip phase, uplinks and downlinks can operate normally.

14.8 LORA/EP/PWR/OPT/BV/01: Verify number of RX windows is limited and can be changed.

14.8.1 Test Purpose

At profile A, after single transmission in an uplink, DUT should open specified number of RX windows and go to sleep.

14.8.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set LoRa Profile A command: sid option -lp_set SID_LINK3_PROFILE_A RX_WINDOWS

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_3)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 128 2
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 4, LoRa Connected"
    Note over Lower_Tester,Upper_Tester: Wait for 30 seconds
    Upper_Tester->>DUT: sid send test, start a timer = 0s
    Lower_Tester->>DUT: T = 3s, send a downlink
    DUT->>Upper_Tester: Receive a downlink
    Lower_Tester->>DUT: T = 15s, send a downlink
    DUT->>Upper_Tester: Does not receive a downlink as expected
    Note over Lower_Tester,Upper_Tester: Change DUT profile by sid option -lp_set 128 60, repeat above steps. Expected behavior is T = 0s send an uplink, T = 3s send a downlink (expect received), T = 293s send a downlink (expect received), T = 305s send a downlink (expect no downlink received)

14.8.4 Expected Results

14.8.4.1 Pass Verdict

The RX windows can be adjusted by user setting.

14.9.1 Test Purpose

At profile A, when TX occurs before all RX windows have been opened, then windows counter should be reset again.

14.9.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set LoRa Profile A command: sid option -lp_set SID_LINK3_PROFILE_A RX_WINDOWS

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_3)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 128 30
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 4, LoRa Connected"
    Note over Lower_Tester,Upper_Tester: Wait for 30 seconds
    Upper_Tester->>DUT: sid send test, start a timer = 0s
    Lower_Tester->>DUT: T = 73s, send a downlink
    DUT->>Upper_Tester: Receive a downlink
    Upper_Tester->>DUT: T = 80s, sid send test
    Lower_Tester->>DUT: T = 222s, send a downlink
    DUT->>Upper_Tester: Receive a downlink

14.9.4 Expected Results

14.9.4.1 Pass Verdict

The RX windows counter is reset by an uplink sent

14.10 LORA/EP/PWR/OPT/BV/03: Verify RX window termination request stop RX window opened at profile A.

14.10.1 Test Purpose

Users can close the DUT RX windows at any time using the RX window termination command

14.10.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set LoRa Profile A command: sid option -lp_set SID_LINK3_PROFILE_A RX_WINDOWS

  • DUT User control commands with sub-ghz: sid option -sub_ghz_ctl CTL_CMD

14.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_3)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 128 10
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 4, LoRa Connected"
    Note over Lower_Tester,Upper_Tester: Wait for 30 seconds
    Upper_Tester->>DUT: sid send test, start a timer = 0s
    Lower_Tester->>DUT: T = 3s, send a downlink
    DUT->>Upper_Tester: Receive a downlink
    Upper_Tester->>DUT: sid option -sub_ghz 1
    Lower_Tester->>DUT: T = 18s, send a downlink
    DUT->>Upper_Tester: Does not receive a downlink as expected

14.10.4 Expected Results

14.10.4.1 Pass Verdict

There is no RX window opening after RX window termination command executed.

14.11 LORA/EP/PWR/OPT/BV/04: Verify RX window termination request should not stop RX window opened at profile B.

14.11.1 Test Purpose

As profile B default setting is unlimited RX window count, the RX window termination command should not interrupt or close RX windows.

14.11.2 Initial Conditions

  • DUT is registered on Amazon Sidewalk Network.

  • Lower Tester acts a Sidewalk gateway and cloud.

  • Upper Tester operates as a SID API user.

  • DUT Set LoRa Profile B command: sid option -lp_set SID_LINK3_PROFILE_B RX_WINDOWS

  • DUT User control commands with sub-ghz: sid option -sub_ghz_ctl CTL_CMD

14.11.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: The Sidewalk stack is uninitialized
    Upper_Tester->>DUT: sid init(SID_LINK_TYPE_3)
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid option -lp_set 129 0
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    Upper_Tester->>DUT: sid start
    DUT->>Upper_Tester: #35;SID_ERROR_NONE
    DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 4, LoRa Connected"
    Note over Lower_Tester,Upper_Tester: Wait for 30 seconds
    Upper_Tester->>DUT: sid send test, start a timer = 0s
    Lower_Tester->>DUT: T = 3s, send a downlink
    DUT->>Upper_Tester: Receive a downlink
    Upper_Tester->>DUT: sid option -sub_ghz 1
    Lower_Tester->>DUT: T = 18s, send a downlink
    DUT->>Upper_Tester: Receive a downlink

14.11.4 Expected Results

14.11.4.1 Pass Verdict

RX window termination command should not interrupt or close RX windows.


Back to top

©2023 Amazon.com, Inc. or its affiliates (collectively, “Amazon”). All Rights Reserved.