XOD development setup

I was hoping to address the arduino-cli version, but am having issues getting a XOD development environment set up completely. Is there a place that has thorough dev documentation? Covering things like setting up environment variables, 3rd party downloads, logging options, etc?

so far I have figured out:

  • There was a very clear message about adding arduino-cli to the PATH or creating an environment variable for it, so I did that.
  • I see you have nvm specified for v10
  • I’m currently running into errors in my dev Electron app when I try to “Upload to Arduino…”, it says

ERROR undefined does not have a method named “split”

ps: I’m on OSX

1 Like

I’m currently running into errors in my dev Electron app when I try to “Upload to Arduino…”, it says

Do you get this error right on the opening of the Upload to Arduino popup? At first sight, it looks like there is no aruino-cli found or it has another version. We are using an old alpha build version of arduino-cli: http://downloads.arduino.cc/PR/arduino-cli/arduino-cli-25-PR91-osx.zip
We have to update it to the latest version, but so far it has not reached the hands.

Another way to provide arduino-cli to the desktop IDE is to copy the arduino-cli right inside xod-client-electron and rename it to just arduino-cli like on the screenshot:

1 Like

Try to download the one mentioned above and ensure that everything works.

Also, you can run tests for the arduino-cli JS wrapper with the same name. Run tests from the root of the repository: yarn test --scope arduino-cli && yarn test-func --scope arduino-cli. Do not forget to run yarn && yarn build before.

After that, if you want to update arduino-cli to the latest one, try to update it and run tests again. It might fail. Perhaps even with the same error. In this case you have to fix arduino-cli package. Then you can run tests and test uploading, updating indexes and etc manually.

If everything works fine, we’ll be happy if you make a pull request then :slight_smile:

:bulb: That totally makes sense, that’s exactly what unit tests are for!

Is there a debugging/logging framework that you use, or have considered incorporating? Or a IDE you use for debugging/stepping?

such as: