Hi guys, continuing the work with CPU_FAM_STM32L5
I have got some progress with cpu/stm32/periph/rtc_all
. When trying examples/default
and using rtc
commands through shell
the RTC seems to be setting and tracking time 'bout well. The outputs:
main(): This is RIOT! (Version: 2021.07-devel-247-gd2fa7-periph_rtc_l5)
Welcome to RIOT!
> help
help
Command Description
---------------------------------------
reboot Reboot the node
version Prints current RIOT_VERSION
pm interact with layered PM subsystem
ps Prints information about running threads.
rtc control RTC peripheral interface
saul interact with sensors and actuators using SAUL
> rtc poweron
rtc poweron
> rtc settime 2021-06-16 19:48:30
rtc settime 2021-06-16 19:48:30
> rtc gettime
rtc gettime
2021-06-16 19:48:35
> rtc help
rtc help
unknown command or missing parameters: help
usage: rtc <command> [arguments]
commands:
poweron power the interface on
poweroff power the interface off
clearalarm deactivate the current alarm
getalarm print the currently alarm time
setalarm YYYY-MM-DD HH:MM:SS
set an alarm for the specified time
gettime print the current time
settime YYYY-MM-DD HH:MM:SS
set the current time
> rtc setalarm 2021-06-16 19:49:00
rtc setalarm 2021-06-16 19:49:00
> rtc get aThe alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
The alarm rang
When using tests/periph_rtc
it’s seems to have problems with the mutex
module, I assume it’s something with the ISR flags and registers. The output:
main(): This is RIOT! (Version: 2021.07-devel-247-gd2fa7-periph_rtc_l5)
RIOT RTC low-level driver test
This test will display 'Alarm!' every 2 seconds for 4 times
Setting clock to 2020-02-28 23:59:57
Clock value is now 2020-02-28 23:59:57
Setting alarm to 2020-02-28 23:59:59
Alarm is set to 2020-02-28 23:59:59
Alarm cleared at 2020-02-28 23:59:57
PID[1] mutex_lock().
PID[1] mutex_lock(): early out.
PID[1] mutex_lock().
PID[1] mutex_lock() Adding node to mutex queue: prio: 7
PID[1] mutex_unlock(): queue.next: 0x20000864
PID[1] mutex_unlock(): waking up waiting thread 1
No alarm at 2020-02-28 23:59:59
Setting alarm to 2020-02-29 00:00:01
PID[1] mutex_lock().
PID[1] mutex_lock() Adding node to mutex queue: prio: 7
PID[1] mutex_unlock(): queue.next: 0x20000864
PID[1] mutex_unlock(): waking up waiting thread 1
PID[1] mutex_unlock(): queue.next: 0xffffffff
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
PID[1] mutex_unlock(): queue.next: 0
Any suggestions or ideas? I’m so close to get all the peripherals needed, hope we can get to something.
Greetings!