Go Down

Topic: attiny 85 libreria RCSwitch (Read 91 times) previous topic - next topic

Daniele1990

Buongiorno,

io circa un anno fa avevo programmato alcuni attiny 85 usando la libreria RCSwitch per ricevere dei segnali inviati da un arduino uno sempre con la stessa libreria. (l'arduino uno funzionerebbe tipo i vecchi telecomandi apricancello che inviano una serie di numeri).

Adesso avevo la necessità di caricare il software su un altro attiny85 solo che non ci riesco più.
Ho seguito i vostri consigli e aggiornato l'ide arduino sul portatile alla versione 1.8.9, ho inserito in impostazioni il link per attiny: http://drazzy.com/package_drazzy.com_index.json, li ho installati tramite gestisci schede e sempre dall'ide ho scaricato la libreria RCSwitch solo che se configuro tutto per attiny e provo a verificare lo sketch esempio: ReceiveDemo_simple
Code: [Select]
/*
  Simple example for receiving
 
  https://github.com/sui77/rc-switch/
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
   
    int value = mySwitch.getReceivedValue();
   
    if (value == 0) {
      Serial.print("Unknown encoding");
    } else {
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
    }

    mySwitch.resetAvailable();
  }
}


mi genera il seguente errore:



C:\Users\onizuka\Documents\Arduino\libraries\rc-switch\examples\ReceiveDemo_Simple\ReceiveDemo_Simple.ino: In function 'void setup()':

ReceiveDemo_Simple:13:12: error: 'class RCSwitch' has no member named 'enableReceive'

   mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2

            ^

C:\Users\onizuka\Documents\Arduino\libraries\rc-switch\examples\ReceiveDemo_Simple\ReceiveDemo_Simple.ino: In function 'void loop()':

ReceiveDemo_Simple:17:16: error: 'class RCSwitch' has no member named 'available'

   if (mySwitch.available()) {

                ^

ReceiveDemo_Simple:19:26: error: 'class RCSwitch' has no member named 'getReceivedValue'

     int value = mySwitch.getReceivedValue();

                          ^

ReceiveDemo_Simple:25:30: error: 'class RCSwitch' has no member named 'getReceivedValue'

       Serial.print( mySwitch.getReceivedValue() );

                              ^

ReceiveDemo_Simple:27:30: error: 'class RCSwitch' has no member named 'getReceivedBitlength'

       Serial.print( mySwitch.getReceivedBitlength() );

                              ^

ReceiveDemo_Simple:30:32: error: 'class RCSwitch' has no member named 'getReceivedProtocol'

       Serial.println( mySwitch.getReceivedProtocol() );

                                ^

ReceiveDemo_Simple:33:14: error: 'class RCSwitch' has no member named 'resetAvailable'

     mySwitch.resetAvailable();

              ^

exit status 1
'class RCSwitch' has no member named 'enableReceive'


Ho provato quindi a installare tutto da zero su un altro pc con windows7 dando la colpa a windows10. Cosi facendo non mi ha più generato l'errore finche non ho riavviato il pc. Ho provato anche a installare su virtual machine linux ma mi da sempre lo stesso errore, errore che mi dava anche con l'ide 1.0.6.

Se invece di verificare il codice per attiny85 lo verifico per arduino non genera errori.

Sarà un problema idiota ma non ne vengo a capo neanche usando la libreria e la configuarazione che un anno fa andava.

Grazie a tutti

Daniele1990

Buongiorno scusando ler il disturbo il problema lo ho arginato eliminado dal file:

RCSwitch.h

la seguente parte:

// At least for the ATTiny X4/X5, receiving has to be disabled due to
// missing libm depencies (udivmodhi4)
#if defined( __AVR_ATtinyX5__ ) or defined ( __AVR_ATtinyX4__ )
#define RCSwitchDisableReceiving
#endif

C'è una soluzione più corretta? o una libreria più appropriata agli attiny?

Grazie

Go Up