Hello, your project seems very interesting to me. I noticed you had some successful test, but i didn't found anything about the firmware used for these tests. Can you please advise on that subject? Thank's and regards!
The tests are in the script directory. But it needed the DE0_NANO FPGA project as well, until today. This weekend I had some time and started with the PIC firmware implementation. Currently it does the same as the FPGA implementation, just a thin wrapper to translate the Python script commands over serial port to CONFIG_P/N signals and report back the REPORT_P/N word. The Eagle schematic is updated as well, it works on my breadboard. See the Github repository:
https://github.com/FrankBuss/gandalf-minderAnd with pic32prog it works even with my old PICkit 2 programmer, which is faster than my PICkit 3 programmer, which is the only programmer supported by MPLAB X for this microcontroller, which is silly, because pic32prog demonstrates that it works without problems with the old programmer.
It was not easy to write the firmware for the PIC, because the "PIC32 Peripheral Libraries" documentation is missing (the link in the start menu after installing MPLAB X is dead) and the version I found on Google is missing some functions as well. It doesn't help that there is some legacy library code, which is mixed with the new library and you have to implement some functions with low-level register access anyway. E.g. I couldn't find a library function to clear the UART overrun flag, and if it is not cleared when it happens, the UART stops receiving data. This is not consistent with the SPI module, which has a nice function for this purpose, with the obvious name SpiChnGetRov
. So if you want to use the Microchip library, you have to read the header files and sometimes the C implementation as well to see which registers are changed, and if you are lucky, you find something with Google or in the examples folder
Next step will be to test the analog inputs for the temperature sensor, and maybe for measuring some voltage levels as well, testing the digital potentiometer to set the core voltage with the power supply, testing a PWM output and tacho input for a regulated fan and then routing the PCB. Might need some time again, because I don't have much spare time at the moment.