22
22
logger = get_logger ()
23
23
24
24
UART_TIMEOUT = 60 * 30
25
- POWER_TIMEOUT = 60 * 15
25
+ POWER_TIMEOUT = 60 * 5
26
26
MAX_CURRENT_PSM_UA = 10
27
27
SAMPLING_INTERVAL = 0.01
28
28
CSV_FILE = "power_measurements.csv"
@@ -88,7 +88,7 @@ def generate_time_series_html(csv_file, date_column, value_column, output_file="
88
88
df = pd .read_csv (csv_file , parse_dates = [date_column ])
89
89
90
90
title = "Asset Tracket Template Current Consumption Plot\n \n "
91
- note_text = "Note: application is still in development, not reaching target psm current yet "
91
+ note_text = "Note: Measures are taken with PPK2 "
92
92
title += f"<br><span style='font-size:12px;color:gray;'>{ note_text } </span>"
93
93
94
94
# Create an interactive Plotly line chart
@@ -130,24 +130,26 @@ def thingy91x_ppk2():
130
130
else :
131
131
pytest .skip ("Failed to get ppk modifiers after 10 attempts" )
132
132
133
- ppk2_dev .set_source_voltage (3300 )
134
133
ppk2_dev .use_ampere_meter () # set ampere meter mode
134
+ ppk2_dev .set_source_voltage (3300 )
135
+ ppk2_dev .toggle_DUT_power ("OFF" ) # disable DUT power
136
+ time .sleep (2 )
135
137
ppk2_dev .toggle_DUT_power ("ON" ) # enable DUT power
138
+ ppk2_dev .start_measuring ()
136
139
137
140
time .sleep (10 )
138
141
for _ in range (10 ):
139
142
try :
140
143
all_uarts = get_uarts ()
141
- logger .warning (f"momo all uarts { all_uarts } " )
142
144
if not all_uarts :
143
145
logger .error ("No UARTs found" )
144
146
log_uart_string = all_uarts [0 ]
145
147
break
146
148
except Exception as e :
147
149
logger .warning (f"Exception: { e } " )
148
- ppk2_dev .toggle_DUT_power ("OFF" ) # disable DUT power
150
+ ppk2_dev .toggle_DUT_power ("OFF" )
149
151
time .sleep (2 )
150
- ppk2_dev .toggle_DUT_power ("ON" ) # enable DUT power
152
+ ppk2_dev .toggle_DUT_power ("ON" )
151
153
time .sleep (5 )
152
154
continue
153
155
else :
@@ -160,6 +162,7 @@ def thingy91x_ppk2():
160
162
t91x_uart .stop ()
161
163
recover_device (serial = SEGGER )
162
164
ppk2_dev .stop_measuring ()
165
+ ppk2_dev .toggle_DUT_power ("OFF" )
163
166
164
167
@pytest .mark .slow
165
168
def test_power (thingy91x_ppk2 , hex_file ):
@@ -176,10 +179,8 @@ def test_power(thingy91x_ppk2, hex_file):
176
179
pytest .skip ("Device unable to connect to cloud, skip ppk test" )
177
180
178
181
# Disable UART on the device
179
- thingy91x_ppk2 .t91x_uart .write ("pm suspend uartuart@9000\r \n " )
180
- thingy91x_ppk2 .t91x_uart .write ("pm suspend uartuart@8000\r \n " )
181
-
182
- thingy91x_ppk2 .ppk2_dev .start_measuring ()
182
+ thingy91x_ppk2 .t91x_uart .write ("pm suspend uart@9000\r \n " )
183
+ thingy91x_ppk2 .t91x_uart .write ("pm suspend uart@8000\r \n " )
183
184
184
185
start = time .time ()
185
186
min_rolling_average = float ('inf' )
@@ -235,3 +236,7 @@ def test_power(thingy91x_ppk2, hex_file):
235
236
# Determine test result based on whether PSM was reached
236
237
if not psm_reached :
237
238
pytest .fail (f"PSM target not reached after { POWER_TIMEOUT / 60 } minutes, only reached { min_rolling_average } uA" )
239
+
240
+ def test_dummy_placeholder ():
241
+ ''' Placeholder to suppress exit code 5, see https://github.com/pytest-dev/pytest/issues/2393 '''
242
+ pass
0 commit comments