Probleme compilation avec Librairie DMX Four univers !!

bonsoir à tous ,

si quelqu'un connait la solution , je suis preneur ...
En utilisant la bibliotheque ''Lib Dmx '' , j'arrive à compiler en sélectionnant une carte UNO
mais avec une Mega , pas possible !
il y a t'il une modifs à faire

//*********************************************************************************************************
#include <lib_dmx.h>  // libreria DMX 4 universos   // four universes DMX library  - blog.deskontrol.net
 
//*********************************************************************************************************
//                        New DMX modes *** EXPERIMENTAL ***
//*********************************************************************************************************
#define    DMX512     (0)    // (250 kbaud - 2 to 512 channels) Standard USITT DMX-512
#define    DMX1024    (1)    // (500 kbaud - 2 to 1024 channels) Completely non standard - TESTED ok
#define    DMX2048    (2)    // (1000 kbaud - 2 to 2048 channels) called by manufacturers DMX1000K, DMX 4x or DMX 1M ???
 
void setup() 
{
 
 
  ArduinoDmx0.set_tx_address(1);      // poner aqui la direccion de inicio de DMX 
                                      // put here DMX start address 
 
  ArduinoDmx0.set_tx_channels(100);   // poner aqui el numero de canales a transmitir 
                                      // put here the number of DMX channels to transmmit
 
  ArduinoDmx0.init_tx(DMX512);        // iniciar transmision universo 0, modo estandar DMX512
                                      // starts universe 0 as TX, standard mode DMX512
}  
 
void loop()
{
 
 
  ArduinoDmx0.TxBuffer[0] = 255; // copiar valor de la entrada analogica 0 al canal DMX 1
                                                  // copy value from analog input 0 to DMX channel 1
  ArduinoDmx0.TxBuffer[1] = 255; // copiar valor de la entrada analogica 1 al canal DMX 2
                                                  // copy value from analog input 1 to DMX channel 2
  ArduinoDmx0.TxBuffer[2] = 255; // copiar valor de la entrada analogica 2 al canal DMX 3
                                                  // copy value from analog input 2 to DMX channel 3
 

 
}

bien à vous
cordialement

Lien vers la bibliothèque installée ? (C’est celle qui date de 8 ans ?)


Vous dites

mais avec une Mega , pas possible !

quelle erreur voyez vous à la compilation?

bonjour , voici le message d'erreur :

Arduino : 1.6.0 (Mac OS X), Carte : "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Les options de compilation ont été modifiées, tout sera recompilé
In file included from sketch_sep27b.ino:2:0:
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:77:12: error: attempt to use poisoned "SIG_USART0_RECV"
void SIG_USART0_RECV (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:78:12: error: attempt to use poisoned "SIG_USART0_TRANS"
void SIG_USART0_TRANS (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:81:12: error: attempt to use poisoned "SIG_USART1_RECV"
void SIG_USART1_RECV (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:82:12: error: attempt to use poisoned "SIG_USART1_TRANS"
void SIG_USART1_TRANS (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:85:12: error: attempt to use poisoned "SIG_USART2_RECV"
void SIG_USART2_RECV (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:86:12: error: attempt to use poisoned "SIG_USART2_TRANS"
void SIG_USART2_TRANS (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:89:12: error: attempt to use poisoned "SIG_USART3_RECV"
void SIG_USART3_RECV (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:90:12: error: attempt to use poisoned "SIG_USART3_TRANS"
void SIG_USART3_TRANS (void) attribute((always_inline));
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:106:19: error: attempt to use poisoned "SIG_USART0_RECV"
friend void SIG_USART0_RECV (void);
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:107:19: error: attempt to use poisoned "SIG_USART0_TRANS"
friend void SIG_USART0_TRANS (void);
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:110:19: error: attempt to use poisoned "SIG_USART1_RECV"
friend void SIG_USART1_RECV (void);
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:111:19: error: attempt to use poisoned "SIG_USART1_TRANS"
friend void SIG_USART1_TRANS (void);
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:114:19: error: attempt to use poisoned "SIG_USART2_RECV"
friend void SIG_USART2_RECV (void);
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:115:19: error: attempt to use poisoned "SIG_USART2_TRANS"
friend void SIG_USART2_TRANS (void);
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:118:19: error: attempt to use poisoned "SIG_USART3_RECV"
friend void SIG_USART3_RECV (void);
^
/Users/nicolasmoinet/Documents/Arduino/libraries/Dmx/lib_dmx.h:119:19: error: attempt to use poisoned "SIG_USART3_TRANS"
friend void SIG_USART3_TRANS (void);
^
Erreur lors de la compilation.

Ce rapport contiendrait plus d'informations si l'option
"Montrer les informations de sortie pendant la compilation"
était activée dans Fichier > Préférences.

comme la bibliothèque est super vieille ils utilisent une notation qui n'a plus cours pour les interruptions

Il faudrait éditer les fonctions dans la bibliothèque et remplacer par ISR(...) ou changer les noms directement

cf la discussion en espagnol ici (entre autre la réponse 6 et le téléchargement en 7)

merci pour ta précieuse aide JML
je regarde ça