1 # This is the list of morse panic messages. Each line consists of:
2 # <morse> [<address>,<address>...] [; <description>]
3 # This file is converted to morse.asm by the Perl script morse.asm-gen.
4 # See morse.asm-gen for information about the format of the data stored
5 # in flash. Only addresses in the Access Bank are supported.
7 # Suggested output by on the per-pic-led is:
8 # morse (red/black) contents of one address
9 # morse (red/black) contents of next address
11 # morse (red/black) contents of last address
14 # Contents of addresses should preferably be read into a temporary
15 # buffer space somewhere so that each one is read once and that value
18 # Temporary entries for testing and development
19 TM PIE1,SSPSTAT,SSPCON1,SSPCON2 ; Master got I2C interrupt
31 # Main message listing. Kept sorted by section for easy reference.
32 # -----------------------------------------------------------------
35 E ; `expected'; we were told to panic
36 T ; master paniced because slave paniced
37 OF ::t,TBLPTRH ; Flash mentions object not on board
39 # Regarding communications from the host
40 HX ::t ; host sent unknown command
41 HW ::t ; host sent message which was too long
42 HO ; host RS232 read overrun
43 HF ; host RS232 framing error
44 HN ; host sent too much NMRA - buffers full
45 HM ; host sent too much NMRA - ack count overflow
46 HB ; data for host overran buffer
47 HP ; host sent >2-byte PING command
49 # Regarding communications by master with slaves
50 MX ; slave (or intern) sent bad extra byte
51 MR mascan:b,mascan:cslot ; reversers set byte with zz bit set
53 # Problematic interrupts
54 IH INTCON,INTCON3,PIR1,PIR2 ; Interrupt source not found (high pri.)
55 IL INTCON,INTCON3,PIR1,PIR2 ; Interrupt source not found (low pri.)
58 WX ; bad watchdog command
61 AX ; Host sent >2-byte WAGGLE command
62 AB ; Host WAGGLE when already waggling
63 AU ; Waggling nonexistent waggle
65 # Messages for i2clib, S*
66 SM i2clib+panic:st,:sspstat,:sspcon1,:sspcon2 ; m.,i., ctrlr bad state
67 SS SSPSTAT,SSPCON1 ; s.,i., controller bad state
68 SW i2clib+panic:slave ; m.: slave didn't ack addr for write
69 SN i2clib+panic:slave ; improper slave number
70 SO i2clib+panic:slave ; improper next slave number
71 SB i2clib+panic:st ; improper i2cm_{read,write}_start
72 SF i2clib+panic:st ; improper i2cmu_write_next_byte Z
73 SA i2clib+panic:st ; improper i2cm_read_another
74 SD i2clib+panic:st ; impr. i2cm_read_done/i2cs_read_data
76 SC i2clib+panic:slave ; slave didn't ack read: crashed
77 ST i2clib+panic:slave ; slave didn't ack read: didn't start
78 SP i2clib+panic:slave ; slave didn't ack read: in panic read
80 # Messages for slave detection/i2c
81 DQ FSR2L,::outmsg_end ; previous slave read incomplete
82 DR FSR2L,::outmsg_end ; slave read overrun
83 DX ::t ; slave received wrong message byte
84 DB detect:message_buffer ; slave_add_short_message overrun
85 DF ::t ; slave pic2detinfo[0] invalid bits
86 DG ::t ; too many slaves in pic2detinfo
87 DJ mascan:cslot,mascan:cbyte,::v ; det msg 2nd byte has top bit set
88 DM detect:buf0 ; master has MM bit set in buf0
90 # Messages for specific peripherals:
91 # R - Reversers (polarity)
92 RS FSR0L ; POLARITY message too short
93 RL FSR0L ; POLARITY message too long
94 RF ; master board has no reversers
95 RG ; too many reversers boards
98 PB points:pointmsg ; Firing point when already busy
99 PI points:pointmsg,T3CON ; Unexpected Timer 3 interrupt
100 PU points:pointmsg ; Firing nonexistent point
101 PC ; Firing point when CDU empty
102 PS points:pointslave,points:pointmsg ; Firing point on nonexistent board
103 PX ; Host sent >2-byte POINT command
104 PA ; POINTED when already firing