Libreria time.h (istallazione)

… come temevo … il package usa una versione ridotta della AVR libc per cui, manca la “time.h”

Allego la time.h che loro consigliano per il progetto (… è comunque una versione ridotta della time.h).

>Stilita: prendi il file allegato e mettilo nella cartella del tuo progetto. Lascia, come era la #include “time.h” visto che quella di sistema è stata tagliata via e deve prenderla dalla cartella del progetto. :frowning:

Guglielmo

time.h (6.54 KB)

gpb01: ... comunque ho scaricato il progetto e provo a compilarlo ... non vorrei che il package che fanno installare (digistump) fosse una versione "castrata" (come era in passato, per ragioni di spazio) di AVR libc ::)

Se hai scaricato il progetto hai anche visto di quale hardware parlano, puoi illuminarmi, per mia curiosità?.. Nell'unica foto che vedo c'è una specie di chiavettina USB e basta...

... come temevo ... il package usa una versione ridotta della AVR libc per cui, manca la "time.h" >Stilita: prendi il file allegato e mettilo nella cartella del tuo progetto. lascia, come era la #include "time.h" visto che quella di sistema è stata tagliata via :(

Ah, ecco, mi pareva strano... ;)

docdoc: Se hai scaricato il progetto hai anche visto di quale hardware parlano, puoi illuminarmi, per mia curiosità?

... usano QUESTO prodotto ... un modo semplice di programmare gli ATtiny85 perdendo parte della (gia poca) memoria per metterci dentro un bootloader ed un emulatore software di USB (V-USB) ::)

Mai usati ... gli ATtiny85 li uso con il programmatore ISP e risparmio memoria ... :grin:

Guglielmo

Bellino sto prodotto... Certo, con gli ATtiny tocca stare attenti all'uso della memoria e del processore, ma per cose minuscole vanno pure bene credo. In questo caso è anche chiaro a questo punto perché sia una versione "limitata" anche di time.h... ;)

ma scusa,

gpb01: ... emulatore software di USB (V-USB) ::)

non c'era uno settimana scorsa che cercava proprio una cosa del genere? Che io avevo consigliato di provare ps2....

>Stilita: Ecco, prendi l’intero progetto allegato (che compila) … nel loro “package” hanno rimosso parecchie cose standard (anche la <eeprom.h> per ridurre al minimo lo spazio), per cui occorre scaricare e mettere nella cartella tutti i vari files (per di più in versione ridotta).

In ogni caso, io cambierei nome al progetto dato che … se ben ricordo, “keyboard” è il nome di una libreria per Arduino Leonardo e simili ::slight_smile:

Guglielmo

keyboard.zip (5.22 KB)

Standardoil: ma scusa,non c'era uno settimana scorsa che cercava proprio una cosa del genere?

Non mi risulti emuli una HID, ma solo la parte di colloquio seriale.

Guglielmo

Sul sito del progetto hanno anche un adattatore da ps2 a USB Real USB Model-M PCB ma non è il solo, hanno anche altre tastiere, mouse, e un fracco di altra roba

Standardoil: Sul sito del progetto hanno anche ...

... visto ... mai provato, mi fido sempre di quello che diceva Astrobeed ... lo definiva una "cagxxa pazzesca" e quindi l'ho sempre "schifato" :D

Probabilmente, per piccole cose, a bassissima velocità e senza troppe pretese, funziona pure ::)

Guglielmo

Tastiera non è veloce...

Signori, solo ora ho visto che le risposte sono aumentate, domani provo a fare tutto e vi faccio sapere.

Per ora ho commentato la dichiarazione time.h e ha funzionato generando una password. Ma vorrei farlo funzionare come da listato, quindi a domani, ciao.

Stilita: 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

gpb01: La soluzione è nel mio post #24 ;)

Guglielmo

Ok, grazie, poi ti faccio sapere.

@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…

Stilita: 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 :confused:

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

Guglielmo

L' ho cancellato tramite un programmatore ISP, ma ora l'USB non lo riconosce più...

Stilita:
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

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.

gpb01: ... è 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.

zoomx: 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 :smiling_imp:

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 ...

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

/*
  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.