On Sun, Jan 10, 2016 at 02:55:57PM +0100, meino.cra...@gmx.de wrote > Hi, > > currently I am experimenting with a new embedded system > (OrangePI PC). I want to suspend the system to RAM. > After a period of time the system should wakeup. > > The RTC on the board seems to support alarms. > > Is there a tool to set the alarm time of an RTC > from the commandline like hwclock set the RTC > time itsself? > > I couldn't find one (or successfully overlooked it...) > > Thank you very much in advance for any help! > Best regards, > Meino
I'm not aware of any utilities. Is it linux, and how good are you at shell scripts? Two virtual files you'll need to know about are... /sys/class/rtc/rtc0/since_epoch /sys/class/rtc/rtc0/wakealarm Note that writing to /sys requires root privileges. Both files are in seconds since 1970-01-01 00:00:00 UTC. This is the same output that "date +%s" produces. To test it, run the command... date +%s ; cat /sys/class/rtc/rtc0/since_epoch Let's say that you want it wake up in 3 minutes (i.e. 180 seconds from now). You'll have to use either "eval" or backticks. The command would be... #!/bin/bash echo $(( 180 + `cat /sys/class/rtc/rtc0/since_epoch` )) > /sys/class/rtc/rtc0/wakealarm ...and powerdown. It should wake up 3 minutes after you issued the command. How about specifying a future time, you ask? First, we need to know the input format. The "--date" command uses the format "MM/DD/YYYY HH:mm:ss" (Month/Day/Year Hour:Minute:Second) the brackets indicate optional items. To get the seconds since epoch at... year 2016 month 01 day 20 hour 23 minute 00 second 00 the command is... date +%s --date="01/20/2016 23:00:00" ...which outputs 1453348800 To set a wakeup alarm for that time... date +%s --date="01/20/2016 23:00:00" > /sys/class/rtc/rtc0/wakealarm You'll probably want to write a script to accept input from a user or another program. Beware of UTC offsets and Daylight Saving Time. -- Walter Dnes <waltd...@waltdnes.org> I don't run "desktop environments"; I run useful applications