flipflop
A lightweight serial bootloader for PIC16F1 devices.
@startuml read-command
' mode compact
scale 10 as 100 pixels
hide time-axis
Title: Read Flash Command (2 byte words)
compact concise "flipflop" as FF
compact concise "programmer" as PG
binary "DATA" as D
D is high
@10
PG is R : Command
D is low
@+1
D is low
@+1
D is high
@+1
D is low
@+1
D is high
@+1
D is low
@+1
D is low
@+1
D is high
@+1
D is low
@+1
D is high
@20
PG is "AddrH : AddrL" : Start address
D is {low,high}
@40
PG is "LenH : LenL" : Length to read (in bytes)
@60
FF is "Word0H:Word0L" : Word at address
PG is {hidden}
@80
FF is ". . ."
@90
FF is "WordNH : WordNL" : Address + (Length/2) - 1
@110
FF is "CRC-16" : 2 byte checksum
@130
FF is {hidden}
PG is "" : Command
D is high
highlight 10 to 60 #LightBlue: Read Command
highlight 60 to 130 #LightGreen: Response
highlight 130 to 140 #PaleGoldenRod: Next Command
@enduml