View Single Post
Old 04-30-2012, 07:51 AM   #1
tuxor
Addict
tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!tuxor has a thesaurus and is not afraid to use it!
 
Posts: 320
Karma: 99999
Join Date: Oct 2011
Location: Germany
Device: Onyx Boox M92, Icarus Illumina E653
PyOnyx: API for Onyx libs. I need your help!

Hi,

since Python is such a pythonic language and C++ simply isn't, I would love to be able to write small (gui) applications for my Onyx Boox in Python. Maybe you feel the same? Then I really need your help!

At first, it looks like cross compiling PyQt and Python is sufficient. But I have succesfully done this and still only non-graphical applications work. The reason is missing eink screen support in Qt. Onyx handled this issue by writing a big stack of c++ libraries that wrap around the original Qt libraries provided with the imx508 toolchain (https://github.com/onyx-intl/toolcha.../master/imx508).

So there is still hope, that we will finally be able to write applications for Onyx Boox devices in Python by taking the effort of writing a Python API for the Onyx libraries. And writing a Python API is actually not that hard, if you use SIP (http://riverbankcomputing.com/software/sip/download).

I set up the necessary git repo on https://github.com/tuxor1337/PyOnyx

For compatibility reasons I built PyQt version 4.8.5 using SIP 4.12.2. So a potential API for the onyx libraries will have to be built using the same SIP version. The source code for this version is available from the respective tarball (sip-4.12.2.tar.gz) in the PyOnyx repository. This tarball also contains the version specific documentation of SIP. The readily compiled Python and PyQt builds are available from "onyx_pyqt.zip".

Unfortunately, I have no experience with SIP so far. So it would be great if we found somebody with insight in this whole topic of writing an API.

In the end, I want to stress that I won't be able to carry out this project alone. Maybe it's not even that much work (potentially 244 header files to convert, but each one we convert can immediately be used inside of Python) once you know how SIP works. But since I'm really unfamiliar with C++ and SIP, I will have a hard time making my first steps in this project without your support. So I won't start serious work on this project, as long as I'm alone...

Last edited by tuxor; 04-30-2012 at 06:56 PM.
tuxor is offline   Reply With Quote