Arduino da CLI non mi lascia i file compilati

Ciao gente,

Lavorando con Archlinux e Arduino IDE 1.8.0, avevo fatto uno script per la shell, per compilare i files e metterli nella stessa cartella quando compilato. Ammetto che non sono incline alla IDE di Arduino che manca di alcune peculiarità nell' editore.
Lo script funzionava fino alla versione 1.7.x, ora con la succitata versione il comando arduino --verify --preserve-temp-files *.ino, mi lascia una cartella /tmp/untitledxxxxxxxxxxx.tmp vuota. Tutti i files sono cancellati !
Se lo faccio da IDE no, rimangono in una cartella /tmp/arduino_buildxxxxxx
Alcuni comandi non corrispondono a quelli della man page. Che lamento per la scarsa documentazione di tutto il software.
Infine questi comandi dove li posso usare ?

Prova a passargli anche il path alla cartella di build. Non ricordo ora il parametro, ma c'è.

Comunque, a questo proposito, ho fatto tempo fa una pull request a Geany per aggiungere un minimo di supporto nativo ad Arduino, è stata accettata e sarà presente dalla prossima release. Da allora si potrà usare Geany come editor e compilare e uploadare tranquillamente dal suo interno.

Ho provato anche a dare il comandi del succitato secondo link, ma non sono validi.
Sarebbe comodo se ci fossero maggiori dettagli delle opzioni da CLI. Altrimenti andrò carpire la lista dei comandi e saltare quelli prefissati da Arduino IDE.

Che come editore potrebbe anche esser un po più curato ed avere almeno la parvenza di jedit. Salvo non aver bisogno di tutte le features di quell' editore. Almeno qualche miglioramento sui i temi e qualcosa come l' auto-completamento delle parole. Altrimenti non mi piace affatto.

Quello che intendevo io è di settare anche manualmente la preference build.path.

Se vado a mettere build.path in preference.txt non vedo alcuna soluzione. Poi ad ogni avvio viene modificato dall' IDE.
Il mio script è questo

#!/bin/bash
#
. $HOME/mypgm/load-sketch.bash

TMPDIR=/tmp/arducompile
if [ -d $TMPDIR ]; then
    rm -rf $TMPDIR
fi
mkdir -p $TMPDIR
rm -rf /tmp/unti* 2>&1 >/dev/null
rm -rf /tmp/arduino* 1>&2 >/dev/null
arduino --verify --preserve-temp-files $1
if [ $? -gt 0 ]; then
    echo "Failed compilation "
    exit 255
fi
CURDIR=$(ls -d /tmp/arduino_build_*)
if [ $? -gt 0 ]; then
    echo "Failed copy "
    exit 255
fi
cp -r $CURDIR/* $TMPDIR
# rm -rf $CURDIR
PKG=$(find $TMPDIR -name *.ino.hex)

if [[ $2 == "L" ]]; then
    loadpkg $PKG
fi

Lo scopo di spostate i file nella stessa cartella è per poter riprendere con un altro programma lo stesso HEX per fare delle simulazioni. Piuttosto che continuare a cambiare il percorso del file da caricare.
Dall' ultimo aggiornamento non sono in grado di trovare i file compilati, perché l' IDE li rimuove anzitempo. Sebbene ho dato istruzioni di lasciarli stare.
Se usi linux, mi faresti la cortesia di fare una prova, eseguendo il comando di arduino ?
Tanto da capire se la versione attuale non rispetta i comandi impartiti.

Non devi mettere build.path in preferences.txt, basta che aggiungi alla tua linea di comando: --pref build.path=/tmp/qualche/directory
Quando sono a casa provo.

Il comando era
arduino --verbose-build --verify --pref build.path=/tmp/arducompile --preserve-temp-files *.ino
La risposta era

Picked up JAVA_TOOL_OPTIONS: 
Sto caricando la configurazione...
Sto inizializzando i pacchetti...
Sto preparando le schede...
Sto verificando...

Ed il risultato è

$ ls /tmp/
hsperfdata_user
QuadGen.ino
serverauth.fpyGINAAON
sketch_jan20a
systemd-private-c6c8cb22ac4441bebbb718d46ef0a692-ntpd.service-F4ve78
systemd-private-c6c8cb22ac4441bebbb718d46ef0a692-systemd-timesyncd.service-f4dqyM
untitled1466333496.tmp
xauth-1000-_0

Come vedi non appare nulla di quanto voluto :frowning: