Hi guys,

Attached in my current sample. I'm expecting LED to flash ~5 seconds after
PICis powered up, but it does only 1s after. I'm not sure to understand
anymore about repeat, period, etC... :) I'm not using either of them, just
setting an alarm, and check ALRMEN bit for cleared state.

Cheers,
Seb

2011/4/8 Sebastien Lelong <[email protected]>

>
>
> 2011/4/7 Rob Hamerling <[email protected]>
>
>>
>>
>> On 2011/04/07 15:42, Sebastien Lelong wrote:
>>
>>  Another comment: it's not clear when RTCC peripheral is enabled or not.
>>>
>>
>> It is enabled by rtc_init()
>
>
> It is also when calling rtc_set_hhmmss_bcd(), because it calls
> itself _rtc_write() and _rtc_write goes like this:
>
>   1. RTCCFG_RTCEN = false
>   2. update rtc registers
>   3. RTCCFG_RTCEN = true
>
> so even if I'm not calling rtc_init(), setting a date or time will enable
> it.
>
>
>
>>
>>
>>  I understand (from API point of view) rtc_init() actually enable the
>>> peripheral. But reading code, it's also enabled each time _rtc_write()
>>> is called, this means at each RTC setting (rtc_set, ...).
>>>
>>
>> The datasheet says that the rtc registers should be written to only when
>> the rtcc is disabled. Therefore the write routines contain a disable
>> operation at entrance and a enable operation before returning.
>> Did you overlook something or did I?
>
>
> No, I think we agree, but according to my previous comment, this process
> could go like this:
>
> -- global state
> var bit _rtc_enabled = false
>
> procedure _rtc_write() is
>    ...
>    -- disable in any case
>    RTCCFG_RTCEN = false                         -- disable rtc (temporary)
>    ...
>    -- enable it if it was previously enabled
>    RTCCFG_RTCEN = _rtc_enabled
>    ...
> end procedure
>
> procedure rtc_enable() is -- or rtc_init()
>    ...
>    _rtc_enabled = true
> end procedure
>
> procedure rtc_disable() is
>    _rtc_enabled = false
> end procedure
>
>
> This way, I know when RTC will be enabled, because I'm controlling it.
>
>
>>
>> I cannot think why - once started - one would want to disable the rtcc
>> module as a whole, but such a procedure could be added easily.
>
>
> API point of view: if it can be started, then it should be stoppable too
> (that's just a rule I'd stick too, a matter of taste). But I can see a real
> life example. If you want to build a stopwatch, you'll need to be able have
> control on start/stop state.
>
>
> Cheers,
> Seb
>



-- 
Sébastien Lelong
http://www.sirloon.net
http://sirbot.org

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Attachment: jaluino_bee_rtc_hardware.jal
Description: Binary data

Reply via email to