#elif defined(YOUR_BOARD)
// Define your own board hardware profile here
//#pragma config OSC=HSPLL, WDT=OFF, MCLRE=ON, PBADEN=OFF, LVP=OFF
#define GetSystemClock() (40000000ul) // Hz
#define GetInstructionClock() (GetSystemClock()/4)
#define GetPeripheralClock() GetInstructionClock()
#define LED0_TRIS (TRISAbits.TRISA2)
#define LED0_IO (LAT2bits.LATC2)
#define LED1_TRIS (TRISCbits.TRISC1)
#define LED1_IO (LATCbits.LATC1)
#define LED2_TRIS (TRISCbits.TRISC2)
#define LED2_IO (LATCbits.LATC2)
#define LED3_TRIS (TRISAbits.TRISA3)
#define LED3_IO (LATAbits.LATA3)
#define LED4_TRIS (PRODL) // No LED4 on this board
#define LED4_IO (PRODL)
#define LED5_TRIS (PRODL) // No LED5 on this board
#define LED5_IO (PRODL)
#define LED6_TRIS (PRODL) // No LED6 on this board
#define LED6_IO (PRODL)
#define LED7_TRIS (PRODL) // No LED7 on this board
#define LED7_IO (PRODL)
#define LED_GET() (LED0_IO)
#define LED_PUT(a) (LED0_IO = (a))
#define BUTTON0_TRIS (TRISAbits.TRISA5)
#define BUTTON0_IO (PORTAbits.RA5)
#define BUTTON1_TRIS (TRISBbits.TRISB0)
#define BUTTON1_IO (PORTBbits.RB0)
#define BUTTON2_TRIS (PRODL) // No Button2 on this board
#define BUTTON2_IO (1u)
#define BUTTON3_TRIS (PRODL) // No Button3 on this board
#define BUTTON3_IO (1u)
// ENC28J60 I/O pins
#define ENC_RST_TRIS (TRISBbits.TRISB5)
#define ENC_RST_IO (LATBbits.LATB5)
#define ENC_CS_TRIS (TRISBbits.TRISB3) // Uncomment this line to use the ENC28J60 Ethernet controller or comment it out to use some other network controller
#define ENC_CS_IO (LATBbits.LATB3)
#define ENC_SCK_TRIS (TRISCbits.TRISC3)
#define ENC_SDI_TRIS (TRISCbits.TRISC4)
#define ENC_SDO_TRIS (TRISCbits.TRISC5)
#define ENC_SPI_IF (PIR1bits.SSPIF)
#define ENC_SSPBUF (SSPBUF)
#define ENC_SPISTAT (SSPSTAT)
#define ENC_SPISTATbits (SSPSTATbits)
#define ENC_SPICON1 (SSPCON1)
#define ENC_SPICON1bits (SSPCON1bits)
#define ENC_SPICON2 (SSPCON2)
// 25LC256 I/O pins
//#define EEPROM_CS_TRIS (TRISAbits.TRISA3)
#define EEPROM_CS_IO (LATAbits.LATA3)
#define EEPROM_SCK_TRIS (TRISCbits.TRISC3)
#define EEPROM_SDI_TRIS (TRISCbits.TRISC4)
#define EEPROM_SDO_TRIS (TRISCbits.TRISC5)
#define EEPROM_SPI_IF (PIR1bits.SSPIF)
#define EEPROM_SSPBUF (SSPBUF)
#define EEPROM_SPICON1 (SSPCON1)
#define EEPROM_SPICON1bits (SSPCON1bits)
#define EEPROM_SPICON2 (SSPCON2)
#define EEPROM_SPISTAT (SSPSTAT)
#define EEPROM_SPISTATbits (SSPSTATbits)
#else
#error "Hardware profile not defined. See available profiles in HardwareProfile.h and modify or create one."
#endif