Skip to main content

LED name badge writer.

Project description

M1-8 writer

Target Device

This script can write to LED name badge which ...

  • has 12x48 LED matrix display (untested on 11x44).
  • shows "M1-8" at startup.
  • can be written by "LED Display" and "Mini LED Display".

LED Display: LED Display

Mini LED Display: Mini LED Display

Data Structure

Header

[
    0x41, 0x68, 0x65, 0x6c, 0x6c, 0x6f,  # magic number: Ahello
    0x00,  # brightness: the brightest 0x00 --- 0x01 --- 0x02 --- 0x03 the dimmest
    0x00,  # NOP
    # slot 1-8 have their own display modes
    # 0b10000000: show border
    # 0b01110000: speed
    # 0b00001000: blink
    # 0b00000111: motion (left/right/up/down/freeze/animation/snow/curtain)
    0b00110000,  # mode of slot 1
    0b00110110,  # mode of slot 2
    0b00110111,  # mode of slot 3
    0b00110000,  # mode of slot 4
    0b00110000,  # mode of slot 5
    0b00110100,  # mode of slot 6
    0b00110110,  # mode of slot 7
    0b00110111,  # mode of slot 8
    0x00,  # NOP
    # number of columns (8 pixels/column) and offset of slot 1-8
    0x00, 0, 0x00, 1,  # columns and offset of slot 1 bitmap
    0x00, 1, 0x00, 2,  # columns and offset of slot 2 bitmap
    0x00, 3, 0x00, 3,  # columns and offset of slot 3 bitmap
    0x00, 6, 0x00, 4,  # columns and offset of slot 4 bitmap
    0x00, 10, 0x00, 5,  # columns and offset of slot 5 bitmap
    0x00, 15, 0x00, 6,  # columns and offset of slot 6 bitmap
    0x00, 21, 0x00, 7,  # columns and offset of slot 7 bitmap
    0x00, 28, 0x00, 8,  # columns and offset of slot 8 bitmap
    # laser mode of slot 1-8
    # 0b00000001: laser on slot 1
    # 0b00000010: laser on slot 2
    # ...
    # 0b10000000: laser on slot 8
    # motion of laser mode slot must be 000 (otherwise stop on the slot)
    0b00001000,
    0x00, 0x00, 0x00, 0x00,  # NOP
]

Body

Bitmap data are splitted line by line from the top and each line is splitted every 8 pixels from the left. 8-pixel data is represented as 1-byte packet. The left pixel is the high-order bit.

# a 32px (=8*4) wide bitmap
[
    0b10101010, packet_002, packet_003, packet_004,  # line 1
    packet_005, packet_006, packet_007, packet_008,  # line 2
    packet_009, packet_010, packet_011, packet_012,  # line 2
    #         ... line by line ...
    0b10001000, 0b11001100, 0b11110000, 0b10110111
]

The first packet of data 0b10101010 represents * * * * in top left corner and the last packet of data 0b10110111 represents * ** *** in bottom right corner (* is lit pixel).

Each bitmap data is written in parallel line by line from the top.

bitmap_003_line_002 represents the 2nd line data of the 3rd bitmap.

# 4 bitmaps
[
    bitmap_01_line_01, bitmap_02_line_01, bitmap_03_line_01, bitmap_04_line_01,
    bitmap_01_line_02, bitmap_02_line_02, bitmap_03_line_02, bitmap_04_line_02,
    bitmap_01_line_03, bitmap_02_line_03, bitmap_03_line_03, bitmap_04_line_03,
    #                          ... line by line ...
    bitmap_01_line_nn, bitmap_02_line_nn, bitmap_03_line_nn, bitmap_04_line_nn,
]

NOTE: You need to insert 32 bytes of null after the 16 byte of body.

Feature

  • Brightness: 1, 2, 3, 4 (for all bitmap)
  • Write up to 8 bitmaps
    • Motion: left, right, up, down, freeze, animation, snow, curtain, laser
    • Speed: 1, 2, 3, 4, 5, 6, 7, 8
    • Option: show border, blink

Requirement

Usage

Write 1 bitmap to slot 1:

m18write image.png

... and show bitmap brightest:

m18write --brightness 4 image1.png

... and show bitmap in maximum speed:

m18write --speed1 8 image.png

... and move bitmap left to right:

m18write --motion1 right image.png

Write 4 bitmaps to slot 1, 2, 3 and 4:

m18write image1.png image2.png image3.png image4.png

Write 2 bitmaps to slot 1 and 2, blink bitmap 1 and show border bitmap 2:

m18write --blink1 --border2 image1.png image2.png

Show help:

m18write -h

Install

pip install m1-8-writer

Licence

MIT

Author

amane-katagiri

Related References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for m1-8-writer, version 0.9.0
Filename, size File type Python version Upload date Hashes
Filename, size m1-8-writer-0.9.0.tar.gz (6.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page