Thread: [Flashforth-devel] Flashfort and UNO-TFT display/ili9341
Brought to you by:
oh2aun
From: Peter H. <p.h...@we...> - 2024-08-21 19:12:14
Attachments:
TFT-Shield_0.txt
|
Hello Mikael, hello FF friends, I might need your help again. After 2023-04-08 I was helped by Stefan regarding my request for the TFT display/ili9341 -> https://github.com/bitflipser helped me. He has programmed TFT “basic routines” and I some “Forth terminals”, “controls” and “extensions”. With his Optiforth we were both able to realize Forthgraphic routines via PC, e.g. drawings/piano/chessboard/HDMI images etc. in just a few minutes. Everything is selected/positioned/drawn using the PC mouse and the code is automatically sent to the UNO and displayed pixel-accurately. Problems -> Optiforth is only available for the UNO_328P/32kB and Stefan is unfortunately out. With larger processors there would be further advantages here. After having tested all Forths known to me before and having tested Mexrips, noForth & ZeptoForth afterwards, I think Mikael's Flashfort is clearly better, again --> congratulations! What could perhaps be a little more would be more hardware resources. That's why I had handed over the sources for “LCD-Shield on UNO-Board” in March 2023 and also programmed a control control for it in the last two terminals. Attached is now a small basic program for initializing the “TFT-Shield on UNO-Board”. Simply use the familiar -> 2.4 inch TFT LCD Touch Display Shield for 5V <- the UNO. It implements the -> “FF” (Flashfort) display on the TFT display as an example in the color frame. I can't offer more at the moment, because in Flashforth there are the commands: *_0until, 0if, do, loop and pick_* unfortunately not! Who can help me? If I could use these words, the previous solutions (with PC mouse via lines/dots/circles/round corners/rectangles/buttons/graphics) would be easily possible in real time. I would be happy to make final programs and terminals including controls available to the FF community. best regards Peter _Note on program transfer times:_ --> with Teraterm (TD >= 250ms/line!) the time at 38600 Bd is approx. 9 sec. I generally work with 115200 Bd in FF and achieve 2 sec. in my Windows terminal or if I switch internally to my DOS terminal --> 1 sec.!!!). This instruction (https://wellys.com/posts/flashforth_compile/) works well with the 250000 Bd (--> e.g. in my terminal the Win times/DOS times are halved again!). If you don't want to install the huge MPLAB X IDE v.6.20 you can simply change the baudrate in the hexfile: original: 00004D93 33 (38600 Bd) --> 30 (115200 Bd) --> 37 (250000 Bd)_ _ |
From: Mikael N. <mik...@fl...> - 2024-08-22 04:21:45
|
On 2024-08-21 21:58, Peter Höhne via Flashforth-devel wrote: > I can't offer more at the moment, because in Flashforth there are the > commands: > 0until, 0if, do, loop and pick unfortunately not! https://sourceforge.net/p/flashforth/code/ci/master/tree/avr/forth/pick.fs https://sourceforge.net/p/flashforth/code/ci/master/tree/avr/forth/doloop.fs Unfortunately the DO..LOOP is not for ATMEGA256 if you plan to use that, but I could create it. 0until and 0if could be created, but could you give a reference to those words. Google could not find it immediately. -- -- Mikael |
From: Mikael N. <mik...@fl...> - 2024-08-22 04:27:47
|
Here you have the 0if and 0until. I found them in bitflipser/optiforth. \ 0if and 0until for Atmega : 0if ( -- addr) $f009 i, ['] if #8 + execute ; immediate : 0until ( addr -- ) $f009 i, postpone again ; immediate Mikael On 2024-08-22 06:15, Mikael Nordman wrote: > On 2024-08-21 21:58, Peter Höhne via Flashforth-devel wrote: > >> I can't offer more at the moment, because in Flashforth there are the >> commands: >> 0until, 0if, do, loop and pick unfortunately not! > > https://sourceforge.net/p/flashforth/code/ci/master/tree/avr/forth/pick.fs > > https://sourceforge.net/p/flashforth/code/ci/master/tree/avr/forth/doloop.fs > > Unfortunately the DO..LOOP is not for ATMEGA256 if you plan to use > that, but I could create it. > > 0until and 0if could be created, but could you give a reference to > those words. > Google could not find it immediately. |
From: Mikael N. <mik...@fl...> - 2024-08-22 11:40:49
|
I added do..loop for the Atmega2560 (Arduino MEGA) and 0if 0until 1until to the FF5 distribution. BR Mikael On 2024-08-22 07:27, Mikael Nordman wrote: > Here you have the 0if and 0until. I found them in bitflipser/optiforth. > > \ 0if and 0until for Atmega > > : 0if ( -- addr) $f009 i, ['] if #8 + execute ; immediate > : 0until ( addr -- ) $f009 i, postpone again ; immediate > > Mikael > > On 2024-08-22 06:15, Mikael Nordman wrote: > > On 2024-08-21 21:58, Peter Höhne via Flashforth-devel wrote: > > I can't offer more at the moment, because in Flashforth there are the > commands: > 0until, 0if, do, loop and pick unfortunately not! > > https://sourceforge.net/p/flashforth/code/ci/master/tree/avr/forth/pick.fs > > https://sourceforge.net/p/flashforth/code/ci/master/tree/avr/forth/doloop.fs > > Unfortunately the DO..LOOP is not for ATMEGA256 if you plan to use > that, but I could create it. > > 0until and 0if could be created, but could you give a reference to > those words. > Google could not find it immediately. -- -- Mikael |
From: Peter H. <p.h...@we...> - 2024-08-22 20:53:34
|
Hello Mikael, Thank you very much for the quick help. I am very pressed for time --> my wife's birthday is tomorrow and we are also celebrating our golden wedding anniversary! Nevertheless, I have installed/tested all the new functions. The do ... loop for the 2560 runs smoothly. I cannot judge whether it is correct for the 328P? The program has > 1100 lines and of course does not run through yet! Unfortunately I also noticed 3 missing functions: *mtst0 swap- sqr*. But that should be it. Maybe you can check for these again? best regards Peter PS: We have a full house from tomorrow, as soon as I have free time again I will take a closer look at the processes. Am 22.08.2024 um 13:40 schrieb Mikael Nordman: > > Unfortunately the DO..LOOP is not for ATMEGA256 if you plan to use > that, but I could create it. > > 0until and 0if could be created, but could you give a reference to > those words. > Google could not find it immediately. > |
From: Peter H. <p.h...@we...> - 2024-08-27 13:36:49
Attachments:
TFT_FF_2_RE.txt
|
Hello Mikael, Our Gold Day is over and the guests have left. Thanks for the rest of the routines. The do ... loop does not run for the 328P and would probably have to be adapted? I took it out and after a lot of trouble (I tested all 3 baud rates and also old ff_uno.hex) as well as a better programme structure, the complete 1100 lines run cleanly and without errors to the end on all 4 FF variants. The old ff_uno.hex seems to perform slightly better than the current version, but the TFT still does not display anything. In addition to my Win/DOS terminals, I also communicated via TeraTerm and MyFFshell --> the same results everywhere. As a Forth greenhorn, I'm at my wit's end! I have now reduced the programme to bases & rectangles. Behaviour is similar to the complete program/1100 lines. If this short program can be realised in FF, the other basic functions and programs will probably also work. best regards Peter PS: Programme control via OptiForth/115200Bd is ok (runtime Win/DOS => 12/8s )! Am 22.08.2024 um 22:53 schrieb Peter Höhne: > > Hello Mikael, > Thank you very much for the quick help. > > I am very pressed for time --> my wife's birthday is tomorrow and we > are also celebrating our golden wedding anniversary! > > Nevertheless, I have installed/tested all the new functions. The do > ... loop for the 2560 runs smoothly. > I cannot judge whether it is correct for the 328P? > The program has > 1100 lines and of course does not run through yet! > Unfortunately I also noticed 3 missing functions: *mtst0 swap- sqr*. > But that should be it. > > Maybe you can check for these again? > > best regards > Peter > PS: We have a full house from tomorrow, as soon as I have free time > again I will take a closer look at the processes. > > > Am 22.08.2024 um 13:40 schrieb Mikael Nordman: >> >> Unfortunately the DO..LOOP is not for ATMEGA256 if you plan to use >> that, but I could create it. >> >> 0until and 0if could be created, but could you give a reference to >> those words. >> Google could not find it immediately. >> |