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
53 # Problematic interrupts
54 IH INTCON,INTCON3,PIR1,PIR2,PIR3 ; Interrupt source not found (high pri.)
55 IL INTCON,INTCON3,PIR1,PIR2,PIR3 ; Interrupt source not found (low pri.)
58 WX ; bad watchdog command
60 # Messages for i2clib, S*
61 SM i2clib+panic:st,:sspstat,:sspcon1,:sspcon2 ; m.,i., ctrlr bad state
62 SS SSPSTAT,SSPCON1 ; s.,i., controller bad state
63 SK i2clib+panic:slave ; m. couldn't address slave (no ack)
64 SN i2clib+panic:slave ; improper slave number
65 SO i2clib+panic:slave ; improper next slave number
66 SB i2clib+panic:st ; improper i2cm_{read,write}_start
67 SF i2clib+panic:st ; improper i2cmu_write_next_byte Z
68 SA i2clib+panic:st ; improper i2cm_read_another
69 SD i2clib+panic:st ; impr. i2cm_read_done/i2cs_read_data
71 # Messages for slave detection/i2c
72 DQ FSR2L,::outmsg_end ; previous slave read incomplete
73 DR FSR2L,::outmsg_end ; slave read overrun
74 DX ::t ; slave received wrong message byte
75 DB detect:message_buffer ; slave_add_short_message overrun
76 DF ::t ; slave pic2detinfo[0] invalid bits
77 DG ::t ; too many slaves in pic2detinfo
78 DJ mascan:cslot,mascan:cbyte,::v ; det msg 2nd byte has top bit set
79 DM detect:buf0 ; master has MM bit set in buf0
81 # Messages for specific peripherals:
82 # R - Reversers (polarity)
83 RS FSR0L ; POLARITY message too short
84 RL FSR0L ; POLARITY message too long
85 RF ; master board has no reversers
86 RG ; too many reversers boards
89 PB points:pointmsg ; Firing point when already busy
90 PI points:pointmsg,T3CON ; Unexpected Timer 3 interrupt
91 PU points:pointmsg ; Firing nonexistent point
92 PC ; Firing point when CDU empty
93 PS points:pointslave,points:pointmsg ; Firing point on nonexistent board
94 PF ::t ; Flash mentions point not on board
95 PX ; Host sent >2-byte POINT command
96 PM ; Firing point when master/CDU busy
97 PQ ; POINTED when already charging
98 PA ; POINTED when already firing