218C - ANSEL aTOMs
 
We got the RFID card reader working.  In its current state, the PIC receives information from the RFID board over UART, converts the ASCII bytes into hex nibbles, and reassembles the desired hex bytes and stores them locally in an array.  We have yet to implement the SPI communication to send these bytes to the other PICs.  Some interesting bits of the assembly code are:
Converting ASCII to Hex:  This snippet takes an ASCII byte in the working register, and stores it as a hex nibble.  ASCII numerals 0-9 are 0x30 to 0x39.  ASCII letters A-F are 0x41 to 0x46.  In this code, If the ASCII byte is above 0x40 (if it's a letter), 9 is added to the byte.  So now A-F become 0x4A to 0x4F.  We then mask the resulting byte with 0x0F to extract only the lower nibble.  This gives us the desired value in hex.
ASCIItoHex: 
banksel ASCII_Byte
movwf ASCII_Byte
;if ascii byte > 40, add 9
sublw 0x40
movlw 0
btfss STATUS,C
movlw 9
addwf ASCII_Byte,W
;get lower nibble
andlw 0x0F
banksel Hex_Nibble
movwf Hex_Nibble
Placing hex nibble:  The above code places a hex character in the lower nibble of the byte.  But half the time we want this to be the upper nibble.  Instead of shifting the nibble by 4 bits, we use the neglected SWAPF to accomplish the trick.
          btfsc     RFIDNibbleIndicator,0      ;If this Nibble is High 
swapf Hex_Nibble,f ;make nibble MSNibble.