This source code has been tested to build successfully using MPLAB X IDE v5.3 and XC32 compiler v2.30 (free version).

You also need to install MPLAB Harmony for PIC32 v2.06 for it to build correctly. Harmony v3 is not suitable.

The project is set up to expect Harmony in C:\Microchip\Harmony\v2_06\ - if yours is installed in a different location, you will need to modify the project in several places (include paths and library file).

It's normal to get the following warning when building the project:

../src/control.c: In function 'Load_From_Memory':
../src/control.c:728:5: warning: passing argument 2 of 'HDWordReadSPI' from incompatible pointer type [enabled by default]
     HDWordReadSPI((controlData.MemoryBankSelected*ParmSet_Array_Size + loop*Channel_Set_Array_Size + Waveform_Offset),     &(Data_Values_Pointer->Waveform), 4 );
     ^
In file included from ../src/control.c:70:0:
../src/EEPROM.h:43:15: note: expected 'int *' but argument is of type 'enum WAVEFORM_TYPES *'
 unsigned char HDWordReadSPI(unsigned int, int *, unsigned char );
               ^
../src/control.c: At top level:
../src/control.c:1442:6: warning: conflicting types for 'CF_ATTEN' [enabled by default]
 void CF_ATTEN(void)
      ^
../src/control.c:843:5: note: previous implicit declaration of 'CF_ATTEN' was here
     CF_ATTEN();
     ^
