Open RudolphRiedel opened 1 year ago
Ok, I connected a RVT50HQBNWC00-B to the Teensy 4.1 and it works fine using my library. I installed GDSTx using Arduino IDE 1.8.19, I installed sdfat, I installed the Teensyduino. I can select GDSTX examples and chose "Helloworld_border". I have board "Teensy 4.1" selected, the program compiles and throws a couple of warnings. I uploaded and it does not work. I modified "config.h" in th the library folder:
#define SizeEVE 54 // NHD: 7-7", 5-5", 43-4.3", 35-3.5", Riverdi: 51-5", 71-7", MO: 38-3.8"FT813, MO: 52-5"BT815, MO: 53-5"FT813, Riverdi: 54-5" BT817, 0 Riverdi FT801/FT800 4.3", Riverdi: 100-10" BT817
#define ORIENTACION 0 // 0, 1, 2, 3, FT81X/BT81X 0 normal
#define ROTACION 0 // 0,1 FT80x
#define CS 10 // general
#define SetSPISpeed 10000000 // general
#define NHDTouch 1 // 1 cargar rutinas panel táctil 0 NHD normal aparentemente no lo requiere?¿
#define GameduinoX 0 // 1 gameduinox shield instalado 0 otros como NHD43 o FT843
Note that the SPI speed must not be higher than 11MHz during initialization.
I uploaded and it does not work.
From the warnings I found that config "54" expects POR_PIN to be set so I modified GDSTx.h to use "9" as this is what I have the PD pin connected to.
Now it starts to work.
The logic analyzer trace shows that the SPI is completely blocked with transfers.
So I moved the code out of the loop() to the setup() to only execute it once. The logic analyzer trace is really not looking good - to put it very friendly.
Hi Rudolph, sorry for answering so late, I was trying to locate the account details, I finally have them today.
The GDSTx library was rebuilt to be able to use the SdFat library in its most recent version, SdFat itself consumes a lot of memory resources on boards like the UNO. James Bowman, creator of the fantastic gameduino 23X library, hasn't made improvements to his library for a long time and has left us with many, many unanswered questions. We chose to continue on our own path, focusing batteries on the teensy 4 and therefore on the 4.1
The gameduino 23X library originally has embedded instructions from early versions of the SD.h library, but is very limited to the type and size of microSD cards that can be placed in the gameduino 2 or 3 shield. It seems to me to tolerate up to 16 Gb, class 10, but of the simple microSD
With the adjustments that were made in GDSTx, in order to use the SDFat V2 library, it's possible to use very fast memories like the Kingston Canvas Go! Plus 256GB UHS-I, with excellent speed rates. I learned on an arduino UNO, but the hobby led me to have to consider faster MCUs and coincidentally the teensy 4 and then the teensy 4.1 came out.
GDSTx is not suitable for arduino UNO.
With the GD3X it would have to be a remote experiment, since here in Mexico, it has not been possible for me to get one to add it to the GDSTx library. I've tried to figure out how a GD3x should be connected, but unfortunately one has to speculate on what little wiring information James left behind.
Due to lack of time and advanced knowledge with flash memories, I have not ventured with this part of the EVE 4 chips, it would be great if that support could be added to GDSTx.
Greetings and a big hug from Mexico. 😀
El lun, 27 mar 2023 a las 9:50, RudolphRiedel @.***>) escribió:
Not really an issue, more a question. Does this library really "only" work with Teensy boards and a select few STM32 boards? I tried to compile for an UNO and got errors. Compiling for Teensy 4.1 worked but now I wonder how I can connect the Teensy 4.1 to the GD3X. And what pins are to be connected exactly.
— Reply to this email directly, view it on GitHub https://github.com/FT81xMania/GDSTx/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHQZ7MFGUNSJIMC6JRLVK7TW6GZLXANCNFSM6AAAAAAWJKN3NU . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Several years ago a couple of friends (ligthcalamar and a server) met by coincidence and we ventured to connect a 5" FT813 screen and a 5" FT811, in a brand new teensy 3.6 and 3.5.
We hit stops for several years and we managed to modify the library for gameduino 23, (I lost count of the variants we made), so that it would work on an STM32F103C8, but the image loading part was not compatible with STM32 boards, it gave lots of mistakes. From that moment on, we looked everywhere for the possibility of using the SdFat library that did work with STM32. A friend from Japan opened our eyes and with a variant of our modified libraries, he managed to play a video on the F103C8 board with SdFat as a base on danieleff's alternative STM32 core.
All the time we have relied on the work of James Bowman and how it was possible for him to connect an EVE chip without following what the FTDi chip said in their datasheet on the boot issue. The key is in the working of the wiring.h file
El jue, 30 mar 2023 a las 15:57, RudolphRiedel @.***>) escribió:
Ok, I connected a RVT50HQBNWC00-B to the Teensy 4.1 and it works fine using my library. I installed GDSTx using Arduino IDE 1.8.19, I installed sdfat, I installed the Teensyduino. I can select GDSTX examples and chose "Helloworld_border". I have board "Teensy 4.1" selected, the program compiles and throws a couple of warnings. I uploaded and it does not work. I modified "config.h" in th the library folder:
ifdef TEENSYDUINO
define SizeEVE 54 // NHD: 7-7", 5-5", 43-4.3", 35-3.5", Riverdi: 51-5", 71-7", MO: 38-3.8"FT813, MO: 52-5"BT815, MO: 53-5"FT813, Riverdi: 54-5" BT817, 0 Riverdi FT801/FT800 4.3", Riverdi: 100-10" BT817
define ORIENTACION 0 // 0, 1, 2, 3, FT81X/BT81X 0 normal
define ROTACION 0 // 0,1 FT80x
define CS 10 // general
define SetSPISpeed 10000000 // general
define NHDTouch 1 // 1 cargar rutinas panel táctil 0 NHD normal aparentemente no lo requiere?¿
define GameduinoX 0 // 1 gameduinox shield instalado 0 otros como NHD43 o FT843
endif
Note that the SPI speed must not be higher than 11MHz during initialization.
I uploaded and it does not work.
From the warnings I found that config "54" expects POR_PIN to be set so I modified GDSTx.h to use "9" as this is what I have the PD pin connected to.
Now it starts to work.
The logic analyzer trace shows that the SPI is completely blocked with transfers.
So I moved the code out of the loop() to the setup() to only execute it once. The logic analyzer trace is really not looking good - to put it very friendly.
— Reply to this email directly, view it on GitHub https://github.com/FT81xMania/GDSTx/issues/1#issuecomment-1491016554, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHQZ7MEATZORMB4AQ77IEKTW6X6WNANCNFSM6AAAAAAWJKN3NU . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Actually, I almost forgot about this thread here in the meantime, so many things to do.
What I did not mention is that I am only curious here, I do have my own library and there are probably a few things that I could take inspiration from.
I started from scratch with Arduino IDE 1.8.19 and this time I had severe issues, the Arduino IDE refuses to install the most current Teensy package claiming that the archives are corrupt. So after a little back and forth I had enough and did a fork of this repository: https://github.com/RudolphRiedel/GDSTx
I added a library.json as a first step to compile this library with PlatformIO. Then I setup an example for PIO, derived from the "Helloworld_border" but much simpler. I noticed that the code in "(Extra libraries)" was compiling, so put the two folders in .zip archives to stop that.
I modified config.h so I can use it with the RVT50HQBNWC00-B again that I have on my desk right now. I connected my Teensy 4.1 to the display and I am now up to the point that the setup is "working".
The GDSTx library was rebuilt to be able to use the SdFat library in its most recent version
And the Teensy 4 installation already includes that so that is not an issue anymore.
James Bowman, creator of the fantastic gameduino 23X library,
This is somewhat triggering me.
To be frank, looking at GD2 and GDSTx from the base equipped with a logic analyzer, I consider this library to be completely broken and only working by chance. The startup sequence bears close to no resemblence with what is documented in the programming guide. I am talking about the low-level stuff here, what is going on with the SPI.
Here is a logic-analyzer trace for the "HelloWorld_PlatformIO" example I added: GDSTx_HelloWorld.zip
This is for the Logic 2 software from Saleae.
I have not found out so far what is going on during that 2.5s pause. I find that second block quite confusing so far - most of what is going on there seems to completely unnecessary.
Finally there is this for the code in the loop every 20ms:
Look at the chip-select, it is low going into this block and going out of it, it really should end on high and go low when starting the block.
Now I modified one of my examples for my library to do the same thing: EVE_HelloWorld_Arduino_PlatformIO.zip
Same display, same Teensy 4.1, no change in the wiring, same SPI clock of 10MHz, no DMA, just to make this compareable.
This is the trace for it, from the start to after the second screen update: EVE_HelloWorld.zip
Measuring from MOSI going high at the start of the controller to chip select going high after the second screen update this is 112ms.
And one screen update looks like this:
Chip select is going low eight times, once for every line in the example.
Sorry for that, but after checking the output of GD2 library with a logic analyzer in order to find out the configuration for the GD3X I frankly lost most of the respect for what James Bowman did there, for the most part this works by chance. And again, I am talking about the low level stuff here, what is going on with the SPI.
Not really an issue, more a question. Does this library really "only" work with Teensy boards and a select few STM32 boards? I tried to compile for an UNO and got errors. Compiling for Teensy 4.1 worked but now I wonder how I can connect the Teensy 4.1 to the GD3X. And what pins are to be connected exactly.