Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HOWTO: build and develop under Gitpod.io yoradio #141

Open
trex2000 opened this issue Jan 31, 2025 · 4 comments
Open

HOWTO: build and develop under Gitpod.io yoradio #141

trex2000 opened this issue Jan 31, 2025 · 4 comments

Comments

@trex2000
Copy link

Hello guys,
I have just put together a build environment under Gitpod.io to build yoradio using cloud based services Gitpod Flex.
Gitpod flex offers free (50hr/ month) tier to be used to develop project int he cloud.
You can simply create a virtual machine and I have created 2 scripts, one for environment setup and installing the necessary libraries and one to be run once (setup.sh) and one script to actually build the whole project.

Everything runs in the cloud and visual studio code inside a browser.

So steps to do it:

  1. Go to https://gitpod.io/new/ and sign in with your github account, for example
    When asked, chose gitpod flex, not classic. Authorize if needed the login with the github account and fill the necessary info (when asked what is the purpose, do not select production, just for personal use, might help in the future, who knows)

  2. Select from the list your git repo, or add the yoradio repo, if you do not fork it
    Image

  3. Once the preparing is done, the virtual environment is started:
    For now, you will need to add 2 files, setup.sh and build.sh next to the rest of the files:

Image

Note: If somebody decides to add it to yoradio repo, then this will be not necessary in the future.

To do this, depending on your browser, press the 3 horizontal lines menu on the top left corner to open the file menu, and either select upload, or select a new file and copy paste to it the content of the 2 files I have attached below.
In the end, you should have the 2 files as in the screenshot.

  1. To setup the environment, first selec the terminal tab, and in the console type ./setup.sh and answer to the questions. The tool will install all the necessary libraries that are needed for you. This is a once time operation only for your environment, there is no need to do it more than once.

Image

  1. Once setup is done, open myoptions.h or create a new one as in step 3, and add the necessary defines for your needs
  2. After creating myoptions.h start the build process with the ./build.sh command in the terminal:

Image

  1. Congrats. Now you have a virtual envrionment that can be accessed from anywhere anytime and you can build your yoradio from any machine using cloud resources.

I hope you find this useful.

@trex2000
Copy link
Author

build.sh.txt

setup.sh.txt

@trex2000
Copy link
Author

Note: please rename the 2 files and remove the .txt ending. I had to add them as github does not allow uploading files with .sh extension.

@trex2000
Copy link
Author

trex2000 commented Feb 20, 2025

I have tried to configure ESP-IDF WEB based addon for Vscode, but it failed to launch the config box. Probabily it can be done as well by manually setting env variables, but for me it was easier to just use an onlyn flasher utility for the ESP32:
https://espressif.github.io/esptool-js/
Just hit connect, select the com port (Use Chrome or Edge, Firefox won't work) and then you are ready to flash the yoradio.ino.merged.bin (or whatever the name of your fork might be). Use address 0x00 in the online flasher tool, otherwise it won't boot.
To download it, look inside the build folder and right click on the file and select "download".

@trex2000
Copy link
Author

Also, the same web flasher page has a web based console, where you can see the debug output of the ESP, just like the serial console from Arduino IDE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant