#include <18F258.h>
#device ICD=TRUE
#use delay(clock=10000000)


 // make sure users program had WRT set, or else bootloader wont be able to
 // write to flash

#fuses H4,PUT,NOWDT,WDT1,WRT,NOLVP,WRTB,NOPROTECT


#use fast_io(C)


// ASCII BYTE STUFFING DEFINES
#define USB_DLE 0x10
#define USB_STX 0x02
#define USB_ETX 0x03

// PIN DEFINITIONS
#define SPARE1       PIN_A0
#define SPARE2       PIN_A1
#define SPARE3       PIN_B1

#define USB_WR       PIN_A4
#define USB_RD       PIN_A5
#define USB_TXE      PIN_A3
#define USB_RXF      PIN_A2
#define USB_RSTOUT   PIN_B0

#define CAN_TX       PIN_B2
#define CAN_RX       PIN_B3

#define RED_LED      PIN_B5
#define GRN_LED      PIN_B4

#define TX_BUSY      output_low(RED_LED)
#define RX_BUSY      output_low(GRN_LED)
#define TX_NOT_BUSY  output_high(RED_LED)
#define RX_NOT_BUSY  output_high(GRN_LED)


#define ICD1         PIN_B7
#define ICD2         PIN_B6

//#use fast_io(C)
#byte  data_port = 0xf82

//control regs
#define TBLPTRU 0xFF8
#define TBLPTRH 0xFF7
#define TBLPTRL 0xFF6
#define TABLAT  0xFF5

#define INTCON 0xFF2
#define GIE 7 //intcon bits

#define EECON2 0xFA7

#define EECON1 0xFA6
#define EEPGD  7 //eecon1 bits
#define CFGS   6
#define FREE   4
#define WREN   2
#define WR     1


