wiki:DevelopGuide

Version 22 (modified by Frédéric, 16 years ago) ( diff )

--

Papywizard Developper Guide

Introduction

Papywizard is entirely written in python. It uses PyGTK (Python bindings for GTK) toolkit for the GUI, and a few additional modules, mainly for hardware control (pybluez and pyserial). Optionnaly, vpython (OpenGL-based module) can also be used to simulate the position of the head (note that this will be soon a separate application).

API

The API documentation is available as web page in the html/ directory.

Architecture

Papywizard uses a MVC-like pattern, which keeps the model separated from the views. This allows to use any other toolkit if needed; I recently switched from Tkinter to PyGTK, to run papywizard on Nokia plateform. I hope, one day, to be able to run papywizard on QTopia-based devices, like Openmoko. But I first need to get such device ;o)

Low-levels routines which control the hardware are also in their own package; I plan to made them even more modular, to be used in an external project to control the head. For know, only Merlin/Orion head is supported, but it is very easy to implement other heads.

A word about the simulation (to come).

Hardware

TODO: add Merlin/Orion protocole.

Model

View

Distributing

Make Debian package

Papywizard includes an distutils extension script to build debian package in a easy way:

$ python debian/setup.py bdist_debian

The package is build in the dist/ directory.

Make Maemo package

Same for debian package:

$ python maemo/setup.py bdist_debian

Make Windows installer

This is a little bit tricky (as always on this plateform!).

You first need to build the executable, by launching the windows setup script. The easier is to use Ipython:

In [1]: run windows/setup.py py2exe

Then, run the script windows/papywizard.nsi (need to install NSIS software) to build the installer itself.

The future

Note: See TracWiki for help on using the wiki.