Go Down

Topic: IRremote.h library werkt niet meer? (Read 304 times) previous topic - next topic

nicoverduin

En je moet natuurlijk wel ff de IDE deinstalleren voor een herinstallatie
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

akatchi

En je moet natuurlijk wel ff de IDE deinstalleren voor een herinstallatie
Raak ik dan mn codes kwijt?

nicoverduin

Eigenlijk is de beste manier met die IDE's is de zip file downloaden. Niet de installer. Die zip pak je uit op een andere lokatie. Bij mij is dat de D schijf in de root onder de naam Arduino_V1.12 bijv. Zo kun je verschillende versies van de IDE installeren. Updaten oid is er niet. En voor de Arduino ontwikkelaars is daar nog wel eea te verbeteren.
Alternatief zou de Arduino-eclipse IDE kunnen zijn van Jantje. Die werkt vele vele vele malen beter maar je hebt wel even een kleine leercurve.
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

nicoverduin

Raak ik dan mn codes kwijt?
Als het goed is staan al jouw sketches nu in Documenten/Arduino. Zo ja dan niet. 
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

akatchi

Als het goed is staan al jouw sketches nu in Documenten/Arduino. Zo ja dan niet.
Alles opnieuw geinstallerd nog steeds deze error..
Code: [Select]
Arduino: 1.8.1 (Windows 10), Board:"Arduino/Genuino Uno"

Build-opties gewijzigd, alles wordt opnieuw gebuild
Tone.cpp.o (symbol from plugin): In function `timer0_pin_port':

(.text+0x0): multiple definition of `__vector_7'

libraries\IRremote\IRremote.cpp.o (symbol from plugin):(.text+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

Meerdere bibliotheken gevonden voor "IRremote.h"
Gebruikt: C:\Users\NAAM\Documents\Arduino\libraries\IRremote
Niet gebruikt: E:\Arduino\libraries\RobotIRremote
Niet gebruikt: E:\Arduino\libraries\IRremote
exit status 1
Fout bij het compileren van board Arduino/Genuino Uno

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

nicoverduin

Nou zet dan je sketch hier maar ff neer
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

shooter

Je hebt nog steeds 2 keer de lib irremote in je libraries staan, wellicht verstopt in een andere
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

nicoverduin

Je hebt nog steeds 2 keer de lib irremote in je libraries staan, wellicht verstopt in een andere
Volgens mij worden het er zelfs steeds meer......
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

akatchi

Je hebt nog steeds 2 keer de lib irremote in je libraries staan, wellicht verstopt in een andere
Nee kijk mijn Library zet ik op schijf E: waar Arduino ook is op geïnstalleerd, al zet ik de Library IRremote erin dan plaatst die hem ook automatisch in C: bij documents Arduino.

Maar ik ben erachter gekomen dat het niet aan de library zelf licht. Ik had wat testjes gedaan en op de ene code werkt die wel en de andere niet. Ik denk dat het misschien komt door een combinatie van vele libraries door elkaar misschien?

Ik wil mijn code wel neerzetten maar hij is 400 regels..
Deze libraries gebruik ik: LiquidCrystal_I2C, SPI, EEPROM, Wire, IRremote, MFRC255

sterretje

#24
Today at 09:47 am Last Edit: Today at 10:13 am by sterretje
Je hebt 'simpel' een interrupt conflict. Een kleine testcode die alleen de tone library gebruikt en een kleine testcode die alleen de IRremote library gebruikt en beiden zouden moeten werken.

Een van de links die ik vond tijdens een beetje onderzoek geeft aan dat er een newtone library is; geen idee of het werkt.

Vervolgens moet je een (1) van de twee fixen ;) Beetje werk om het te begrijpen ;) En mogelijk niet altijd mogelijk :(
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

sterretje

#25
Today at 11:40 am Last Edit: Today at 11:42 am by sterretje
Ik heb de volgende code geprobeerd: Play a Melody using the tone() function. Op het moment dat ik in het begin #include <IRremote.h> toevoeg gaat het fout.

Er is een commentaar in tone.cpp dat aangeeft dat het alleen werkt met timer2 (of iets in die geest). Dus maar even graven in de IRremote bibliotheek. Open de file IRremoteInt.h en vind het onderstaande
Code: [Select]
//------------------------------------------------------------------------------
// Defines for Timer

Het zal ongeveer regel 230 zijn.

Net daarvoor heb je een stuk dat definieert welke timer gebruikt moet worden (begint bij regel 147 maar dat is niet zo relevant). Het eind van dat blok (net voor regel 230) bevat de volgende code
Code: [Select]
...
...
//ATtiny85
#elif defined(__AVR_ATtiny85__)
  #define IR_USE_TIMER_TINY0   // tx = pin 1

// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, Nano, etc
// ATmega48, ATmega88, ATmega168, ATmega328
#else
//#define IR_USE_TIMER1   // tx = pin 9
#define IR_USE_TIMER2     // tx = pin 3

#endif

Verander de #else
Code: [Select]
#else
// 2017/01/20: verandert om timer 1 te gebruiken inplaats van standaard timer2
#define IR_USE_TIMER1   // tx = pin 9
//#define IR_USE_TIMER2     // tx = pin 3
#endif

De code zal nu timer 1 gebruiken in plaats van timer 2 en mijn probleem is opgelost. Vergeet niet het te documenteren. Geen garantie dat dit het oplost in jouw situatie aangezien je nog meer bibliotheken gebruikt.

Nu is er een (1) groot probleem met dit; al je bestaande (na compilatie) en toekomstige programmas zullen nu timer 1 gebruiken als je de IRremote bibliotheek gebruikt. Voor bestaande programmas kan dat erin resulteren dat ze nu niet meer compileren (waarschijnlijk __vector_11) en bij nieuwe programmas kun je dat probleem ook tegenkomen. De reden is dat er slechts een beperkt aantal timers beschikbaar is dus er zijn limieten aan wat je kunt bereiken.

Je kunt de IRremote bibliotheek ook lokaal gebruiken; ik heb dit niet verder bestudeerd om je daar nu mee verder te helpen.
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

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