mirror of https://github.com/nirenjan/libx52.git
Add Man pages in RONN format
parent
db19e4dcae
commit
6528459645
|
@ -0,0 +1,7 @@
|
||||||
|
# Ignore generated man pages
|
||||||
|
*.1
|
||||||
|
*.3
|
||||||
|
|
||||||
|
# Ignore generated html pages
|
||||||
|
*.html
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Makefile to generate man & html pages from ronn input
|
||||||
|
# This is deliberately kept as a manual makefile and not as a part of
|
||||||
|
# the autotools framework for the time being.
|
||||||
|
|
||||||
|
PROJECT := x52pro-linux
|
||||||
|
|
||||||
|
MAN3_PAGES := $(wildcard *.3.ronn)
|
||||||
|
all: $(MAN3_PAGES)
|
||||||
|
ronn --manual "Programmer's Guide" --organization="$(PROJECT)" $(MAN3_PAGES)
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -f *.3
|
||||||
|
rm -f *.html
|
|
@ -0,0 +1,9 @@
|
||||||
|
Man Pages for x52pro-linux
|
||||||
|
==========================
|
||||||
|
|
||||||
|
This folder contains the man pages for the components of libx52 in a Markdown
|
||||||
|
format called ronn. To convert them into man pages requires the ronn executable,
|
||||||
|
which may be found in the ruby-ronn package on Ubuntu. Other distributions may
|
||||||
|
have a similar package name.
|
||||||
|
|
||||||
|
ronn may also be found at http://github.com/rtomayko/ronn
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Standard POSIX manuals
|
||||||
|
time(2) http://man.cx/time%282%29
|
||||||
|
localtime(3) http://man.cx/localtime
|
||||||
|
gmtime(3) http://man.cx/gmtime
|
||||||
|
timezone(3) http://man.cx/tzset
|
|
@ -0,0 +1,18 @@
|
||||||
|
libx52_exit(3) -- exit the library and free up any resources used
|
||||||
|
=================================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
**void libx52_exit(libx52_device * _dev_)**
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_exit()` releases any resources allocated by libx52_init(3) and
|
||||||
|
terminates the library. Using the freed device now is invalid and can cause
|
||||||
|
errors.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_init(3)
|
|
@ -0,0 +1,27 @@
|
||||||
|
libx52_init(3) -- Initialize libx52
|
||||||
|
===================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`libx52_device * libx52_init(void)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_init()` initializes the libx52 library, sets up any internal data
|
||||||
|
structures to access the X52 Pro joystick and returns a *libx52_device* pointer.
|
||||||
|
|
||||||
|
If no joystick is found `libx52_init()` returns _NULL_.
|
||||||
|
|
||||||
|
## LIMITATIONS
|
||||||
|
|
||||||
|
`libx52_init()` currently only recognizes the Saitek X52 Pro, not the original
|
||||||
|
Saitek X52.
|
||||||
|
|
||||||
|
`libx52_init()` does not support hotplugging. The joystick must be plugged in
|
||||||
|
before calling this function.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_exit(3)
|
|
@ -0,0 +1,21 @@
|
||||||
|
libx52_set_blink(3) -- turn the blink module on or off
|
||||||
|
======================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_blink(libx52_device *` _x52_`, uint8_t ` _state_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_set_blink()` can be used to set the state of the blink module to `on`
|
||||||
|
(_state_ is non-zero) or `off` (_state_ is 0).
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_blink()` returns 0 on success, and `-EINVAL` if _x52_ is not valid.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_update(3)
|
|
@ -0,0 +1,25 @@
|
||||||
|
libx52_set_brightness(3) -- set the brightness of the MFD or LEDs
|
||||||
|
=================================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_brightness(libx52_device *` _x52_`, uint8_t ` _mfd_
|
||||||
|
`, uint16_t ` _brightness_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_set_brightness()` can be used to set the brightness of the MFD (if _mfd_
|
||||||
|
is non-zero) or the LEDs (if _mfd_ is *0*). Brightness should be a value
|
||||||
|
between 0 and 128. While higher values are accepted, they do not have the
|
||||||
|
intended effect.
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_brightness()` returns 0 on success, and `-EINVAL` if _x52_ is not
|
||||||
|
valid.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_set_text(3), libx52_set_led_state(3), libx52_update(3)
|
|
@ -0,0 +1,37 @@
|
||||||
|
libx52_set_clock(3) -- set the primary clock
|
||||||
|
============================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_clock(libx52_device *` _x52_`, time_t ` _time_ `, int ` _local_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_set_clock()` can be used to set the primary clock and date display of
|
||||||
|
the MFD. The _time_ can be obtained from time(2). _local_ controls whether
|
||||||
|
the primary clock displays local time or GMT.
|
||||||
|
|
||||||
|
If this function is called again within the same minute as calculated by
|
||||||
|
localtime(3) or gmtime(3), it will return `-EAGAIN`, as it does not require
|
||||||
|
any updates to be written to the X52 Pro. However, if the call changes the
|
||||||
|
timezone from local time to GMT or vice-versa, then this function will return
|
||||||
|
0, since it necessitates a write to the device to update the clock with the
|
||||||
|
new timezone.
|
||||||
|
|
||||||
|
The secondary and tertiary clocks are driven off the primary clock and set as
|
||||||
|
offsets in minutes east of GMT.
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_clock()` returns the following values:
|
||||||
|
|
||||||
|
* 0 on success
|
||||||
|
* `-EINVAL` if _x52_ is not valid
|
||||||
|
* `-EAGAIN` if the time did not require an update to the clock.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_set_clock_timezone(3), libx52_set_clock_format(3),
|
||||||
|
libx52_set_date_format(3), libx52_update(3)
|
|
@ -0,0 +1,42 @@
|
||||||
|
libx52_set_clock_format(3) -- set the clock display format
|
||||||
|
==========================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_clock_format(libx52_device *` _x52_`, libx52_clock_id `
|
||||||
|
_clock_ `, libx52_clock_format ` _format_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_set_clock_format()` can be used to set the clocks to display in 12hr
|
||||||
|
or 24hr format.
|
||||||
|
|
||||||
|
### CLOCK IDS
|
||||||
|
|
||||||
|
The following are the clocks supported by the X52 Pro MFD:
|
||||||
|
|
||||||
|
* `LIBX52_CLOCK_1` - refers to the primary clock
|
||||||
|
* `LIBX52_CLOCK_2` - refers to the secondary clock
|
||||||
|
* `LIBX52_CLOCK_3` - refers to the tertiary clock
|
||||||
|
|
||||||
|
### CLOCK FORMATS
|
||||||
|
|
||||||
|
The following formats are supported by the X52 Pro MFD:
|
||||||
|
|
||||||
|
* `LIBX52_CLOCK_FORMAT_12HR`
|
||||||
|
* `LIBX52_CLOCK_FORMAT_24HR`
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_clock_format()` returns the following values:
|
||||||
|
|
||||||
|
* 0 on success
|
||||||
|
* `-EINVAL` if _x52_ is not valid, or _clock_ or _format_ values are not in
|
||||||
|
the accepted range
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_set_clock(3), libx52_set_clock_timezone(3),
|
||||||
|
libx52_set_date_format(3), libx52_update(3)
|
|
@ -0,0 +1,34 @@
|
||||||
|
libx52_set_clock_timezone(3) -- set the timezone for the secondary and tertiary clocks
|
||||||
|
======================================================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_clock_timezone(libx52_device *` _x52_`, libx52_clock_id `
|
||||||
|
_clock_ `, int ` _offset_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_set_clock_timezone()` can be used to set the timezone for the secondary
|
||||||
|
and tertiary clocks on the MFD. The timezone is set as an _offset_ in minutes
|
||||||
|
east of GMT. Note that this is different from the timezone(3) attribute in the
|
||||||
|
standard C library which specifies the offset in seconds west of GMT.
|
||||||
|
|
||||||
|
_offset_ is limited to +/- 24 hours (1440 minutes).
|
||||||
|
|
||||||
|
See libx52_set_clock_format(3) for an explanation of `libx52_clock_id`.
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_clock()` returns the following values:
|
||||||
|
|
||||||
|
* 0 on success
|
||||||
|
* `-EINVAL` if _x52_ is not valid
|
||||||
|
* `-EDOM` if the offset is more than +/- 24 hours
|
||||||
|
* `-ENOTSUP` if the _clock_ is `LIBX52_CLOCK_1`
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_set_clock(3), libx52_set_clock_format(3),
|
||||||
|
libx52_set_date_format(3), libx52_update(3)
|
|
@ -0,0 +1,32 @@
|
||||||
|
libx52_set_date_format(3) -- set the date display format
|
||||||
|
==========================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_date_format(libx52_device *` _x52_`, libx52_date_format ` _format_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_set_date_format()` can be used to set the date display format.
|
||||||
|
|
||||||
|
### DATE FORMATS
|
||||||
|
|
||||||
|
The following formats are supported by the X52 Pro MFD:
|
||||||
|
|
||||||
|
* `LIBX52_DATE_FORMAT_DDMMYY`
|
||||||
|
* `LIBX52_DATE_FORMAT_MMDDYY`
|
||||||
|
* `LIBX52_DATE_FORMAT_YYMMDD`
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_date_format()` returns the following values:
|
||||||
|
|
||||||
|
* 0 on success
|
||||||
|
* `-EINVAL` if _x52_ is not valid
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_set_clock(3), libx52_set_clock_timezone(3), libx52_set_clock_format(3),
|
||||||
|
libx52_update(3)
|
|
@ -0,0 +1,58 @@
|
||||||
|
libx52_set_led_state(3) -- set the LED state
|
||||||
|
============================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_led_state(libx52_device *`_x52_`, libx52_led_id ` _led_
|
||||||
|
`, libx52_led_state ` _state_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
The Saitek X52 Pro has several LEDs that can be individually controlled. This
|
||||||
|
function allows you to set the state of each LED in the internal data
|
||||||
|
structures.
|
||||||
|
|
||||||
|
### LED STATES
|
||||||
|
|
||||||
|
The following are the supported LED states that are accepted by the _state_
|
||||||
|
parameter. Note that all values are not supported by all LEDs.
|
||||||
|
|
||||||
|
* `LIBX52_LED_STATE_OFF`
|
||||||
|
* `LIBX52_LED_STATE_ON`
|
||||||
|
* `LIBX52_LED_STATE_RED`
|
||||||
|
* `LIBX52_LED_STATE_AMBER`
|
||||||
|
* `LIBX52_LED_STATE_GREEN`
|
||||||
|
|
||||||
|
### LED IDS
|
||||||
|
|
||||||
|
The following are the supported LED identifiers that are accepted by the _led_
|
||||||
|
parameter:
|
||||||
|
|
||||||
|
* `LIBX52_LED_FIRE`
|
||||||
|
* `LIBX52_LED_A`
|
||||||
|
* `LIBX52_LED_B`
|
||||||
|
* `LIBX52_LED_D`
|
||||||
|
* `LIBX52_LED_E`
|
||||||
|
* `LIBX52_LED_T1`
|
||||||
|
* `LIBX52_LED_T2`
|
||||||
|
* `LIBX52_LED_T3`
|
||||||
|
* `LIBX52_LED_POV`
|
||||||
|
* `LIBX52_LED_CLUTCH`
|
||||||
|
* `LIBX52_LED_THROTTLE`
|
||||||
|
|
||||||
|
Note that the LEDs referred to by `LIBX52_LED_FIRE` and `LIBX52_LED_THROTTLE`
|
||||||
|
support only the states `LIBX52_LED_STATE_OFF` and `LIBX52_LED_STATE_ON`. The
|
||||||
|
remaining LEDs support all the states with the exception of
|
||||||
|
`LIBX52_LED_STATE_ON`.
|
||||||
|
|
||||||
|
## RETURN VALUES
|
||||||
|
|
||||||
|
`libx52_led_state()` returns 0 on success, `-EINVAL` if the _x52_ parameter is
|
||||||
|
not valid, and `-ENOTSUP` if the _led_ and _state_ combination is not a
|
||||||
|
supported one.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_update(3)
|
|
@ -0,0 +1,21 @@
|
||||||
|
libx52_set_shift(3) -- turn the shift indicator on or off
|
||||||
|
=========================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_shift(libx52_device *` _x52_`, uint8_t ` _state_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_set_shift()` can be used to set the state of the shift indicator on the
|
||||||
|
MFD to `on` (_state_ is non-zero) or `off` (_state_ is 0).
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_shift()` returns 0 on success, and `-EINVAL` if _x52_ is not valid.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_update(3)
|
|
@ -0,0 +1,35 @@
|
||||||
|
libx52_set_text(3) -- set the text on an MFD line
|
||||||
|
=================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_set_text(libx52_device *` _x52_`, uint8_t` _line_`, const char *`
|
||||||
|
_text_`, uint8_t` _length_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
The Multifunction display (MFD) on the Saitek X52 Pro supports 3 lines of up to
|
||||||
|
16 characters. This function will set the text into the internal data
|
||||||
|
structures.
|
||||||
|
|
||||||
|
_text_ must be a pointer to an array of bytes, each byte represents a code point
|
||||||
|
on the MFD's internal character map. _length_ is the length of this array.
|
||||||
|
|
||||||
|
_line_ must be **0**, **1** or **2** and refers to the first, second or third
|
||||||
|
line of the MFD respectively. _x52_ is a pointer returned by libx52_init(3).
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_set_text()` returns 0 on success, and `-EINVAL` if either _x52_ is
|
||||||
|
invalid, or _line_ is outside of the accepted range.
|
||||||
|
|
||||||
|
## LIMITATIONS
|
||||||
|
|
||||||
|
`libx52_set_text()` can only store a maximum of 16 characters. Any additional
|
||||||
|
characters are discarded.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_update(3)
|
|
@ -0,0 +1,19 @@
|
||||||
|
libx52_update(3) -- update the X52 Pro
|
||||||
|
======================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_update(libx52_device *` _x52_`)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
All the standard `libx52_set_*` functions only set the internal data structures,
|
||||||
|
but do not actually write anything to the joystick. This function writes the
|
||||||
|
saved data to the joystick and resets the internal data structures.
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_update()` returns 0 on success, and a non-zero error number on failure.
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
libx52_vendor_command(3) -- write a raw vendor control packet
|
||||||
|
=============================================================
|
||||||
|
|
||||||
|
## SYNOPSIS
|
||||||
|
|
||||||
|
`#include <libx52.h>`
|
||||||
|
|
||||||
|
`int libx52_vendor_command(libx52_device *` _x52_`, uint16_t ` _wIndex_
|
||||||
|
`, uint16_t ` _wValue_ `)`
|
||||||
|
|
||||||
|
## DESCRIPTION
|
||||||
|
|
||||||
|
`libx52_vendor_command()` can be used to debug issues seen on the hardware,
|
||||||
|
however, it is not recommended for use by end users, as it can potentially
|
||||||
|
damage the hardware.
|
||||||
|
|
||||||
|
## RETURN VALUE
|
||||||
|
|
||||||
|
`libx52_vendor_command()` returns 0 on success, and a non-zero error number on
|
||||||
|
failure.
|
||||||
|
|
||||||
|
## SEE ALSO
|
||||||
|
|
||||||
|
libx52_set_text(3), libx52_set_led_state(3), libx52_set_clock(3),
|
||||||
|
libx52_set_clock_timezone(3), libx52_set_clock_format(3),
|
||||||
|
libx52_set_date_format(3), libx52_set_brightness(3), libx52_set_shift(3),
|
||||||
|
libx52_set_blink(3), libx52_update(3)
|
Loading…
Reference in New Issue