TODO: remove the entry about documenting the API with Doxygen
[libam7xxx.git] / README.asciidoc
1 = libam7xxx
2
3 libam7xxx is an Open Source library to communicate via USB with projectors and
4 Digital Picture Frames based on the Actions Micro AM7XXX family if ICs.
5
6 libam7xxx makes it possible to use these devices as USB displays on
7 non-Windows Operating Systems like GNU/Linux or Android/Linux just to name
8 a few, and on non-PC platforms like for instance mobile phones, tablets or
9 game consoles.
10
11 The first driver supporting these devices was _acerc11xdrv_ from Reto Schneider:
12 https://github.com/rettichschnidi/acerc11xdrv
13
14 Another project with the same purpose is _acerc110_ from Thomas Baquet:
15 https://github.com/lordblackfox/acerc110
16
17 == AM7XXX
18
19 An overview of some AM7XXX chips (AM7211A AM7212 AM7212P AM7318 AM7213D
20 AM7213V) can be found in http://www.actions-micro.com/dpf_psg.pdf
21
22 An example of datasheet illustrating the functionalities of such ICs (AM7531)
23 is at: http://wenku.baidu.com/view/543c8b4d852458fb770b56ee.html
24
25 == Supported devices
26
27 The devices supported by libam7xxx use USB bulk transfers and a simple packet
28 based protocol to exchange data and commands to and from a host system and the
29 AM7XXX chip.
30
31 Devices based on Actions Micro/Action Media designs generally use the USB
32 VendorID +1de1+, and they can have two operational modes:
33
34  - USB Mass Storage mode (e.g. ProductID: +1101+)
35  - Generic bulk data transfer mode, or Display mode (e.g. ProductID: +c101+)
36
37 On recent GNU/Linux systems the switch from Mass Storage mode to Display mode
38 is performed automatically by
39 http://www.draisberghof.de/usb_modeswitch/[USB_ModeSwitch], or can be done
40 manually with the command:
41
42  $ sudo usb_modeswitch \
43    --default-vendor 0x1de1 \
44    --default-product 0x1101 \
45    --message-content 55534243087052890000000000000cff020000000000000000000000000000
46
47 Examples of devices based on AM7XXX are:
48
49   - Acer Series C pico projectors (C20, C110, C112):
50       * http://www.acer.it/ac/it/IT/content/models/projector-c
51       * http://support.acer.com/product/default.aspx?modelId=3888
52     
53   - Philips/SagemCom PicoPix projectors (PPX 1020, PPX 1230, PPX 1430, PPX
54     1630):
55       * http://www.philips.co.uk/c/pocket-projector/179840/cat/
56       * http://www.sagemcom.com/EN/products/image-sound/pico-video-projectors.html
57
58   - CEL-TEC MP-01:
59       * http://www.kabelmanie.cz/miniprojektor-cel-tec-mp-01/
60
61   - Other unbranded projectors:
62       * http://www.dealextreme.com/p/portable-home-office-mini-usb-2-0-lcos-projector-16-9-45019
63
64   - HannSpree digital picture frames (but it has not been verified yet if
65     those can be actually used as USB displays):
66       * http://europe.hannspree.net/onweb.jsp?prod_no=3333333621&webno=3333333317
67       * http://europe.hannspree.net/onweb.jsp?prod_no=33333337:4&webno=3333333317
68
69 Maybe other devices reported as supporting "Display over USB (DoUSB)" like
70 Acer K330 or some Optoma projectors could be used with this library, but
71 this needs still needs to be verified.