16
16
17
17
import board
18
18
import digitalio
19
- import microcontroller
20
19
21
20
settings = {}
22
21
23
22
with open ("/settings.txt" , "r" ) as F :
24
23
for line in F :
25
- k , v = line .replace ("\n " ,"" ).split (',' )
24
+ k , v = line .replace ("\n " , "" ).split ("," )
26
25
print (k , v )
27
26
settings [k ] = v
28
27
29
- MODE = settings [' mode' ]
30
- if settings [' delay' ] == ' RNDM' :
31
- DELAY_TIME = settings [' delay' ]
28
+ MODE = settings [" mode" ]
29
+ if settings [" delay" ] == " RNDM" :
30
+ DELAY_TIME = settings [" delay" ]
32
31
else :
33
- DELAY_TIME = int (settings [' delay' ])
34
- PB = float (settings ['pb' ])
35
- PAR = float (settings [' par' ])
36
- SENSITIVITY = int (settings [' sensitivity' ])
32
+ DELAY_TIME = int (settings [" delay" ])
33
+ PB = float (settings ["pb" ])
34
+ PAR = float (settings [" par" ])
35
+ SENSITIVITY = int (settings [" sensitivity" ])
37
36
38
37
39
38
gc .enable ()
102
101
group .append (mode_label )
103
102
104
103
105
-
106
104
def normalized_rms (values ):
107
- """ Gets the normalized RMS of the mic samples """
105
+ """Gets the normalized RMS of the mic samples"""
108
106
minbuf = int (sum (values ) / len (values ))
109
107
samples_sum = sum (float (sample - minbuf ) * (sample - minbuf ) for sample in values )
110
108
111
109
return (samples_sum / len (values )) ** 0.5
112
110
113
111
114
112
def picker (current ):
115
- """ Displays screen allowing user to set a time """
113
+ """Displays screen allowing user to set a time"""
116
114
pick [0 ].text , pick [1 ].text , pick [2 ].text , pick [3 ].text = list (
117
115
current .replace ("." , "" )
118
116
)
@@ -164,7 +162,8 @@ def rect_maker(shots):
164
162
rects .append (rectangle )
165
163
return rects
166
164
167
- def shot_label_maker (shots , grp ):
165
+
166
+ def shot_label_maker (grp ):
168
167
txt = ""
169
168
170
169
for i , j in enumerate (shot_list ):
@@ -173,15 +172,25 @@ def shot_label_maker(shots, grp):
173
172
else :
174
173
split = j - shot_list [i - 1 ]
175
174
txt = txt + f"{ i + 1 :02} \t { j :05.2f} \t { split :05.2f} \n "
176
- grp .append (label .Label (font = arial18 , anchored_position = (120 , 3 ), text = txt [:- 1 ], color = 0xFFFFFF , line_spacing = 0.82 , anchor_point = (0.5 , 0 )))
175
+ grp .append (
176
+ label .Label (
177
+ font = arial18 ,
178
+ anchored_position = (120 , 3 ),
179
+ text = txt [:- 1 ],
180
+ color = 0xFFFFFF ,
181
+ line_spacing = 0.82 ,
182
+ anchor_point = (0.5 , 0 ),
183
+ )
184
+ )
177
185
gc .collect ()
178
186
return grp
179
187
188
+
180
189
def show_shot_list (shots , disp ):
181
190
done = False
182
191
183
192
shot_group = rect_maker (shots )
184
- shot_group = shot_label_maker (shots , shot_group )
193
+ shot_group = shot_label_maker (shot_group )
185
194
disp .show (shot_group )
186
195
187
196
tracker = 10
@@ -213,7 +222,9 @@ def show_shot_list(shots, disp):
213
222
gc .collect ()
214
223
215
224
216
- def menu_mode (mode , delay_time , sensitivity , pb , par , length , submenus ):
225
+ def menu_mode (
226
+ mode , delay_time , sensitivity_ , pb , par , length_ , submenus_
227
+ ): # pylint: disable=too-many-branches,too-many-statements
217
228
selected = int (menu [0 ].y / 40 ) + 1
218
229
display .show (menu )
219
230
display .refresh ()
@@ -222,7 +233,7 @@ def menu_mode(mode, delay_time, sensitivity, pb, par, length, submenus):
222
233
pass
223
234
done = False
224
235
while not done :
225
- if not button_a .value and selected < length :
236
+ if not button_a .value and selected < length_ :
226
237
started = time .monotonic ()
227
238
while not button_a .value :
228
239
if time .monotonic () - started > 1 :
@@ -233,9 +244,9 @@ def menu_mode(mode, delay_time, sensitivity, pb, par, length, submenus):
233
244
else :
234
245
page_ = menu
235
246
selected = int (page_ [0 ].y / 40 ) + 1
236
- length = len (page_ ) - 1
247
+ length_ = len (page_ ) - 1
237
248
display .show (page_ )
238
- submenus = main_menu_opts
249
+ submenus_ = main_menu_opts
239
250
display .refresh ()
240
251
break
241
252
else :
@@ -261,7 +272,7 @@ def menu_mode(mode, delay_time, sensitivity, pb, par, length, submenus):
261
272
while not button_a .value :
262
273
pass
263
274
264
- if not button_a .value and selected == length and not done :
275
+ if not button_a .value and selected == length_ and not done :
265
276
started = time .monotonic ()
266
277
while not button_a .value :
267
278
if time .monotonic () - started > 1 :
@@ -272,9 +283,9 @@ def menu_mode(mode, delay_time, sensitivity, pb, par, length, submenus):
272
283
else :
273
284
page_ = menu
274
285
selected = int (page_ [0 ].y / 40 ) + 1
275
- length = len (page_ ) - 1
286
+ length_ = len (page_ ) - 1
276
287
display .show (page_ )
277
- submenus = main_menu_opts
288
+ submenus_ = main_menu_opts
278
289
display .refresh ()
279
290
break
280
291
else :
@@ -301,10 +312,10 @@ def menu_mode(mode, delay_time, sensitivity, pb, par, length, submenus):
301
312
pass
302
313
303
314
if not button_b .value :
304
- if isinstance (submenus [1 ], list ):
305
- if submenus [0 ] == mode :
306
- mode = submenus [1 ][selected - 1 ]
307
- submenus [0 ] = mode
315
+ if isinstance (submenus_ [1 ], list ):
316
+ if submenus_ [0 ] == mode :
317
+ mode = submenus_ [1 ][selected - 1 ]
318
+ submenus_ [0 ] = mode
308
319
if mode == "PB" :
309
320
pb = picker (f"{ PB :05.2f} " )
310
321
mode_label .text = f"{ mode } { pb } "
@@ -319,28 +330,28 @@ def menu_mode(mode, delay_time, sensitivity, pb, par, length, submenus):
319
330
display .refresh ()
320
331
else :
321
332
mode_label .text = mode
322
- if submenus [0 ] == delay_time and len (submenus [1 ]) == 5 :
323
- delay_time = submenus [1 ][selected - 1 ]
324
- submenus [0 ] = delay_time
333
+ if submenus_ [0 ] == delay_time and len (submenus_ [1 ]) == 5 :
334
+ delay_time = submenus_ [1 ][selected - 1 ]
335
+ submenus_ [0 ] = delay_time
325
336
delay .text = f"Delay: { delay_time } "
326
- if submenus [0 ] == sensitivity and len (submenus [1 ]) == 6 :
327
- sensitivity = submenus [1 ][selected - 1 ]
328
- submenus [0 ] = sensitivity
329
- sens .text = f"{ sensitivity } "
337
+ if submenus_ [0 ] == sensitivity_ and len (submenus_ [1 ]) == 6 :
338
+ sensitivity_ = submenus_ [1 ][selected - 1 ]
339
+ submenus_ [0 ] = sensitivity_
340
+ sens .text = f"{ sensitivity_ } "
330
341
for i in page_ :
331
342
i .color = 0xFFFFFF
332
343
page_ [selected ].color = 0x00FF00
333
344
else :
334
- page_ = submenus [selected - 1 ]
335
- submenus = page_opts [selected - 1 ]
345
+ page_ = submenus_ [selected - 1 ]
346
+ submenus_ = page_opts [selected - 1 ]
336
347
selected = int (page_ [0 ].y / 40 ) + 1
337
- length = len (page_ ) - 1
348
+ length_ = len (page_ ) - 1
338
349
display .show (page_ )
339
350
while not button_b .value :
340
351
pass
341
352
342
353
display .refresh ()
343
- return mode , delay_time , sensitivity , pb , par
354
+ return mode , delay_time , sensitivity_ , pb , par
344
355
345
356
346
357
def label_maker (txt , grp , font , x , y , x_step = 0 , y_step = 0 , anchor = None , padding = 0 ):
@@ -366,6 +377,7 @@ def label_maker(txt, grp, font, x, y, x_step=0, y_step=0, anchor=None, padding=0
366
377
)
367
378
return grp
368
379
380
+
369
381
mode_opts = [MODE , ["Default" , "PB" , "Par" ]]
370
382
371
383
delay_opts = [DELAY_TIME , [0 , 1 , 3 , 5 , "RNDM" ]]
@@ -445,11 +457,11 @@ def label_maker(txt, grp, font, x, y, x_step=0, y_step=0, anchor=None, padding=0
445
457
length = len (page ) - 1
446
458
447
459
mic = audiobusio .PDMIn (
448
- board .MICROPHONE_CLOCK ,
449
- board .MICROPHONE_DATA ,
450
- sample_rate = 16000 ,
451
- bit_depth = 16 ,
452
- )
460
+ board .MICROPHONE_CLOCK ,
461
+ board .MICROPHONE_DATA ,
462
+ sample_rate = 16000 ,
463
+ bit_depth = 16 ,
464
+ )
453
465
454
466
sensitivity_settings = [8000 , 10000 , 15000 , 20000 , 25000 , 30000 ]
455
467
@@ -491,7 +503,9 @@ def label_maker(txt, grp, font, x, y, x_step=0, y_step=0, anchor=None, padding=0
491
503
print ("SHOT" )
492
504
shot_time = round (time .monotonic () - start , 2 )
493
505
if len (shot_list ) != 0 :
494
- shot_num .text = f"#{ SHOTS } SPL { shot_time - shot_list [- 1 ]:05.2f} "
506
+ shot_num .text = (
507
+ f"#{ SHOTS } SPL { shot_time - shot_list [- 1 ]:05.2f} "
508
+ )
495
509
else :
496
510
shot_num .text = f"#{ SHOTS } SPL { shot_time :05.2f} "
497
511
main_time .text = f"{ shot_time :05.2f} "
0 commit comments