janb
Full Member
Retiree, born 1948, mostly HW/FW oriented programming for > 50 years, 25+ for IBM
Posts: 33
|
Post by janb on Sept 1, 2020 10:20:40 GMT -8
There are two different scenarios when the 'GD.begin()' cmd HANGs for me: 1) My program is up & running, then I re-compile and upload a new version. The upload is done OK, but the restart ALWAYS HANG! 2) Something goes wrong in my program (regarding GD3X) and the WatchDog Timer forces a Restart; also ALWAYS HANGs!
The only solution I have found is to: - Power OFF GD3X (separate 5V supply) & Teensy 3.5 Setup (pulling the USB Serial cable!) - Power ON GD3X and then quickly re-insert the USB cable
It is said that the 'GD.begin()' should be the first executed cmd when starting up the GD3X. But what can be done if this cmd HANGs? Is Power OFF/ON of both the GD3X AND the "calling processor" REALLY the only possible solution?
|
|
|
Post by jamesbowman on Sept 1, 2020 14:48:15 GMT -8
Do you have an SD card in the slot?
|
|
janb
Full Member
Retiree, born 1948, mostly HW/FW oriented programming for > 50 years, 25+ for IBM
Posts: 33
|
Post by janb on Sept 1, 2020 16:05:45 GMT -8
Yes! I'm using 'GD.begin(~GD_STORAGE)', and after Power OFF/ON, the begin cmd works OK! It's only after program re-load and after WatchDog-Timer Restart that the begin cmd hangs...
|
|
|
Post by jamesbowman on Sept 1, 2020 16:12:17 GMT -8
And does the same thing happen without the SD in the slot?
|
|
janb
Full Member
Retiree, born 1948, mostly HW/FW oriented programming for > 50 years, 25+ for IBM
Posts: 33
|
Post by janb on Sept 1, 2020 16:18:18 GMT -8
James, we talked about this before... I ALWAYS have a good SD card in the slot. Without it, the begin cmd hangs, even though I use 'GD.begin(~GD_STORAGE)'!
|
|
|
Post by jamesbowman on Sept 1, 2020 16:54:41 GMT -8
Then something's not right. Maybe a hardware issue.
With no SDcard, does "helloworld" work?
|
|
janb
Full Member
Retiree, born 1948, mostly HW/FW oriented programming for > 50 years, 25+ for IBM
Posts: 33
|
Post by janb on Sept 2, 2020 0:39:57 GMT -8
With Teensy 3.5, with SD card in GD3X: "helloworld" only works after unplugging/re-plugging USB cable W/O SD card in GD3X: "helloworld" does not work at all (even with the 'GD.begin(~GD_STORAGE)' version)! With Arduino Uno, with SD card in GD3X: "helloworld" works even after re-load, W/O unplugging/re-plugging USB cable! W/O SD card in GD3X: "helloworld" works OK (as above) BTW, I don't have GD3X pin 9 (SD SEL) connected to my Teensy 3.5... According to you, it's not needed (see below) gameduino2.proboards.com/thread/937/teensy-gameduino-3x-pinouts-5vI'll let this matter "rest" for a while... I have another Teensy 3.5 "working" at my summerhouse; I'll swap Teensy's next time I go there!
|
|
janb
Full Member
Retiree, born 1948, mostly HW/FW oriented programming for > 50 years, 25+ for IBM
Posts: 33
|
Post by janb on Oct 14, 2020 8:44:56 GMT -8
I still haven't got my hands on my other Teensy 3.5 board... In the meantime I got myself an ESP32 board, Arduino UNO style/footprint. With a few i/o pin definition mods/adds in GD2.h, my GD3X fits (and runs) right on top of the ESP32 board (see my post gameduino2.proboards.com/post/2734/thread)... The 'GD.begin()' can also "hang" with this ESP32 board, especially after my new type of "hang problem"; the 'GD.get_inputs()' cmd! This cmd consists of a 'GD.finish()' plus several "get data" lines. I commented out this 'GD.finish()' in GD2.cpp and added it in my own code instead. Thereby I can see that it's not 'GD.finish()' that "hangs", but the following "get data lines"... After such "hangs", an ESP32 board reset will "hang" on the 'GD.begin()'; power off/on of the GD3X is needed (unplugging USB cable). These 'GD.get_inputs()' "hangs" only occur when my program outputs a few text lines to the GD3X with 'GD.cmd_text(...)' stmts. Even though I output the same text lines each time, these "hangs" occur after a few minutes (i.e over 10 000 loop iterations!). I also tried to put the 'GD.finish()' cmd AFTER the 'GD.swap()' (instead of BEFORE 'GD.get_inputs()'), but it just takes slightly longer before it "hangs"...! The screen also contains ONE button and TWO slide widgets; that's all! My program has different "run modes"; one is more or less exactly the 'Widgets.ido' GD2 sample program. This "mode" never "hangs"! I've never seen the BLUE 'Coprocessor Exception' screen with this ESP32 board; maybe because I haven't output "enough" characters? But these 'GD.get_inputs()' "hangs" seem to indicate the same kind of GD3X problem; maybe it just manifests itself differently?
|
|
|
Post by jamesbowman on Oct 15, 2020 6:03:47 GMT -8
Hi Jan, I think you have a faulty GD3X. Please contact me at jamesb@excamera.com to arrange for a replacement.
|
|