-
Notifications
You must be signed in to change notification settings - Fork 514
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enables UPSV=1 low power mode for R510 when idle for >=9.2s #2674
Conversation
b516724
to
9073e55
Compare
7059376
to
18a4f1f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tests passed for me when I ran them locally on a boron:
device-os-test --test-dir ~/develop/device-os/user/tests/integration --device-os-dir ~/develop/device-os run wiring/no_fixture_power_saving boron -v -- -fixture
Test directory: /Users/scottbrust/develop/device-os/user/tests/integration
Device OS directory: /Users/scottbrust/develop/device-os
Firmware binaries directory: /Users/scottbrust/develop/device-os/build/integration
Generating test matrix
Initializing API client
URL: https://api.particle.io
Authenticating with access token
Signed in as device-os-ci@particle.io
Subscribing to device events
Initializing device manager
Enumerating USB devices
Retrieving devices from the cloud
Device pool:
e00fce6801bbf404f387daf9 (scott-us-brn404x-dvt3-mxic-1)
No fixtures configured
Running tests
No fixture power saving
boron
Target device: e00fce6801bbf404f387daf9 (scott-us-brn404x-dvt3-mxic-1)
Flashing application: no_fixture_power_saving.bin
Getting device tests
systemThread=disabled
Initializing device test suite
Running device test: POWER_SAVING_00_setup
Device test passed
✓ POWER_SAVING_00_setup (7.1s)
Running device test: POWER_SAVING_01_particle_publish_publishes_an_event_after_low_power_active
Device test passed
Waiting cloud event: my_event_low_power
✓ POWER_SAVING_01_particle_publish_publishes_an_event_after_low_power_active (44.2s)
Running device test: POWER_SAVING_02_register_function_and_connect_to_cloud
Device test passed
✓ POWER_SAVING_02_register_function_and_connect_to_cloud (37.6s)
Running device test: POWER_SAVING_03_call_function_and_check_return_value_after_low_power_active
Device test passed
✓ POWER_SAVING_03_call_function_and_check_return_value_after_low_power_active (1.5s)
Running device test: POWER_SAVING_04_check_function_argument_value
Device test passed
✓ POWER_SAVING_04_check_function_argument_value (5.9s)
Running device test: POWER_SAVING_05_system_sleep_with_configuration_object_ultra_low_power_mode_wake_by_network
Device test notified about expected reset
Device test passed
✓ POWER_SAVING_05_system_sleep_with_configuration_object_ultra_low_power_mode_wake_by_network (85.4s)
Running device test: POWER_SAVING_06_check_function_argument_value
Device test passed
✓ POWER_SAVING_06_check_function_argument_value (5.9s)
Running device test: POWER_SAVING_99_cleanup
Device test passed
✓ POWER_SAVING_99_cleanup
systemThread=enabled
Initializing device test suite
Running device test: POWER_SAVING_00_setup
Device test passed
✓ POWER_SAVING_00_setup (7.2s)
Running device test: POWER_SAVING_01_particle_publish_publishes_an_event_after_low_power_active
Device test passed
Waiting cloud event: my_event_low_power
✓ POWER_SAVING_01_particle_publish_publishes_an_event_after_low_power_active (75s)
Running device test: POWER_SAVING_02_register_function_and_connect_to_cloud
Device test passed
✓ POWER_SAVING_02_register_function_and_connect_to_cloud (36.6s)
Running device test: POWER_SAVING_03_call_function_and_check_return_value_after_low_power_active
Device test passed
✓ POWER_SAVING_03_call_function_and_check_return_value_after_low_power_active (2.4s)
Running device test: POWER_SAVING_04_check_function_argument_value
Device test passed
✓ POWER_SAVING_04_check_function_argument_value (5.9s)
Running device test: POWER_SAVING_05_system_sleep_with_configuration_object_ultra_low_power_mode_wake_by_network
Device test notified about expected reset
Device test passed
✓ POWER_SAVING_05_system_sleep_with_configuration_object_ultra_low_power_mode_wake_by_network (85.5s)
Running device test: POWER_SAVING_06_check_function_argument_value
Device test passed
✓ POWER_SAVING_06_check_function_argument_value (5.9s)
Running device test: POWER_SAVING_99_cleanup
Device test passed
✓ POWER_SAVING_99_cleanup
Resetting device
16 passing (7m)
I also saw the device go into power save mode with the Otii power measurements
How did you observe the CTS1
pin when in power save mode? Did you do testing on an EVK? I think the only board of ours that I might be able to probe is an esomx...
user/tests/wiring/no_fixture_power_saving/power_saving_mode.cpp
Outdated
Show resolved
Hide resolved
user/tests/wiring/no_fixture_power_saving/no_fixture_power_saving.spec.js
Show resolved
Hide resolved
user/tests/wiring/no_fixture_power_saving/power_saving_mode.cpp
Outdated
Show resolved
Hide resolved
830f3c8
to
e4f497d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just the R410 waitResponse()
thing is a bit worrying.
also fixes DEBUG_BUILD=y build
e4f497d
to
5712361
Compare
5712361
to
d981dcc
Compare
Problem
Solution
Steps to Test
APP=tinker-serial1-debugging
and observe after device is idle, power consumption drops from 30-38mA avg. down to 8-12mA avg.device-os-test run bsom wiring/no_fixture_long_running -v -- -fixture
device-os-test run boron wiring/no_fixture_long_running -v -- -fixture
device-os-test run esomx wiring/no_fixture_long_running -v -- -fixture
References
Completeness