File tree Expand file tree Collapse file tree 2 files changed +18
-9
lines changed Expand file tree Collapse file tree 2 files changed +18
-9
lines changed Original file line number Diff line number Diff line change @@ -502,9 +502,11 @@ def pack(self):
502502
503503
504504class SensorVariant (Enum ):
505- UNKNOWN = 0
506- SCD40 = 1
507- SCD41 = 2
505+ MASK = 61440
506+ SCD40 = 0
507+ SCD41 = 4096
508+ SCD42 = 8192
509+ SCD43 = 20480
508510
509511 def __int__ (self ):
510512 return self .value
Original file line number Diff line number Diff line change @@ -388,6 +388,7 @@ def get_sensor_variant_raw(self):
388388 :return sensor_variant:
389389 Bits[15…12] = 0000 → SCD40
390390 Bits[15…12] = 0001 → SCD41
391+ Bits[15…12] = 0101 → SCD43
391392
392393 .. note::
393394 This command is only available in idle mode.
@@ -628,13 +629,19 @@ def get_sensor_variant(self):
628629 .. note::
629630 This command is only available in idle mode.
630631 """
632+ ret_val = SensorVariant .MASK
633+ mask = int (ret_val )
631634 raw_sensor_variant = self .scd4x .get_sensor_variant_raw ()
632- variant = raw_sensor_variant & 4
633- if variant == 0 :
634- return SensorVariant .SCD40
635- elif variant == 1 :
636- return SensorVariant .SCD41
637- return SensorVariant .UNKNOWN
635+ my_sensor_variant = int (raw_sensor_variant & mask )
636+ if my_sensor_variant == int (SensorVariant .SCD40 ):
637+ ret_val = SensorVariant .SCD40
638+ elif my_sensor_variant == int (SensorVariant .SCD41 ):
639+ ret_val = SensorVariant .SCD41
640+ elif my_sensor_variant == int (SensorVariant .SCD42 ):
641+ ret_val = SensorVariant .SCD42
642+ elif my_sensor_variant == int (SensorVariant .SCD43 ):
643+ ret_val = SensorVariant .SCD43
644+ return ret_val
638645
639646 def measure_and_read_single_shot (self ):
640647 """
You can’t perform that action at this time.
0 commit comments