Go Down

Topic: Libreria time.h (istallazione) (Read 1 time) previous topic - next topic

gpb01

#30
May 13, 2019, 08:25 pm Last Edit: May 13, 2019, 08:25 pm by gpb01
Signori, solo ora ho visto che le risposte sono aumentate, domani provo a fare tutto e vi faccio sapere.
La soluzione è nel mio post #24 ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

Stilita

#31
May 13, 2019, 08:32 pm Last Edit: May 13, 2019, 08:59 pm by Stilita
La soluzione è nel mio post #24 ;)

Guglielmo
Ok, grazie, poi ti faccio  sapere.
...non sapete quanto ho cercato...pfui pfui
prima di rivolgermi al forum...

Stilita

#32
May 14, 2019, 08:41 am Last Edit: May 14, 2019, 08:50 am by Stilita
@Guglielmo, fatto come al punto #24 e va tutto bene.

Però credo che ora sia bloccato, il Digispark, perchè se provo a caricare su uno schetch vuoto o un blink
lui continua a generarmi password nello schetch e non si lascia riscrivere...
...non sapete quanto ho cercato...pfui pfui
prima di rivolgermi al forum...

gpb01

#33
May 14, 2019, 11:25 am Last Edit: May 14, 2019, 11:26 am by gpb01
Però credo che ora sia bloccato, il Digispark, perchè se provo a caricare su uno schetch vuoto o un blink
lui continua a generarmi password nello schetch e non si lascia riscrivere...
Su questo non posso aiutarti dato che neanche so cosa faccia quel programma che "compilava" ...
... il dubbio è che, dato che impegna la USB, in qualche modo blocchi la programmazione  :smiley-confuse:

Se trovi la soluzione (eventualmente contattando l'autore) facci sapere ... ::)

Guglielmo
Search is Your friend ... or I am Your enemy !

Stilita

L' ho  cancellato tramite un programmatore ISP, ma ora l'USB non lo riconosce più...
...non sapete quanto ho cercato...pfui pfui
prima di rivolgermi al forum...

gpb01

#35
May 14, 2019, 12:10 pm Last Edit: May 14, 2019, 12:11 pm by gpb01
L' ho  cancellato tramite un programmatore ISP, ma ora l'USB non lo riconosce più...
Ovviamente, hai cancellato TUTTO, anche il "bootloader" con la sua interfaccia software USB ...

Devi prendere uno mai usato (o usato con un programma che non blocca la USB), leggere la memoria con il programmatore e copiarla in questo che hai cancellato.

Guglielmo
Search is Your friend ... or I am Your enemy !

zoomx

#36
May 17, 2019, 04:39 pm Last Edit: May 17, 2019, 05:12 pm by zoomx
Sono andato a guardare la pagina del progetto su hackster.io. Li, oltre allo sketch, ci sono proprio le due librerie time.h e eeprom.h, ecco perché nello sketch vengono usate "" invece di <>.  Solo che c'è si la time.h ma manca la time.cpp, per cui non dovrebbe compilare.


... <time.h> è una ed una sola ... se qualche idiota ha dominato una sua libreria con un nome utilizzato universalmente per una determinata cosa ... meglio buttare il progetto :D
La libreria TimeLib di Paul Stoffregen originariamente si chiamava proprio Time e basta, il nome TimeLib è uscito fuori proprio perché andava in conflitto con la time.h di AVR. Nello sketch ai fa uso proprio di questa libreria. Mi chiedo come Paul, che non è certo il primo arrivato, abbia potuto fare un errore del genere.
Di solito, se si trova un riferimento di time.h si intende proprio la libreria di Paul.

gpb01

#37
May 17, 2019, 04:46 pm Last Edit: May 17, 2019, 04:47 pm by gpb01
Solo che c'è si la time.h ma manca la time.cpp, per cui non dovrebbe compilare.
... se avessi letto tutta la discussione avresti visto che ... abbiamo già risolto e che il .h è più che sufficente.

Scarica quanto al mio post #24 e divertiti a compilare :smiley-twist:

Guglielmo

P.S.: Chi ti ha detto che per ogni .h ci deve essere un .cpp? ? ?    Sicuramente NON è elegante ed è sconsigliato, ma si può tranquillamente mettere tutto solo nel .h ...
Search is Your friend ... or I am Your enemy !

zoomx

La libreria di Paul è composta sia dal .h che dal cpp, Se vai a vedere nella pagina su Hackster del progetto nel .h ci sono solo le dichiarazioni delle funzioni ma le funzioni non ci sono.
Se confronti l'intestazione del .h nel progetto su hackster con l'intestazione della Timelib.h della libreria di Paul vedi che sono identiche. C'è anche il vecchio nome time.h

Code: [Select]
/*
  time.h - low level time and date functions
*/

/*
  July 3 2011 - fixed elapsedSecsThisWeek macro (thanks Vincent Valdy for this)
              - fixed  daysToTime_t macro (thanks maniacbug)
*/ 



So che è possibile infilare tutto nel .h, nel progetto in questione c'è la libreria EEPROM.h che non ha bisogno del cpp ma nel post avevo sbagliato e avevo scritto keyboard.h però hai fatto bene a precisarlo.


gpb01

Forse stiamo dicendo la stessa cosa ... gli unici files necessari affinché quel codice compili correttamente sono (tutti nella stessa cartella del progetto):

keyboard.ino
time.h
eeprom.h

... e null'altro. La time.h che viene fornita include SOLO un minimo subset di tutte le funzioni della time.h completa (per starci in memoria) ... il .cpp NON serve, è una funzione di libreria ed il linker pesca da li il codice !!!

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up