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

Power Optimization Test Cases

Test Case ID: FSK/EP/PWR/OPT/BV/01: Verify RX duration can be adjusted

Field Value
Case ID C103619364
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize FSK stack with power optimization profile (rx_duration=6s):
sid init 2
sid option -lp_set 2 630 1 6
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2
Njoin(1, 2) st 2->6
Key check: EN joined via FSK
2 Wait 30 seconds for RX windows to close No RX window opening event
Key check: RX windows closed after idle period
3 Wait for beacon received, then send UL (T=0s):
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2
Key check: UL sent, T=0
4 T < 5s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ..., LINK: 2
Key check: DL received within RX duration window
5 Wait until T >= 7s, then send DL from cloud to EN No DL received
Key check: DL not received after RX duration expired (rx_duration=6s + rx_window_interval=0.63s)

Test Case ID: FSK/EP/PWR/OPT/BV/02: Verify RX windows after control message sent should not be closed

Field Value
Case ID C103619365
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize FSK stack with power optimization profile:
sid init 2
sid option -lp_set 2 5040 1 6
sid start
Wait for GWD scan to complete, then disable GW Wi-Fi
GWD(<n>) st <n>->6
Key check: GWD finished, GW Wi-Fi disabled
2 Wait for 2 time-sync requests from EN, then enable GW Wi-Fi [Tx][0:108:0:<n>] (2 times)
Key check: GW Wi-Fi re-enabled before 3rd time-sync request
3 Wait for time-sync response, then disable GW Wi-Fi [Rx][0:108:3:<n>]
Key check: EN time-synced, GW Wi-Fi disabled again
4 Wait for 2 join requests from EN, then enable GW Wi-Fi [Tx][0:22F:1:<n>] (2 times)
Key check: GW Wi-Fi re-enabled before 3rd join request
5 Wait for join response [Rx][0:22F:3:<n>]
Njoin(1, 2) st 2->6
Key check: EN joined
6 Wait 30 seconds, then send DL from cloud to EN No EVENT SID RECEIVED log
Key check: RX windows closed after 30s idle, DL not received

Test Case ID: FSK/EP/PWR/OPT/BV/03: Verify RX window termination request stops RX window opened at profile 2

Field Value
Case ID C103619366
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize FSK stack with power optimization profile (rx_duration=20s):
sid init 2
sid option -lp_set 2 630 1 20
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2
Njoin(1, 2) st 2->6
Key check: EN joined via FSK
2 Wait 30 seconds for RX windows to close No RX window opening event
Key check: RX windows closed
3 Send UL (T=0s):
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2
Key check: UL sent, T=0
4 T < 5s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ..., LINK: 2
Key check: DL received within RX duration window
5 Execute RX terminate command:
sid option -sub_ghz_ctl 1
CMD: ERR: 0
Key check: RX windows terminated
6 T = 10s: Send DL from cloud to EN No EVENT SID RECEIVED log
Key check: DL not received, RX windows already terminated

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

Field Value
Case ID C103619367
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize FSK stack with profile 1:
sid init 2
sid option -lp_set 1
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2
Njoin(1, 2) st 2->6
Key check: EN joined via FSK with profile 1
2 Wait 30 seconds, then send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ..., LINK: 2
Key check: DL received, profile 1 RX windows always open
3 Execute RX terminate command:
sid option -sub_ghz_ctl 1
CMD: ERR: -6
Key check: Command fails, profile 1 does not support RX terminate
4 Send DL from cloud to EN again EVENT SID RECEIVED: TYPE: 3, ..., LINK: 2
Key check: DL still received, RX windows not affected by terminate command

Test Case ID: FSK/EP/PWR/OPT/BV/05: Verify Beacon interval can be adjusted

Field Value
Case ID C103619368
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize FSK stack with profile 2, beacon interval=3:
sid init 2
sid option -lp_set 2 5040 3 0
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2
Njoin(1, 2) st 2->6
Key check: EN joined via FSK
2 Catch 2 consecutive beacon logs, verify interval ≈ 30240ms (3x) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi> (2 times)
Interval ≈ 30240ms ±30ms
Key check: Beacon interval = 3x 10080 ms (30240ms)
3 Change beacon interval to 2x:
sid option -lp_set 2 5040 2 0
Wait for join response
[Rx][0:22F:3:<n>]
Njoin(1, 2) st 2->6
Key check: Rejoined
4 Catch 2 consecutive beacon logs, verify interval ≈ 20160ms (2x) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi> (2 times)
Interval ≈ 20160ms ±20ms
Key check: Beacon interval = 2x 10080 ms (20160ms)
5 Change beacon interval to 1x:
sid option -lp_set 2 5040 1 0
Wait for join response
[Rx][0:22F:3:<n>]
Njoin(1, 2) st 2->6
Key check: Rejoined
6 Catch 2 consecutive beacon logs, verify interval ≈ 10080ms (1x) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi> (2 times)
Interval ≈ 10080ms ±10ms
Key check: Beacon interval = 1x 10080 ms (10080ms)
7 Switch to profile 1, beacon interval=3:
sid option -lp_set 1 3
Wait for join response
[Rx][0:22F:3:<n>]
Njoin(1, 2) st 2->6
Key check: Rejoined, switched to profile 1
8 Catch 2 consecutive beacon logs, verify interval ≈ 30240ms (3x) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi> (2 times)
Interval ≈ 30240ms ±30ms
Key check: Beacon interval = 3x
9 Change beacon interval to 2x:
sid option -lp_set 1 2
Wait for join response
[Rx][0:22F:3:<n>]
Njoin(1, 2) st 2->6
Key check: Rejoined
10 Catch 2 consecutive beacon logs, verify interval ≈ 20160ms (2x) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi> (2 times)
Interval ≈ 20160ms ±20ms
Key check: Beacon interval = 2x
11 Change beacon interval to 1x:
sid option -lp_set 1 1
Wait for join response
[Rx][0:22F:3:<n>]
Njoin(1, 2) st 2->6
Key check: Rejoined
12 Catch 2 consecutive beacon logs, verify interval ≈ 10080ms (1x) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi> (2 times)
Interval ≈ 10080ms ±10ms
Key check: Beacon interval = 1x

Test Case ID: FSK/EP/PWR/OPT/BV/06: Verify beacon interval revert to default after 2nd beacon misses

Field Value
Case ID C103619369
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
  • Shielding box available for blocking GW signal
Test Steps
Step Description Expected Result
1 Initialize FSK stack with profile 2, beacon interval=3:
sid init 2
sid option -lp_set 2 5040 3
mac scfg C 1 <GW_Sidewalk_ID>
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 2
EVENT SID STATUS LINK MODE: LORA: 0, FSK: 1, BLE: 0
Key check: EN joined via FSK, beacon interval=3x (30240ms)
2 After a beacon received, close shielding box door to block GW signal BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi>
Key check: Beacon received, shielding box closed
3 Wait for 2 consecutive beacon misses:
- Beacon miss 1 at ~30s
- Beacon miss 2 at ~60s
BCN:bcn miss:1
BCN:bcn miss:2
Key check: 2 beacon misses detected, EN reverts to default interval (10080ms)
4 Open shielding box door to restore GW signal Key check: GW signal restored
5 Check beacon received at ~70s (default interval after 2nd miss) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi>
Key check: Beacon received at ~70s using default interval (10080ms)
6 Check beacon received at ~100s (reverted to user-configured interval 30240ms) BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi>
Key check: Beacon interval restored to user-configured 3x (30240ms)
7 Repeat steps 1-6 with beacon interval=2:
sid option -lp_set 2 5040 2
- Beacon miss 1 at ~20s
- Beacon miss 2 at ~40s
- Beacon received at ~50s (default)
- Beacon received at ~70s (restored to 2x)
BCN:bcn miss:1
BCN:bcn miss:2
BCN:pkt rcvd (at ~50s)
BCN:pkt rcvd (at ~70s)
Key check: Same behavior with beacon interval=2x (20160ms)

Field Value
Case ID C103619370
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize FSK stack with profile 2, beacon interval=3, rx_duration=8s:
sid init 2
sid option -lp_set 2 630 3 8
sid start
Wait for time sync and join
Wait for beacon received, record time T
BCN:pkt rcvd gw_id:<id> ch:<ch> rssi:<rssi>
Njoin(1, 2) st 2->6
Key check: EN joined, beacon received at T=0
2 Wait until T ≈ 11s (1 beacon skipped), then send UL and wait for DL:
sid send PING
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2
EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 2
Key check: UL/DL successful after 1 beacon skipped
3 Wait until T ≈ 22s (2 beacons skipped), then send UL and wait for DL:
sid send PING
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 2
EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 2
Key check: UL/DL successful after 2 beacons skipped

Test Case ID: LORA/EP/PWR/OPT/BV/01: Verify number of RX windows is limited and can be changed

Field Value
Case ID C103619371
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP should be flashed with MAC v2 image (sid_dut_v2)
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud (receives time sync)
  • In Device Profile A, after single transmission in Uplink, endpoint should open specified number of RX windows and go to sleep
  • RX window count: 0~60 (0 is for uplink-only mode)
  • Window validity period in seconds: 0~300 (0 is for uplink-only mode)
Test Steps
Step Description Expected Result
1 Initialize LoRa stack with profile A, rx_window=2:
sid init 3
sid option -lp_set 128 2
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 4
Njoin(1, 4) st 2->6
Key check: EN joined via LoRa, rx_window=2 (~10s validity)
2 Wait 30 seconds for RX windows to close No RX window events
Key check: RX windows closed
3 Send UL (T=0s):
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 4
Key check: UL sent, T=0
4 T = 3s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL received within RX window (T=3s < 10s)
5 T = 15s: Send DL from cloud to EN No EVENT SID RECEIVED log
Key check: DL not received, RX windows expired (T=15s > 10s)
6 Change RX windows to 60:
sid option -lp_set 128 60
Wait for join response
[Rx][0:22F:3:<n>]
Njoin(1, 4) st 2->6
Key check: Rejoined with rx_window=60 (~300s validity)
7 Wait 30 seconds for RX windows to close No RX window events
8 Send UL (T=0s):
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 4
Key check: UL sent, T=0
9 T = 3s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL received
10 T = 293s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL received within extended RX window (T=293s < 300s)
11 T = 305s: Send DL from cloud to EN No EVENT SID RECEIVED log
Key check: DL not received, RX windows expired (T=305s > 300s)

Field Value
Case ID C103619372
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP should be flashed with MAC v2 image (sid_dut_v2)
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize LoRa stack with profile A, rx_window=30:
sid init 3
sid option -lp_set 128 30
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 4
Njoin(1, 4) st 2->6
Key check: EN joined via LoRa, rx_window=30 (~150s validity)
2 Wait 30 seconds for RX windows to close No RX window events
Key check: RX windows closed
3 Send UL (T=0s):
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 4
Key check: UL sent, T=0, RX windows open for ~150s
4 T = 73s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL received (RX window was reset by additional UL before T=73s)
5 Send additional UL to reset RX window timer:
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 4
Key check: UL sent, RX window timer reset to ~150s
6 T = 222s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL received within reset RX window

Test Case ID: LORA/EP/PWR/OPT/BV/03: Verify RX window termination request stops RX window opened at profile A

Field Value
Case ID C103619373
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP should be flashed with MAC v2 image (sid_dut_v2)
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize LoRa stack with profile A, rx_window=30:
sid init 3
sid option -lp_set 128 30
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 4
Njoin(1, 4) st 2->6
Key check: EN joined via LoRa, profile A, rx_window=30 (~150s validity)
2 Wait 30 seconds for RX windows to close No RX window events
Key check: RX windows closed
3 Send UL (T=0s):
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 4
Key check: UL sent, T=0
4 T < 5s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL received
5 Execute RX terminate command:
sid option -sub_ghz_ctl 1
CMD: ERR: 0
Key check: RX terminate command executed
6 T = 18s: Send DL from cloud to EN No EVENT SID RECEIVED log
Key check: DL not received, RX windows terminated by sid option -sub_ghz_ctl 1

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

Field Value
Case ID C103619374
Executable by Customer Yes
Preconditions
  • GW and EP should be flashed with debug variant build
  • EP should be flashed with MAC v2 image (sid_dut_v2)
  • EP is registered in Sidewalk network
  • GW is properly communicating with the Cloud
Test Steps
Step Description Expected Result
1 Initialize LoRa stack with profile B (infinite RX):
sid init 3
sid option -lp_set 129 0
sid start
Wait for time sync and join
EVENT SID STATUS: State: 0, Reg: 0, Time: 0, Link_Mask: 4
Njoin(1, 4) st 2->6
Key check: EN joined via LoRa, profile B (infinite RX windows)
2 Wait 30 seconds for RX windows to close No RX window events
Key check: RX windows closed
3 Send UL (T=0s):
sid send TEST
EVENT SID SEND STATUS: SID ERR: 0, TYPE: 2, ID: <id>, LINK: 4
Key check: UL sent, T=0
4 T < 5s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL received
5 Execute RX terminate command:
sid option -sub_ghz_ctl 1
CMD: ERR: 0
Key check: RX terminate command executed
6 T = 18s: Send DL from cloud to EN EVENT SID RECEIVED: TYPE: 3, ID: <id>, LEN: <len>, LINK: 4
Key check: DL still received, profile B not affected by terminate command

Back to top

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