KoxaKoxama / libam7xxx

fork http://git.ao2.it/libam7xxx.git, intended for packaging for Ubuntu 12.04

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libam7xxx

libam7xxx is an Open Source library to communicate via USB with projectors and Digital Picture Frames based on the Actions Micro AM7XXX family if ICs.

libam7xxx makes it possible to use these devices as USB displays on non-Windows Operating Systems like GNU/Linux or Android/Linux just to name a few, and on non-PC platforms like for instance mobile phones, tablets or game consoles.

The first driver supporting these devices was acerc11xdrv from Reto Schneider: https://github.com/rettichschnidi/acerc11xdrv

Another project with the same purpose is acerc110 from Thomas Baquet: https://github.com/lordblackfox/acerc110

AM7XXX

An overview of some AM7XXX chips (AM7211A AM7212 AM7212P AM7318 AM7213D AM7213V) can be found in http://www.actions-micro.com/dpf_psg.pdf

An example of datasheet illustrating the functionalities of such ICs (AM7531) is at: http://wenku.baidu.com/view/543c8b4d852458fb770b56ee.html

Supported devices

The devices supported by libam7xxx use USB bulk transfers and a simple packet based protocol to exchange data and commands to and from a host system and the AM7XXX chip.

Devices based on Actions Micro/Action Media designs generally use the USB VendorID 1de1, and they can have two operational modes:

  • USB Mass Storage mode (e.g. ProductID: 1101)

  • Generic bulk data transfer mode, or Display mode (e.g. ProductID: c101)

On recent GNU/Linux systems the switch from Mass Storage mode to Display mode is performed automatically by USB_ModeSwitch, or can be done manually with the command:

$ sudo usb_modeswitch \
  --default-vendor 0x1de1 \
  --default-product 0x1101 \
  --message-content 55534243087052890000000000000cff020000000000000000000000000000

Alternatively, on systems where libusb works but 'usb-modeswitch' is not easily available, the switch can be performed using the 'am7xxx-modeswitch' example program from libam7xxx.

Examples of devices based on AM7XXX are:

Maybe other devices reported as supporting "Display over USB (DoUSB)" like Acer K330 or some Optoma projectors could be used with this library, but this needs still needs to be verified.

Testing libam7xxx on MS Windows

All the needed files need to be in the same location:

In order to use the device on MS Windows the WinUSB drivers must be installed for both the mass storage device and the display device:

  • Download Zadig, it is a tool to install and replace USB devices filter drivers on MS Windows.

  • From Zadig, select the USB Mass Storage Device relative to the projector and replace the USBSTOR driver with the WinUSB one; keep in mind that from now on the virtual CD-ROM can’t be accessed anymore until the USBSTOR Driver is restored.

  • Run 'am7xxx-modeswitch.exe'

  • When the new (display) device shows up, run Zadig and install the WinUSB driver for it too.

Now it is possible to run 'picoproj.exe' or 'am7xxx-play.exe' on Windows.

About

fork http://git.ao2.it/libam7xxx.git, intended for packaging for Ubuntu 12.04


Languages

Language:C 97.0%Language:Shell 3.0%