You are viewing a static version of the site. Enable JavaScript to benefit from the
full functionality of this site and enable such things as forum posting.
DisplayCore Issues
MathiasWilhelm:
Salut,
the ST7735 example (out of the box) does not compile:
‣ cannot declare variable 'tft' to be of abstract type 'ST7735'
however, the code looks ok to me ....
matt:
What board are you compiling for? And what versions are the DisplayCore core files and ST7735 packages?
MathiasWilhelm:
board: Helvepic32-BBside as well as chipKIT Lenny (tried others, same error)
DisplayCore: 2.2.0 (latest available)
ST7735: 2.0.7 (latest available)
matt:
Hum. That's all correct. And it works fine for me. That error usually means that the TFT driver isn't implementing a pure-virtual function from the parent DisplayCore class. The Output tab should give you more detail about what function it's not implementing.
MathiasWilhelm:
Found it: the compiler picked up a ST7735.h file from another library. I have ti increase the font of the output window ;)
MathiasWilhelm:
Salut Matt,
have you changed something on DisplayCore in the past 3 weeks? I re-compiled a code I use on two displays: ST7735 and ILI9341, both using SPI. The code worked some weeks ago and now th displays stay blank. I double checked the hardware by running the UFTF library examples on both displays and all works fine. So the hardware cannot be the problem. Do you have any ideas? Even the simple demo code is not working and more ...
Ciao, Mathias
matt:
Nope, nothing that should have any effect on compiling. All my recent changes have been cosmetic / UI related.
I assume you've tried a purge of the cache files?
MathiasWilhelm:
Salut Matt, it was a collision with a MCP320x library that did a direct bit manipultion on the SPI bus colliding with the Display Core call. I switched to the MCP3208 library as this can be used with the MCP3204 as well.
However, I noticed, that in Display Core you switch to full SPI speed (spi.setSpeed(20000000UL)). As the MCP3204/8 uses the transfer time of the command byte as integration time, the ADC has not enough time to give reasonable results. As a bypass I switch the speed to a slower value (spi.setSpeed(1000000UL)) prior to the adc readout and back to full speed afterwards. You may consider a code change in the MCP3208 library
Ciao, Mathias