Hackaday Badge requires PIC32 Legacy Peripheral Library
The Hackaday Superconference is in a few weeks, and as part of preparing for the conference, I have a badge from the Hackaday event this past May in Belgrade. Supposedly the upcoming Supercon badge will be a very close successor to this badge so I'm going to dig in and understand as much as I can about it.
The first task is to get the badge firmware project file up and running. There is a repository up on Github. I see the device is built around Microchip's PIC32 line of processors, so obviously I needed to get my MPLAB X IDE updated and running.
When I tried to build the project as-is, my first errors were related to C standard compliance, which I've seen before in the context of working with Microchip's 8-bit chips but could be addressed the same way.
Then I ran into the second compiler error:
fatal error: peripheral/adc10.h: No such file or directory
An internet search found this thread on Microchip's developer forums, which indicated I need to download something called "PIC32 Legacy Peripheral Libraries" which is a separate download link on the same page as the XC32 compiler download.
It is an archive file that, once unpacked, is an executable installer. Everything was relatively straightforward except for the installation path. By default it puts all the library files under my home directory and used version number of an old compiler. (On my Ubuntu machine, that translated to /home/roger/microchip/xc32/v1.40
) which I guess could work given some project path updates. But it made more sense to install into the directory for my currently installed compiler, so the project path doesn't have to be updated. (On my Ubuntu machine, that translated to /opt/microchip/xc32/v2.10
.)
Once installed, the project built successfully!
And after I did this investigative work, I found that there were already instructions telling me I'd need the legacy library. So this turned out to be a failure to RTFM but I learned something in the process, so all good.