Commit Graph

601 Commits (report-buttons-in-order)

Author SHA1 Message Date
nirenjan e053e1ac1c Add support for the X52 (non-Pro model)
This uses the published device IDs for the Saitek X52 (non-Pro) model.
However, based on my knowledge, the X52 uses single color LEDs compared
to the X52 Pro's tri-color LEDs (Red/Amber/Green). For the time being,
until we can determine the actual control messages being sent to the
X52, setting the LED state will not be supported.

This commit also operates on the assumption that the other controls are
the same as the X52 Pro, specifically the following:
- Setting MFD/LED brightness
- Setting MFD text
- Setting blink and shift
- Seting time and date on the MFD clock

Issue: #11
2017-01-10 22:03:13 -08:00
nirenjan 793cd519a2 Add check for X52 vs X52 Pro
This doesn't do anything at the moment, but this should make it easier
to distinguish between the Pro and non-pro models.

Issue: #11
2017-01-10 21:18:26 -08:00
nirenjan 0f7b5e5668 Remove unused members from struct libx52_device 2017-01-10 21:15:14 -08:00
nirenjan 1efd88d770 travis: Make initial build quiet in Travis-CI 2016-12-29 14:09:25 -08:00
nirenjan a7806c43b9 Add new LICENSE file to distribution 2016-12-29 14:08:55 -08:00
nirenjan 8892b3ef7e util: Remove generated file from distribution tarball
util_char_map.c is generated at compile time by the Python script
x52_char_map_gen.py from the configuration x52_char_map.cfg. However,
because it was listed in libx52util_la_SOURCES, it was getting added to
the distribution.

In addition, removing it from the distribution caused `make distcheck`
to fail, since the generation script was called relative to the current
directory, instead of relative to `$(srcdir)`. This commit also fixes
that issue.
2016-12-29 14:01:38 -08:00
nirenjan 56faafca1e Add license clarification and authors file
Closes #12
2016-12-27 13:13:37 -08:00
nirenjan 4532c0d868 Add codepoint translation status chart
This is intended to give the pending codepoints for translation at a
quick glance.
2016-10-08 17:33:19 -07:00
nirenjan c9dd29199d Fix sign-compare warnings 2016-10-08 14:18:56 -07:00
nirenjan 6d8d5a4fd4 Fix return from void function
While gcc on Linux (Travis CI) throws a warning, but otherwise ignores
this return value from void function, clang on OSX throws a fit.
2016-10-08 09:44:44 -07:00
nirenjan 1b9c52ea07 Merge pull request #10 from ryandrake08/master
Clang/OSX cleanups
2016-10-08 09:31:53 -07:00
Ryan Drake ae97d58bd5 Use zero instead of LIBUSB_ERROR_OTHER as default value for rc 2016-10-08 09:22:17 -07:00
nirenjan e5229b6aa2 Clean up enum_conversion warnings on clang/OSX 2016-10-07 22:27:13 -07:00
Ryan Drake aaab4c6b1d Conditionalize use of ELIBACC on __linux__ as it is linux-specific 2016-10-07 19:18:55 -07:00
Ryan Drake 95e933e27c Fix warnings about uninitialized variables 2016-10-06 15:43:32 -07:00
Ryan Drake 15b8abf3c6 Fix warnings about unused variables 2016-10-06 15:28:18 -07:00
Ryan Drake 30622eefa8 Fix control may reach end of non-void function error 2016-10-06 15:19:00 -07:00
nirenjan bbe86d554f Clear up return-type warnings 2016-10-06 10:39:16 -07:00
nirenjan b39c13fe1b x52_cli: Add stdlib.h include to prevent warnings 2016-07-31 12:25:07 -07:00
nirenjan ea2927859b Fix includedir location for headers 2016-05-16 22:15:19 -07:00
nirenjan 710ef00109 Add support for Python3 in parser script 2016-05-06 07:39:02 -07:00
nirenjan 224b08a8e2 Add python to required dependencies 2016-05-05 09:32:00 -07:00
nirenjan bc9001705d Convert character map generator to Python script
The conversion makes it simpler to allow cross-compilation, since we
should be using the host Python interpreter to build the generated
character map, rather than relying on the automake infrastructure.
2016-05-05 09:18:05 -07:00
nirenjan abaa36f35e Add math symbols to character map translation 2015-12-15 08:41:38 -08:00
nirenjan 6528459645 Add Man pages in RONN format 2015-12-14 18:04:26 -08:00
nirenjan db19e4dcae Install headers to includedir 2015-12-13 13:44:32 -08:00
nirenjan 059ec6af1a Make libx52_set_clock return 0 only if fields changed
This is used by an application to check if it needs to call
libx52_update. If libx52_set_clock returns 0, it can be assumed that the
clock did change values that require an update, but any other value
indicates that an update is not required.
2015-12-12 23:11:36 -08:00
nirenjan b0309b1b40 Reduce number of control messages for clock update
Compare the stored clock value against the requested value and only
send the USB vendor control messages if necessary. This should reduce
the number of messages from 5 for every clock update to 1-3, depending
on whether the date has changed or not. Only if the timezone of the
default clock changes should the additional 2 messages for the offset
clocks be sent.
2015-12-11 09:04:54 -08:00
nirenjan 320e3c85dc Allow user to select tests to run 2015-12-11 07:52:35 -08:00
nirenjan ce9f58c15a Add README files to distribution 2015-12-10 22:44:44 -08:00
nirenjan 3849024816 Merge branch 'feature/travis' 2015-12-10 22:14:03 -08:00
nirenjan f0b2e6fecc Add generated objects to .gitignore 2015-12-10 21:56:03 -08:00
nirenjan b18391b3a6 Create the m4 directory to fix the autogen failure 2015-12-10 10:22:59 -08:00
nirenjan 67e6e68fb3 Switch to container based building and update build script 2015-12-10 10:15:43 -08:00
nirenjan 4dcba4bfe1 Enable Travis-CI 2015-12-10 10:09:24 -08:00
nirenjan 367a367ff9 Add table walker to libx52util
This file walks the generated table to find the corresponding character
map values for the given UTF-8 string.
2015-12-10 09:56:15 -08:00
nirenjan e752be9805 Use autoconf macros for if-checks 2015-12-10 07:40:38 -08:00
nirenjan b45c9fd9a2 Add man page for x52cli 2015-12-09 09:25:03 -08:00
nirenjan 7614e2f961 Print estimated completion time 2015-12-09 07:36:27 -08:00
nirenjan 450cdbabee Add Latin and Greek characters 2015-12-09 07:13:00 -08:00
nirenjan 090fbe6a3b Merge pull request #7 from nirenjan/feature/restructure
Restructure code layout
2015-12-09 05:54:38 -08:00
nirenjan c87e785a18 Restructure code layout
Copy files to individual folders. This makes it cleaner to add new
functionality in the future.
2015-12-08 21:46:42 -08:00
nirenjan 326075406a Fix check for libusb in configure.ac 2015-12-08 20:07:04 -08:00
nirenjan 7ddde96cc6 Add character map parser generator
This also adds automake rules to generate the utility library from the
generated source file.
2015-12-08 07:55:54 -08:00
nirenjan 0ad71bd24f Add X52 character mapping configuration file
This file is parsed during compilation time to generate a static lookup
table which is used to convert UTF-8 text to a character supported by
the X52 MFD.
2015-12-07 23:08:21 -08:00
nirenjan b7141a3e8b Add check for joystick when initializing library
Fix C++ inclusion
2015-12-06 12:57:15 -08:00
nirenjan f2ee9707cb Wrap public header in extern C 2015-12-05 23:22:11 -08:00
nirenjan 531c92ecab Add header file to x52test_SOURCES
The absence was causing `make distcheck' to fail.
2015-12-04 20:33:08 -08:00
nirenjan b7fe3e484c Enhance clock test to test all portions of clock 1 2015-12-04 19:34:19 -08:00
nirenjan f8a7257b54 Export vendor command interface
The vendor command interface allows the user to write a vendor request
packet using the known vendor interface. However, it is not intended for
regular use, since the existing API is better suited to abstract it away
from the user. Rather, the prime goal is for a test harness interface
that can be used to debug problems seen during regular library accesses.
2015-12-04 18:27:21 -08:00