scannotec_metro_display

command module
v0.0.0-...-cca0bdd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2026 License: Unlicense Imports: 5 Imported by: 0

README

Scannotec metro display

Message frame

  1. 0x82
  2. 0x00
  3. address byte
  4. msg type byte
  • Message might end here
  1. length low byte
  2. length high byte
  3. data bytes
  4. checksum
  • Just a rolling 8bit sum of all bytes from step 5

The message length is the length of the data bytes payload and the checksum.

message types:
  • 0x05 - set addresses
    • Payload is 2 bytes with the alternative addresses to listen to
  • 0x09 - set RTC
    • Payload is 3 bytes, hours, minutes and seconds to set the time to
  • 0x55 U - update display
    • Loads the payload to a 8000 byte buffer waiting to be processed, can be broken up into multiple messages
  • 0x56 V - enable display
    • Triggers message processing
    • No timeout on the display
    • No payload, message processing ends at the msg type byte
  • 0x57 W - enable display with timeout
    • Triggers message processing
    • Clears the display once a longish timeout expires
    • No payload, message processing ends at the msg type byte
  • 0x81 - Ping?
    • Send ACIA flags
    • Triggers message processing
    • No payload, message processing ends at the msg type byte
  • 0x87 - Trigger temperature measurement?
    • No payload, message processing ends at the msg type byte

Other messages will raise a error flag, but might still write to the 8000 byte buffer, needs to be verified...

content control characters
  • 0x09 scroll text
    • two hex chars following, offset to start the scrolling in hex, - 0x4c, in pixels
  • 0x0e small font
    • Confirmed
  • 0x0f large font
    • Confirmed
  • 0x11 set blink
    • Confirmed
  • 0x12 reset blink
    • Confirmed
  • 0x13 Enable dynamic content for the row
    • Scroller doesn't scroll or timers change unless this is present in the row data
  • 0x14 timed messages
    • Two hex chars following.
    • Need to have multiple sections of different texts
    • Can have different content on each of them
  • 0x15 4 char string substition
    • No idea what the contents are supposed to be, maybe temperature reading?
  • 0x16 time of day substitution
    • 12:34
  • 0x1b set active row
    • Rows start from 0x30 ->
  • set_address: return
  • V -> process all
  • time_set: return
  • rtc_something does something: return
  • !W -> return

Memory map

  • 0x0000 - 0x5fff Sram
  • 0x6000 - 0x6020 memory mapped peripherals
  • 0x7000 - 0x8000 Display ram
  • 0xC000 - 0xFFFF Eprom

Memory mapped peripherals

  • 0x6004 - 6821 PIA 1 data A
  • 0x6005 - 6821 PIA 1 control A
  • 0x6006 - 6821 PIA 1 data B
  • 0x6007 - 6821 PIA 1 control B
  • 0x6008 - 6821 PIA 2 data A
  • 0x6009 - 6821 PIA 2 control A
  • 0x600A - 6821 PIA 2 data B
  • 0x600B - 6821 PIA 2 control B
  • 0x6010 - 6850 ACIA control
  • 0x6011 - 6850 ACIA data

Interrupts

  • FIRQ: ACIA
  • IRQ: PIAs
    • PIA 1
      • A
        • 1 - Unused counter 0-0x50
        • 2 - Unused counter, 16bit
      • B
        • 1 - Unused, does nothing
        • 2 - Frame sync, not on every frame...
    • PIA 2, only interrupt 1 enabled
      • A - Analog read stuff
      • B - Reads and stores lines

Bill of Materials

  • EF68B09P - 6809 CPU
  • HD63B50P - 6350 ACIA serial communications chip, externally clocked
  • HD63B21P - 6321 PIA x2
  • Memory
    • UM62256E-70LL - 32kb SRAM
    • GM76C28A-01 - 2k SRAM x4
    • 27C128 - 16kb EPROM
  • 58321B - RTC
  • LT1081CN - RS232 level shifter
  • 6N139 - dual opamp
  • CNY17-4 - optocoupler
  • 74HC series logic; 26 chips
    • 74HC00 - quad 2 port NAND
    • 74HC01 - quad NAND, open collector
    • 74HC08 - quad 2 input AND 2
    • 74HC14 - hex inverter 4
    • 74HC27 - triple 3 input NOR
    • 74HC123 - dual retriggeable monostable multivibrator
    • 74HC138 - 3 to 8 decoder, active high
    • 74HC139 - 3 to 8 decoder, active low
    • 74HC151 - 8 input multiplexer x4
    • 74HC157 - quad 2 input multiplexer x3
    • 74HC245 - bidirectional bus transcriber x4
    • 74HC393 - dual 4 stage binary ripple counter
    • 74HC4040 - 12 stage binary ripple counter x2
  • ULN2803A - darlington array
  • 1.9152 MHz crystal - for ACIA
  • 8.000 MHz crystal
  • Jumpperit sarjapiirin läheellä valitsevat RX/TX tyypin

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
disobey command
timetable command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL