Nodo-Domotica / Nodo-Core

Arduino based Domotica platform
http://www.nodo-domotica.nl
4 stars 8 forks source link

R818 - PLUGIN_030 (Wiegand-26 RFID Reader) compileer foutmelding #911

Closed RvEldijk closed 9 years ago

RvEldijk commented 9 years ago

Als ik plugin 30 (Wiegand-26 RFID Reader) probeer te compileren krijg ik de onderstaande foutmelding

Config_01.c

define PLUGIN_030

define PLUGIN_030_CORE 1 // Wiegand-26 RFID Reader

Arduino 1.6.4 output; SoftwareSerial\SoftwareSerial.cpp.o: In function __vector_9': C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial/SoftwareSerial.cpp:227: multiple definition of__vector_10' Nodo.cpp.o:D:_Systeem\Arduino - R818\Nodo/Plugins/Plugin_030.c:216: first defined here c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions SoftwareSerial\SoftwareSerial.cpp.o: In function SoftwareSerial::read()': C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial/SoftwareSerial.cpp:392: multiple definition of__vector_11' Nodo.cpp.o:C:\Program Files (x86)\Arduino/Misc.ino:1149: first defined here collect2.exe: error: ld returned 1 exit status Fout bij compileren

Mvg

RvEldijk commented 9 years ago

Ik weet niet of dit de juiste weg is, maar ik heb het opgelost door het bestand, X:\Arduino - R818\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp aan te passen en het onderstaande uit te commentariëren.

//#if defined(PCINT1_vect) //ISR(PCINT1_vect, ISR_ALIASOF(PCINT0_vect)); //#endif

//#if defined(PCINT2_vect) //ISR(PCINT2_vect, ISR_ALIASOF(PCINT0_vect)); //#endif

Nodo-Domotica commented 9 years ago

Hoi,

I.v.m. de zomerreces kijken we pas over een paar week naar je mails/issues. In ieder geval dank.

Wordt vervolgd.

Groeten.

Op ma 3 aug. 2015 15:33 schreef RvEldijk notifications@github.com:

Ik weet niet of dit de juiste weg is, maar ik heb het opgelost door het bestand, X:\Arduino - R818\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp aan te passen en het onderstaande uit te commentariëren.

//#if defined(PCINT1_vect) //ISR(PCINT1_vect, ISR_ALIASOF(PCINT0_vect)); //#endif

//#if defined(PCINT2_vect) //ISR(PCINT2_vect, ISR_ALIASOF(PCINT0_vect)); //#endif

— Reply to this email directly or view it on GitHub https://github.com/Nodo-Domotica/Nodo-Core/issues/911#issuecomment-127234459 .

RvEldijk commented 9 years ago

Hoi,

Hehe had ook niets anders verwacht, had een paar minuten over ;-)

Mvg

Nodo-Domotica commented 9 years ago

Het aanpassen van de SoftwareSerial.cpp is niet echt handig vanuit het oogpunt onderhoud. We hebben het gebruik van de SoftSerial librarie onderdeel gemaakt van de Nodo Core. Ik heb zelf ook een RFID lezer aangeschaft en ik zal de plugin eens onder handen nemen. Wordt vervolgd.

Nodo-Domotica commented 9 years ago

Het probleem is dat voor de Poorten B,C D de SoftSerial library de interupthandlers definieert. Het is mogelijk om t.b.v. de PinChange funktie de SoftSerial library onder handen te nemen. Probleem hierbij is dan dat we steeds deze aangepaste (standaard Arduino) library moeten gebruiken. Dit is voor een eenvoudige gebruiker toch wat lastig en extra werk. Tweede punt is vanuit oogpunt van onderhoud. Als we een nieuwe IDE / AVR versie krijgen moeten we steeds de library aanpassen.

Daar komt nog bij dat de Ardiuno IDE libraries included ondanks dat er met een define/if dat niet de bedoeling is (Vreemde eigenschap / bug in de Arduino IDE).

Daarom (helaas) voor de RFID: de gebruiker moet een kleine aanpassing maken in de Nodo code. De instructie wordt opgenomen in de plugin.