Salut
je viens de recevoir une paire de modules NRF24 (bien sûr ça ne marche pas, mais c'est pas le sujet).
J'ai donc sous la main :
- 2 modules NRF24
- un uno et un nano
- Et un seul PC....
L'IDE d'ardino est galère, je dois systématiquement switcher entre les deux ports série et les deux types de carte.
Je ne sais jamais quel code j'ai téléchargé sur quelle carte.
Impossible de travailler dans ces conditions.
L'idée est donc d'utiliser un autre IDE, Gedit.
Et aussi de pouvoir indiquer dans l'entête du sketch, la carte cible (modèle et port série) sous la forme :
//BOARD uno
//PORT /dev/ttyUSB0
- Télécharger et décompresser GitHub - sudar/Arduino-Makefile: Makefile for Arduino sketches. It defines the workflows for compiling code, flashing it to Arduino and even communicating through Serial.
- Modifier la cible upload du fichier Arduino
upload: $(TARGET_HEX) verify_size
$(call arduino_output,Resetting Arduino...)
$(RESET_CMD)
$(AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ARD_OPTS) \
$(AVRDUDE_UPLOAD_HEX)
- Activer le plugin "External tools" de Gedit
- Dans Gedit créer les deux action build et upload
Build :
#!/bin/sh
BOARD=`grep "//BOARD" $GEDIT_CURRENT_DOCUMENT_NAME | cut -d" " -f2`
LIBS=`grep "//LIBS" $GEDIT_CURRENT_DOCUMENT_NAME | cut -d" " -f2-`
echo $BOARD
echo $LIBS
ARDUINO_LIBS="$LIBS" make -f /data/perso/arduino/makefile/Arduino.mk
Upload :
#!/bin/sh
BOARD=`grep "//BOARD" $GEDIT_CURRENT_DOCUMENT_NAME | cut -d" " -f2`
PORT=`grep "//PORT" $GEDIT_CURRENT_DOCUMENT_NAME | cut -d" " -f2`
LIBS=`grep "//LIBS" $GEDIT_CURRENT_DOCUMENT_NAME | cut -d" " -f2-`
echo $BOARD
echo $LIBS
BOARD_TAG="$BOARD" MONITOR_PORT="$PORT" ARDUINO_LIBS="$LIBS" make -f /data/perso/arduino/makefile/Arduino.mk upload
Donc au début de chaque sketch, il faut ajouter ces lignes :
//BOARD uno
//PORT /dev/ttyACM0
//LIBS SPI RadioHead
ou
//BOARD nano328
//PORT /dev/ttyUSB0
//LIBS SPI RadioHead
Dans //LIBS, il faut mettre les librairies externes.
Dans une seule instance Gedit, on peut donc développer deux sketch simultanément pour deux cartes différentes.
Bon, ça ne résout pas mes problèmes de NRF24.....