First let me start off by saying…AAAAAIIIIGGGGGGHHHH! Ok. I never claimed to be an expert at what I was doing and I’ll have to say this one really made me fight for it. I have been attempting to get my PIC32MX795F512L USB Starter Kit II attached to a IO Expansion board and then connect that to the TechToys SSD1963 EVK Rev3B board which then connects to the TY700TFT800480 7 inch touch screen. Then to create my GUI I was using the VGDD software by VirtualFab.it.
I’ve had almost a week now of evenings and several days where I was uninterrupted and able to work on it. It took a couple of evenings to make sure all the wiring was correct and get all the various parts assembled together for an EEprom to store calibration data to work. Turns out I needed a bypass capacitor AND NOT to have a pull up resistor on the chip select pin even though it seemed to be used in most examples I found the opposite way. Once I got past that issue I worked on getting the demo to work which required some tweaking since I was running the demo on a custom configuration that wasn’t a TechToys multimedia board with everything on it.
After finally getting the basic demo working ok I began trying to figure out VGDD’s XML files to add extra Display and Graphics Cards to the software. I added an entry for each device and then started to customize the individual XML for each part. After exporting the project and trying to compile it there was of course a LOT of errors. In a few cases some of the lines got duplicated and in other cases I had to add additional lines or modify the driver slightly to work cleanly in VGDD’s wizard.
I still need to work on a problem where the exported VGDD project has something incorrectly set with the EEprom where the SPI isnt writing so it only shows a single screen and can’t navigate until the touch is calibrated. Additionally since the SSD1963 is not part of the original MAL (Microchip Application Library) then I likely need to find an alternate place to put some of the files and explicitly map it that way in the VGDD templates.
Due to some previous problems with VGDD (I started using it very close to the beginning of its existence and it has had dozens of releases over several years now) where it seems my files got “scrambled” here and there I would get all sorts of weird issues while trying to compile them. As a result I’ve started the screens over from printouts and need to figure out how to adjust a few buttons and text as well as add a whole lot more items to many of the menus.
Here’s the awful camera phone photos in a dimly lit room. Once I get it working better and update the screens more I’ll dig out the better camera. I’m just happy that things are working right now.
I’m pretty close to getting the XML worked out so that I don’t need to modify the VGDD code that gets generated but I suspect I’ll need to work on it for a few more evenings before I get it right.
Update 7/24/12 Afternoon – I’ve managed to get the EEprom code to read/write the calibration properly now from the beginning. I’m seeing an off effect where the OutTextXY functions are not working while all of the static text displays fine and the functions that make it switch screens do not appear to function. I have one section that defines the touch screen X/Y ADC pins that appears to be a duplicate with something in another section of code that I have to comment out and I have to force it to display a screen since it doesnt seem to happen automatically (may be part of the switching screen problem though). I’m going to switch to a regular SSD1926 screen and generate code and start comparing because I must have disabled something making the screen objects invalid. Outside of adding the display a screen command, and commenting out the other code section it does export without a bunch of errors so I am getting further along now.
Update 7/24/12 Evening- I’ve now managed to get straight through compiles to work without having to modify anything. I had found an issue with the order of the screens where it tried to put one of the “master screens” as the first screen it loads. For whatever reason this causes it to black out the screen and not show anything. After switching it to a more appropriate screen it comes up ok. It also now transitions from one screen to another when I press the buttons as well. The only issue I’m having is when there is around 30 buttons on the screen it freaks out and stops displaying them. I’ve been unable to find a notice about there being a 30 button limit but so far I’ve not found a way around it. The code is all there for all of the buttons but they don’t show up.