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
26 # Main message listing. Kept sorted by section for easy reference.
27 # -----------------------------------------------------------------
30 E ; `expected'; we were told to panic
31 T ; master paniced because slave paniced
33 # Regarding communications from the host
34 HX ::t ; host sent unknown command
35 HW ::t ; host sent message which was too long
36 HO ; host RS232 read overrun
37 HF ; host RS232 framing error
38 HN ; host sent too much NMRA - buffers full
39 HM ; host sent too much NMRA - ack count overflow
40 HB ; data for host overran buffer
41 HP ; host sent >2-byte PING command
43 # Regarding communications by master with slaves
44 MX ; slave (or intern) sent bad extra byte
45 MR mascan:b,mascan:cslot ; reversers set byte with zz bit set
48 # Problematic interrupts
49 IH INTCON,INTCON3,PIR1,PIR2,PIR3 ; Interrupt source not found (high pri.)
50 IL INTCON,INTCON3,PIR1,PIR2,PIR3 ; Interrupt source not found (low pri.)
52 # Messages for i2clib, S*
53 SM i2clib+panic:st,:sspstat,:sspcon1,:sspcon2 ; m.,i., ctrlr bad state
54 SS SSPSTAT,SSPCON1 ; s.,i., controller bad state
55 SK i2clib+panic:slave ; m. couldn't address slave (no ack)
56 SN i2clib+panic:slave ; improper slave number
57 SO i2clib+panic:slave ; improper next slave number
58 SB i2clib+panic:st ; improper i2cm_{read,write}_start
59 SF i2clib+panic:st ; improper i2cmu_write_next_byte Z
60 SA i2clib+panic:st ; improper i2cm_read_another
61 SD i2clib+panic:st ; impr. i2cm_read_done/i2cs_read_data
63 # Messages for slave detection/i2c
64 DQ FSR2L,::outmsg_end ; previous slave read incomplete
65 DR FSR2L,::outmsg_end ; slave read overrun
66 DX ::t ; slave received wrong message byte
67 DB detect:message_buffer ; slave_add_short_message overrun
68 DF ::t ; slave pic2detinfo[0] invalid bits
69 DG ::t ; too many slaves in pic2detinfo
70 DM detect:buf0 ; master has MM bit set in buf0
72 # Messages for specific peripherals:
73 # R - Reversers (polarity)
74 RS FSR0L ; POLARITY message too short
75 RL FSR0L ; POLARITY message too long
76 RF ; master board has no reversers
77 RG ; too many reversers boards
80 PB points:pointmsg ; Firing point when already busy
81 PI points:pointmsg,T3CON ; Unexpected Timer 3 interrupt
82 PU points:pointmsg ; Firing nonexistent point
83 PC ; Firing point when CDU empty
84 PS points:pointslave,points:pointmsg ; Firing point on nonexistent board
85 PF ::t ; Flash mentions point not on board
86 PX ; Host sent >2-byte POINT command
87 PM ; Firing point when master/CDU busy
88 PQ ; POINTED when already charging
89 PA ; POINTED when already firing