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

Igniter installer #32

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Igniter installer #32

wants to merge 1 commit into from

Conversation

petermm
Copy link
Contributor

@petermm petermm commented Nov 13, 2024

Igniter is gaining traction due to the DX, and maintainability benefits..

(install igniter: mix archive.install hex igniter_new)

you can try
mix igniter.new my_project --install exatomvm@github:petermm/exatomvm && cd my_project
exatomvm_igniter

when exatomvm is released to hex it will be mix igniter.new my_project --install exatomvm && cd my_project

adds dependency and atomvm project config and the start function.

early days in igniter world, but should be good to go.

So future DX is:

  1. install esptool.
  2. Install/Flash AtomVM to esp32 in chrome (eg https://petermm.github.io/atomvm-web-tools/)
  3. mix igniter.new my_project --install exatomvm && cd my_project
  4. mix atomvm.esp32.flash

no command line flashing of images, or figuring out what usb ports are called on what side of your computer, adding boilerplate etc.

@petermm petermm force-pushed the igniter branch 3 times, most recently from e7ce6e4 to 76dce71 Compare November 20, 2024 19:59
@petermm petermm force-pushed the igniter branch 2 times, most recently from d62fa80 to 8968945 Compare December 29, 2024 17:31
(install igniter: mix archive.install hex igniter_new)

you can try
mix igniter.new my_project --install exatomvm@github:petermm/exatomvm && cd my_project

adds dependency and atomvm project config and the start function.

early days in igniter world, but should be good to go.

Signed-off-by: Peter M <petermm@gmail.com>
@UncleGrumpy
Copy link
Contributor

I gave this a test for stm32, and it is a bit confusing because when I selected stm32 I was asked about the port… which is currently not used by the stm32 flash task. At the moment we only support using one stlink device at a time.

@petermm
Copy link
Contributor Author

petermm commented Jan 16, 2025

I gave this a test for stm32, and it is a bit confusing because when I selected stm32 I was asked about the port… which is currently not used by the stm32 flash task. At the moment we only support using one stlink device at a time.

absolutely, that one is a compromise, it does say it's configuring project for all/any devices - imho the port should default "auto" for esp32, and that is the underlying issue..

but hope it worked nicely otherwise!

@UncleGrumpy
Copy link
Contributor

UncleGrumpy commented Jan 17, 2025

It is interesting for sure, and I could see this being a big improvement for complex applications. For a lot of situations it seems a bit heavy, and I would rather have a simple template project with a default configuration... like what we get with the atomvm_rebar3_plugin atomvm_app template. There are a lot of dependencies to get and compile, and then configure to get to blinky. That might be something we could do separately, I just don't understand the inner workings of mix well enough yet to figure out how to add a template project.

I think this is absolutely worth supporting, even though it's early days for igniter it already seems to be getting quite popular.

It might be less confusing to leave out the device menu, since in the end it does the configuration for all, even if you choose a specific one.

@petermm petermm marked this pull request as draft February 6, 2025 18:09
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

Successfully merging this pull request may close these issues.

2 participants