Changes

Jump to navigation Jump to search
18 bytes added ,  01:07, 8 June 2020
Line 69: Line 69:  
When [[Ernie_Firmware#JIG_Enable|JIG is enabled]], commands can be sent through an UART interface by an external agent. An UART RX interrupt will flag asynchronous handler <code>0xB</code>. This handler is registered at the start of the Worker Loop to set flag <code>0x32</code> and return. In the Worker Loop, flag <code>0x32</code> can be handled by states 1, 3, 8, 9. In any of these states, the JIG Handler is called.
 
When [[Ernie_Firmware#JIG_Enable|JIG is enabled]], commands can be sent through an UART interface by an external agent. An UART RX interrupt will flag asynchronous handler <code>0xB</code>. This handler is registered at the start of the Worker Loop to set flag <code>0x32</code> and return. In the Worker Loop, flag <code>0x32</code> can be handled by states 1, 3, 8, 9. In any of these states, the JIG Handler is called.
   −
JIG packets follow the same format as the Command Handler packets (2 byte command id, optional length payload, 1 byte checksum) but the packets are ASCII encoded, so every raw byte is represented by two printable ASCII bytes.
+
JIG packets are ASCII encoded hex (each raw byte is 2 ASCII bytes) and end in \r\n. Once decoded into raw bytes, the packet is 2 byte command id, 1 byte unknown, 2 byte length*2 (equal to raw packet length - 7), a payload, and 2 byte checksum.
    
= Kermit Bootrom JIG Mode =
 
= Kermit Bootrom JIG Mode =

Navigation menu