Giter Site home page Giter Site logo

legomario's Introduction

legomario

DOES NOT WORK IF YOU FIRMWARE UPDATE MARIO FIGURES TO APP VERSION 2.9 Failed to update the notification status for characteristic 17: Error Domain=CBATTErrorDomain Code=5 "Authentication is insufficient."

  • Generates printable SVG scanner codes for LEGO Mario as well as Luigi & Peach. View the HTML live from the repository
  • Provides a Python library for interacting with LEGO Bluetooth LE devices including:
    • LEGO Mario (and Luigi & Peach) BROKEN WITH FIRMWARE 6.1
    • LEGO Powered Up Remote Control (88010)
    • DUPLO Train Hub No. 5
    • LEGO Powered Up Hub No. 4 (88009)
    • LEGO Technic Hub No. 2 (88012)
    • LEGO Boost Hub No. 1 (88006) aka Move Hub aka JAJUR1
    • Does not (currently) work with WeDo 2.0 Hub (45301) aka LPF2 Smart Hub 2. This does not seem to speak standard LEGO Wireless Protocol 3.0
  • Has some idea about how to communicate with all but one Lego Power Functions v2 (LPF2) devices that can be attached to the hubs
  • Does not have great documentation yet, but things like "python -m pydoc BTLego.LPF_Devices.RGB" are intended to be helpful, and may even be the basis of acceptable documentation... eventually

Requires

Try a Bluetooth example 1

git clone https://github.com/mutesplash/legomario.git
cd legomario
python3 -m venv .

Activate the virtual environment. In bash: source bin/activate

python3 -m pip install Bleak
cd examples
ln -s ../BTLego
python3 scan.py

Footnotes

  1. Python adds the script location to sys.path, so to run the examples in place, link the module into /examples

legomario's People

Contributors

mutesplash avatar

Stargazers

Ivan avatar Eralp Karaduman avatar Johan Gardell avatar Daniel Vopalecky avatar Jean-Philippe Deblonde avatar  avatar  avatar Patrick Lamm avatar Ethan Roberts avatar Oliver Jooß avatar Steffen Stamprath avatar ーーー avatar  avatar Michael K-F avatar  avatar Ben Thomasson avatar Torsten Stelling avatar  avatar Bitboard avatar Diego Fernando Nieto avatar

Watchers

Steffen Stamprath avatar  avatar Maciej Holyszko avatar  avatar

legomario's Issues

Why do custom barcodes with a black strip report as "___U___" and 32767

I have been printing a bunch of custom barcodes to try and identify patterns that don't start with BR or GR, as well as trying to determine the missing color that is hypothesized to be Black.

(No luck identifying alternative to BR or GR, but my best guess if they need more codes is that they would start supporting "PR" or simply add support for the missing color code, likely black. Of course, since they can change the firmware, they can change the barcode reading, possibly also adding many more colors, or adding support for 6-line codes.)

This leads to the question, I've made a couple variants with a Black stripe, and they all semi-reliably report back in Scan.py as "U" and 32767. Is this value raw data from the Bluetooth protocol from Mario, or something that the python app is deriving from the data it receives?

examples I have tested ("K" for Black.)

  • GRLBK
  • GRPBK

Thoughts?

legomario i know what BRVLY code is.

hay mutesplash I know what the RGB code BRVLY is. its the code for the new Lego bowser set whare you scan the code to initializes the fight, and then scan yellow bricks to defeat him.

lego bowser BRVLY-1

Color Code for 221 not reflected in BTLegoMario.py

In BTLegoMario.py - there is no color defined in solid_colors for value = 221. That's the value the color scanner reports when I put mario onto a 222.Light Purple (Bright Pink), 221. Bright Purple (Dark Pink), or 124. Bright Reddish Violet (Magenta) LEGO Brick.

Given the suspicious correlation to LEGO official color code 221 - I think it is meant to be Bright Pink (LEGO Official name) / Dark Pink (BrickLink name).

Luigi's Mansion codes seem incorrect

As strange as it might be Lego has added a new header to some of the codes which goes BLUE RED instead of GREEN RED. This means some of the codes you put in might not work fully (In hex GREEN RED translates to 0x0 and BLUE RED Translates to 0x1). I haven't tested your codes to see if they still work but I just wanted to mention that. Also, a quick note that E Gadd's code (from set 71397) Will appear as 0x2, the same code as a goomba. If you need any of the hex codes I have a program on my computer which helps me collect them that I could send you (It's written in python 3).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.