CAN Bootloader 0x1B

DLC = 5

4 ByteLocIDstring
1 Byte command = 0x11 wird von der MS2 an die GleisBox2 gesendet, sobald eine MS2 einen Reset-Befehl erhält

Die MS2 wartet dann 400ms auf den Startup der 60113. Danach wird dann ca. alle 30sec ein 0x18 als "keepalive" gesendet.

# Initiate first Block to send ( sub cmd 0x44, following decrement block number 0x55 )
C:0x1B R:0 H:0xC32E D:6 D:0x4d 0x54 0x5e 0x22 0x44 0x55
C:0x1B R:1 H:0x0000 D:6 D:0x4d 0x54 0x5e 0x22 0x44 0x55

# Binary data
#ZIP format of 050-ms2.bin
#Hash is block number
# Last Block of file send first! Byte padding is 0xFF until 1024 byte block
C:0x1B R:0 H:0x0300 D:8 D:0x05 0x8d 0x1e 0x03 0x4d 0x2a 0x06 0x41
C:0x1B R:0 H:0x0301 D:8 D:0x82 0x2d 0x01 0x06 0x52 0x2d 0x93 0x1e
C:0x1B R:0 H:0x0302 D:8 D:0x46 0x89 0x07 0xc0 0x04 0x00 0x47 0x42
## following data until block 0x37F ( 1024 Byte send)


# Send CRC and ACK from MS2( sub cmd 0x88, 16Bit CRC )
C:0x1B R:0 H:0xC32E D:7 D:0x4d 0x54 0x5e 0x22 0x88 0x95 0x0c
C:0x1B R:1 H:0x0000 D:5 D:0x4d 0x54 0x5e 0x22 0x88

DLC = 6

?

#
##   Example of Operating software via "CAN Bootloader Service"
## H:0xC32E  = CS2 / Updater
#
#

# System reset
# System booted immediatly after receive this message!
# Target 0xFF is not documented but seemed to mean "All".
# Wait aspprox 400ms after sending this command
# for startupt MS2 software bevore send next commands
C:0x00 R:0 H:0xC32E D:6 D:0x4d 0x54 0x5e 0x22 0x80 0xff

# Invoke bootloader update sequence. Must be send after wait for
# start up
C:0x1B R:0 H:0xC32E D:0

# Send highest block number first
# MS2 respond with empty hash
C:0x1B R:0 H:0xC32E D:6 D:0x4d 0x54 0x5e 0x22 0x44 0x55
C:0x1B R:1 H:0x0000 D:6 D:0x4d 0x54 0x5e 0x22 0x44 0x55

# Send data stream upt to 1024 byte in 8 byte per kommand. If
# less than 8 byte to be transfer padd empty bytes with 0xFF
# Hash contains the dataset number and begins with 0x300
# Build blocks of 1024 bytes and send Last bytes of file FIRST
# Attention: MS2 needs blocks = 1024 Bytes, 60113 need only 512 byte!
C:0x1B R:0 H:0x0300 D:8 D:0x29 0x1d 0x28 0x05 0x6c 0xe4 0x75 0x66
C:0x1B R:0 H:0x0301 D:8 D:0x61 0x1d 0xac 0x03 0x11 0xfd 0x2d 0xa9
C:0x1B R:0 H:0x0302 D:8 D:0x08 0x1d 0x1f 0x06 0x1d 0xc2 0x04 0x61
C:0x1B R:0 H:0x0303 D:8 D:0x71 0xd9 0x41 0x62 0x20 0x4a 0x5d 0x3e
C:0x1B R:0 H:0x0304 D:8 D:0x04 0x3e 0x2d 0x9d 0x05 0x1d 0x9c 0x04
C:0x1B R:0 H:0x0305 D:8 D:0x1d 0xb6 0x08 0x1d 0x47 0x04 0x20 0x08
C:0x1B R:0 H:0x0306 D:8 D:0x00 0x41 0x6c 0x6c 0x67 0x65 0x6d 0x2a
C:0x1B R:0 H:0x0307 D:8 D:0x5f 0x72 0x20 0x29 0x08 0x7d 0x3d 0x0a
C:0x1B R:0 H:0x0308 D:8 D:0xb9 0xfd 0x10 0x04 0x75 0x6d 0x66 0x94
C:0x1B R:0 H:0x0309 D:8 D:0x1c 0x04 0x74 0x00 0x6a 0x7f 0x07 0x16
C:0x1B R:0 H:0x030A D:8 D:0x74 0x03 0x2d 0x4b 0x08 0x4c 0x04 0x28
C:0x1B R:0 H:0x030B D:8 D:0x73 0x29 0xed 0x05 0x4d 0x6d 0x0a 0x2d
C:0x1B R:0 H:0x030C D:8 D:0xbe 0x0a 0x28 0x08 0x20 0x50 0x6c 0x61
C:0x1B R:0 H:0x030D D:8 D:0x74 0x7a 0x20 0x74 0x3f 0x00 0x69 0x2f
C:0x1B R:0 H:0x030E D:8 D:0x05 0x8d 0x1e 0x03 0x4d 0x2a 0x06 0x41
C:0x1B R:0 H:0x030F D:8 D:0x82 0x2d 0x01 0x06 0x52 0x2d 0x93 0x1e
C:0x1B R:0 H:0x0310 D:8 D:0x46 0x89 0x07 0xc0 0x04 0x00 0x47 0x42
C:0x1B R:0 H:0x0311 D:8 D:0x10 0x1c 0x05 0x41 0x6b 0x74 0x75 0xea
C:0x1B R:0 H:0x0312 D:8 D:0x06 0x3e 0x73 0x9e 0x05 0x3d 0xee 0x04
C:0x1B R:0 H:0x0313 D:8 D:0x3d 0xc1 0x08 0x41 0x3d 0x1a 0x5a 0xb5
C:0x1B R:0 H:0x0314 D:8 D:0x1e 0x5a 0xa7 0x08 0xc9 0x67 0x3e 0x21
C:0x1B R:0 H:0x0315 D:8 D:0x40 0x09 0x6e 0x41 0x77 0x04 0x45 0x2b
C:0x1B R:0 H:0x0316 D:8 D:0x41 0xa1 0x7d 0x2b 0x08 0x01 0xff 0x01
C:0x1B R:0 H:0x0317 D:8 D:0x01 0xff 0x01 0x01 0x3b 0x01 0x00 0x00

# Updater send CRC command to be confirmed by MS2
# MS2 need approx 37ms for positive CRC calculation and response
# DLC=5 command as ACK or NAC
# NAC example: C:0x1B R:1 H:0x0000 D:5 D:0x4d 0x54 0x0d 0x38 0xf2
#
C:0x1B R:0 H:0x3F17 D:7 D:0x4d 0x54 0x0d 0x38 0x88 0xb1 0x15
C:0x1B R:1 H:0x0000 D:5 D:0x4d 0x54 0x0d 0x38 0x88


loop until all block are send
... send block number--
... send data
... send CRC


# ?? undocumented, may mark loaded SW as complete and correct to load
# Software is loaded and starte without this command ( Seen at MS2 V 1.83 )
C:0x1B R:0 H:0xC32E D:5 D:0x4d 0x54 0x5e 0x22 0xf5

# Start loaded software ( reboot )
C:0x1B R:0 H:0xC32E D:5 D:0x4d 0x54 0x5e 0x22 0x11

DLC = 0

?

Externe Links


Zurück zur Modellbahn Startseite - Zurück zur Homepage