项目介绍

bricklife/LEGO-Mario-Reveng 是一个托管在 GitHub 上的开源项目,目前获得 140 个 Star、13 次 Fork。

仓库全名
bricklife/LEGO-Mario-Reveng
Star 数
140
Fork 数
13
未关闭 Issue
2

README 摘要

Reverse Engineering of LEGO Mario, Luigi, and Peach Overview LEGO Mario as BLE Device LEGO Mario is a BLE device which supports LEGO Wireless Protocol. It has six input/output devices as follows: Port 0: 0x47 Accelerometer, Gesture? Port 1: 0x49 Color Barcode, RGB Color Port 2: 0x4a Pants Port 3: 0x46 Events, Debug, and something Port 4: 0x55 ??? Port 6: 0x14 Voltage Color Barcode Each color barcode is drawn with…

完整内容见 GitHub 原始 README 或本页 。

常见问题

如何获取 LEGO-Mario-Reveng 的源码?

可以直接克隆仓库:git clone https://github.com/bricklife/LEGO-Mario-Reveng.git;安装与运行步骤见仓库 README。

LEGO-Mario-Reveng 最近还在维护吗?

仓库最近一次更新为 2023年1月4日,当前有 2 个未关闭 Issue;Star 数为 140,可作为社区活跃度的参考。

关于

Reverse Engineering of LEGO Mario, Luigi, and Peach

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
306
价值分
101
活跃状态
活跃

Release

README

Reverse Engineering of LEGO Mario, Luigi, and Peach

Overview

LEGO Mario as BLE Device

LEGO Mario is a BLE device which supports LEGO Wireless Protocol. It has six input/output devices as follows:

  • Port 0: 0x47 Accelerometer, Gesture?
  • Port 1: 0x49 Color Barcode, RGB Color
  • Port 2: 0x4a Pants
  • Port 3: 0x46 Events, Debug, and something
  • Port 4: 0x55 ???
  • Port 6: 0x14 Voltage

Color Barcode

Each color barcode is drawn with five out of nine (eight?) colors. The first two lines are always green and red as header part. The other three lines are data part. The data value can be from 0x01 to 0xd2. That means there are 0xd2 = 210 (= 7 * 6 * 5) patterns.

Pants

Each pants has a unique 6 bit code. The pants sensor at the bottom of LEGO Mario can detect it physically.

  • e.g. The normal Mario’s pants is 100001 = 0x21.
  • See details

LEGO Wireless Protocol

Manufacturer Data

Example: 97 03 00 43 03 ff ff 00

  • System Type and Device Number:
    • 0x43 LEGO System - Mario
    • 0x44 LEGO System - Luigi
    • 0x45 LEGO System - Peach
  • Device Capabilities:
    • 0x03 Supports Central Role, Supports Peripheral Role

Hub Properties

  • 0x03 FW Version: 5.0.00.0000
  • 0x12 Volume: 0 - 100

Port Information [0x43]

Port ID IO Type Capabilities Input Modes Output Modes Possible Mode Combination
0 0x47 Logical Combinable, Input 0, 1 - [0, 1]
1 0x49 Logical Combinable, Input 0, 1 - [0, 1]
2 0x4a Input 0 - -
3 0x46 Input 0, 1, 2, 3 - -
4 0x55 Input, Output 0, 1 0, 1 -

Port Mode Information [0x44]

Port ID Mode Name RAW Range PCT Range SI Range Symbol Mapping Value Format
0 0 RAW 0 - 100 0 - 100 0 - 100 cnt Supports NULL, Discrete 3 * 8 bit
1 GEST 0 - 10 0 - 100 0 - 10 raw Supports NULL, Discrete 2 * 16 bit
1 0 TAG 0 - 10 0 - 100 0 - 10 idx Supports NULL, Discrete 2 * 16 bit
1 RGB 0 - 10 0 - 100 0 - 10 raw Supports NULL, Discrete 3 * 8 bit
2 0 PANT 0 - 63 0 - 100 0 - 63 idx Supports NULL, Discrete 1 * 8 bit
3 0 CHAL 0 - 65535 0 - 100 0 - 65535 na Supports NULL, Discrete 2 * 16 bit
1 VERS 0 - 255 0 - 100 0 - 255 na Supports NULL, Discrete 4 * 32 bit
2 EVENTS 0 - 65535 0 - 100 0 - 65535 na Supports NULL, Discrete 2 * 16 bit
3 DEBUG 0 - 65535 0 - 100 0 - 65535 na Supports NULL, Discrete 4 * 32 bit
4 0 FS Code 0 - 65535 0 - 100 0 - 65535 na Supports NULL, Discrete 1 * 16 bit
1 Events 0 - 65535 0 - 100 0 - 65535 na Supports NULL, Discrete 2 * 16 bit

评论

暂无评论