Pages: 1 ... 47 48 [49] 50 51 ... 72   Go Down
Author Topic: swRTC  (Read 60294 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21652
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato e fatto dei test, tempo addietro, perché sulla carta l'uso del timer 2 permette di mettere in sleep il micro. Quindi avevo combinato lo sleep alla gestione temporale:

1) messa in sleep del micro
2) uscita dallo sleep per overflow del timer 2
3) aggiornamento temporale dell'RTC
4) rimessa in sleep del micro

Il problema però è che la procedura per uscire dallo sleep richiede del tempo: questo tempo di per sé non è molto, ma il problema è che si somma ed alla fine arriva ad incidere in maniera molto significativa sulla libreria.
Considera che abbiamo 1000 overflow al secondo, ed ogni volta devi rifare tutta la trafila su indicata.

A suo tempo non misurai fisicamente il ritardo ma ti posso garantire che era ben visibile anche ad occhio nudo con il semplice test del blink del led dell'esempio allegato alla libreria.
Logged


0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo
sul numero di questo mese di Firmware hanno pubblicato un swRTC con un pic
e' visibile anche online qui, chissa' se l'autore conosce il tuo lavoro  smiley
http://www.nxtbook.fr/newpress/inwaredizioni/Firmware-2012-02_73/index.php?ap=1#/44/OnePage
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21652
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io non riesco a leggerlo...  smiley-roll-sweat
Logged


0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oggi nemmeno a me, avranno problemi sul server.
cmq se ci fai caso c'e' un menu' nascosto, appare quando metti il mouse in alto, proprio ad inizio pagina. si apre un bottone SOLO TESTO.
A me in questo modo fa leggere l'articolo, tanto di immagini non c'era niente di importante
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

oggi nemmeno a me, avranno problemi sul server.
cmq se ci fai caso c'e' un menu' nascosto, appare quando metti il mouse in alto, proprio ad inizio pagina. si apre un bottone SOLO TESTO.
A me in questo modo fa leggere l'articolo, tanto di immagini non c'era niente di importante
Fino a pagina 31-32 fa vedere tutto, testo, immagini e perfino la pubblicità  smiley-yell
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho riprovato, ed a me non fa vedere nessuna pagina,
cmq questo link e' solo a scopo promozionale, probabilmente memorizzano l'indirizzo ip e poi non fanno piu' vedere dopo tot pagine.
pero' leo non essendoci mai entrato dovrebbe riuscirci.
Riconfermo cmq che a livello testuale e' ancora tutto accessibile per me
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21652
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io non ho visto nulla neanche la prima volta.
Logged


Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma sopratutto quella rivista non era fallita ? da me' da 1 anno che non si vede piu' nelle edicole nel raggio di 50Km da dove abito
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21652
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ma sopratutto quella rivista non era fallita ? da me' da 1 anno che non si vede piu' nelle edicole nel raggio di 50Km da dove abito
E' solo digitale, ormai.
Logged


Offline Offline
God Member
*****
Karma: 0
Posts: 600
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo, tu che sei esperto di orologi software, hai mica una formula pronta e testata per il passaggio dall'ora legale a quella solare e viceversa?
Valore di partenza ricevuto da un server NTP: unix time.
Al quale aggiungo un 3600 s per UTC(IT).
Adesso cercavo qualcosa del tipo:
If ( Blabla ) { aggiungi altri 3600s }.
Suggerimenti?
Logged

Cagliari, Italy
Online Online
Tesla Member
***
Karma: 104
Posts: 6617
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nella libreria indicata nel mio post: http://arduino.cc/forum/index.php/topic,94104.msg710718.html#msg710718
C'è già la funzione ora legale.
Si tratta di estrarla e implementarla nella libreria standard o come funzione a se.

Code:
// check if current time is european summer time
uint8_t DS1307new::isMEZSummerTime(void)
{
  uint32_t current_time, summer_start, winter_start;
  current_time = time2000;
 
  // calculate start of summer time
  fillByYMD(year, 3, 30);
  fillByHMS(2,0,0);
  fillByCDN(RTC.cdn - RTC.dow); // sunday before
  summer_start = time2000;
 
  // calculate start of winter
  fillByYMD(year, 10, 31);
  fillByHMS(3,0,0);
  fillByCDN(RTC.cdn - RTC.dow); // sunday before
  winter_start = time2000;
 
  // restore time
  fillByTime2000(current_time);
 
  // return result
  if ( summer_start <= current_time && current_time < winter_start )
    return 1;
  return 0; 
}

Praticamente è tutto nell'ultimo if.
Se la data corrente e dopo l'ultima domenica di marzo alle 2.00 e prima dell'ultima domenica di ottobre alle 3.00 allora c'è l'ora legale.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21652
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Avevo fatto una versione con l'ora legale per Testato, mi pareva di averla pubblicata qualche pagina addietro.
Era beta ma doveva funzionare, per lo meno per le prove che avevo fatto io.
Logged


Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21652
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ecco, ho ritrovato il post dove la trovate allegata:
http://arduino.cc/forum/index.php/topic,73496.msg614955.html#msg614955
Logged


Offline Offline
God Member
*****
Karma: 0
Posts: 600
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sono in giro quindi non ho ancora avuto modo di vedere il codice di Leo.
Mentre il codice postato da Paolo è quantomeno criptico...
Come calcola la domenica del mese lo sa solo lui :p
Stasera mi guardo bene i listati di entrambe le librerie ma possibile che non esista una formula standar gia fatta, senza doverla estrarre da qualche parte o scriversela da soli?
Non è tanto questione di complessità quanto di testing.
Se qualcosa non va me ne accorgo solo tra mesi quando è gia tutto inscatolato smiley
Logged

0
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma non esistono server NTP che forniscono l'ora legale ?
sarebbe un bel servizio da dare, si potrebbe creare un server dove l'utente si sceglie il suo paese, tipo Italia, e fornisse una stringa da usare nel micro che includesse gia' la correzione per l'ora legale italia
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Pages: 1 ... 47 48 [49] 50 51 ... 72   Go Up
Jump to: