Well this is all strange.
I extracted those files to a folder in the mplabx projects directory.
Then in mplabx i created a new stand alone project using that folder.
Added the source and header files from the folder to the project.
Did a clean and build and hey presto it worked.
I hadn't changed anything else in mplabx so i am not sure what i was dong wrong before.
Code:
CLEAN SUCCESSFUL (total time: 51ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/jase/MPLABXProjects/ACInductionController'
make -f nbproject/Makefile-default.mk dist/default/production/ACInductionController.production.hex
make[2]: Entering directory `/home/jase/MPLABXProjects/ACInductionController'
"/opt/microchip/xc16/v1.24/bin/xc16-gcc" ACInductionController.c -o build/default/production/ACInductionController.o -c -mcpu=30F4011 -MMD -MF "build/default/production/ACInductionController.o.d" -g -omf=elf -O0 -msmart-io=1 -Wall -msfr-warn=off
"/opt/microchip/xc16/v1.24/bin/xc16-gcc" UART4011.c -o build/default/production/UART4011.o -c -mcpu=30F4011 -MMD -MF "build/default/production/UART4011.o.d" -g -omf=elf -O0 -msmart-io=1 -Wall -msfr-warn=off
"/opt/microchip/xc16/v1.24/bin/xc16-gcc" -o dist/default/production/ACInductionController.production.elf build/default/production/ACInductionController.o build/default/production/UART4011.o -mcpu=30F4011 -omf=elf -Wl,,--defsym=__MPLAB_BUILD=1,,--script=p30F4011.gld,--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="dist/default/production/ACInductionController.production.map",--report-mem
Program Memory [Origin = 0x100, Length = 0x7f00]
section address length (PC units) length (bytes) (dec)
------- ------- ----------------- --------------------
.text 0x100 0x170 0x228 (552)
.const 0x270 0xff0 0x17e8 (6120)
.text 0x1260 0x1a60 0x2790 (10128)
.dinit 0x2cc0 0x174 0x22e (558)
Total program memory used (bytes): 0x43ce (17358) 35%
Data Memory [Origin = 0x800, Length = 0x800]
section address alignment gaps total length (dec)
------- ------- -------------- -------------------
.ndata 0x800 0 0x1ac (428)
.nbss 0x9ac 0 0x188 (392)
.ndata 0xb34 0 0x58 (88)
.nbss 0xb8c 0 0x40 (64)
Total data memory used (bytes): 0x3cc (972) 47%
Dynamic Memory Usage
region address maximum length (dec)
------ ------- ---------------------
heap 0 0 (0)
stack 0xbcc 0x434 (1076)
Maximum dynamic memory (bytes): 0x434 (1076)
"/opt/microchip/xc16/v1.24/bin"/xc16-bin2hex dist/default/production/ACInductionController.production.elf -a -omf=elf
make[2]: Leaving directory `/home/jase/MPLABXProjects/ACInductionController'
make[1]: Leaving directory `/home/jase/MPLABXProjects/ACInductionController'
BUILD SUCCESSFUL (total time: 1s)
Loading code from /home/jase/MPLABXProjects/ACInductionController/dist/default/production/ACInductionController.production.hex...
Loading completed
Thank you P-hack.
Now i have a foundation for making any minor changes that the forum or Paul might come up with and building the hex file myself.
Paul does amazing work but it is nice to know that i can make minor changes myself.
I am not saying i will but it is nice to not feel reliant on Paul's generous nature.