User`s manual

Table Of Contents
W406-LX Linux User’s Manual Programmer’s Guide
6-6
int set_din_event(int diport, void (*func)(int diport), int mode, long int duration)
Description: Set the event for DIN when the state is changed from high to low or from low to high.
Input: int diport - the port that will be used to detect the DIN event.
Port numbering is from 0 to 3.
void (*func) (int diport) - Not NULL
> Returns the call back function. When the event occurs, the call back function will be invoked.
NULL
> Clears this event
int mode - DIN_EVENT_HIGH_TO_LOW
(1): from high to low
DIN_EVENT_LOW_TO_HIGH
(0): from low to high
DIN_EVENT_CLEAR
(-1): clear this event
unsigned long duration - 0: detect the din event > DIN_EVENT_HIGH_TO_LOW or
DIN_EVENT_LOW_TO_HIGH> without duration
- Not 0
> detect the din event
DIN_EVENT_HIGH_TO_LOW or
DIN_EVENT_LOW_TO_HIGH with duration.
The value of “duration” must be a multiple of 20 milliseconds.
The range of duration” is 0, or 40 <= duration <= 3600000 milliseconds.
The error of the measurement is 24 ms. For example, if the DIN duration is 200 ms, this event will
be generated when the DIN pin stays in the same state for a time between 176 ms and 200 ms.
Output: none.
Return: reference the error code.
int get_din_event(int diport, int *mode, long int *duration)
Description: To retrieve the DIN event configuration, including mode
(DIN_EVENT_HIGH_TO_LOW or DIN_EVENT_LOW_TO_HIGH), and the value of
“duration.”
Input: int diport - which DIN port you want to retrieve.
The port whose din event setting we wish to retrieve
int *mode - save which event is set.
unsigned long *duration - the duration of the DIN port is kept in high or low state.
- return to the current duration value of diport
Output: mode DIN_EVENT_HIGH_TO_LOW