ParallaxWX ESP8266 / RaspberryPi / Debian / Esp-open-sdk / SimpleIDE / Openspin / Proploader / DEVEL
Clock Loop
Posts: 2,069
SO LETS NOT HAVE ANYONE CONFUSED HERE.
USE THIS ENTIRE THREAD AND ALL ITS CONTENTS AT YOUR OWN RISK, IT IS NOT PARALLAX,
I AM NOT ASSOCIATED WITH THEM, EVERYTHING IN THIS THREAD IS OFFICIALLY UNOFFICIAL.
YOU HAVE BEEN WARNED.
UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL.
This thread is to contain the info related to compiling the ParallaxWX(Parallax-ESP) / Proploader / Openspin / QT5 / SimpleIDE code on a RaspberryPi3 / DEBIAN systems.
This whole thread is a WORK IN PROGRESS If you know better ways to do things, or issues to note, etc, please, make a reply.
Some steps need to be adjusted for pi/debian... Adjust the, make OS=linux, CROSS=win32, CROSS=rpi, OS=raspberrypi ... where necessary. Ask if you need help.
The first step is to get a raspberrypi 3 and install raspbian. ---> https://www.raspberrypi.org/documentation/installation/installing-images/README.md
Run all the updates.
OR
Install a debian system, the official release works with this also. You don't need the testing, like I have.
INFO ON INSTALLING DEBIAN!!!!!!!!!!!!
> NEAR END OF THIS THREAD. https://forums.parallax.com/discussion/comment/1455510/#Comment_1455510
I HIGHLY suggest you run all your GITS from the same folder, then the paths in this instruction will work, otherwise you are on your OWN.
Make a folder, and run all GITS in that main folder. Run the compiling of each GIT in this instruction from their respective git folders, that are inside the main folder.
This main folder is where some compiles will dump folders that other compilers will be looking for.
WHEN you run your "makes", try adding a -j3.
On the latest quad core Pi, I will use
CONTENTS of this thread:
Warning: ---> This page.
Pi/Debian-COMPILE of ESP-OPEN-SDK and Parallax-ESP ---> https://forums.parallax.com/discussion/comment/1452980/#Comment_1452980
Pi/Debian-MOD/INFO ABOUT THE Parallax WX ESP8266 WiFi Module and its FIRMWARE ----> https://forums.parallax.com/discussion/comment/1453063/#Comment_1453063
Pi/Debian-HOW TO MOD A NON-PARALLAX ESP TO RUN Parallax-ESP code ---> https://forums.parallax.com/discussion/comment/1453091/#Comment_1453091
Pi/Debian-HOW TO UPLOAD PARALLAX ESP CODE TO AN ESP https://forums.parallax.com/discussion/comment/1453097/#Comment_1453097
Pi/Debian-COMPILE OPENSPIN ---> https://forums.parallax.com/discussion/comment/1453107/#Comment_1453107
Pi/Debian-COMPILE PROPLOADER ---> https://forums.parallax.com/discussion/comment/1453109/#Comment_1453109
Pi/Debian-HOW TO VIEW YOUR PROPELLER DEBUG SERIAL OUTPUT OVER WIFI! ---> https://forums.parallax.com/discussion/comment/1453119/#Comment_1453119
NotPiTested/Debian-COMPILE OF PROPGCCv4 ---> https://forums.parallax.com/discussion/comment/1455136/#Comment_1455136
NotPiTested/Debian-COMPILE OF QT5.11 ---> https://forums.parallax.com/discussion/comment/1455388/#Comment_1455388
NotPiTested/Debian-COMPILE OF SIMPLE-IDE ---> https://forums.parallax.com/discussion/comment/1455458/#Comment_1455458
ABOUT DEBIAN LINUX ---> https://forums.parallax.com/discussion/comment/1455510/#Comment_1455510
PRECOMPILED release folder and .OTA file for updating YOUR esp8266 board with the parallax firmware. --->http://forums.parallax.com/discussion/comment/1505488/#Comment_1505488
On the subject of IOT, and internet connected things.
A NOTE ABOUT INTERNET SECURITY.
ITS NOT. TEACH THIS EVERYWHERE.
USE THIS ENTIRE THREAD AND ALL ITS CONTENTS AT YOUR OWN RISK, IT IS NOT PARALLAX,
I AM NOT ASSOCIATED WITH THEM, EVERYTHING IN THIS THREAD IS OFFICIALLY UNOFFICIAL.
YOU HAVE BEEN WARNED.
UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL. UNOFFICIAL.
This thread is to contain the info related to compiling the ParallaxWX(Parallax-ESP) / Proploader / Openspin / QT5 / SimpleIDE code on a RaspberryPi3 / DEBIAN systems.
This whole thread is a WORK IN PROGRESS If you know better ways to do things, or issues to note, etc, please, make a reply.
Some steps need to be adjusted for pi/debian... Adjust the, make OS=linux, CROSS=win32, CROSS=rpi, OS=raspberrypi ... where necessary. Ask if you need help.
The first step is to get a raspberrypi 3 and install raspbian. ---> https://www.raspberrypi.org/documentation/installation/installing-images/README.md
Run all the updates.
OR
Install a debian system, the official release works with this also. You don't need the testing, like I have.
INFO ON INSTALLING DEBIAN!!!!!!!!!!!!
> NEAR END OF THIS THREAD. https://forums.parallax.com/discussion/comment/1455510/#Comment_1455510
I HIGHLY suggest you run all your GITS from the same folder, then the paths in this instruction will work, otherwise you are on your OWN.
Make a folder, and run all GITS in that main folder. Run the compiling of each GIT in this instruction from their respective git folders, that are inside the main folder.
This main folder is where some compiles will dump folders that other compilers will be looking for.
WHEN you run your "makes", try adding a -j3.
make -j3This tells make to run multiple jobs. Change the number to one less than the number of cores your system has.
On the latest quad core Pi, I will use
make -j3I have not tried multi job in this thread on all makes so be aware it could be problematic.
CONTENTS of this thread:
Warning: ---> This page.
Pi/Debian-COMPILE of ESP-OPEN-SDK and Parallax-ESP ---> https://forums.parallax.com/discussion/comment/1452980/#Comment_1452980
Pi/Debian-MOD/INFO ABOUT THE Parallax WX ESP8266 WiFi Module and its FIRMWARE ----> https://forums.parallax.com/discussion/comment/1453063/#Comment_1453063
Pi/Debian-HOW TO MOD A NON-PARALLAX ESP TO RUN Parallax-ESP code ---> https://forums.parallax.com/discussion/comment/1453091/#Comment_1453091
Pi/Debian-HOW TO UPLOAD PARALLAX ESP CODE TO AN ESP https://forums.parallax.com/discussion/comment/1453097/#Comment_1453097
Pi/Debian-COMPILE OPENSPIN ---> https://forums.parallax.com/discussion/comment/1453107/#Comment_1453107
Pi/Debian-COMPILE PROPLOADER ---> https://forums.parallax.com/discussion/comment/1453109/#Comment_1453109
Pi/Debian-HOW TO VIEW YOUR PROPELLER DEBUG SERIAL OUTPUT OVER WIFI! ---> https://forums.parallax.com/discussion/comment/1453119/#Comment_1453119
NotPiTested/Debian-COMPILE OF PROPGCCv4 ---> https://forums.parallax.com/discussion/comment/1455136/#Comment_1455136
NotPiTested/Debian-COMPILE OF QT5.11 ---> https://forums.parallax.com/discussion/comment/1455388/#Comment_1455388
NotPiTested/Debian-COMPILE OF SIMPLE-IDE ---> https://forums.parallax.com/discussion/comment/1455458/#Comment_1455458
ABOUT DEBIAN LINUX ---> https://forums.parallax.com/discussion/comment/1455510/#Comment_1455510
PRECOMPILED release folder and .OTA file for updating YOUR esp8266 board with the parallax firmware. --->http://forums.parallax.com/discussion/comment/1505488/#Comment_1505488
Warning:
In 2007 a problem in wpa2 was found that makes hacking a wifi device possible if within range of the wifi signal.
Be aware of what you are doing with your esp, and this new vunerability.
The Esp code that parallax uses is from esp_open_sdk, and it gets updates but I do not know how it relates to this problem.
If the esp_open_sdk uses the esspressif version 2.0 then it is vunerable.
The latest available from esspressif is 3.0 but if esp_open_sdk dosen't integrate it, then ParallaxEsp code dosen't.
https://github.com/espressif/ESP8266_NONOS_SDKPLEASE NOTE v2 has known security issues.. https://hackaday.com/2017/10/16/oh-great-wpa2-is-broken/
Files involved in the instructions to follow show up on virus/malware scanners either because;
1. they are.
2. they are files that have methods malware uses to do the deed.
Please review the following possible threats to the data that you will be downloading in this instruction, if you follow all of it.
Know what you are downloading before you do.
However I hope they are false hits because one of them is inside the simpleide package, which came from the compile of it, from remotely downloaded PARALLAX file located here:https://github.com/parallaxinc/propsideworkspace/ Workspace the offending file is a .js file and its location on the git is shown in the image. Its located here: If you click the link github will show you the file in their editor. https://github.com/parallaxinc/Simple-Libraries/blob/master/Learn/Simple%20Libraries/Display/liboledc/html If you find and click on the jquery.js file you can inspect it and read it to see if it contains something. I do not know what is making the file offend a scanner, but I also don't see why the file is needed. Actually all the files triggered by virus scanners are usually not even needed. But some ARE like the mingw and other true compilers. But no one NEEDS jquery.js, its a fancy addon, probably for searching html documentation, and even then no not need, make them use CTRL-F The other files came from similar sources downloaded. I may go thru the build make files to find these sources and point them out here to make verification and integration more trusty.
On the subject of IOT, and internet connected things.
A NOTE ABOUT INTERNET SECURITY.
ITS NOT. TEACH THIS EVERYWHERE.
If you choose to partake in the web of wide, know that it is truly wide, international. To be smart, a smart person has two things that many other people do not. Two wireless routers. One is on the internet and one is not. ALL devices that you own SHOULD be on the one without internet. And anything that stays connected to the internet should be turned off when not in use. If it must be on the internet all the time, then this is why you have two, for those devices. Unless you are a tube junkie, you don't need connection all times, but most do this....... why. Ideally you get devices that can use the no-internet wifi. WE must force this upon makers to make all LOCAL based devices... IOT-local. They don't want that. But it must be so. This means your tv will buffer the data upon request, and then jack out. So make your devices all work on a wifi that has NO INTERNET!!! Its the safest next to a wired lan with no net.
Comments
WHY, you might ask, would anyone want to do this.
Simply, if you want to customize the wx8266 server files that are normally served with the parallax esp code.
Also you get the updated code for the wifi server, instead of the factory code.
To change the looks of your wx8266 webserver and webserver code, you need to be able to re-compile the Parallax-ESP code, from what I understand.
All the commands and steps, plus the terminal outputs/inputs will be documented here to help others accomplish the successful compilation of the Parallax-ESP code located here:
https://github.com/parallaxinc/Parallax-ESP
A vunerability was discovered in 2007 that lets any hacker manipulate wpa2 device if within wifi range of your esp device or any other wpa2 device that dosen't have updated software.
Be aware of what you are doing with your esp, and this new vunerability.
The Esp code that parallax uses is from esp_open_sdk, and it gets updates but I do not know how it relates to this problem.
If the esp_open_sdk uses the esspressif version 2.0 then it is vunerable.
The latest available from esspressif is 3.0 but if esp_open_sdk dosen't integrate it, then ParallaxEsp code dosen't.
https://github.com/espressif/ESP8266_NONOS_SDK
When you go WIFI, make sure you know that you are leaving an electronic way in depending on what you connect to your wifi.
Your system will need internet access to download all the files it needs.
Install the files needed to run esp-open-sdk. Get the esp-open-sdk files. Build the esp-open-sdk. This will take hours to finish.
Got a bash missing error?
You likely have it, you just need to edit a file to fix the script to see BASH v5
/esp-open-sdk/crosstool-NG/configure.ac
Starting on line 193, just add a bar and a 5---> |5
Once thats done you need to register the paths for the esp-open-sdk.
At the end of the build this shows... Next, setup the path to the ESP toolchain: For the default raspbian install with this instruction its: (you could also edit the make file in the parallax-esp folder with the proper paths.., but im not sure if that will work if you don't have it in the environment path also)
SEPT 4th UPDATE, the REPO has been fixed to use ESP8266_NONOS_SDK
************ This process is in the progress of being changed, updating soon!*******************
Clone the Parallax-Esp repo.
Also clone the esptool repo so you can flash the parallax module and ANY OTHER ESP with the PROPTOOL.
Check out the submodules of Parallax-ESP:
Build the firmware (from the Parallax-ESP directory):
Be sure you run this prior to making the Parallax-Esp. If you don't, you will get this error: You will need to run the export command every time you start a new terminal or your pc, before building Parallax-Esp.
Build Parallax-Esp
If everything worked, you will see this:
The HOSTNAME for the Parallax WX ESP8266 WiFi Module ends up as the default name, even if you rename the module in the parallax wifi settings page, the HOSTNAME will not match.
It will have part of the unique mac address.
After updating to the latest firmware, the WX wifi interface will show the hostname you set in the wifi configuration page. This will also show in your router.
Other fixes are also included since 2016 (the last firmware upload to github 2016, parallax 2016, and the factory firmware 2016 are all old)
You can upload this ota file to your parallax WX device using the firmware page.
After reboot rename the wx module and reboot again, then the HOSTNAME will display properly.
You can go to http://yournewname/ if you named your wx device yournewname, the webpage that shows will be the parallax wx configuration pages.
The biggest change you will notice is that your wx wifi module will now respond to its name, and its name will show as its hostname.
After updating you will need to rename the module again, and reboot, then the hostname will take and communicate/register with the dns
Its likely your hostname will NOT work if you are connected to the internet or another network.
In that situation you will need to use the IP address of the Parallax WX esp8266 device.
You compiled the file on the second post if you followed along. Its the OTA file.
You should upload it to your WX device asap.
= result of compile flash files/.OTA update file.
/Parallax-ESP/build/httpd.ota
EXTENDED PARALLAX-ESP INFO!
You can do alot from the various directories.
/home/pi/Parallax-ESP/release folder has many scrips that will help you format your serially wired, ESP (hint hint, non-parallax ones)
They need to be re-written though, I go into that later.
For ease of use, buy a ParallaxEsp and use the web interface to upload your custom OTA code. (plus you're supporting parallax)
YES, you can ask for help on how to do this, in a post.
If you want to customize the DEFAULT programmed html on the ParallaxESP, its all located here:
/home/pi/Parallax-ESP/html
Just make sure you don't kill the upload html page(you can hide it, so its exposed only to you with a special file/path)
..or you will need to learn how to send an "ota" file to your wx using other methods, like serial.
If you don't remove it, it will be at http://yourespname/flash/index.html
Change any of your esp code or html, and then go back to the Parallax-ESP directory and run Then do Now the ota file has your changed html.
Upload it to your esp using the ota page.
http://yourespname/flash/index.html
You can change the NAME of the esp in the code, instead of using the web interface.
IF you edit this file---> /home/pi/Parallax-ESP/esp-link-stuff/config.c
Change:
The // os_strcat(module_name, chipIdStr); serializes your module so it has a unique name based on its mac. Unless you are making a bunch, you don't need this.
Don't remove the terminating zero next line, I think this is needed for proper code enumeration.
Since you changed code, you need to make the ota file again and re-upload it. Then do Now the ota file has your changed html and name.
Upload it to your esp using the ota page.
http://yourespname/flash/index.html
Now you can make products with wifi interfaces that also show up on the users wifi with a recognizable name.
The flash upload page lets you see how you can let your end users upload new "firmware"
Its possible the propeller firmware would still need a batch file or script to use proploader to upload that .binary file.
I do not know how or if it could be done on the wx webpage or using some form of html packaged in with the OTA file.
Mabee? Someone would need to look into that. I think that can be done using the http requester...?>
If you change your program for your esp and it breaks it, you can recover it using the serial interface and a parallax prop plug.
Go to my next post.
Sounds interesting. But would all of this work with a stock ESP8266 widget other than the dandy thing from Parallax? Remember this great idea was spawned by almost all of us discussing that WiFi enabled gadget not all that long ago.
And this message is being brought to you all courtesy the efforts of Lando Calrissian Smuggler and con artist. Also grifter and general purpose gambler.
Also man hours to develop the boot loader code to allow flashing the software over the air.
Mike
(this is what originally got me involved with the parallax-esp firmware, the fact that it WORKED on ANY esp8266 board with a 512K flash (no OTA though)
ANSWER: YES, they went open source with the firmware, THANKS PARALLAX! It ALSO depends on what size memory chip is soldered on with the esp8266.
The parallax esp8266 device comes with 16 Mbits (4MB) of SPI flash. (written in the module guide)
TO FLASH AN ESP TO ParallaxWx, keep reading, or if you have the proper flash size, skip to my next post.
YES, most likely it all works on a stock esp8266 (you will need to connect the esp8266 serially at first to upload the parallax OTA webpage.
(just make sure you backup the original memory contents, or desolder/replace the original)
I have used the parallax esp firmware on a sparkfun esp8266 board which I replaced the stock memory chip with the largest soic memory chip available at the time since the cost was the same as a smaller one.
Replacing a SOIC8 2Mbit flash chip on a sparkfun ESP8266 board, to a SOIC8 128Mbit flash chip
i wanted to do this to my sparkfun pcb, to get my 2mbit higher, so i just used a 128mbit) SOIC8 128Mbit flash chip
https://www.digikey.com/product-detail/en/winbond-electronics/W25Q128JVSIM/W25Q128JVSIM-ND/6819721
YES, I also own a parallax https://www.parallax.com/product/32420s AND a https://www.parallax.com/product/32420d
I have a sparkfun 8266 board, a few other 8266 boards purchased at microcenter...
I replaced the flash on them all, and....
The parallax devices perform better than any other esp8266 device I have purchased thus far.
Probably due to less interference from a metal lid on the parallax board, plus other circuitry, not to mention the onboard antenna.
Even though I can get the cheaper 8266 devices for 8$ each, i can't run them in my greenhouse in the mid winter or the mid summer, the extreme heat and cold cause the wifi to drop constantly.
But the parallax device seems to handle the extreme temp swings better so far.
If you mod/have a big enough flash on a esp8266 device you will need to upload the parallax firmware if you want to use a ESP to program propellers.
Its in the Parallax-ESP/releases folder.
You will need more tools to do that, read my next post.
If you need help doing it ask here.
If you don't have linux or a raspberrypi.
You can find the latest compiled OTA file at the bottom of this thread ,its also listed in the INDEX of this thread, on the VERY FIRST POST up top.
Or better yet just get a pi, they are cheap as dirt, and can connect to your tv with an hdmi cable.
You CAN program your ESP with your usb prop tool dongle.
Go to my next post to do just that.
What a guy... right when ya need him for info, THERE HE IS!
I have bricked a parallax ESP by wiping its flash.
To recover it you need tools.
************ This process is in the progress of being changed, updating soon!*******************
esptool.py is the programmer tool --> https://github.com/espressif/esptool
Copy esptool.py into the release folder.
YOU WILL NEED TO GIVE EXECUTE PERMISSION TO esptool.py
https://github.com/espressif/esptool)
Download esptool.py
I had to copy all the bin file it wants into the release folder also.
You can find them in /Parallax-Esp/build and /Parallax-Esp/esp_iot_sdk_v2.0.0.p1/bin
I am looking into what it takes to get the esp to the updated source and use it,,, Might be hard.
Copy these 4 files to the /Parallax-Esp/release folder.
/Parallax-Esp/esp_iot_sdk_v2.0.0.p1/bin/boot_v1.7.bin
/Parallax-Esp/esp_iot_sdk_v2.0.0.p1/bin/blank.bin
/Parallax-Esp/esp_iot_sdk_v2.0.0.p1/bin/esp_init_data_default_v08.bin
/Parallax-Esp/build/httpd.user1.bin
So, I connected my ESP using a Parallax PropPlug like so.
The PGM (IO0) pin is jumpered to ground. The picture looks like its jumpered to 3.3v, its not.
You can find the size of your flash with..
Ok now that you know your flash size, YOU NEED A NEW flash-all.sh file!
Open /Parallax-ESP/release/flash-all.sh and erase all its contents and paste this in its place:
After you paste it make sure to change the FLASH_SIZE=4MB if your flash is different.
Do not change the baud rate to a faster speed until you have tested your firmware upload and know it works.
Then you know if you have problems its not because of a faster upload speed.
Then run:
Thats it your module now runs the ParallaxWX code! THANKS PARALLAX! (buy their products dude! support them)
Once you have the parallax-esp , esp8266, side of the programming down,
you need to be able to program the propeller chip and see its debug serial output in a terminal window.
So, we need to get proploader.
But to make that we need openspin.
If you have it already, we need to update it to the new version.
If your version is older than 1.00.81 proploader might not compile properly. When we compile it, we can replace the installed copy of openspin, find the installed copy with whereis My system shows two different version located on my system, so I will replace all old ones with my new compiled version once its done.
So get openspin.
Now make it.
Now make it for the rpi, and win32.
If you want to make for windows you need this package.
sudo apt install g++-mingw-w64
If you want to make for raspberrypi you need this package.
sudo apt install g++-arm-linux-gnueabihf
Then for rpi you must run the same package again, I did. And it finds more to install.
sudo apt install g++-arm-linux-gnueabihf
Rpi/win32 complie should work in linux now.
make CROSS=rpi
make CROSS=win32
Now lets open the build folder and test the openspin command. Great it works.
Now I need to copy my build of openspin to replace the already installed versions i found earlier with whereis.
You should also copy it to all locations that openspin might be, like other programs that use it!
Make the proploader program. You need to specify the OS.
Here I run the raspberrypi one, but later i switch to a linux system, and will need the linux version, so I will just compile all 3 versions.
The latest version of proploader properly interprets the RCFAST switch, and so SIMPLEIDE needs its RCFAST.CFG file changed if you are using the SPIN COMPILER. MAKE SURE YOU RUN ALL 3! if you want to compile SimpleIDE for any of these platforms later.
Do these two now also. Test the proploader that you just compiled. (my system is a raspberrypi, so its in the raspberrypi folder) Excellent it works, copy it to a location that lets you use it from anywhere.
You should also copy it to all locations that proploader might be, like other programs that use it! Now you use openspin to make the binary that proploader needs. Then we can upload the binary file that openspin compiled to our propeller chip connected to the wx8266 board.
You can also rename your esp using proploader.
Don't mix up -n and -i They are also.. CASE SENSITIVE!
The attached ZIP file includes the .SPIN file and the .SIDE file (for use with SimpleIDE)
I had to switch to the CTS pin and connect my props reset line to it for proploader to be able to reset and program.
I am not sure if I fried the reset GPIO12 pin or my code is doing something. I have another parallax wx esp8266 module that I will do some bench testing with later.
I also had to change the default reset pin to cts in the parallax wx configure webpage.
So if you have issues with getting your proploader to reset or download to your prop, try using the CTS GPIO13 as your props reset pin instead.
Understandable, but some may find this happen if they forget to close the putty telnet connection to their wx wifi before trying to program the prop connected to it.
If you run telnet and try to program it does this.
Stop the telnet activity by closing putty first, and then download works fine.
I actually do not know. Its probably fine the way it is.
The user should stop the other data streams before uploading a program to the connected prop.
I was just stating it, so others would know that if they tried to use putty to view their debug data from the propeller and then simultaneously upload a program to that prop, it will likely error.
Multiple tries will probably result in a successful download, I was able to get one to go.
I don't mind that I must stop the putty stream, or accept that it drops..
I think in all cases priority should be to proploader and it duties when it comes to the code on the ESP.
Is it possible to sever all in-progress connections, when the esp knows it needs to upload a new program to the propeller??
Im working on the raspberrypi version.
I was going to include a how to on compling simple ide so a spin editor was available, in this thread too...
BUT, the process on the raspberrypi took too long, and so I ran it on a 4ghz pc and all the work required to get the compile to work was nuts.
However DavidZemon fixed it, and made a docker for the propgcc part.
The following procedure was done on a PC debian buster 4.18.0-2-amd64.
First get propgcc...And since this is NOT on the PI, it will require a different way to build propgcc.
(the pi has a gcc version that works with the current source, shown in a post above, but on a new linux pc build, the gcc is 7 or 8, and the gcc code errors with it.
So the propgcc needs to be built with docker.
And for simpleide you need GCC v4!!!!!!!!!
DO NOT CHOOSE 6.
PLEASE NOTE, QT5.11 will probably BREAK parts of SimpleIDE. IF you want it to work how it was released, you need Qt5.4.
I did not try 5.4, I just use SimpleIDE with its "issues" and hope i can or someone can fix the problems.
One problem identified so far is the input box for spin compiler options dosen't work.
You can try the SimpleIDE end result by downloading the linux installer.
https://forums.parallax.com/discussion/comment/1456431/#Comment_1456431
Onward? HO!
If you want to skip the docker, @DavidZemon made a CI server with the needed files.
Make a folder named propgcc-parent inside the directory you are making your gits.
http://david.zemon.name:8111/project.html?projectId=PropGCC&tab=projectOverview
Download the 3 versions of GCCv4 for the 3 platforms into the propgcc-parent folder.
Extract each into these names folders.
propgcc-parent/propgcc-linux-bin
propgcc-parent/propgcc-win32-bin
propgcc-parent/propgcc-rpi-bin
Simply extract each package, one at a time, into propgcc-parent, and then rename each parallax folder to match as I show above.
...
IF you extract all packages first, and then rename, you will have problems, you need to rename the parallax folder immediately after each extract.
IF you did the above proper then you do not need to do anything in the quotes. All QT and SimpleIDE on next post...
PLEASE NOTE, QT5.11 will probably BREAK parts of SimpleIDE. IF you want it to work how it was released, you need Qt5.4.
I did not try 5.4, I just use SimpleIDE with its "issues" and hope i can or someone can fix the problems.
One problem identified so far is the input box for spin compiler options dosen't work.
You can try the SimpleIDE v1.1.2 compile end result of this thread, by downloading the linux installer.
https://forums.parallax.com/discussion/comment/1456431/#Comment_1456431
QT5 wants openGL so here I talk about nvidia drivers and cuda, if you have a different brand, you can ask for help in a post.
Go here to see how to install or reinstall video card drivers --> https://forums.parallax.com/discussion/comment/1455510/#Comment_1455510
TAKE NOTE, EVEN THE QT5 SOURCE SAYS: DELETE THE SOURCE FILES IF YOU MESS UP THE BUILD,
RE-EXTRACT IT ALL, and run it from the beginning AGAIN!.
I did this myself, and mucked with it for longer than I needed, because I just didn't delete the whole source, and re-extract it from NEW.
And what do you know, it finished the ./configure preoperly.
So if you fail either the configure, or the make, just delete the whole source, and start over, its not worth trying to "clean" it...
Unless you really know what you're are doing, just do that.
HECK try that with ANY source that fails.... ALWAYS...
ON TO QT5!
>https://prognotes.net/2016/11/install-qt-5-development-tools-linux/
ONCE YOU GET THIS FAR, ITS POSSIBLE THE INSTALLS you have done so far will cause opengl desktop to break for qt5.
For most this is caused by a broken simlink or path that was installed with your video card drivers when you first installed them.
I highly suggest you reinstall your video card drivers again, RIGHT NOW.
If you run into errors because it says you must remove another package or install with that method... read the quote area below.
Now Get QT5 SOURCE!!! (cause the qt creator sets your tools up, but the source will give you DOG powers.
---->https://download.qt.io/archive/qt/5.11/5.11.2/single/qt-everywhere-src-5.11.2.tar.xz.mirrorlist
Download it and extract it to any folder you want.
Open that folder and do this:
If you run just ./configure, it will configure the qt so it installs everything, which takes hours or more, when you run make.
Want the slimmed down version?
If either worked, you should have this when its configure is done:
https://forums.parallax.com/discussion/download/124442/qt5.11Good.txt
If that finished....
Lets actually make it. Now do this before you go to bed, because it might just be going all night long.
I have 6 cores, so I will let 5 do the work, if I use the 6th my desktop will freeze for a few hours. choose a number that is at least 1 less than the number of REAL cores you have(no hyperthread cores dont count) change "-j 5" to your cores minus 1.
The ending lines for the make, dont say anything usefull to indicate the build finished.
So...If the make looks like it finished good... no messages at the end about failure.
INSTALL IT!!!
The install copies tons of files...
Ends fairly simple...
The ending looks like this:
Replace Default Qt version paths in:
/usr/lib/x86_64-linux-gnu/qtchooser/default.conf
or in newer releases
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf:
Inside default.conf
OH AND COPY THE NEW QMAKE!!! OVER THE OLD ONE!!!!
If you do not copy the new qmake over then you will see this.
Test your build of QT ----> Step 6. Install and test the new version
https://www.ics.com/blog/how-compile-qt-source-code-linux#
The paths shown in this link above are for an older version of QT, so adjust the path when you do your testing if you are reading that link.
I adjusted the notes here to be correct for us.
-->(/usr/local/Qt-5.11.2) Thats where mine is! (NOTE THIS) (heh, thus the point of these forum posts, YOUR NOTES, print it! HUZAAAAAAH!!!!
(wipes forehead.....)
So now go to the next post for the simpleIDE install and linking of all the tools to compile
SIMPLE-IDE!!! finally..
.........................................................................................................
MORE INFO ABOUT QT5 ENVIRONMENT.
Skip the rest of this post until you reach "Then get SimpleIDE" in the next post.
ONLY continue this stuff if you can't get QT5 to run.
The rest of this post is to help you get more packages....if you need them...
BUT.......If you still cannot run configure...
Or if the make fails...
Here is a complete list of packages I installed.
https://forums.parallax.com/discussion/download/124638/Package List.txt
Thats the best I can do until I redo the build from scratch and verify points.
I will continue to refine and verify the process to this point once I feel like formatting yet-again.
If either configure above fails, try the package madness below....
I now have no way to verify the proper steps to get me to where i am now.
Other than formatting again and starting the process over again to find if the above is only needed or below also.
IF YOUR BUILD OF QT5 SUCCEEDED DO NOT DO THE ITEMS INSIDE THE WORK ZONE QUOTES!!!!!!!!!!
YOU HAVE BEEN WARNED!!!!!!
Continue onto simple ide.
HERE ARE THE FOLDERS YOU HAVE SO FAR!!!!!
Now if you open the SimpleIDE folder
Edit the plinrelease.sh file.
Change the following to match below.
YOU ALSO NEED TO FIND THIS AND CHANGE IT.
You need to add a * after {PROPGCC}
And you also need to add a /parallax after {VERSION}
Like so:
Heres the original from the the plinrelease.sh file which messes everything up.
You must have internet for this to work.
Onto simple ide!
= result of SUDO ./plinrelease.sh IS?????????????????????
SIMPLEIDE compiled.
Output:
You must run this as root.
The tarball is located here:
/SimpleIDE/SimpleIDE-1-1-2.x86_64.yourpcname-linux.tar.bz2
The program install is located here:
/SimpleIDE/SimpleIDE-1-1-2
setup.sh
install.txt
I will now install it for myself! Good luck!
If you do all that, the Parallax WX ESP8266 WiFi Module will show up in simple ide as the programmer port, SWEET. (if its connected to your wifi)
It works for me, my Parallax WX wireless device shows in the port that you choose for programming in SimpleIDE.
The proploader program tries to talk to the parallax WX, so add the program proploader which uses port 32420, to your firewall.
(i did need to reset my firewall, because I messed with it once, and it started to block the port that simpleide, proploader, and the parallaxWX devices use to communicate.)
https://forums.parallax.com/discussion/download/124435/4GHZ-DEV.png
YOU DO NOT NEED A SUPER PC, it just makes things MUCH faster.
DEBIAN RELEASE(as of the date of this post)....
Google this info--->if you can't get the dvd install to boot (you must turn off over 4gig on 64-bit enable/disable in bios)
Buy an external solid state drive, and unplug your working windows/whatever system hard drive, if you want to try debian.
Don't wreck your old OS, you may need it to get more info about the debian install.
At dvd install I had to edit the graphical install menu option by pressing E.
Your modern video card may work without doing any menu editing. Try without at first.
If your system hangs at boot after install or stops during the regular booting process.
If it never makes it to lightdm, or the login graphical menu, try typing ALL of the following.
I added this line because i have nvidia 1080's.
Change the line that starts with Make it look like this: And the menu says press F10 to run the edited menu. This is not persistent. If you mess up the install you will need to do this again.
Then I installed cinnamon.
VIDEO driver install after dvd install must be launched by going to init3, (command line system access).
Do this by pressing E when the debian boot menu shows (do this the first time the boot menu shows after ejecting the install dvd)
Then you need to find the linux line again and find the RO in that line... put a 3 after the ro. so it looks like ro 3
And the menu says press F10 to run the edited menu. Your system should boot to the command line now.
You might want to login as root for the video driver install.
Here you need to install your video card drivers, you will need to get them from your card maker and follow their linux install instructions.
NVIDIA and others... video card drivers...
>You might need to install additional files, i did for the nvidia driver install. I needed headers. Try to find something that lets you install the header that matches your kernel, its ok to install many.
Then I am able to install my nvidia drivers.
I put my drivers on a usb flash storage.
Command line access to usb is not automagic.
To get access to my usb device i must make a folder and mount it there. I do---VIDEODRIVERS= ./NVIDIA-Linux-x86_64-415.18.run
*********NOTE I installed https://developer.nvidia.com/cuda-toolkit To make sure my OpenGL/CUDA works....
If you have nvidia, do that! Or see if your card maker has OPENGL/CUDA developer toolkits!
You can google search for both these run files and you will find them.
Then I do---CUDA= ./cuda_10.0.130_410.48_linux.run (DO NOT INSTALL THE VIDEO DRIVERS FROM THIS, but do everything else, YES, even if it says that its unsupported)
They work together!
Both screens work in mosaic mode, with sli on. Do not turn on multi-gpu or xinerama...
Here is my xorg.conf it allows dual monitor with sli. the key is turn off xinerama in the xorg and turn on BaseMosaic in the xorg, then turn mosaic mode on in the nvidia driver settings.
If you have Option "Coolbits" "28" like i also have, then you can set the overclock and fan speed of the gpus.
I call this system:THE CARBON TA-XOR
RAW HARDWARE!!!! --->its a STEAM ENGINE FO SHO! C?
This railroad render/game was run on this system also. (7 steam engines? i can't remember how many are in the video.)
But how does that help someone who's not running a Debian based distribution? (Well normally this guy runs Windows.)
I remember I believe I was running Slackware64 14.1 (or 14.0) and I tracked down most or even all of the sources for first trying to build PropGCC and seeing it do an epic fall over. Oh and also the same was for Simple IDE and at that point, I put the matter to rest.
----
And this message is sponsored by the Tatooine Jawa Union. We collect your junk no questions asked.
I WILL TRY TO MOVE EACH PROGRAM TO ITS OWN INDIVIDUAL POST AND REFINE THE INFORMATION.
IF YOU ARE A USER WHO CAN HELP ADD OR CORRECT OR MAKE INFO BETTER, please pm me or make a reply here.
You might need curl so go get it.
And git-lfs
Since you are gitttting so much.
Automate gits of large user collections.
Yea, tools need tools need tools neeed tools need the first tool. oh no. A tool loop. Is that just a tool belt?
PIP via PyPI
Using desktop icons to reset/connect to the prop using proploader and also have putty connect by icon...
Paste this into an empty file on the desktop.
Name it putyourwxnamehere.desktop and make it executable and readable.
Name it resetprop.desktop and make it executable and readable.
You can reset or even program your prop by double clicking a desktop icon.
If you really wanna be the top linux guru, WHILE making your isp mad, mirror the entire debain repo.
But only do this if you want a local copy of a repo, and you know why you are doing this, this will take hundreds of gigabytes on your hard drive.
get aptly
Set up the distribution and if you want the debs and sources.
Change amd64 if you have 32bit, and change "sid" to the release you want. And rename the mirror from "sid-debian-main" to what you want.
Remove -with-sources -with-udebs if you want just the regular repo.
If you want to verify signatures you need to look for the aptly help and follow that, and remove -ignore-signatures
Now gather the files, my mirror with my settings is 170gig.
Again, change the ignoresignatures if you want, and the name needs to match the name you chose above.
The indexing deamon in linux takes a whole cpu for hours if you have lots of files like the aptly program makes.
SO, if you want to stop the indexer until reboot or until you start it again.
the indexer shows in your cpu list as "tracker-store" This will tell your file indexers to stop safely.
You can start them back up also.
I benchmark and game on this system, so I also set my GOVERNOR to performance. check your current slow clocks... Lets make them run at max speed 24/7. BURN THE CARBON!
Then make a file here if it dosen't already exist. And then put this into it. save the file and reboot.
You can check the freqency rates of your cores here: My frame rates and benchmark scores are all higher by a noticeable amount, the governor just dosen't do well if you are wanting performance.
You can view your system settings and performance on your desktop with Conky.
You will want to manage conky with a manager, text entry is hard if you don't know this program.
You need to compile it.
Git conky manager 2
Install conky2 build dependencies Conky manager is under accessories.
Try the different configs out, you will need to tweak them and search the net for examples on cool looking setups.
A second monitor is nice here, put all the info on the second monitor like so:
This laptop does run Linux sometimes. It runs Slackware64-14.2 Linux and I'm in the middle of setting things up for a refresh for that installation.
Besides did anyone else reading this thread try out the instructions on a different workspace and distribution either then a Debian based one?
--
And this message is being sponsored by the big cat union which is running all of Africa.
Get vmware and make a virtual linux box inside your linux box. Or better yet someone (I? can make a docker for it all?
There just isn't enough support to make it easy.
Oh. I can't help you there. If the docker method is of help I might look into that, after I am done here..
So I inspected the OLD SimpleIDE package with GDebi Package Installer
And I came up with this...
PROPGCC=../propgcc-parent/propgcc-linux-bin
WXLOADER=../proploader-linux-build/bin/proploader
About the default simple ide install.
The simple ide binary is
/opt/simpleide/bin
The simpleidev112 installer creates simpleide with its config pointed to these paths.
sudo ./plinrelease.sh
So far my problem is the ctags file gets made INTO a parallax/bin FILE instead of copied into the parallax/bin folder.
/SimpleIDE-1-1-2/parallax/bin =1.3megabyte file WRONG~!!!! should be a folder?
I edited the plinrelease.sh file and forced it to make the bin folder before doing any copies.
So now the /SimpleIDE/SimpleIDE-1-1-2/parallax/bin
Is an actual FOLDER showing two files inside it.
SimpleIDE-User-Guide.pdf
ctags
There is something else wrong here.
I am seeing that all through out this plinrelease.sh file. lol.
Like here, it copies the progcc folder not the contents of the folder and it wants it in the subfolder parallax, so i had to add
{PROPGCC}/* it was {PROPGCC}/parallax
When I looked at the simpleIDE installer for an older version, it indeed wants the CONTENTS of the folder copied into the SimpleIDE-1-1-2/parallax folder, not the folder too.
The readme is absent on linux building. It has a section, but its empty.
ONWARD, FIX IT, i say to myself.. well here goes nuthin.
Turns out the copy of files was not including the parallax folder due to being compiled from the docker but not copied into a folder "parallax".
Thats IT. Now it works.
Time to go back and edit EVERYTHING.. lol (at least from simple ide and on.)
The install worked flawlessly. IT DIDNT EVEN ASK FOR FILE LOCATIONS!!!!! (yes i deleted my old install first)
The problem was this. Inside the plinrelease.sh file.
Heres the original from the the plinrelease.sh file.
Heres an attached plinrelease.sh file that will work with the instruction above.
I have edited the entire instruction to include this information.
INSTALL VERIFIED.
COMPLETE.
A slice of buggz? It has em, because qt5.11 dosen't like qt5.4 code.
One bug so far is the spin compiler won't accept any switches that are put in the box.
When I open the code in qt, it shows the various warnings I saw during the simpleide compile.
These are not warnings, they are errors.
So they basically need to be fixed one by one.
I think I saw like 10 or 15.
I uploaded it to WeTransfer anyway because it lets you upload spin programs to the propellerWX wifi device on linux.
Its automagically deleted in 7 days, GET IT WHILE ITS HOT.
https://we.tl/t-PP7ibg27Qi
Give it a run!
Perhaps someone brave can verify that it installs SimpleIDE properly on their linux system?
And let me know here if it works?
It works for me, my Parallax WX wireless device shows in the port you choose for your programming.
The proploader program tries to talk to it, so add the program proploader which uses port 32420, to your firewall.
(i did need to reset my firewall, because I messed with it once, and it started to block the port that simpleide, proploader, and the parallaxWX devices use to communicate.)
I am not sure if GCCv4 WAS really required, but I chose it because of an error I saw in a test.
Should I recompile with GCCv6? Or does it really need v4?
I can't get simpleIDE to take my option of -h does it only accept certain things?
it accepts NOTHING for SPIN.
I CAN get the c compilers to take it, when I type "hello" in one of the c compiler options box, it shows in the output with error.
But not for the spin compiler.
I can write a novel in the options box and it will ignore it, and not show it.
If that can be made to work(is this a problem with simpleIDEv1-1-2?, or did my compile fail?....)
Then the -2 "option" for Prop2 switch will work if you replace openspin with--> (fastspin renamed to openspin)
But...
Take a look at this.. is why the spin compiler doesn't do anything with switches.
Anyone agree? And how to fix it?
More guessing on my part...
Unused parameter "option" is not "unused" on the buildc.cpp file.
(and the c compiler does take the compiler options in the program and work..)
lets see.. compre the buildc.cpp file and the buildspin.cpp file... hmm..
Not sure what's up with that, as I've been able to use fastspin and at least it's trying to compile my .spin project to P2 (it fails on waitpeq & waitpne, which I expected!). I've inserted '-2' into the Spin Compiler Options field, as you can see in this image.
Notice that I point the Spin Compiler field in the Properties to a copy of fastspin (I keep all my propeller tools in the /opt/parallax/bin/ directory for ease of updating them, quickly, in one place). No need to rename openspin to fastspin. That way it's easy to switch between them!
dgately