PyoLogoTechInfo: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 2: Line 2:


== Dependencies ==
== Dependencies ==
* [http://www.pygame.org pyGame] - pyGame is a Python wrapper for the SDL graphics library. It is used to implement the main display area where turtles and other objects are displayed.
* [http://www.pygame.org pyGame] - pyGame is a Python wrapper for the SDL graphics library. It is used to implement the main display area where turtles and other objects are drawn.
* [http://www.wxpython.org wxPython] - This is a UI framework based on wxWidgets. It is used to create the main window, menus, toolbars, the editor, and other UI components. Note that an SDL surface is embedded into a wxWidget frame.
* [http://www.wxpython.org wxPython] - This is a UI framework based on wxWidgets. It is used to create the main window, menus, toolbars, the editor, and other UI components. Note that an SDL surface is embedded into a wxWidget frame.
* [http://www.dabeaz.com/ply/ PLY] - This is a Lex/Yacc library used to create the Logo interpreter.
* [http://www.dabeaz.com/ply/ PLY] - This is a Lex/Yacc library purely written in Python. It is used to create the Logo interpreter.


The following libraries are needed for the optional robotics module.
The following libraries are needed for the optional robotics module.
Line 10: Line 10:
* [http://pyserial.sourceforge.net/ python-serial] - This is required to communicate with the [http://www.gogoboard.org gogoboard].
* [http://pyserial.sourceforge.net/ python-serial] - This is required to communicate with the [http://www.gogoboard.org gogoboard].
* [http://www.stsci.edu/resources/software_hardware/numarray Numarray] - This library is used for the sensor processing module.
* [http://www.stsci.edu/resources/software_hardware/numarray Numarray] - This library is used for the sensor processing module.

== Overall Structure ==
...

== To Do List (without any new features)==
* Performance boost on OLPC machines. Reducing frame rate and code optimization could perhaps help.
* UI issues under Linux. Currently the toolbars located on the side panels do not show up under Linux. The text box used for the command center also does not work properly.
* Better open and save. Projects files are saved in an XML format. Currently the project files can only reside in the same folder as the main Python script. Images used in the project should be included in the project file.
* Error handling/reporting. The code base has minimal error handling in general. When things go wrong, the screen refresh thread usually dies if not the whole application.
* Logo Error handling/reporting. The Logo interpreter needs to produce better error messages for the Logo programmer.

Revision as of 23:41, 17 January 2007

PyoLogo uses a few libraries to implement its main components. The libraries were not chosen specifically for the OLPC machine as that was not the initial intention of the project. Some of the modules are large and requires its own dependencies. The performance on OLPC machines were not impressive when tested on the A tests boards. Optimization would perhaps be one of the biggest tasks for this project to become successful.

Dependencies

  • pyGame - pyGame is a Python wrapper for the SDL graphics library. It is used to implement the main display area where turtles and other objects are drawn.
  • wxPython - This is a UI framework based on wxWidgets. It is used to create the main window, menus, toolbars, the editor, and other UI components. Note that an SDL surface is embedded into a wxWidget frame.
  • PLY - This is a Lex/Yacc library purely written in Python. It is used to create the Logo interpreter.

The following libraries are needed for the optional robotics module.

Overall Structure

...

To Do List (without any new features)

  • Performance boost on OLPC machines. Reducing frame rate and code optimization could perhaps help.
  • UI issues under Linux. Currently the toolbars located on the side panels do not show up under Linux. The text box used for the command center also does not work properly.
  • Better open and save. Projects files are saved in an XML format. Currently the project files can only reside in the same folder as the main Python script. Images used in the project should be included in the project file.
  • Error handling/reporting. The code base has minimal error handling in general. When things go wrong, the screen refresh thread usually dies if not the whole application.
  • Logo Error handling/reporting. The Logo interpreter needs to produce better error messages for the Logo programmer.