Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Mario (from set 71360) #91

Closed
tthiery opened this issue Sep 5, 2020 · 32 comments · Fixed by #93
Closed

Add Mario (from set 71360) #91

tthiery opened this issue Sep 5, 2020 · 32 comments · Fixed by #93
Assignees
Labels
area-hubs blocked-hardware-availability enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@tthiery
Copy link
Member

tthiery commented Sep 5, 2020

Mario seems to be a simple Lego Wireless Protocol compatible Powered Up device.

I cannot support this integration since I lack hardware. If anyone is up interesting trying to add, I will assist and guide.

@tthiery tthiery added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed area-hubs blocked-hardware-availability labels Sep 5, 2020
@tthiery
Copy link
Member Author

tthiery commented Sep 5, 2020

See related nathankellenicki/node-poweredup#103

@tthiery tthiery changed the title Add Mario Add Mario (from set 71360) Sep 5, 2020
@judavi
Copy link

judavi commented Oct 4, 2020

Hi @tthiery !
I'll be happy to help if I get some guidance. I already have some code able to get the RGB camera colors and the accelerometer https://github.com/judavi/lego-mario

@tthiery
Copy link
Member Author

tthiery commented Oct 4, 2020

Hi @judavi

I am happy to give you the needed guidance! To onboard Mario,

  1. the first thing would be an addition to the system types and BLE types. I think that number you should already have.
  2. Run the poweredup device list cli call to enumerate all internal devices/ports.
  3. Dump the result here and have a conversation 🎉

I had a look at your code and I am not perfectly sure whether either your code is wrong (especially the switch instruction argument data[0]) or the fact that lego mario is using LWP 😁. As far as I remember, the first byte of the message is the length of the message and not the message type. Which coincidentally might work but is not correct. Third option: me having not read the core careful enough 😁

tthiery added a commit that referenced this issue Oct 4, 2020
- This allows the CLI to actual work

#91 non-breaking
tthiery added a commit that referenced this issue Oct 4, 2020
- This allows the CLI to actual work

#91 non-breaking
@tthiery
Copy link
Member Author

tthiery commented Oct 4, 2020

@judavi i have eliminated the first step to simplify your onboarding. You would need to pull the code, compile it with .NET Core 3.1 and run the CLI project with the arguments device list. This operation will essentially you give you all the stuff the https://github.com/bricklife/LEGO-Mario-Reveng project has informally spread over a dozen tables in a tree style format. Afterward that, we can analyze which device the .NET library here needs and how to implement it.

tthiery added a commit that referenced this issue Oct 4, 2020
- Devices are empty shells currently

#91 non-breaking
@tthiery
Copy link
Member Author

tthiery commented Oct 4, 2020

@judavi Got a bit excited and added already a pull request (#93). However, here I would need to stop. I would need the dump of the following commands (from the CLI project) to continue working without actual hardware ...

  • dotnet run -- device list
  • dotnet run -- device dump-static-port -p 0
  • dotnet run -- device dump-static-port -p 1
  • dotnet run -- device dump-static-port -p 2
  • dotnet run -- device dump-static-port -p 3
  • dotnet run -- device dump-static-port -p 6

The rest I would need to do (blindly w/o testing) the following work documented here.

@judavi
Copy link

judavi commented Oct 4, 2020

dotnet run -- device list

 .\SharpBrick.PoweredUp.Cli  -- device list
Scan Started. Please select the Hub (using a number keys or 'q' to terminate):
1: Mario (with address 106066114251875)
1
Selected Mario with key 1
Discover Ports. Receiving Messages ...
........................................................................................
Discover Ports Function: 87 / 87
Hub: 0
  Port: 0
    IOTypeId: 71
    HardwareRevision: 2.0.0.0
    SoftwareRevision: 0.0.0.1
    OutputCapability: False
    InputCapability: True
    LogicalCombinableCapability: True
    LogicalSynchronizableCapability: False
    ModeCombinations: [0000000000000011]
    UsedCombinationIndex: 0
    MultiUpdateEnabled: False
    ConfiguredModeDataSetIndex: []
    Mode: 0
      Name: RAW
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 100
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 100
      Symbol: cnt
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 3
      DatasetType: SByte
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 1
      Name: GEST
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 100
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 100
      Symbol: cnt
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 2
      DatasetType: Int16
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
  Port: 1
    IOTypeId: 73
    HardwareRevision: 2.0.0.0
    SoftwareRevision: 0.0.0.1
    OutputCapability: False
    InputCapability: True
    LogicalCombinableCapability: True
    LogicalSynchronizableCapability: False
    ModeCombinations: [0000000000000011]
    UsedCombinationIndex: 0
    MultiUpdateEnabled: False
    ConfiguredModeDataSetIndex: []
    Mode: 0
      Name: TAG
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 10
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 10
      Symbol: idx
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 2
      DatasetType: Int16
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 1
      Name: RGB
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 10
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 10
      Symbol: raw
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 3
      DatasetType: SByte
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
  Port: 2
    IOTypeId: 74
    HardwareRevision: 2.0.0.0
    SoftwareRevision: 0.0.0.1
    OutputCapability: False
    InputCapability: True
    LogicalCombinableCapability: False
    LogicalSynchronizableCapability: False
    ModeCombinations: []
    UsedCombinationIndex: 0
    MultiUpdateEnabled: False
    ConfiguredModeDataSetIndex: []
    Mode: 0
      Name: PANT
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 63
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 63
      Symbol: idx
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 1
      DatasetType: SByte
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
  Port: 3
    IOTypeId: 70
    HardwareRevision: 2.0.0.0
    SoftwareRevision: 0.0.0.1
    OutputCapability: False
    InputCapability: True
    LogicalCombinableCapability: False
    LogicalSynchronizableCapability: False
    ModeCombinations: []
    UsedCombinationIndex: 0
    MultiUpdateEnabled: False
    ConfiguredModeDataSetIndex: []
    Mode: 0
      Name: CHAL
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 65535
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 65535
      Symbol: na
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 2
      DatasetType: Int16
      TotalFigures: 3
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 1
      Name: VERS
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 255
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 255
      Symbol: na
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 4
      DatasetType: Int32
      TotalFigures: 10
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 2
      Name: EVENTS
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 65535
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 65535
      Symbol: na
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 2
      DatasetType: Int16
      TotalFigures: 10
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 3
      Name: DEBUG
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 65535
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 65535
      Symbol: na
      InputSupportsNull: True
      InputSupportFunctionalMapping20: False
      InputAbsolute: False
      InputRelative: False
      InputDiscrete: True
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 4
      DatasetType: Int32
      TotalFigures: 10
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
  Port: 6
    IOTypeId: Voltage
    HardwareRevision: 0.0.0.1
    SoftwareRevision: 2.0.0.0
    OutputCapability: False
    InputCapability: True
    LogicalCombinableCapability: False
    LogicalSynchronizableCapability: False
    ModeCombinations: []
    UsedCombinationIndex: 0
    MultiUpdateEnabled: False
    ConfiguredModeDataSetIndex: []
    Mode: 0
      Name: VLT L
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 2705
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 3300
      Symbol: mV
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 1
      DatasetType: Int16
      TotalFigures: 4
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False
    Mode: 1
      Name: VLT S
      IsInput: True
      IsOutput: False
      RawMin: 0
      RawMax: 2705
      PctMin: 0
      PctMax: 100
      SIMin: 0
      SIMax: 3300
      Symbol: mV
      InputSupportsNull: False
      InputSupportFunctionalMapping20: False
      InputAbsolute: True
      InputRelative: False
      InputDiscrete: False
      OutputSupportsNull: False
      OutputSupportFunctionalMapping20: False
      OutputAbsolute: False
      OutputRelative: False
      OutputDiscrete: False
      NumberOfDatasets: 1
      DatasetType: Int16
      TotalFigures: 4
      Decimals: 0
      DeltaInterval: 0
      NotificationEnabled: False

dotnet run -- device dump-static-port -p 0

Scan Started. Please select the Hub (using a number keys or 'q' to terminate):
1: Mario (with address 106066114251875)
1
Selected Mario with key 1
Discover Port 0. Receiving Messages ...
.................
Discover Ports Function: 16 / 16
##################################################
0B-00-43-00-01-06-02-03-00-00-00
07-00-43-00-02-03-00
11-00-44-00-00-00-52-41-57-00-00-00-00-00-00-00-00
0E-00-44-00-00-01-00-00-00-00-00-00-C8-42
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-C8-42
0A-00-44-00-00-04-63-6E-74-00
08-00-44-00-00-05-84-00
0A-00-44-00-00-80-03-00-03-00
11-00-44-00-01-00-47-45-53-54-00-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-63-6E-74-00
08-00-44-00-01-05-84-00
0A-00-44-00-01-80-02-01-03-00

@judavi
Copy link

judavi commented Oct 4, 2020

dotnet run -- device dump-static-port -p 1

 device dump-static-port -p 1
Scan Started. Please select the Hub (using a number keys or 'q' to terminate):
1: Mario (with address 106066114251875)
1
Selected Mario with key 1
Discover Port 1. Receiving Messages ...
.................
Discover Ports Function: 16 / 16
##################################################
0B-00-43-01-01-06-02-03-00-00-00
07-00-43-01-02-03-00
11-00-44-01-00-00-54-41-47-00-00-00-00-00-00-00-00
0E-00-44-01-00-01-00-00-00-00-00-00-20-41
0E-00-44-01-00-02-00-00-00-00-00-00-C8-42
0E-00-44-01-00-03-00-00-00-00-00-00-20-41
0A-00-44-01-00-04-69-64-78-00
08-00-44-01-00-05-84-00
0A-00-44-01-00-80-02-01-03-00
11-00-44-01-01-00-52-47-42-00-00-00-00-00-00-00-00
0E-00-44-01-01-01-00-00-00-00-00-00-20-41
0E-00-44-01-01-02-00-00-00-00-00-00-C8-42
0E-00-44-01-01-03-00-00-00-00-00-00-20-41
0A-00-44-01-01-04-72-61-77-00
08-00-44-01-01-05-84-00
0A-00-44-01-01-80-03-00-03-00
##################################################

dotnet run -- device dump-static-port -p 2

1: Mario (with address 106066114251875)
1
Selected Mario with key 1
Discover Port 2. Receiving Messages ...
...........
Discover Ports Function: 9 / 9
##################################################
0B-00-43-02-01-02-01-01-00-00-00
05-00-43-02-02
11-00-44-02-00-00-50-41-4E-54-00-00-00-00-00-00-00
0E-00-44-02-00-01-00-00-00-00-00-00-7C-42
0E-00-44-02-00-02-00-00-00-00-00-00-C8-42
0E-00-44-02-00-03-00-00-00-00-00-00-7C-42
0A-00-44-02-00-04-69-64-78-00
08-00-44-02-00-05-84-00
0A-00-44-02-00-80-01-00-03-00
##################################################

dotnet run -- device dump-static-port -p 3

Discover Port 3. Receiving Messages ...
...............................
Discover Ports Function: 30 / 30
##################################################
0B-00-43-03-01-02-04-0F-00-00-00
05-00-43-03-02
11-00-44-03-00-00-43-48-41-4C-00-00-00-00-00-00-00
0E-00-44-03-00-01-00-00-00-00-00-FF-7F-47
0E-00-44-03-00-02-00-00-00-00-00-00-C8-42
0E-00-44-03-00-03-00-00-00-00-00-FF-7F-47
0A-00-44-03-00-04-6E-61-00-00
08-00-44-03-00-05-84-00
0A-00-44-03-00-80-02-01-03-00
11-00-44-03-01-00-56-45-52-53-00-00-00-00-00-00-00
0E-00-44-03-01-01-00-00-00-00-00-00-7F-43
0E-00-44-03-01-02-00-00-00-00-00-00-C8-42
0E-00-44-03-01-03-00-00-00-00-00-00-7F-43
0A-00-44-03-01-04-6E-61-00-00
08-00-44-03-01-05-84-00
0A-00-44-03-01-80-04-02-0A-00
11-00-44-03-02-00-45-56-45-4E-54-53-00-00-00-00-00
0E-00-44-03-02-01-00-00-00-00-00-FF-7F-47
0E-00-44-03-02-02-00-00-00-00-00-00-C8-42
0E-00-44-03-02-03-00-00-00-00-00-FF-7F-47
0A-00-44-03-02-04-6E-61-00-00
08-00-44-03-02-05-84-00
0A-00-44-03-02-80-02-01-0A-00
11-00-44-03-03-00-44-45-42-55-47-00-00-00-00-00-00
0E-00-44-03-03-01-00-00-00-00-00-FF-7F-47
0E-00-44-03-03-02-00-00-00-00-00-00-C8-42
0E-00-44-03-03-03-00-00-00-00-00-FF-7F-47
0A-00-44-03-03-04-6E-61-00-00
08-00-44-03-03-05-84-00
0A-00-44-03-03-80-04-02-0A-00
##################################################

dotnet run -- device dump-static-port -p 6

Discover Port 6. Receiving Messages ...
.................
Discover Ports Function: 16 / 16
##################################################
0B-00-43-06-01-02-02-03-00-00-00
05-00-43-06-02
11-00-44-06-00-00-56-4C-54-20-4C-00-00-00-00-00-00
0E-00-44-06-00-01-00-00-00-00-00-10-29-45
0E-00-44-06-00-02-00-00-00-00-00-00-C8-42
0E-00-44-06-00-03-00-00-00-00-00-40-4E-45
0A-00-44-06-00-04-6D-56-00-00
08-00-44-06-00-05-10-00
0A-00-44-06-00-80-01-01-04-00
11-00-44-06-01-00-56-4C-54-20-53-00-00-00-00-00-00
0E-00-44-06-01-01-00-00-00-00-00-10-29-45
0E-00-44-06-01-02-00-00-00-00-00-00-C8-42
0E-00-44-06-01-03-00-00-00-00-00-40-4E-45
0A-00-44-06-01-04-6D-56-00-00
08-00-44-06-01-05-10-00
0A-00-44-06-01-80-01-01-04-00
##################################################

@tthiery
Copy link
Member Author

tthiery commented Oct 4, 2020

Thanks. I will incorporate the stuff later today and write some scripts for testing. Awesome!

@judavi
Copy link

judavi commented Oct 4, 2020

Great!! thanks @tthiery !! It took me a while to find a computer with Windows at home 😅

@tthiery
Copy link
Member Author

tthiery commented Oct 4, 2020

Yeah, I guessed so. Seeing your repos and language choices. Btw, I have not heard of a go library for powered up devices. It is a simple protocol and easy to code once you get the patterns.

If you want to code in C# a bit, well, BLE adapters for macOS and Linux are missing.

tthiery added a commit that referenced this issue Oct 4, 2020
tthiery added a commit that referenced this issue Oct 4, 2020
#91 non-breaking
tthiery added a commit that referenced this issue Oct 4, 2020
-  RGB Sensor
- Tag Sensor

#91 non-breaking
tthiery added a commit that referenced this issue Oct 4, 2020
@tthiery
Copy link
Member Author

tthiery commented Oct 4, 2020

Hi @judavi

Within the branch of the pull request #93 I started the implementation. I hope the following is completed

  • MarioHubTagSensor (Barcode, ColorNo, RgbColor)
  • MarioHubPants (Pants)

I added two examples to test them. For running the test do the following

  1. Pull your repo to the latest version, checkout the branch of Add MarioHub and related devices #93 and pull the latest commits.
  2. Change the comments in examples\SharpBrick.PoweredUp.Examples\Program.cs the relevant example
  3. Run dotnet run in the directory examples\SharpBrick.PoweredUp.Examples.
  4. You have 20s to test the behavior. For the barcode example I modified the update interval to 100ms otherwise, i think the log is a bit to crazy. Change as needed in the example cs files.

Please perform the following tests

  • Pants are recognized on, off and type of pants
  • RGB Color is recognized
  • ColorNo is recognized
  • Tags as available are recognized

Note: Can you check the RGB color range. They are speced with 0..10 (raw) and 0..10 (SI). That invalidates basically the scaling ... i think the full byte range 0..255 is utilized, representing the full rgb spectrum (like done for the RgbLight).

Would be nice if you can run the test case in the next days. I got request today for the TwoPortHub ... I would love to release a 3.1 version with both, Mario and TwoPortHub.

Missing

  • Accelerator and Gesture: I am confused by the cnt unit ... i guess the accelerator is counting impacts not acceleration ... have to think about it.
  • Voltage: device type 14 is bound to Voltage. Same for Mario, TechnicMedium and TwoPort Hubs. However, they have different voltages. I need to add the hub type to the filter for the static data. Need some design work and its too late for that 😀.
  • Whole debugging thingy.

The testing for this will be a bit rougher.

@judavi
Copy link

judavi commented Oct 5, 2020

Hi @tthiery !

For both scenarios (Go and C#) sounds really interesting!!
For MacOs/Linux adapters could you point me what that means in terms of Windows? So I can get an idea?

Now! Let's talk about the specifics of the PR:

Steps:

  1. Changed the comment in Program.cs to Example.MarioPants()
  2. Run in debug mode

Results:

image

image

In this case _service is coming back with a null value.

I'll try to debug but I just wanted to share what I saw in case you have an idea what it could be missing.

About RGB Color Range:
Yes I think the range is 0 to 255. As you notice my code is not working correctly for the movement but almost the colours part was correctly identifying the color range and I was using https://github.com/judavi/lego-mario/blob/43d2727700c017ae721cceffb40b39c87ef7aee9/src/app.ts#L52

@tthiery
Copy link
Member Author

tthiery commented Oct 5, 2020

That is a bit strange especially considering that you already run the CLI on the same computer which runs over the same code.

@judavi
Copy link

judavi commented Oct 8, 2020

Cool! Let me try with those new values...

@judavi
Copy link

judavi commented Oct 8, 2020

No way... we will need to wait until tomorrow ... this guy is tired 😵

image

@judavi
Copy link

judavi commented Oct 11, 2020

I notice two particular things but I'm still not sure how to fix those:

image

image

How we can get the correct systemTypeId ?

And when is uncommented :
image

image

Probably as TechnicMediumHub with HardwareNetworkFamily in this case mario is not compatible with HardwareNetworkId.

@judavi
Copy link

judavi commented Oct 11, 2020

Are we sure is this a 0x43 ?

image

@tthiery
Copy link
Member Author

tthiery commented Oct 11, 2020

Well, the number is used in two enums. BLE Manufacturer data (which essentially instantiates the MarioHub class as a consequence) and as a SystemType property. These numbers match "usually". Try fixing the SystemType.

@tthiery
Copy link
Member Author

tthiery commented Oct 11, 2020

Regards the network properties: branch on SystemType, exclude it for MarioHub. I will fix this more generic later.

@tthiery
Copy link
Member Author

tthiery commented Oct 23, 2020

@judavi Hey, is Mario fit again?

@tthiery
Copy link
Member Author

tthiery commented Oct 24, 2020

I added #121 which will help fixing the HardwareNetworkId issue. Will update this as soon as the other is in master

tthiery added a commit that referenced this issue Oct 24, 2020
- HardwareNetworkId is not accepted by MarioHub

#91 non-breaking
@tthiery
Copy link
Member Author

tthiery commented Oct 24, 2020

Added known property types. This should be fixed now. The other one I need more input from you.

tthiery added a commit that referenced this issue Nov 15, 2020
- Fix DataSet Formatting to query all dataset entries of a mode
  (instead of only the first like useful for motors)
- Fix PortValueCombinedMode decoding to reflect this.
- Fix MarioBarcode example
- Temprary Constraint Percentage scaling

#91 non-breaking
@tthiery
Copy link
Member Author

tthiery commented Nov 15, 2020

So MarioHub. I have to apologize. This was unexpected not a "good first issue". The library is/was not ready for the plumper. It is mostly working, however, there is still a lot to do ...

  • CombinedModePortValue retrieval (support for multi-value dataset in combined mode)
  • Scaling of percentage (and SI above boundaries of datatype)
  • Color Coding of Blue is not recognized with deltaInterval: 5 => need lower level by default
  • Accelerometer Gestures are pending

Further, a lot is strange with the device:

  • SystemType mismatch is bypassed by not querying the property
  • Ignored: RGB scanner in device is not emitting 0-255 but more something like 0-127 but without applying scaling

tthiery added a commit that referenced this issue Nov 15, 2020
- MarioTagSensor reduce default delta interval to 3
  to be able to scan blue color no

#91
tthiery added a commit that referenced this issue Nov 15, 2020
tthiery added a commit that referenced this issue Nov 15, 2020
tthiery added a commit that referenced this issue Nov 15, 2020
tthiery added a commit that referenced this issue Nov 15, 2020
- Add MarioHub and related devices (Pants, TagSensor, Accelerometer/Gestures)
- Add Mario Examples
- Enable CombinedPortValue decoding with multiple data sets
- Add capability to override default deltaInterval for notifications
- Add capability to suppress percentage calculation (if e.g. data type overflow)

#91 non-breaking
tthiery added a commit that referenced this issue Nov 15, 2020
tthiery added a commit that referenced this issue Nov 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-hubs blocked-hardware-availability enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants