Hi Vasile,

I don't have a library in jallib acception, however routines below works
OK for me.

If you don't mind I have some comments.


const bit RTC_enabled = 1
const bit RTC_disabled = 0

procedure RTC_writing (bit in value) is
  RTCCFG_RTCWREN = value -- 1 enabled, 0 disabled
  EECON2    = 0x55      -- \ required sequence
  EECON2    = 0xAA      -- /
  RTCCFG_RTCWREN = 1    ; allow writting to RTCCFG
end procedure

I think this procedure doesn't work as you think/hope.

1.
Kyle recommended to use
  'asm bank RTCCFG'
in stead of your
  RTCCFG_RTCWREN = value
to prepare for accessing RTCCFG after EECON2

2.
Your statement sets the bank for RTCCFG properly, but the result of the procedure is always RTCWREN = '1' (the last statement), regardless if called with 'value' 0 or 1.



procedure read_time () is
-- read hour
RTCCFG_RTCPTR1 = 0
RTCCFG_RTCPTR0 = 1
  if RTCCFG_RTCSYNC == 0 then
     hour = RTCVALL
  end if
;H2 = (hour & 0b0000_1111) + 0x30
;H1 = ((hour >> 4) & 0b0000_1111) + 0x30
-- read minute
RTCCFG_RTCPTR1 = 0
RTCCFG_RTCPTR0 = 0
  if RTCCFG_RTCSYNC == 0 then
     minute = RTCVALH
  end if
;M2 = (minute & 0b0000_1111) + 0x30
;M1 = ((minute >> 4) & 0b0000_1111) + 0x30
-- read seconds
RTCCFG_RTCPTR1 = 0
RTCCFG_RTCPTR0 = 0
  if RTCCFG_RTCSYNC == 0 then
     second = RTCVALL
  end if
;S2 = (second & 0b0000_1111) + 0x30
;S1 = ((second >> 4) & 0b0000_1111) + 0x30
end procedure

3. You simply skip reading a RTCVALL/H register when RTCSYNC is '1'.
That might give strange results!

4.
You don't make use of the automatic decrementation of the RTCPTR<1,0> bits (not required but is shorter).

Except for item 3 my comments may not prevent your application from working properly. And even 3. might not harm when you read often enough. So it is more a matter of 'clean' programming.

Thanks again for publishing your source!
I have my RTC library working pretty well. I need to do some cleanup and test the alarm-related parts before making it available in Jallib. When somebody urgently needs the time and date functions I might publish the library without alarm functions and save that for a later release.

Regards, Rob.

--
Rob Hamerling, Vianen, NL (http://www.robh.nl/)

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

Reply via email to