Scusa, piu' ti leggo e ti rileggo e meno capisco
tu usi degli RTC che hanno accuratezza di 2 parti per milione
e hai difficoltà di timing?
scusa, ma non ci credo, con accuratezza di due parti per milione e slot time di 4 secondi tu potresti avere dei problemi non prima di un milione di secondi (che fa' un errore atteso di 2 secondi, mezzo slot time)
un milione di secondi sono un fracco di tempo, circa 11 giorni
Non è ancora passato abbastanza tempo da quando hai cominciato per aver visto questi problemi, siamo al 27 maggio e non credo che tu abbia cominciato con gli RTC molto tempo fa
faccio delle libere ipotesi e poi mi fermo, visto che senza dettagli da parte tua non si va molto avanti
- tu ti affidi per la riaccensione dei satelliti solo sul watchdog, e questo potrebbe essere non preciso
- tu non verifichi mai la correttezza dei tempi dei vari satelliti e lasci che tra watchdog e tempi tecnici vari lentamente escano fuori passo
secondo me quello che vuoi fare si fa tranquillamente senza alcun RTC, e ti è già stato detto come
io farei così, senza alcun RTC
divido il tempo di trasmissione in slot-time di 4 secondi
faccio svegliare da watch dog il satellite di turno (tra poco vedi come)
il satellite aspetta la trasmissione da parte del centrale
il centrale trasmette al secondo 2 del time slot
alla ricezione il satellite ri-regola i suoi tempi (memorizza millis, ad esempio)
il satellite trasmette quello che deve trasmettere nel secondo 3 (ovvero mille millisecondi dopo la ricezione)
il satellite fa quello che deve
al termine dei suoi compiti il satellite calcola il tempo di sleep che gli serve per svegliarsi circa un secondo prima della prossima trasmissione a lui destinata,
se sbaglia in più, ovvero dorme troppo, ha un secondo di margine
se sbaglia in meno, ovvero dorme troppo poco, nulla di grave, aspetta la trasmissione un pochino di più, ma tanto ripete i calcoli ad ogni ciclo
naturalmente il master ripete un ciclo di 4 secondi, al secondo 2 trasmette e si aspetta una ricezione al secondo 3
se calcoli in maniera analitica i massimi errori del master e del satellite puoi regolare i tempi in maniera da avere anche più di un secondo di margine se per caso il satellite si "sveglia tardi"
se oltretutto usi degli rtc con un pin di sveglia, come quelli che usi, puoi, prima di andare a mandare a dormire il sattellite, ri-calcolare il wake up time sul valore attuale ottenuto dal timing delle trasmissioni, in questa maniera nemmeno ti affidi al watch dog, che non è precisissimo
ma comunque, in ogni caso, se l'errore massimo atteso sommando l'errore del master e quello del satellite è minore della fascia di sicurezza che gli lasci, sei sicuro che si ri-sincronizzano ad ogni trasmissione