@@ -345,39 +345,32 @@ def configure_m3y(self, version):
345345 self .version_str = "Detected M3Y Scanner, SW:" + self .software_version
346346
347347 # Disable read of configurable QRs and other configs
348- for config in (M3Y_CONFIG_MODE + b"0" , M3Y_DISABLE_ALL_SYMBOLOGIES , M3Y_ENABLE_QR_SYMBOL , M3Y_READ_LED_INDICATOR , M3Y_EOL , M3Y_TRIGGER_TIMEOUT , M3Y_CONTINUOUS_TIMEOUT , M3Y_CONT_ENABLE_REREAD_TIMEOUT , M3Y_CONT_REREAD_TIMEOUT , M3Y_CMD_MODE , M3Y_SERIAL_PROT ):
349- val = self .get_setting (config , 2 )
350- if val is None :
348+ required_configs = (
349+ M3Y_CONFIG_MODE + b"0" , M3Y_DISABLE_ALL_SYMBOLOGIES , M3Y_ENABLE_QR_SYMBOL ,
350+ M3Y_READ_LED_INDICATOR , M3Y_EOL , M3Y_TRIGGER_TIMEOUT , M3Y_CONTINUOUS_TIMEOUT ,
351+ M3Y_CONT_ENABLE_REREAD_TIMEOUT , M3Y_CONT_REREAD_TIMEOUT , M3Y_CMD_MODE , M3Y_SERIAL_PROT
352+ )
353+ for config in required_configs :
354+ if self .get_setting (config , 2 ) is None :
351355 return False
352356
353- # Sound
357+ # Configure audio and features based on settings
358+ audio_configs = [M3Y_SOUND + (b"1" if self .settings .get ("sound" , True ) else b"0" )]
354359 if self .settings .get ("sound" , True ):
355- val = self .get_setting (M3Y_SOUND + b"1" )
356- if val is None :
357- return False
358- val = self .get_setting (M3Y_SOUND_TYPE + b"1" )
359- if val is None :
360+ audio_configs .extend ([M3Y_SOUND_TYPE + b"1" , M3Y_SOUND_VOL + b"1" ])
361+
362+ for config in audio_configs :
363+ if self .get_setting (config ) is None :
360364 return False
361- val = self .get_setting (M3Y_SOUND_VOL + b"1" )
362- else :
363- val = self .get_setting (M3Y_SOUND + b"0" )
364- if val is None :
365- return False
366365
367366 # Aim
368- if self .settings .get ("aim" , True ):
369- val = self .get_setting (M3Y_AIM + b"2" )
370- else :
371- val = self .get_setting (M3Y_AIM + b"0" )
372- if val is None :
367+ aim_mode = b"2" if self .settings .get ("aim" , True ) else b"0"
368+ if self .get_setting (M3Y_AIM + aim_mode ) is None :
373369 return False
374370
375371 # LED Light
376- if self .settings .get ("light" , False ):
377- val = self .get_setting (M3Y_LIGHT + b"2" )
378- else :
379- val = self .get_setting (M3Y_LIGHT + b"0" )
380- if val is None :
372+ light_mode = b"2" if self .settings .get ("light" , False ) else b"0"
373+ if self .get_setting (M3Y_LIGHT + light_mode ) is None :
381374 return False
382375
383376 return True
@@ -397,9 +390,17 @@ def configure_gm65(self):
397390 return False
398391 save_required = True
399392
400- # Set Command Mode, scanning timeout, interval between scans, delay beteen re-reading the same barcode, Barcode type to None, Barcode type QR
401- for addr , set_val in ((SETTINGS_ADDR , self .CMD_MODE ), (TIMOUT_ADDR , 0 ), (INTERVAL_OF_SCANNING_ADDR , INTERVAL_OF_SCANNING ),
402- (DELAY_OF_SAME_BARCODES_ADDR , DELAY_OF_SAME_BARCODES ), (BAR_TYPE_ADDR , 0x01 ), (QR_ADDR , 0x01 )):
393+ # Configure scanner settings with a batch approach
394+ scanner_settings = (
395+ (SETTINGS_ADDR , self .CMD_MODE ),
396+ (TIMOUT_ADDR , 0 ),
397+ (INTERVAL_OF_SCANNING_ADDR , INTERVAL_OF_SCANNING ),
398+ (DELAY_OF_SAME_BARCODES_ADDR , DELAY_OF_SAME_BARCODES ),
399+ (BAR_TYPE_ADDR , 0x01 ),
400+ (QR_ADDR , 0x01 )
401+ )
402+
403+ for addr , set_val in scanner_settings :
403404 val = self .get_setting (addr )
404405 if val is None :
405406 return False
@@ -409,13 +410,13 @@ def configure_gm65(self):
409410 save_required = True
410411
411412 # Check the module software and enable "RAW" mode if required
412- val = self .get_setting (
413- VERSION_ADDR , retries = 5 , retry_delay_ms = RETRY_DELAY_MS , invalid_values = {0 }
414- )
413+ val = self .get_setting (VERSION_ADDR , retries = 5 , retry_delay_ms = RETRY_DELAY_MS , invalid_values = {0 })
415414 if val is None :
416415 return False
416+
417417 self .software_version = val
418418 self .version_str = "Detected GM65 Scanner, SW:" + str (val )
419+
419420 if val == VERSION_NEEDS_RAW :
420421 val = self .get_setting (RAW_MODE_ADDR )
421422 if val is None :
0 commit comments