sharpbrick / powered-up

.NET implementation of the LEGO PoweredUp Protocol
MIT License
98 stars 19 forks source link

Add TechnicColorSensor device (part 37308, set 51515) #111

Closed rickjansen-dev closed 3 years ago

rickjansen-dev commented 3 years ago

static port data:

0B-00-43-00-01-07-0A-F7-01-08-00
07-00-43-00-02-63-00
11-00-44-00-00-00-43-4F-4C-4F-52-00-00-00-00-00-00
0E-00-44-00-00-01-00-00-00-00-00-00-20-41
0E-00-44-00-00-02-00-00-00-00-00-00-C8-42
0E-00-44-00-00-03-00-00-00-00-00-00-20-41
0A-00-44-00-00-04-49-44-58-00
08-00-44-00-00-05-E4-00
0A-00-44-00-00-80-01-00-02-00
11-00-44-00-01-00-52-45-46-4C-54-00-00-00-00-00-00
0E-00-44-00-01-01-00-00-00-00-00-00-C8-42
0E-00-44-00-01-02-00-00-00-00-00-00-C8-42
0E-00-44-00-01-03-00-00-00-00-00-00-C8-42
0A-00-44-00-01-04-50-43-54-00
08-00-44-00-01-05-30-00
0A-00-44-00-01-80-01-00-03-00
11-00-44-00-02-00-41-4D-42-49-00-00-00-00-00-00-00
0E-00-44-00-02-01-00-00-00-00-00-00-C8-42
0E-00-44-00-02-02-00-00-00-00-00-00-C8-42
0E-00-44-00-02-03-00-00-00-00-00-00-C8-42
0A-00-44-00-02-04-50-43-54-00
08-00-44-00-02-05-30-00
0A-00-44-00-02-80-01-00-03-00
11-00-44-00-03-00-4C-49-47-48-54-00-00-00-00-00-00
0E-00-44-00-03-01-00-00-00-00-00-00-C8-42
0E-00-44-00-03-02-00-00-00-00-00-00-C8-42
0E-00-44-00-03-03-00-00-00-00-00-00-C8-42
0A-00-44-00-03-04-50-43-54-00
08-00-44-00-03-05-00-10
0A-00-44-00-03-80-03-00-03-00
11-00-44-00-04-00-52-52-45-46-4C-00-00-00-00-00-00
0E-00-44-00-04-01-00-00-00-00-00-00-80-44
0E-00-44-00-04-02-00-00-00-00-00-00-C8-42
0E-00-44-00-04-03-00-00-00-00-00-00-80-44
0A-00-44-00-04-04-52-41-57-00
08-00-44-00-04-05-10-00
0A-00-44-00-04-80-02-01-04-00
11-00-44-00-05-00-52-47-42-20-49-00-00-00-00-00-00
0E-00-44-00-05-01-00-00-00-00-00-00-80-44
0E-00-44-00-05-02-00-00-00-00-00-00-C8-42
0E-00-44-00-05-03-00-00-00-00-00-00-80-44
0A-00-44-00-05-04-52-41-57-00
08-00-44-00-05-05-10-00
0A-00-44-00-05-80-04-01-04-00
11-00-44-00-06-00-48-53-56-00-00-00-00-00-00-00-00
0E-00-44-00-06-01-00-00-00-00-00-00-B4-43
0E-00-44-00-06-02-00-00-00-00-00-00-C8-42
0E-00-44-00-06-03-00-00-00-00-00-00-B4-43
0A-00-44-00-06-04-52-41-57-00
08-00-44-00-06-05-10-00
0A-00-44-00-06-80-03-01-04-00
11-00-44-00-07-00-53-48-53-56-00-00-00-00-00-00-00
0E-00-44-00-07-01-00-00-00-00-00-00-B4-43
0E-00-44-00-07-02-00-00-00-00-00-00-C8-42
0E-00-44-00-07-03-00-00-00-00-00-00-B4-43
0A-00-44-00-07-04-52-41-57-00
08-00-44-00-07-05-10-00
0A-00-44-00-07-80-04-01-04-00
11-00-44-00-08-00-44-45-42-55-47-00-00-00-00-00-00
0E-00-44-00-08-01-00-00-00-00-00-FF-7F-47
0E-00-44-00-08-02-00-00-00-00-00-00-C8-42
0E-00-44-00-08-03-00-00-00-00-00-FF-7F-47
0A-00-44-00-08-04-52-41-57-00
08-00-44-00-08-05-10-00
0A-00-44-00-08-80-04-01-04-00
11-00-44-00-09-00-43-41-4C-49-42-00-00-00-00-00-00
0E-00-44-00-09-01-00-00-00-00-00-FF-7F-47
0E-00-44-00-09-02-00-00-00-00-00-00-C8-42
0E-00-44-00-09-03-00-00-00-00-00-FF-7F-47
0A-00-44-00-09-04-00-00-00-00
08-00-44-00-09-05-00-00
0A-00-44-00-09-80-07-01-05-00

device modes

Hub: 0
  Port: 0
    IOTypeId: TechnicColorSensor
    HardwareRevision: 1.0.0.0
    SoftwareRevision: 1.0.0.0
    OutputCapability: True
    InputCapability: True
    LogicalCombinableCapability: True
    LogicalSynchronizableCapability: False
    ModeCombinations: [0000000001100011]
    UsedCombinationIndex: 0
    MultiUpdateEnabled: False
    ConfiguredModeDataSetIndex: []
    Mode: 0
      Name: COLOR
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 10
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 10
      Symbol: IDX
      InputSupportsNull: True
      InputSupportFunctionalMapping20: True
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 1
      DatasetType: SByte
      TotalFigures: 2
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 1
      Name: REFLT
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 100
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 100
      Symbol: PCT
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 1
      DatasetType: SByte
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 2
      Name: AMBI
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 100
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 100
      Symbol: PCT
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 1
      DatasetType: SByte
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 3
      Name: LIGHT
      IsInput: False
      IsOutput: True
      RawMin: 0
      RawMax: 100
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 100
      Symbol: PCT
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: True
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 3
      DatasetType: SByte
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 4
      Name: RREFL
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 1024
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 1024
      Symbol: RAW
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 2
      DatasetType: Int16
      TotalFigures: 4
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 5
      Name: RGB I
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 1024
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 1024
      Symbol: RAW
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 4
      DatasetType: Int16
      TotalFigures: 4
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 6
      Name: HSV
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 360
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 360
      Symbol: RAW
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 3
      DatasetType: Int16
      TotalFigures: 4
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 7
      Name: SHSV
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 360
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 360
      Symbol: RAW
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 4
      DatasetType: Int16
      TotalFigures: 4
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 8
      Name: DEBUG
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 65535
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 65535
      Symbol: RAW
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 4
      DatasetType: Int16
      TotalFigures: 4
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 9
      Name: CALIB
      IsInput: False
      IsOutput: False
      RawMin: 0
      RawMax: 65535
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 65535
      Symbol:
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 7
      DatasetType: Int16
      TotalFigures: 5
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False