Go Down

Topic: Configurer Gedit comme IDE pour développer sur deux arduino simultanément (Read 702 times) previous topic - next topic

tahitibob35

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 https://github.com/sudar/Arduino-Makefile
- Modifier la cible upload du fichier Arduino
Code: [Select]
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 :
Code: [Select]
#!/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 :
Code: [Select]
#!/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.....

caape

Bonjour
Perso, je lance plusieurs intenses de l'IDE depuis l'EXE. Je fait ça tout le temps. Je règle, une fois lancé l'IDE, les bonnes valeurs dans chaque intense et je n'y touche plus. Je n'éteint jamais le PC mais le met en veille prolongé donc pas la peine de tout recharger à chaque fois.

Par contre, il est intéressant de pouvoir configurer la carte directement depuis l'IDE. Par contre, le port qui lui risque de changer, doit être vérifié au branchement de la carte. J'utilise deux cartes identiques et les ports s'inversent si je ne les branche pas toujours dans le même ordre.

A+

Edit : Je viens de tilter que tu es sous linux. Donc ceux sous windows ...
StandAlone domotique<br />Volet roulant, Capteur T° sur p iles, (Eclairage Salon SAM en cour)(Pilotage via WEB + Mobile (base ok))(Sonnette)(Alarme)...

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy