Florence Birée

Project for Casetta: compatibility with Casio Graph 35 and 65

This was my Summer of Code project for the year 2007. This document is outdated, and hasn't be followed.

Abstract

The aim of my project is to make the casetta python module (the core of casetta softwares) fully compatible with Casio Graph 35/35+/65. This needs to let casetta manage all kind of data produce by a Casio Graph 35/65. In the version 0.3, Casetta will manage programs, backups, pictures and screencaptures. I'll add the management of lists, lists files, matrices, Y=Data (graphical functions), view-windows, equations, variables and functions memory.

The management of each kind of data need three works:

  • Make some python classes and function to manage internally this kind of data, mainly to convert the data between human readable data and raw data (as-in-the-calculator-memory).
  • Allow the transfer tool to manage this kind of data.
  • Add format converter functions to open/save this kind of data in all file formats supported in Casetta.

I will do each work on each kind of data, to manage all kind of data of a Casio Graph 35/65 in Casetta.

Description of the project and time line

(To know what format manage what kind of data, and if this format can be managed in read only or in read/write, see the table of the formats managed.)

  1. Lists (May 28 - beginning of coding - to June 10):
    1. Allow the transfer tool to manage lists.
    2. Make python module manage lists.
    3. Manage lists in all formats managed by casetta (and the csv for exchanges with spreadsheets).
  2. Files of lists (May 28 - beginning of coding - to June 10): (This data is more or less like lists).
    1. Allow the transfer tool to manage files of lists.
    2. Make python module manage files of lists.
    3. Manage files of lists in all formats managed by casetta (and the csv for exchanges with spreadsheets).
  3. Matrices (June 20 to June 30):
    1. Allow the transfer tool to manage matrices.
    2. Make python module manage matrices.
    3. Manage matrices in all formats managed by casetta (and the csv for exchanges with spreadsheets).
  4. View Windows (June 30 to July 9 - beginning of mid-term evaluations):
    1. Allow the transfer tool to manage View Windows.
    2. Make python module manage View Windows.
    3. Manage View Windows in all formats managed by casetta.
  5. Y=Data (July 9 to July 20):
    1. Allow the transfer tool to manage Y=Data.
    2. Make python module manage Y=Data.
    3. Manage Y=Data in all formats managed by casetta.
  6. Variables (July 20 to July 30):
    1. Allow the transfer tool to manage variables.
    2. Make python module manage variables.
    3. Manage variables in all formats managed by casetta.
  7. Function Memory (July 20 to July 30):
    1. Allow the transfer tool to manage function memories.
    2. Make python module manage function memories.
    3. Manage function memories in all formats managed by casetta.
  8. Equations (July 30 to August 5):
    1. Allow the transfer tool to manage equations.
    2. Make python module manage equations.
    3. Manage equations in all formats managed by casetta.
  9. Graph Dynamical Memory (July 30 to August 5):
    1. Allow the transfer tool to manage DynaMem.
    2. Make python module manage DynaMem.
    3. Manage DynaMem in all formats managed by casetta.

With this project, I'll try others who want to work on the GUI to let users to edit easily all kind of data I'll add in casetta, and write documentation inside the casio file format documentation project.

About me and my project

  • Name: Florian Birée
  • Email: florian.biree@gmail.com (please use this adresse and not the one of the left for casetta related stuff).
  • Project Title: Compatibility with Casio Graph 35/65
  • Benefits to the Casetta Community: at the end of the summer, with my project, casetta will have a fully support of two calculators models, and will be able to fully replace - for theses models - any other proprietary software.
  • Deliverables: my project will improve the casetta python module, more precisely I'll improve the transfer tool (devices_serial.py) and all format-specific modules to manage each kind of data. New functions will also be added in the data.py modules (data manipulation classes), and maybe new modules will be created to manage specific kind of data (like spreadsheet and the csv format).
  • Project Schedule: see before.
  • Availability: I'll be fully available after the June 16, and I'll spend the most of my time on the project. I may go in another world - i.e. haven't an internet connexion - from August 5 to August 19. I'll try to make all the work before August 5.
  • Bio: I'm an autodidact programmer, I began coding in 2001 in some BASIC languages. I switched to Linux in the summer 2004. Since, I learned the Gambas BASIC, Python and PyGTK, a I'm now learning the Caml language at the university. Since 2005, I've a website and a blog which speak about free software and other stuff, in french : <http://filyb.info/>. In the last year, my biggest contribution to free software projects is inside the Casetta project, I'm the writer of almost all the code, so I understand very well the code of this project and I hope to help it to become more and more better!