Lazarus Embedded GUI lazarus / 77-Embedded ---------------------------------------------------------------------- Mathias · 2022-09-21 14:31 Lazarus Embedded GUI I've been developing a GUI for a long time, with which you can easily create programs for embedded systems. The advantage of the package, almost all settings for compilers and programmers are taken care of. The AVRs are already very well supported, especially the ordinary Arduinos. There are quite a few examples for the Arduino UNO. There are more and more, even for non-Arduino. STM-32, Arduino DUO, ESPxxx and Rasberry Pico also work, only the examples are (still) missing. A serial monitor similar to the Arduino IDE is also built in. Downloads: https://github.com/sechshelme/Lazarus-Embedded Installation: At Lazarus at "Open Package/Package File (.lpi) .../" Then open this file, compile and install it. ./Lazarus_Embedded_GUI_Package/embedded_gui_package.lpk Example for an Arduino: Via "File --> New... --> Project --> [Embedded] Embedded-Project --> Templates... --> Arduino UNO --> Blink Pin 13 --> Ok --> Ok" an Arduino UNO Project can then be created. If you want to change something at runtime, you can edit the values ​​via "Project --> [Embedded] Options". Final word: The package is developed under Linux, so it may still have bugs under Windows. A functional embedded cross compiler is required. I'm always grateful for feedback, whether it's posted directly in the forum or in the Issus ---------------------------------------------------------------------- Handoko · 2022-09-21 14:42 That looks great. I have an Arduino but I am busy currently, will try your Lazarus Embedded GUI when I have time. Thank you for sharing it. ---------------------------------------------------------------------- ccrause · 2022-09-21 19:07 Thank you for sharing this Mathias, it has great potential to help getting new users started in the embedded Pascal world. A couple of observations on the GUI: I expect a selection (say AVR) to hide non-relevant options elsewhere, for example only show AVRDude as programmer option, the other programmers are not relevant (maybe UF2 too).Currently the CPU info window does not show the controllers for the selected architecture on the main window.  As an additional feature, when selecting a controller, the OK button can copy the controller back to the main window (this will then also require a Cancel button)The AVRDude panel does not show the bottom setting on my small laptop screen - scroll bars should be enabled so that users with smaller screens can navigate to out of view areasChanging the architecture should clear the previously selected example template (could be an empty program skeleton), else one ends up with an example that isn't compatible with the new architectureI think the Programmer selection should only happen in one place, either as radiobuttons or maybe a dropdown list. Then only show the configuration for the selected programmer. Of course these observations are just my expectation of the work flow of using the interface. ---------------------------------------------------------------------- MarkMLl · 2022-09-21 19:14 I'll try and take a look at this, possibly when I'm next looking at a Pico, but as a question: Quote from: Mathias on September 21, 2022, 04:31:06 pmA functional embedded cross compiler is required. Assuming that the FPC sources were available, could it build a cross compiler as needed? MarkMLl ---------------------------------------------------------------------- ccrause · 2022-09-22 04:48 Quote from: MarkMLl on September 21, 2022, 09:14:21 pmQuote from: Mathias on September 21, 2022, 04:31:06 pmA functional embedded cross compiler is required. Assuming that the FPC sources were available, could it build a cross compiler as needed? This would be great in principle, but requires quite a bit of work to ensure a working cross compiler with bin tools ready to use. Fpcupdeluxe already do this well, so perhaps this tool could scan for available cross compiler's and give a warning or note if it is missing. ---------------------------------------------------------------------- d.ioannidis · 2022-09-22 07:57 Quote from: MarkMLl on September 21, 2022, 09:14:21 pmAssuming that the FPC sources were available, could it build a cross compiler as needed? MarkMLl Quote from: ccrause on September 22, 2022, 06:48:02 amThis would be great in principle, but requires quite a bit of work to ensure a working cross compiler with bin tools ready to use. Fpcupdeluxe already do this well, so perhaps this tool could scan for available cross compiler's and give a warning or note if it is missing. It's easy, IMHO, to add an AVR cross compiler in an official Lazarus/FPC installation on Windows. The easiest way ( for me ) is the following which does not require to change compiler binaries, sources dir, etc in the start "Configure Lazarus IDE" popup window but it will not use have the latest changes/fixes from main. It's a ~10 minute work with two 2 clones, 1 copy 2 copies, 1 build and 1 edit process : Lets assume that you're installed the lazarus-2.2.2-fpc-3.2.2-win32. ( I installed Lazarus to "G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2" directory, replace it with your Lazarus installation directory ) 1st step, getting the sources and binaries You need to add use the same version fpc sources for the AVR cross compiler as your lazarus fpc installation has. In this example you'll need the fpc sources with tag release_3_2_2 . Open a command prompt, go to "G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\" directory and clone the fpc release_3_2_2 tag  : [/list]Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2>git clone --depth 1 --branch release_3_2_2 https://gitlab.com/freepascal.org/fpc/source.git release_3_2_2 Also clone the fpc binaries to get the windows avr binutils ( I choose to clone it inside the lazarus installation but you can clone it everywhere you want .) : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2>git clone https://gitlab.com/freepascal.org/fpc/binaries.git fpc_binaries Copy the avr-embedded-* ( ar, as, ld, nm, objcopy, objdump, strip ) binaries from the "\fpc_binaries\i386-win32\" directory to "G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\bin\i386- win32" directory. 2nd step, build the cross compiler and supported AVR mcu's rtl Go to the "G:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2\release_3_2_2\" direcvtory and build the AVR cross compiler with the following command for i.e. atmega328p the subarch is avr5 ( list of subarchitectures  ) ( again this is my preferred way ) : ( I installed Lazarus to "G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2" directory, replace it with your Lazarus installation directory ) Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i G:\Programm ing\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\bin\i386- win32\make.exe clean crossall crossinstall CPU_TARGET=avr OS_TARGET=embedded SUBARCH=avr5 INSTALL_PREFIX=G:\Programming\dimitris \tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2 CROSSOPT="-g- -O3 -CX -XX -Xs" CR OSSBINDIR=G:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2\bin\i386-win32 BINUTILSPREFIX=avr-embedded- STRIP=1 ( Addition after Mathias post ) AFAIU, the fpc 3.2.2 AVR cross compiler doesn't support the avr1, avr2, avrtiny and avrxmega3 subarchs so build everything else using this command ( executed in the same directory as above ) : ( I installed Lazarus to "G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2" directory, replace it with your Lazarus installation directory ) Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i FOR %I IN (avr25 avr35 avr4 avr5 avr51 avr6) DO rmdir /s /q G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I & mkdir G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I & G:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2\bin\i386-win32\make.exe crossall crossinstall CPU_TARGET=avr OS_TARGET=embedded SUBARCH=%I INSTALL_PREFIX=G:\Program ming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2 CROSSOPT="-g- -O3 -CX -XX -Xs" CROSSBINDIR=G:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2\bin\i386-win32 BINUTILSPREFIX=avr-embedded- STRIP=1 & move G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\rtl G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I & move G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\rtl-extra G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I 3rd step, configure the paths ( Removed after Mathias post ) ( I installed Lazarus to "G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2" directory, replace it with your Lazarus installation directory ) Final, edit the G:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2\bin\i386-win32\fpc.cfg and change the units searchpath part from : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i # searchpath for units and other system dependent things-FuG:\Programmin g\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2/units/$fpctarget-FuG:\P rogramming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2/units/$fpctarget/*- FuG:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2/units/$fpctarget/rtl to : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i #ifdef embedded-FuG:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\$FPCVERSION/units/$fpctarget/$fpcsubarch-FuG:\Programming\di mitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\$FPCVERSION/units/$fpctarget/$fpcsubarch/*- FuG:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\$FPCVERSION/units/$fpctarget/$fpcsubarch/rtl#else# searchpath for units and other system dependent things-FuG:\Programmin g\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\$FPCVERSION/units/$fpctarget- FuG:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\$FPCVERSION/units/$fpctarget/*- FuG:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\$FPCVERSION/units/$fpctarget/rtl#endif  All and all, a 10 minute process to add an AVR cross compiler to an official Lazarus installation on Windows. As I mentioned, a drawback of this process is that a lot of fixes, newer functionality etc, sometimes they don't go in the releases but they're remain in main. PS: I'm leaving more advanced installation / setups ( debug units, release stripped units, build for smaller or for fastest units ) for other time or to anyone who wants to do it ...... regards, ---------------------------------------------------------------------- Mathias · 2022-09-22 12:00 QuoteIt's easy, IMHO, to add an AVR cross compiler in an official Lazarus/FPC installation on Windows. The easiest way ( for me ) is the following which doesn't not require to change compiler binaries, sources dir, etc in the start "Configure Lazarus IDE" popup window but it will not use the latest changes/fixes from main. It's a ~10 minute work with two 2 clones, 1 copy 2 copies, 1 build and 1 edit process :[ .....It seems that the problem with the SubArch has already been solved. Don Alfredo has already done the work for us with fpcupdeluxe. I just tested my latest build Lazarus with AVR 25/5/6. All now run in parallel without me having to rebuild the cross compiler. Now I just have to see if this is also possible with ARM and ESPxx. ---------------------------------------------------------------------- d.ioannidis · 2022-09-22 14:19 Quote from: Mathias on September 22, 2022, 02:00:19 pmI just tested my latest build Lazarus with AVR 25/5/6. The whole point of my post was NOT to use the latest main of fpc and/or lazarus .... I want to use the releases so I can use ifdef's for the various fpc versions and, IMHO, the development versions ( for both fpc and lazarus ) is a moving target that I don't want to chase during project development. Better the devil you know than the devil you don't .... In my post I tried to keep it simple for the people to follow but you can automate all the supported subarch builds with something like the following. On windows open a command prompt go to the release_3_2_2 directory ( look at my previous post ) and run after you build the avr cross compiler : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i FOR %I IN (avr25 avr35 avr4 avr5 avr51) DO rmdir /s /q G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I & mkdir G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I & G:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2\bin\i386-win32\make.exe crossall crossinstall CPU_TARGET=avr OS_TARGET=embedded SUBARCH=%I INSTALL_PREFIX=G:\Program ming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2 CROSSOPT="-g- -O3 -CX -XX -Xs" CROSSBINDIR=G:\Programming\dimitris\tools\laz-2.2.2_fpc- 3.2.2\fpc\3.2.2\bin\i386-win32 BINUTILSPREFIX=avr-embedded- STRIP=1 & move G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\rtl G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I & move G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\rtl-extra G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\avr- embedded\%I Quote from: Mathias on September 22, 2022, 02:00:19 pmAll now run in parallel without me having to rebuild the cross compiler. The above command doesn't call make with the clean parameter so it doesn't rebuild the ppcrossavr compiler, only the relevant mcu rtl is builded ( all the subarchs in the IN () range/set in the above example ). Also notice that the avr fpc 3.2.2 doesn't support the avr1, avr2, avrtiny and avrxmega3 subarchs but I can live with that. I'm testing the fixes_3_2 from time to time to see what AVR bugfixes and/or new functionality are added to prepare my projects for the next version .... regards, ---------------------------------------------------------------------- MarkMLl · 2022-09-22 14:36 Quote from: Dimitrios Chr. Ioannidis on September 22, 2022, 04:19:38 pmThe whole point of my post was NOT to use the latest main of fpc and/or lazarus .... Which sounds entirely reasonable to me. Start off with what's currently installed, ask the user for the location of the compiler sources and where he'd like a cross-compiler to be put (which might not be the same as the location of the existing fpc binary, on e.g. a Linux system), and tell him what else he needs in terms of target linker etc. MarkMLl ---------------------------------------------------------------------- Mathias · 2022-09-22 15:02 Quote from: ccrause on September 21, 2022, 09:07:24 pmThank you for sharing this Mathias, it has great potential to help getting new users started in the embedded Pascal world. A couple of observations on the GUI: I expect a selection (say AVR) to hide non-relevant options elsewhere, for example only show AVRDude as programmer option, the other programmers are not relevant (maybe UF2 too).Currently the CPU info window does not show the controllers for the selected architecture on the main window.  As an additional feature, when selecting a controller, the OK button can copy the controller back to the main window (this will then also require a Cancel button)The AVRDude panel does not show the bottom setting on my small laptop screen - scroll bars should be enabled so that users with smaller screens can navigate to out of view areasChanging the architecture should clear the previously selected example template (could be an empty program skeleton), else one ends up with an example that isn't compatible with the new architectureI think the Programmer selection should only happen in one place, either as radiobuttons or maybe a dropdown list. Then only show the configuration for the selected programmer. Of course these observations are just my expectation of the work flow of using the interface. Thanks for the feedback 1. I've already thought of that, with the AVRs it would still be possible. But with the ARM there are the same SubArchs, which different programmers need. What I personally don't like is the combination of RadioButtons and TabPageControls. I've already thought of frames, which adapt to the radio buttons. 2. This is a bit ugly, so I wanted to adjust it myself. 3. I could possibly go more broadly. What is your screen resolution? 4. This bothers me too, this is one of the next steps. If you change the board, there is no longer a need for examples, this only gets in the way. 5. The same as point 1. ---------------------------------------------------------------------- AlanTheBeast · 2022-09-23 17:59 Quote from: Mathias on September 21, 2022, 04:31:06 pmThe package is developed under Linux, so it may still have bugs under Windows. What's the word for Mac OS? or Ubuntu in a VM under Mac OS? I may do an Arduino or Pico sometime later this year (or early next year ). ---------------------------------------------------------------------- Mathias · 2022-09-24 14:44 Quote from: AlanTheBeast on September 23, 2022, 07:59:41 pmQuote from: Mathias on September 21, 2022, 04:31:06 pmThe package is developed under Linux, so it may still have bugs under Windows. What's the word for Mac OS? or Ubuntu in a VM under Mac OS? I may do an Arduino or Pico sometime later this year (or early next year ). If you have a Mac, you are welcome to test it. It should work in the VM if you manage to loop through the USB devices. ---------------------------------------------------------------------- Mongkey · 2022-09-25 02:13 i already tested on ubuntu, avr work very good the other not working. thank you. ---------------------------------------------------------------------- Mathias · 2022-09-25 06:33 Quote from: Mongkey on September 25, 2022, 04:13:05 ami already tested on ubuntu, avr work very good the other not working. thank you. Unfortunately you cut off the AVR when trying to prevent images, but I assume it's the Atmega328. Did you also install the SubArchs with the ARMs and ESPxx? Or did you just use the default setting? Did you use the latest fpcudeluxe? ---------------------------------------------------------------------- kupferstecher · 2022-09-25 12:43 Hi, the name Lazarus Embedded GUI I still think is quite missleading. When I read it I expect a GUI framework for target embedded (forms and controls for an embedded display). I'd prefere something like the following:  Lazarus Embedded Plugin  Lazarus Embedded Wizard  Lazarus Embedded Package  Lazarus Embedded Dialog or similar. ---------------------------------------------------------------------- Mongkey · 2022-09-25 23:11 Quote from: Mathias on September 25, 2022, 08:33:10 amQuote from: Mongkey on September 25, 2022, 04:13:05 ami already tested on ubuntu, avr work very good the other not working. thank you. Unfortunately you cut off the AVR when trying to prevent images, but I assume it's the Atmega328. Did you also install the SubArchs with the ARMs and ESPxx? Or did you just use the default setting? Did you use the latest fpcudeluxe? i installed ARM ESP and AVR SubArch from latest fpcupdeluxe, using environment by fpcupdeluxe default. i do a lot mcu programming using c++, pascal is a new for me in embedded world, although i'm also fullstack pascal programmer, c++ got very easy setting, easy setting would attract people to learn, i think. Thank you. ---------------------------------------------------------------------- MarkMLl · 2022-09-26 07:07 Quote from: kupferstecher on September 25, 2022, 02:43:27 pmthe name Lazarus Embedded GUI I still think is quite missleading. When I read it I expect a GUI framework for target embedded (forms and controls for an embedded display). I assure you that you're not the only sloppy reader, but in fairness Lazarus is the IDE and if the OP meant a new LCL target I'm sure he'd have written that. Besides, he's the one contributing a substantial amount of effort to the community so deserves /some/ slack :-) MarkMLl ---------------------------------------------------------------------- Mathias · 2022-09-26 15:49 I forgot to mention this in the first post. A serial monitor similar to the Arduino IDE is also built in. ---------------------------------------------------------------------- Arioch · 2022-09-26 16:07 Quote from: MarkMLl on September 26, 2022, 09:07:02 amI assure you that you're not the only sloppy reader The question is if Mathias holds this title dear, or just does not bother with thinking out a perfect name suiting evreryone (won't be easy). Personally, i think Lazarus Embedded Connector would be more understandable for newbs. But then i think there would be people who would bash it and say "`connector` is something totally else" Or, maybe, in embedded development "GUI" has very specific sense and means not what it usually means to non-embedded programmers. ---------------------------------------------------------------------- Mathias · 2022-09-27 11:02 Quote from: Arioch on September 26, 2022, 06:07:02 pmQuote from: MarkMLl on September 26, 2022, 09:07:02 amI assure you that you're not the only sloppy reader The question is if Mathias holds this title dear, or just does not bother with thinking out a perfect name suiting evreryone (won't be easy). Personally, i think Lazarus Embedded Connector would be more understandable for newbs. But then i think there would be people who would bash it and say "`connector` is something totally else" Or, maybe, in embedded development "GUI" has very specific sense and means not what it usually means to non-embedded programmers. The name comes from the fact that this is a GUI extension of Lazarus. I know it's hard to find a perfect name. ---------------------------------------------------------------------- Mathias · 2022-09-27 11:07 Quote from: Mongkey on September 26, 2022, 01:11:17 amQuote from: Mathias on September 25, 2022, 08:33:10 amQuote from: Mongkey on September 25, 2022, 04:13:05 ami already tested on ubuntu, avr work very good the other not working. thank you. Unfortunately you cut off the AVR when trying to prevent images, but I assume it's the Atmega328. Did you also install the SubArchs with the ARMs and ESPxx? Or did you just use the default setting? Did you use the latest fpcudeluxe? i installed ARM ESP and AVR SubArch from latest fpcupdeluxe, using environment by fpcupdeluxe default. i do a lot mcu programming using c++, pascal is a new for me in embedded world, although i'm also fullstack pascal programmer, c++ got very easy setting, easy setting would attract people to learn, i think. Thank you. Can you tell me what fpcupdeluxe outputs as soon as you start it For me it looks like this: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Welcome @ FPCUPdeluxe.FPCUPdeluxe V2.2.0l for x86_64-linux-gtk2Running on Linux MintBuild with: FPC 3.3.1 on Win10 x86_64CPU cores used: 8Available physical memory: 15701 MBAvailable swap: 2047 MB Current install directory: /home/tux/fpcupdeluxe_Embedded Got settings from install directory Found crosscompiler for avr-embedded-avr1Found crosscompiler for avr-embedded-avr2Found crosscompiler for avr-embedded-avr25Found crosscompiler for avr-embedded-avr35Found crosscompiler for avr- embedded-avr4Found crosscompiler for avr-embedded-avr5Found crosscompiler for avr-embedded-avr51Found crosscompiler for avr- embedded-avr6Found crosscompiler for avr-embedded-avrtinyFound crosscompiler for avr-embedded-avrxmega3Found crosscompiler for arm- embedded-armv6mFound crosscompiler for arm-embedded-armv7mFound crosscompiler for x86_64-windowsFound crosscompiler for i386-windowsFound crosscompiler for i386-linuxFound crosscompiler for arm-linuxFound crosscompiler for xtensa-freertos-lx6Found crosscompiler for xtensa-freertos-lx106 ---------------------------------------------------------------------- Mongkey · 2022-09-29 02:30 how do you customize your subarch??  i got this subarchs only ---------------------------------------------------------------------- Mongkey · 2022-09-29 02:43 Done!! all works like a charm, i did not know if got any subarch  setup. thank you!  if got many sample it would be great, i tried extensa on windows before but it failed, i'm trying using linux -> work very well. does this compatible with this sample:?? https://github.com/ccrause/fpc-esp-freertos/tree/master/examples ---------------------------------------------------------------------- ccrause · 2022-09-29 05:57 Quote from: Mongkey on September 29, 2022, 04:43:38 amDone!! all works like a charm, i did not know if got any subarch  setup. thank you!  if got many sample it would be great, i tried extensa on windows before but it failed, i'm trying using linux -> work very well. does this compatible with this sample:?? https://github.com/ccrause/fpc-esp-freertos/tree/master/examples Yes, the examples should work. ---------------------------------------------------------------------- Mongkey · 2022-09-29 09:41 Quote from: ccrause on September 29, 2022, 07:57:55 amQuote from: Mongkey on September 29, 2022, 04:43:38 amDone!! all works like a charm, i did not know if got any subarch  setup. thank you!  if got many sample it would be great, i tried extensa on windows before but it failed, i'm trying using linux -> work very well. does this compatible with this sample:?? https://github.com/ccrause/fpc-esp-freertos/tree/master/examples Yes, the examples should work. Wow, i still amaze with the compilling speed  Thank you bro,