General area when it fits no where else

Moderator: Mmiscool

User avatar
By picstart
#53677 The fundamental issue is that the esp8266 has very few pins to work with... example with the ILI9341 and an SD card pin 9 connected to the flash inside the can is used by lifting a couple of pins on the flash and flashing a tad bit slower using DIO instead of QIO.

#define TFT_DC 2
#define TFT_CS 15

#define Touch_CS 4
#define Touch_IRQ 5
#define SD_CS 9
///////////////////////////Pin outs lolin esp12E //////////
// D0-GPI016 Wake
// D1-GPIO5-->T-IRQ ILI9341
// D2-GPIO4-->T-CS ILI9341
// D3-GPIO0 Flash
// D4-GPIO2-->D/C ILI9341
// 3.3v
// Gnd ReSet ILI9341
// D5-GPIO14 |-->SCK ILI9341
// |-->T-ClK ILI9341
//
// D6-GPIO12 |-->MISO ILI9341
// |-->T-DO ILI9341
//
// D7-GPIO13 |-->MOSI ILI9341
// |-->T-DIN ILI9341
//
// D8-GPIO15-->CS ILI9341
// D9-GPI03 RX
// D10-GP01 TX
I have the 23S17 interfacing for other projects; but the TFT was tiresome and it was faster to get out the soldering iron than mess with the TFT library code.
Now the 23S17 is a nice way to expand the CS lines available but it has the price that often library code (ex TFT lbrary code) is written to bury the hardware interface into very very low level code and often creating dependencies that are tiresome to dig out making interfacing to extra hardware (23S17) non trivial. What you can interface in minutes with a soldering iron can take hours to interface with library software.
User avatar
By Ecoli-557
#53724 Hmmmm, so, the problem may in fact lie in the ILI9341 library which seems to support what I am seeing on my logic analyzer. There are outputs being toggled and I am not actively the cause which points to the library.

If you have used the 23S17 and the TFT together, how did you do it? Should I abandone basic in favor of LUA or Arduino where I have the freedom to add libraries as I need them?

I like the way Mike's basic is shaping up, however, personally I need more control over the hardware as I am accustomed in my native language.

Does there exist an example in Arduino or LUA which may shed some light on what is happening in Basic? If so, I am certain Mike could/would resolve it.

Thanks and Regards.
User avatar
By picstart
#53725 It is often problematical. Libraries are often contributed by product vendors in which case the hardware is known since that's what they are selling.
It is advantageous for the vendor both for coding and the marketing to bury the hardware dependency.
When I looked at the TFT library it appeared to be very much faster to get out the soldering iron than to modify the library to support multiplexed CS from a 23S17. I could of perhaps done it by wrapping the TFT CS asserts with the extra 23S17 code needed and maybe expedited the changes with word processing. The soldering iron seemed the most reliable way to go.
User avatar
By Ecoli-557
#53729 Dont mind lifting the can at all, but, I certainly wish everyone would understand how frustrating it is to get something done.
Just to be clear, which pins did you lift, and what did you use for CS for both screen and expander as well as DC for screen. Dont really need the touch portion.
Lastly, did you use the SPI that is muxed w GPIO? Or did you use the SPI which goes to the under the can memory?
And if you used the muxed SPI, why in all that is soldered, cant we used the system SPI bus?