'class RTC_DS1307' has no member named 'begin'

Se vogliamo dirla tutta, nel mio reply #4 ti avevo già detto di controllare se la lib era compatibile con l'IDE che stavi usando.

dancol90:
comunque tutto 'sto casino è colpa della libreria che è fatta un po' coi piedi :~
Aprendo il file RTCLib.h si nota infatti che non hanno messo l'"#include <Arduino.h>". Per questo infatti se veniva inclusa per prima nello sketch non trovava alcun riferimento a tutte le funzioni di Arduino,
generando un sfilza di errori infinita :stuck_out_tongue_closed_eyes:

No, mi spiace: non puoi dire che la lib è fatta male solo perché non ha l'include necessario per funzionare con l'ultima versione di Arduino IDE. Non essere aggiornata non vuol dire essere scritta male.

leo72:
Se vogliamo dirla tutta, nel mio reply #4 ti avevo già detto di controllare se la lib era compatibile con l'IDE che stavi usando.

dancol90:
comunque tutto 'sto casino è colpa della libreria che è fatta un po' coi piedi :~
Aprendo il file RTCLib.h si nota infatti che non hanno messo l'"#include <Arduino.h>". Per questo infatti se veniva inclusa per prima nello sketch non trovava alcun riferimento a tutte le funzioni di Arduino,
generando un sfilza di errori infinita :stuck_out_tongue_closed_eyes:

No, mi spiace: non puoi dire che la lib è fatta male solo perché non ha l'include necessario per funzionare con l'ultima versione di Arduino IDE. Non essere aggiornata non vuol dire essere scritta male.

Nono non è che non è aggiornata...manca proprio l'include a qualsiasi versione delle lib arduino, sia "Arduino.h" che "WProgram.h" !! :stuck_out_tongue:

Vale comunque il discorso di Leo; magari la lib è universale e non specifica per Arduino o più semplicemente l'autore, conoscendo la problematica della differenza tra le versioni di IDE, lascia all'utente il compito di mettere l'include che gli serve, o ancora, sapendo che in genere si usa con altre lib, l'avrà omessa pensando che l'include sarebbe stato inserito in qualche altra lib.
Oppure, più semplicemente ancora, se l'è scordato perché lui l'ha scritta usando sempre qualche altra lib che l'include lo aveva.
OK, ma levata questa cosa, che tu hai risolto semplicemente spostando di posizione il richamo, che altri elementi hai per dire che la lib è fatta male? Dà problemi, non funziona, si blocca o cosa?
E' questo che cercava di dirti Leo. :wink:

Scusate è vero, forse ho esagerato! :blush:
L'ho usata qualche volta, e per funzionare funziona (anche se ogni tanto qualche storia l'ha fatta, ma potrebbe essere stato il mio rtc ad avere problemi)...mi sono solo lasciato trasportare...
Scusate ancora :~

Ma figurati, qui nessuno deve chiedere niente a nessuno, era solo una semplice puntualizzazione, a favore di chi ha scritto quella lib, operazione tutt'altro che banale, e Leo è uno che sa che vuol dire scrivere una lib, tutto qui. :slight_smile:

Si infatti, me ne sono reso conto in un secondo momento. Sto scrivendo anch'io delle lib per un mio progetto, ed è vero, non è così scontato, soprattutto se si vuole seguire le linee guida :slight_smile:

+1 ad entrambi

classi, sono classi non librerie :cold_sweat:

Purtroppo "mastico" Arduino solo da un mese e mezzo, e prima d'allora le mie conoscenze di programmazione si limitavano a Turbo Pascal e Assembler. Per il momento mi limito a guardare gli esempi, capirne il funzionamento e magari "rubarne" pezzi per adattarli ai miei esperimenti. Diciamo che in poche parole sto andando grossolanamente a tentoni XD Però vi ringrazio perchè grazie ai vostri consigli e aiuti non sarei mai riuscito a far funzionare neanche l'esempio blink!

lesto:
classi, sono classi non librerie :cold_sweat:

Si con librerie su Arduino si intende un insieme di classi, almeno è quello che intendo io, usando il "gergo" dell'IDE :wink:

dancol90:

lesto:
classi, sono classi non librerie :cold_sweat:

Si con librerie su Arduino si intende un insieme di classi, almeno è quello che intendo io, usando il "gergo" dell'IDE :wink:

Non solo classi, ma anche funzioni, definizioni di costanti e altro. --> Libreria (software) - Wikipedia

--> Classe (informatica) - Wikipedia

PaoloP:

dancol90:

lesto:
classi, sono classi non librerie :cold_sweat:

Si con librerie su Arduino si intende un insieme di classi, almeno è quello che intendo io, usando il "gergo" dell'IDE :wink:

Non solo classi, ma anche funzioni, definizioni di costanti e altro.

Ma su arduino, secondo le "linee guida" qui http://arduino.cc/en/Hacking/LibraryTutorial in una libreria ci sono solo classi, e magari qualche #define.
Diciamo che stiamo entrando in tecnicismi un po' inutili secondo me, sta di fatto che nell'ambito corrente (arduino ide), al 99% vale libreria=classe\i. :stuck_out_tongue:

libreria e classi sono 2 definizioni ben differenti! la libreria è propria del C, e le classi del C++.

lo dico perchè poi quando non funziona qualcosa (o volete scrivere una classe), se cercate librerie trovate esempi con i file .h e .c che non centrano una mazza.
invece se cercate classi trovate le giuste spiegazioni delle sintassi .h e .cpp

che poi le die definizioni vengano mescolate, secondo me è un grosso errore.

edit: è come insegnare in una scuola di idraulici che il pappagallo e le pinze si chiamano "pinze".. poi voglio vederti a lavorare :slight_smile:

lesto:
libreria e classi sono 2 definizioni ben differenti! la libreria è propria del C, e le classi del C++.

lo dico perchè poi quando non funziona qualcosa (o volete scrivere una classe), se cercate librerie trovate esempi con i file .h e .c che non centrano una mazza.
invece se cercate classi trovate le giuste spiegazioni delle sintassi .h e .cpp

che poi le die definizioni vengano mescolate, secondo me è un grosso errore.

edit: è come insegnare in una scuola di idraulici che il pappagallo e le pinze si chiamano "pinze".. poi voglio vederti a lavorare :slight_smile:

C'hai pienamente ragione, anche se in generale, una libreria può essere scritta in c++ e contenere quindi anche definizioni di classi e di tutti i costrutti propri del c++.
Ma andando oltre, quello che l'IDE chiama librerie sono insiemi di file sorgente (non precomplilati) che vengono compilati assieme ad uno sketch.
Viene consigliato di definire al loro interno solo classi, ma nulla vieta di usare comunque altro, come delle struct o degli enum, o altro.
Quindi quelle di arduino possono essere considerate a tutti gli effetti "insieme di funzioni o strutture dati" (come riporta wikipedia).

Il non saper discernere fra classe e libreria è un altro discorso, ma concordo che può essere fonte di confusione per chi è poco pratico :slight_smile: (ma non credo sia il nostro caso :wink: )

lesto:
edit: è come insegnare in una scuola di idraulici che il pappagallo e le pinze si chiamano "pinze".. poi voglio vederti a lavorare :slight_smile:

che ci fanno gli idraulici col pappagallo? mica sono tutti ricoverati :cold_sweat:

intendeva la pinza a pappagallo, forse dalle tue parti si chiama diversamente ? oppure era una battuta la tua, ma l'iconcina non aiuta a far capire.

Cmq la pinza a pappagallo E' una pinza, fa parte dell'insieme pinze. La classe fa parte dell'insieme librerie ?
io non lo so, conosco meglio le pinze :slight_smile:

le classi sono una evoluzione delle librerie, mentre le librerie possono contenere solo funzioni e definire qualche costante/macro, le classi sono molto più potenti potendo avere variabili interne ed esterne, essere allocate in modo indipendente in memoria (provate a fare un'array di una libreria..)e in generale permettono altre chicche che con una libreria te la sogni; certo porano via più risorse, ma possono benissimo fungere da libreria senza sforzo.

credo che quella di menniti fosse una specie di controbattuta per far vedereche spesso si trovano gli stessi nomi per diversi strumenti, ma il punto è che finchè uno si usa in idraulica, uno in medicina, e uno in zoologia, non ci sono problemi; se però uno inizia a confondere catetere e pappagallo, capisci che qualche problemino può nascere...

Sì ragazzi, non fatevi venire dubbi sulle mie conoscenze generali :% era uno "stimolo" per farvi riflettere sul fatto che spesso un nome ha tanti significati e tanti usi e che l'errore che tante volte si commette non è nell'usare il vocabolo ma lo è nel non specificare esattamente a cosa il vocabolo si riferisce, fidandosi del contesto del ragionamento. L'ora è tarda ma la cosa è semplice: usare il termine "pappagallo", che ha moltissimi significati legati soprattutto alla forma caratteristica del becco di questo volatile e a tutto ciò che in qualche modo gli somiglia (vedi la pinza a pappagallo o il pappagallo ospedaliero o il "pappagallo" inteso come una persona chiacchierona o pedante, ecc.), in un discorso variegato in cui si infila l'idraulica, non necessariamente deve far pensare alla relativa pinza, facendo assumere al discorso un significato più ampio di quello desiderato. Dormite bene va.... :smiley:

thanks