-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Use without Arduino IDE / arduino-builder problem? #958
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
Comments
@pgollor was able to make use of arduino-builder, perhaps you can take a look at his scripts? |
Thanks, I'll take a look at it. But from version 1.5.0 arduino has its own official CLI, which makes things even simpler: By the way Arduino just released IDE 1.6.6 which notably brings library to library dependency (no need to import every library used by dependencies in the .ino file). Just wanted to ping you ;) |
Arduino CLI is what we are using for Travis CI builds, you may check the Regarding 1.6.6, yeah, it actually breaks a few things here. On Tue, Nov 3, 2015, 19:46 Marvin Roger [email protected] wrote:
|
I have used Platformio to program my Arduino in Atom, in conjunction with Platomformio and It works very well. I haven't tried to use platformio to program the ESP, but supposedly it works. |
I heard about it, but there is only support for ESP-01 (for now) and I am
|
it seems 1.6.6 uses arduino-builder to do the compilation so is totally broken for esp8266, it seems to be due to the naming scheme for platform/package (they shouldn't both be "esp8266"). i don't think arduino cli exists anymore |
Arduino CLI still exists. (see https://github.com/arduino/Arduino/blob/099260600718a9c664df6050e7bd934b87f661a4/build/shared/revisions.txt#L11). |
I am also seeing the error message: fork/exec {runtime.tools.ctags.path}/ctags: no such file or directory. Did you resolve this? How? |
@steve-superiontech i believe the issue is with 1.6.5 upgrades - nuke your arduino install (including ~/.arduino15) and install 1.6.6 from scratch, works for me using my Makefile. i just installed regular 1.6.6 from arduino.cc and installed the esp8266 core in my hardware directory from git, instead of using boards mangler: ARDUINO_PATH = $(HOME)/arduino-1.6.6
SKETCHBOOK = $(HOME)/sketchbook
ESPTOOL = $(SKETCHBOOK)/hardware/esp8266com/esp8266/tools/esptool/esptool
SKETCH = $(notdir $(CURDIR)).ino
TARGET_DIR = $(CURDIR)/build-esp8266
MONITOR_PORT = /dev/ttyUSB0
all:
@ mkdir -p $(TARGET_DIR)
$(ARDUINO_PATH)/arduino-builder -compile -logger=machine \
-hardware "$(ARDUINO_PATH)/hardware" \
-hardware "$(SKETCHBOOK)/hardware" \
-tools "$(ARDUINO_PATH)/tools-builder" \
-tools "$(ARDUINO_PATH)/hardware/tools/avr" \
-built-in-libraries "$(ARDUINO_PATH)/libraries" \
-libraries "$(SKETCHBOOK)/libraries" \
-fqbn=esp8266com:esp8266:generic:UploadTool=esptool,CpuFrequency=80,FlashFreq=40,FlashMode=dio,UploadSpeed=115200,FlashSize=512K64 \
-ide-version=10606 \
-build-path "$(TARGET_DIR)" \
-warnings=none \
-prefs=build.warn_data_percentage=75 \
-verbose "$(SKETCH)"
flash:
$(ESPTOOL) -v -cd ck -cb 115200 -cp $(MONITOR_PORT) -ca 0x00000 -cf $(TARGET_DIR)/$(SKETCH).bin
upload: all flash
clean:
rm -rf $(TARGET_DIR)
monitor:
screen $(MONITOR_PORT) 9600 |
I've seen this Makefile somewhere... Do you have the link of the original post? I can't find it anymore. |
its my Makefile you won't have seen it anywhere, most of the "all" recipe is just the output from the ide that i've parameterized |
Thanks for that. I’ve tried using this as a template, though I’m not doing esp8266. I now get a different error: ===Running: {0} ||| [PrintUsedAndNotUsedLibraries] Where tmp_build_dir is my TARGET_DIR. My build script is: $ cat foo From: Simon John @steve-superiontechhttps://github.com/steve-superiontech i believe the issue is with 1.6.5 upgrades - nuke your arduino install (including ~/.arduino15) and install 1.6.6 from scratch, works for me using my Makefile: ARDUINO_PATH = $(HOME)/arduino-1.6.6 all:
flash: upload: all flash clean: monitor: — |
It appears to work if I use the full path to the build directory instead of a relative path from where the program is executed. In other words, I replaced this line in the build script: -build-path=./tmp_build_dir \ With the following: -build-path= Weird. From: Steve Phillips Thanks for that. I’ve tried using this as a template, though I’m not doing esp8266. I now get a different error: ===Running: {0} ||| [PrintUsedAndNotUsedLibraries] Where tmp_build_dir is my TARGET_DIR. My build script is: $ cat foo From: Simon John @steve-superiontechhttps://github.com/steve-superiontech i believe the issue is with 1.6.5 upgrades - nuke your arduino install (including ~/.arduino15) and install 1.6.6 from scratch, works for me using my Makefile: ARDUINO_PATH = $(HOME)/arduino-1.6.6 all:
flash: upload: all flash clean: monitor: — |
@sej7278 no offense! :) Actually I did see it somewhere: on your blog! |
@marvinroger - lol i forgot i put it on there too! so people do read my blog, i was starting to think it was becoming my personal wiki 😄 @steve-superiontech - yes i found that relative paths seem to break arduino-builder, it was reported here but that's only for libraries, i found it broke pretty much everything, which is why i made the Makefile really, got fed up of typing huge paths all the time. if you're not using esp8266 you might consider looking at arduino-mk |
I would like to code on Atom and get rid of the Arduino IDE, kind of limited.
Is there a way to build without using it?
I tried arduino-builder with
/opt/arduino-builder/arduino-builder -compile -hardware /opt/arduino-builder/hardware/ -hardware ~/.arduino15/packages/esp8266/hardware/ -tools ~/.arduino15/packages/esp8266/tools/ -libraries ~/Arduino/libraries -fqbn esp8266:1.6.5-1160-gef26c5f:nodemcuv2 ~/Arduino/Sketch/Sketch.ino
, butARDUINO_ARCH_ESP8266
doesn't get defined so libraries like OneWire fail. When changing fromARDUINO_ARCH_ESP8266
toESP8266
it passes, but I getfork/exec {runtime.tools.ctags.path}/ctags: no such file or directory
.So something is not right, seems like it doesn't parse parameters correctly. I saw in this issue tracker that you would maybe use
arduino-builder
to do CI, so I guess it should be compatible. Maybe I am doing it wrong? Or there is a problem in arduino-builder?The text was updated successfully, but these errors were encountered: