UC-7400-LX Plus User’s Manual
Programmer’s Guide
5-5
Device API
The UC-7400-LX Plus supports control devices with the
ioctl
system API. You will need to use
include <moxadevice.h>
, and use the following
ioctl
function.
int ioctl(int d, int request,…);
Input: int d - open device node return file handle
int request – argument in or out
Use the desktop Linux’s man page for detailed documentation:
#man ioctl
RTC (Real-time Clock)
The device node is located at
/dev/rtc
. The UC-7400-LX Plus supports Linux standard simple
RTC control. You must include
<linux/rtc.h>
.
1.
Function: RTC_RD_TIME
int ioctl(fd, RTC_RD_TIME, struct rtc_time *time);
Description: read time information from RTC. It will return the value on argument 3.
2.
Function: RTC_SET_TIME
int ioctl(fd, RTC_SET_TIME, struct rtc_time *time);
Description: set RTC time. Argument 3 will be passed to RTC.
Buzzer
The device node is located at
/dev/console
. The UC-7400-LX Plus supports Linux standard buzzer
control, with the UC-7400-LX Plus’s buzzer running at a fixed frequency of 100 Hz. You must use
include <sys/kd.h>
.
Function: KDMKTONE
ioctl(fd, KDMKTONE, unsigned int arg);
Description: The buzzer’s behavior is determined by the argument arg. The “high word” part
of arg gives the length of time the buzzer will sound, and the “low word” part gives the
frequency.
The buzzer’s on/off behavior is controlled by software. If you call the “ioctl” function, you
MUST set the frequency at 100 Hz. If you use a different frequency, the system could crash.