leo72:
Non ho parole..... dalle modifiche ad una lib a parlare delle lib..ertine!
ROTFL, ma dai, non te la prendere, ti stiamo solo facendo da squadra per tirarti la volata dei 10kpost hai presente i gregari nelle squadre di bici, quelli che pedalano come pazzi fino a scoppiarsi i polpacci, per stancare gli avversari e creare dietro di loro un'area protetta dal vento d'impatto, nel quale si infila il ciclista capitano, che può in tal modo correre alla stessa velocità ma stancandosi molto meno? Ecco, siamo noi, vai Gimondi!
Allegato al 1° post di questa discussione c'è la nuova versione 1.0.5 della libreria.
Ho inserito la funzione getWeekDay che restituisce l'attuale giorno della settimana in formato numerico, con 0->domenica...6->sabato.
Ho inoltre aggiunto (ma questo già dalla versione 1.0.4 della lib che però non avevo messo nel 1° post) il supporto all'Attiny4313.
Ho infine rivisto gli sketch di esempio: in swRTCtest ho messo molti dei metodi della libreria mentre ho inserito un nuovo sketch denominato swRTCprintTime. Con esso vediamo se mettiamo a tacere le voglie di orari stampati nel formato OO:MM(:SS) di Testato
Perché ho messo questa funzione in uno sketch e non nella libreria? Per il semplice motivo che la libreria è nata per gestire l'orario internamente, quindi appesantire con qualche centinaio di byte (tanti erano i byte che venivano aggiunti alla lib) il codice solo per stampare sulla seriale l'orario non mi sembrava logico. Di tutti quelli che useranno la swRTC (pochi ) ci sarà l'1% che si sollazzerà con essa stampando sul terminale l'orario. Quindi ho deciso di mettere la funzione in uno sketch, in modo che chi voglia usarla, sa dove trovarla. Così ho deciso, l'udienza è tolta! ]
Bhe io la uso da diverso tempo e mi piace, poi se c'e' 08:08:08 o 8:8:8 mi importa poco tendente a zero. Quando scrivo su SD l'ora e l'evento basta e avanza. Se qualcuno vuole un extralusso ci mette un Rolex e si leva il pensiero ]
ho visto che in firma hai messo un unico riferimento, il tuo sito.
pero' sul sito non hai aggiornato i vari lavori, ad esempio questa libreria e' ancora alla 1.0.1 con i problemi che ne derivano (non mi funzionava getWeekday )
bye
non conviene se linki direttamente a github per il download, e anche i link che metti quì li fai puntare alle varie versioni della libreria? in questo modo hai sia arduino che il tuo sito puntano ad una variabile unica
Sì, quando tutti i miei lavori li ho trasferiti su GitHub linkerò direttamente lì. Per ora sto sistemando il mio sito e pian pianino cerco di mettere tutti i contenuti in inglese. Fatto questo, passerò a sistemare i download.
leo mi dici perche' non funziona il tuo sketch modificandolo in questo modo ?
thanks
#include <swRTC.h>
swRTC rtc; //create a new istance of the lib
const byte WITHOUT_SECONDS = 0;
const byte WITH_SECONDS = 1;
void setup() {
rtc.stopRTC(); //stop the RTC
rtc.setTime(12,0,0); //set the time here
rtc.setDate(4,6,2012); //set the date here
rtc.startRTC(); //start the RTC
Serial.begin(19200); //choose the serial speed here
delay(2000); //delay to let the user opens the serial monitor
}
void loop() {
Stampa_Ora();
delay(1000);
}
void Stampa_Ora()
{
printTime_SER(WITH_SECONDS);
void printTime_SER(byte withSeconds) {
sendNumber_SER(rtc.getHours());
Serial.print(":");
sendNumber_SER(rtc.getMinutes());
if (withSeconds) {
Serial.print(":");
sendNumber_SER(rtc.getSeconds());
}
Serial.println("");
}
void sendNumber_SER(byte number) {
byte temp;
if (number>9) {
temp=int(number/10);
Serial.print(char(temp+48));
number-=(temp*10);
} else {
Serial.print("0");
}
Serial.print(char(number+48));
}
}
Premetto che non ho testato (uh oh.... ) lo sketch perché i miei Arduini sono al piano di sopra ed io sono sdraiato a bivaccare sul letto al piano di sotto... XD XD
Però il tuo sketch a me non compila neanche, perché ti sei messo a "giocare" con le parentesi graffe
#include <swRTC.h>
swRTC rtc; //create a new istance of the lib
const byte WITHOUT_SECONDS = 0;
const byte WITH_SECONDS = 1;
void setup() {
rtc.stopRTC(); //stop the RTC
rtc.setTime(12,0,0); //set the time here
rtc.setDate(4,6,2012); //set the date here
rtc.startRTC(); //start the RTC
Serial.begin(19200); //choose the serial speed here
delay(2000); //delay to let the user opens the serial monitor
}
void loop() {
Stampa_Ora();
delay(1000);
}
void Stampa_Ora() {
printTime_SER(WITH_SECONDS);
}
void printTime_SER(byte withSeconds) {
sendNumber_SER(rtc.getHours());
Serial.print(":");
sendNumber_SER(rtc.getMinutes());
if (withSeconds) {
Serial.print(":");
sendNumber_SER(rtc.getSeconds());
}
Serial.println("");
}
void sendNumber_SER(byte number) {
byte temp;
if (number>9) {
temp=int(number/10);
Serial.print(char(temp+48));
number-=(temp*10);
} else {
Serial.print("0");
}
Serial.print(char(number+48));
}
Testato:
maledette parentesi graffe, e pensare che era l'unica cosa sulla quale avrei scommesso che era corretta
grazie
prova notepad++, ha un ottimo sistema per aiutarti a scrivewre il codice. Ti evidenzia la parentesi di chiusura, puoi nascondere blocchi di codice etc..
lo conosco, ma ti assicuro che il metodo di scrittura e' l'ultimo dei miei problemi,
io non e' che avevo sbagliata a metterla, credevo proprio che era quella la posizione giusta
Testato:
lo conosco, ma ti assicuro che il metodo di scrittura e' l'ultimo dei miei problemi,
io non e' che avevo sbagliata a metterla, credevo proprio che era quella la posizione giusta
ahhahahah ti piaceva li, ma tu pensa che dopo molto anni che programmo le parentesi graffe ancora le copio e le incollo dalle altre parti,odio dover fare ALT + etc punto 1 perchè mi dimentico sempre come si fa punto 2 perchè sul mio pc attivare il tastierino numerico è un incubo
Su Linux si usa la combinazione AltGr+[ oppure ], è molto comodo. Così non devi impazzire con il tastierino numerico assente dei portatili.
Ma non si può su Windows impostare delle scorciatoie da tastiera per assegnare ad una combinazione di tasti un determinato carattere?