0dc4c24329e9d948b8260da8e39abf8d97d289f8
[libam7xxx.git] / doc / DoxygenMainpage.dox
1 /**
2 @mainpage  libam7xxx
3
4 @author Antonio Ospite <ospite@studenti.unina.it>
5 @copyright GNU General Public License version 2.
6
7 Website: http://git.ao2.it/libam7xxx.git
8
9 @section libam7xxxIntro Introduction
10
11 libam7xxx is an Open Source library to communicate via USB with projectors and
12 Digital Picture Frames based on the Actions Micro AM7XXX family if ICs.
13
14 libam7xxx makes it possible to use these devices as USB displays on
15 non-Windows Operating Systems like GNU/Linux or Android/Linux just to name
16 a few, and on non-PC platforms like for instance mobile phones, tablets or
17 game consoles.
18
19 Check @link am7xxx.h @endlink for the public API documentation.
20
21 @section libam7xxxSupportedDevices Supported Devices
22
23 - Acer C110
24 - Acer C112
25 - Aiptek PocketCinema T25
26 - Philips/SagemCom PicoPix 1020
27 - Philips/SagemCom PicoPix 2055
28 - Philips/SagemCom PicoPix 2330
29
30 @section libam7xxxDesignOverview Design Overview
31
32 libam7xxx provides access to devices via two structs:
33
34 - A context, which manages aspects of thread safety when using
35   multiple devices on multiple threads.
36 - A device, which talks to the hardware and manages transfers and configuration.
37
38 Either or both of these structs are passed to the functions in order
39 to interact with the hardware. The USB access is handled by
40 libusb-1.0, which should work in a mostly non-blocking fashion across
41 all platforms (see function documentation for specifics).
42
43 The API and the project structure has been inspired by
44 <a href="http://openkinect.org">libfreenect</a>.
45
46 */