Recently Microchip upgraded their compilers to default to C99 standards, but older C code (like the legacy libraries used by the badge) do not meet that standard. In the empty override file, copy and paste this two lines:Įnter Ctrl-O to save, then Ctrl-X to exit.Ĭompiler error on fundamental C types, like 'void':Įrror: variable has incomplete type 'void'Įrror: expected ' ' after top level declarator
Here's how to fix:Īn editor will open to create a so called nf file. Upon updating to Ubuntu 18.04 it seems that Microchip's udev rules for PICkit programmers have been broken by the new systemd configuration. start_after_wake = &you_refresh_function.Here is the example for setting which function will be executed (do this in the initialization function of your program):
There is function pointer in hw.h that will call your screen refresh function on wake.When directly controlling the screen, you will want to perform a screen refresh after badge wakes up from sleep.
view disp.h for screen manipulation functions to use in manual mode.enable_display_scanning(0) //Turns off auto screen scanning, value of 1 turns back on.
If all goes well, everything will work up to the point PICkit tries to communicate with a badge that's not there yet, at which time you'll see an error message like this: Open the project, plug in your PICkit, and click "Make and Program Device" To test that the tools are properly installed before Supercon, clone the badge firmware repository on Github. (If your programmer isn't recognized in Ubuntu 18.04 see troubleshooting below) Testing Your Toolchain Installation
Software is compiled using MPLABX, XC32 compiler, and legacy peripheral libraries from Microchip. The BASIC badge is based around a PIC32MX370F512H. PICkit 3 and PICkit 4 have both been tested to work as programmers via the pin header on the badge. You will need a PIC programmer to write your own HEX files onto the badge.