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
38 # Regarding communications from the host
39 HX ::t ; host sent unknown command
40 HW ::t ; host sent message which was too long
41 HO ; host RS232 read overrun
42 HF ; host RS232 framing error
43 HN ; host sent too much NMRA - buffers full
44 HM ; host sent too much NMRA - ack count overflow
45 HB ; data for host overran buffer
46 HP ; host sent >2-byte PING command
48 # Regarding communications by master with slaves
49 MX ; slave (or intern) sent bad extra byte
50 MR mascan:b,mascan:cslot ; reversers set byte with zz bit set
52 # Problematic interrupts
53 IH INTCON,INTCON3,PIR1,PIR2 ; Interrupt source not found (high pri.)
54 IL INTCON,INTCON3,PIR1,PIR2 ; Interrupt source not found (low pri.)
57 WX ; bad watchdog command
59 # Messages for i2clib, S*
60 SM i2clib+panic:st,:sspstat,:sspcon1,:sspcon2 ; m.,i., ctrlr bad state
61 SS SSPSTAT,SSPCON1 ; s.,i., controller bad state
62 SW i2clib+panic:slave ; m.: slave didn't ack addr for write
63 SN i2clib+panic:slave ; improper slave number
64 SO i2clib+panic:slave ; improper next slave number
65 SB i2clib+panic:st ; improper i2cm_{read,write}_start
66 SF i2clib+panic:st ; improper i2cmu_write_next_byte Z
67 SA i2clib+panic:st ; improper i2cm_read_another
68 SD i2clib+panic:st ; impr. i2cm_read_done/i2cs_read_data
70 SC i2clib+panic:slave ; slave didn't ack read: crashed
71 ST i2clib+panic:slave ; slave didn't ack read: didn't start
72 SP i2clib+panic:slave ; slave didn't ack read: in panic read
74 # Messages for slave detection/i2c
75 DQ FSR2L,::outmsg_end ; previous slave read incomplete
76 DR FSR2L,::outmsg_end ; slave read overrun
77 DX ::t ; slave received wrong message byte
78 DB detect:message_buffer ; slave_add_short_message overrun
79 DF ::t ; slave pic2detinfo[0] invalid bits
80 DG ::t ; too many slaves in pic2detinfo
81 DJ mascan:cslot,mascan:cbyte,::v ; det msg 2nd byte has top bit set
82 DM detect:buf0 ; master has MM bit set in buf0
84 # Messages for specific peripherals:
85 # R - Reversers (polarity)
86 RS FSR0L ; POLARITY message too short
87 RL FSR0L ; POLARITY message too long
88 RF ; master board has no reversers
89 RG ; too many reversers boards
92 PB points:pointmsg ; Firing point when already busy
93 PI points:pointmsg,T3CON ; Unexpected Timer 3 interrupt
94 PU points:pointmsg ; Firing nonexistent point
95 PC ; Firing point when CDU empty
96 PS points:pointslave,points:pointmsg ; Firing point on nonexistent board
97 PF ::t ; Flash mentions point not on board
98 PX ; Host sent >2-byte POINT command
99 PQ ; POINTED when already charging
100 PA ; POINTED when already firing