Pages: [1]   Go Down
Author Topic: conflit gogprs iremote ide 1.0  (Read 415 times)
0 Members and 1 Guest are viewing this topic.
Online Online
Edison Member
*
Karma: 9
Posts: 1613
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour le monde,
depuis tout à l'heure je tente de connecter un IR sur le nono.
je pars de gogprs avec un code à 2 balles, ca fonctionne, le numéro de réception du sms s'affiche.
dès que j'inclus la lib IRremote.h le numéro disparait.
ide 1.0
je penche pour une histoire de timer ou pin
dans  irremoteint.h je trouve ceci
Quote
// Arduino Mega
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  //#define IR_USE_TIMER1   // tx = pin 11
  #define IR_USE_TIMER2     // tx = pin 9
  //#define IR_USE_TIMER3   // tx = pin 5
  //#define IR_USE_TIMER4   // tx = pin 6
  //#define IR_USE_TIMER5   // tx = pin 46

// Teensy 1.0
#elif defined(__AVR_AT90USB162__)
  #define IR_USE_TIMER1     // tx = pin 17

// Teensy 2.0
#elif defined(__AVR_ATmega32U4__)
  //#define IR_USE_TIMER1   // tx = pin 14
  //#define IR_USE_TIMER3   // tx = pin 9
  #define IR_USE_TIMER4_HS  // tx = pin 10

// Teensy++ 1.0 & 2.0
#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
  //#define IR_USE_TIMER1   // tx = pin 25
  #define IR_USE_TIMER2     // tx = pin 1
  //#define IR_USE_TIMER3   // tx = pin 16

// Sanguino
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
  //#define IR_USE_TIMER1   // tx = pin 13
  #define IR_USE_TIMER2     // tx = pin 14

// Atmega8
#elif defined(__AVR_ATmega8P__) || defined(__AVR_ATmega8__)
  #define IR_USE_TIMER1   // tx = pin 9

// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc
#else
  //#define IR_USE_TIMER1   // tx = pin 9
  #define IR_USE_TIMER2     // tx = pin 3
#endif

merci d'avance si quelqu'un a une lumière de génie
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

GoGPRS -> NewSoftSerial -> Timer pour la gestion du signal série software

Essaye de basculer ce commentaire à la fin du .h :
Code:
//#define IR_USE_TIMER1   // tx = pin 9
#define IR_USE_TIMER2     // tx = pin 3
histoire d'utiliser le timer 1 au lieu du timer 2.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Online Online
Edison Member
*
Karma: 9
Posts: 1613
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

j'y ais pensé aussi, mais, évidemment y a un mais, la pin 9 est utilisée pour allumer ou éteindre la carte gsm.
je vais tester avec une mega2560 en passant sur le timer3 ou 4 ou 5
Logged

Online Online
Edison Member
*
Karma: 9
Posts: 1613
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bon sur une mega2560, ca fonctionne pas du tout, même avec l'exemple gogprs
une histoire de pin à tous les coups
Logged

Online Online
Edison Member
*
Karma: 9
Posts: 1613
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

rien a faire, dès que la lib irremote est chargée, ca flingue gogprs.
je vois pas de solution.
et gogprs n'est pas compatible avec l'ide 0.22-23 ou j'ai raté un truc.
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

rien a faire, dès que la lib irremote est chargée, ca flingue gogprs.
je vois pas de solution.
et gogprs n'est pas compatible avec l'ide 0.22-23 ou j'ai raté un truc.
C'est une histoire de timer et de pin, faudrait regarder le code des deux librairies (et de NewSoftSerial) pour savoir qui utilise quoi.
Et aussi le datasheet du ATmega2560 pour savoir ou se trouve les sorties OSCnA des différents timers.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Online Online
Edison Member
*
Karma: 9
Posts: 1613
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

gogprs utilise SoftwareSerial.h
NewSoftSerial et gogprs ne font pas lit commun  smiley-roll-blue

en survolant rapidement les 2 lib, timer0
j'essaye de voir pour l'atmega2560

EDIT :
en comparant SoftwareSerial et NewSoftSerial, mis à part quelques détails de rajout de lettres au lieu de _, la seule grosse différence est ceci dans NewSoftSerial.h que l'on ne trouve pas dans l'autre lib
Quote
  static void enable_timer0(bool enable);

dans la lib irremote, c'est TIMER2 qui est utilisé.

donc si je comprends bien (me reprendre en cas ou), ca ne peut coller entre les 2 libs.

je vais donc tenter de faire la chose suivante, retirer la carte gsm du nono et cabler a part en mettant TIMER1 dans NewSoftSerial et en mettant un strap vers une autre pin afin de l'allumer ou eteindre.
« Last Edit: February 01, 2013, 05:44:15 pm by infobarquee » Logged

Online Online
Edison Member
*
Karma: 9
Posts: 1613
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,
ma manip ne fonctionne pas  smiley-evil
je vois pas trop la solution
Logged

Pages: [1]   Go Up
Jump to: