bonjour tlm,
voulant décoder la trame temperature de sonde oregon thn132 sur un esp8266 wemos mini d1 :
je trouve une biblio version 2021-14-9
qui peut compiler pour uno ou esp8266 vu l'en tete
#include <Oregon_NR.h>
// attachInterrupt(digitalPinToInterrupt(GPIO), ISR, mode);
#if defined ( ESP8266 ) || ( ESP32 )// Wemos accepte interrupt sur toutes les broches sauf d0 (gpio16)
Oregon_NR oregon(13, 13, 2, true, 50, true); // recepteur data sur D7 (GPIO13)
// LED sur d4=gpio2 ledbuiltin tirée vers le +(true). si pas de led, numero de pin - 255
// buffer de 50 bits, creation de package pour la v2
#else // pour uno a tester en 1er
Oregon_NR oregon(2, 0, // RX sur D2, interruption 0,
13, false); // led integrée sur d13
// buffer reception standard - pour 24 bits inclus protocole v2
//Oregon_NR oregon(2, 0); // constructeur par defaut, buffer standard sans led
#endif
arduino IDE1.8.15 carte uno exemple "receiver" : warnings
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:2178:25: warning: extra tokens at end of #ifdef directive
#ifdef ADD_SENS_SUPPORT == 1
^~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp: In member function 'void Oregon_NR::capture(bool)':
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:364:68: warning: 'or' of unmatched not-equal tests is always 1
if (packet_number == 1 && (!is_assemble || ver != 2 || ver != 12 )) receive_status = ANALIZE_PACKETS;
^
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:855:1: warning: 'or' of unmatched not-equal tests is always 1
}
^
televerse sur uno, test hardware ok, je change de carte wemos D1R1mini
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:2178:25: warning: extra tokens at end of #ifdef directive
2178 | #ifdef ADD_SENS_SUPPORT == 1
| ^~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp: In member function 'void Oregon_NR::start()':
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:129:27: warning: 'void receiver_interruption()' is deprecated: Use IRAM_ATTR in place of ICACHE_RAM_ATTR to move functions into IRAM [-Wdeprecated-declarations]
129 | attachInterrupt(INT_NO, receiver_interruption, CHANGE);
| ^~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:48:22: note: declared here
48 | void ICACHE_RAM_ATTR receiver_interruption(void) {
| ^~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:129:56: warning: 'void receiver_interruption()' is deprecated: Use IRAM_ATTR in place of ICACHE_RAM_ATTR to move functions into IRAM [-Wdeprecated-declarations]
129 | attachInterrupt(INT_NO, receiver_interruption, CHANGE);
| ^
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:48:22: note: declared here
48 | void ICACHE_RAM_ATTR receiver_interruption(void) {
| ^~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp: In member function 'void Oregon_NR::capture(bool)':
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:853:29: warning: 'void receiver_interruption()' is deprecated: Use IRAM_ATTR in place of ICACHE_RAM_ATTR to move functions into IRAM [-Wdeprecated-declarations]
853 | attachInterrupt(INT_NO, receiver_interruption, CHANGE);
| ^~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:48:22: note: declared here
48 | void ICACHE_RAM_ATTR receiver_interruption(void) {
| ^~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:853:58: warning: 'void receiver_interruption()' is deprecated: Use IRAM_ATTR in place of ICACHE_RAM_ATTR to move functions into IRAM [-Wdeprecated-declarations]
853 | attachInterrupt(INT_NO, receiver_interruption, CHANGE);
| ^
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:48:22: note: declared here
48 | void ICACHE_RAM_ATTR receiver_interruption(void) {
| ^~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:855:1: warning: 'or' of unmatched not-equal tests is always 1
855 | }
| ^
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp: In member function 'int Oregon_NR::get_synchro_pos(byte*, int)':
C:\Program Files\Arduino\libraries\Oregon_NR\Oregon_NR.cpp:1747:1: error: control reaches end of non-void function [-Werror=return-type]
1747 | }
| ^
cc1plus.exe: some warnings being treated as errors
Utilisation de la bibliothèque Oregon_NR version 21.9.14 dans le dossier: C:\Program Files\Arduino\libraries\Oregon_NR
exit status 1
Erreur de compilation pour la carte LOLIN(WEMOS) D1 R2 & mini
avec ide 1.6.4, çà compile ok pour esp8266, pas testé hardware, bizarre pour une biblio maj régulierment, pas vu de report issue pour les warnings et non compilation avec ide 1.8.15
Merci