Pass additional parameters to platformio ci

I’d like to pass thing like flash size, and CPU speed is this possible?

I recommend using platformio run command and define custom options in platformio.ini.

In any case, you can pass custom platformio.ini to platformio ci command. See Redirecting...

Thank… made some progress… but can’t seem to change SPIFFS size…

this is my conf file

[env:nodemcu]
platform = espressif
framework = arduino
board = esp12e
board_f_cpu = 160000000L
build_flags = -Wl,-Tesp8266.flash.4m.ld

board_f_cpu works.

the flash is passed in, this is from the log of travis

[Sun Jun 12 19:25:46 2016] Processing nodemcu (platform: espressif, build_flags: -Wl,-Tesp8266.flash.4m.ld, board: esp12e, framework: arduino, board_f_cpu: 160000000L)

but then in the final linking, it is still the old flash

xtensa-lx106-elf-g++ -o .pioenvs/nodemcu/firmware.elf -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy -Wl,-T"esp8266.flash.4m1m.ld" .pioenvs/nodemcu/src/tmp_ino_to.o -L/home/travis/.platformio/packages/framework-arduinoespressif/tools/sdk/lib -L/home/travis/.platformio/packages/ldscripts -L.pioenvs/nodemcu -Wl,--start-group .pioenvs/nodemcu/libFrameworkArduinoVariant.a .pioenvs/nodemcu/libFrameworkArduino.a -lmesh -lwpa2 -lsmartconfig -lpp -lmain -lwpa -llwip -lnet80211 -lwps -lcrypto -lphy -lhal -laxtls -lgcc -lm .pioenvs/nodemcu/libESP8266WiFi.a .pioenvs/nodemcu/libESP8266HTTPClient.a .pioenvs/nodemcu/libESP8266httpUpdate.a .pioenvs/nodemcu/libESPAsyncTCP.a .pioenvs/nodemcu/libESPAsyncWebServer.a .pioenvs/nodemcu/libJson_ID64.a .pioenvs/nodemcu/libArduinoOTA.a .pioenvs/nodemcu/libHash.a .pioenvs/nodemcu/libESP8266mDNS.a .pioenvs/nodemcu/libESPmanager.a -Wl,--end-group
"xtensa-lx106-elf-size" -B -d .pioenvs/nodemcu/firmware.elf

any ideas…

(next i need to get git pull of esp8266 working on platmformio…) busy day

so adding it here worked

  - PLATFORMIO_CI_SRC=examples/ESPmanager-example PLATFORMIO_BUILD_FLAGS="-D DEBUG_ESP_PORT=Serial -D BUILD_TIMESTAMP='$UNIX_TIME'
    -DBUILD_TAG='$TRAVIS_TAG' -DCOMMIT_TAG='$TRAVIS_COMMIT' -DSLUG_TAG='$TRAVIS_REPO_SLUG' -DBRANCH_TAG='$TRAVIS_BRANCH' -Wl,-Tesp8266.flash.4m.ld"

You need Custom Flash. Be careful, because you set -Wl,-Tesp8266.flash.4m.ld twice: in the environment variable and in platformio.ini

I’ll take it out of platformio.ini. But it didn’t override it there. it had no effect. is that normal?

What do you mean? Could you explain how to reproduce this issue?

this does not override the default flash settings. it uses the default -Wl,-T"esp8266.flash.4m1m.ld even though platformio has detected it… the log reports that it is using
[Sun Jun 12 19:25:46 2016] Processing nodemcu (platform: espressif, build_flags: -Wl,-Tesp8266.flash.4m.ld, board: esp12e, framework: arduino, board_f_cpu: 160000000L)

for it to work, I had to put it as part of the PLATFORMIO_BUILD_FLAGS

I’ve just tried to retest all cases and it works very well:

# default esp12e
xtensa-lx106-elf-g++ -o .pioenvs/esp12e/firmware.elf -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy -Wl,-T"esp8266.flash.4m1m.ld" .pioenvs/esp12e/src/main.o -L/Users/ikravets/.platformio/packages/framework-arduinoespressif/tools/sdk/lib -L/Users/ikravets/.platformio/packages/ldscripts -L.pioenvs/esp12e -Wl,--start-group .pioenvs/esp12e/libFrameworkArduinoVariant.a .pioenvs/esp12e/libFrameworkArduino.a -lmesh -lwpa2 -lsmartconfig -lpp -lmain -lwpa -llwip -lnet80211 -lwps -lcrypto -lphy -lhal -laxtls -lgcc -lm -Wl,--end-group
"xtensa-lx106-elf-size" -B -d .pioenvs/esp12e/firmware.elf

# env: build_flags = -Wl,-Tesp8266.flash.4m.ld
xtensa-lx106-elf-g++ -o .pioenvs/esp12e/firmware.elf -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy -Wl,-Tesp8266.flash.4m.ld .pioenvs/esp12e/src/main.o -L/Users/ikravets/.platformio/packages/framework-arduinoespressif/tools/sdk/lib -L/Users/ikravets/.platformio/packages/ldscripts -L.pioenvs/esp12e -Wl,--start-group .pioenvs/esp12e/libFrameworkArduinoVariant.a .pioenvs/esp12e/libFrameworkArduino.a -lmesh -lwpa2 -lsmartconfig -lpp -lmain -lwpa -llwip -lnet80211 -lwps -lcrypto -lphy -lhal -laxtls -lgcc -lm -Wl,--end-group
"/Users/ikravets/.platformio/packages/tool-esptool/esptool" -eo "/Users/ikravets/.platformio/packages/framework-arduinoespressif/bootloaders/eboot/eboot.elf" -bo .pioenvs/esp12e/firmware.bin -bm dio -bf 40 -bz 4M -bs .text -bp 4096 -ec -eo .pioenvs/esp12e/firmware.elf -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
"xtensa-lx106-elf-size" -B -d .pioenvs/esp12e/firmware.elf

# export PLATFORMIO_BUILD_FLAGS=-Wl,-Tesp8266.flash.4m.ld
xtensa-lx106-elf-g++ -o .pioenvs/esp12e/firmware.elf -Os -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,register_chipv6_phy -Wl,-Tesp8266.flash.4m.ld .pioenvs/esp12e/src/main.o -L/Users/ikravets/.platformio/packages/framework-arduinoespressif/tools/sdk/lib -L/Users/ikravets/.platformio/packages/ldscripts -L.pioenvs/esp12e -Wl,--start-group .pioenvs/esp12e/libFrameworkArduinoVariant.a .pioenvs/esp12e/libFrameworkArduino.a -lmesh -lwpa2 -lsmartconfig -lpp -lmain -lwpa -llwip -lnet80211 -lwps -lcrypto -lphy -lhal -laxtls -lgcc -lm -Wl,--end-group

how about placing the build flags inside the platform.ini file when using platformio ci?