[casetta] About compatibility between casio models

[ Thread Index | Date Index | More lists.tuxfamily.org/casetta Archives ]


Hello,

There is - in my opinion - an important issue we must think about in Casetta 0.4. Casio calculators exists in different models, and different models doesn't manage exactly the same data (business is business).

By example, G35/65 can manage lists, but not G25, only G65 display orange and green pixels in pictures, some basic function are only available in certain models, etc.

There is three way to manage those differences.

The first is the one of Casetta 0.3 : doing nothing. Data is send to the calculator. Maybe the calculator will refuse the header, but in most cases, data will be send, but will not be able to be used (think about programs with getkey for a G25).

The second is the one of Fx-Interface : one file is associated with a calculator. You'll be able to use only functions of this model. But this system has drawbacks: it's more difficult to share data with users of others models (if you make a program in a G100 file in Fx-Interface, and you want to send the data to a G65, you cannot, because it'll try to use the transfer protocol of the G100).

In Fx-Interface, a file is like the memory of a calculator. But is it a good idea? By now, a Casetta file is already not like the memory: we store backups, screenshoots.

The third way to manage differences is the one I suggest for Casetta.
In Casetta, a file is just a container for all data. Some rules restrict some properties of data like names, etc. Theses rules should be the largest for all casio models (like names with 12 character because of the G100).

The verification of compatibility should be done only just before the transfer. A target model will be set in preferences (we can ask the model at the first startup, and of course a none setting could disable the verification). All data will have a suit of test to check the compatibility of the data, and if something fail, a report will be displayed: * Some warning (which can be disabled), like 'Your picture use colors. It may not be fully displayed on your calculator'
 * Some errors, which can be fixed easly (like a name too long)
 * "Fatal" errors like a data type not supported

Interfaces could propose or make some fixes (new name, etc) before the transfer. We can also imagine the possibility to make tests for a given model from Gasetta menu.

We must think about how to implement this: the system must be able to various test, and to provide fixes when they fail (if some fixes are too heavy, we can make them as tools, like for change some basic function that doesn't exists in some models).
We must also reference all particularities for all casio models.

Because this system may need some changes in the data model (some restriction should be moved in the compatibility test suit), I think this compatibility system should be a part of Casetta 0.4. If we wait, we'll have more code to change.

What do you think about it?
--
Thesa ~ Florian Birée
e-mail : florian@xxxxxxxxxx
Messagerie Instantanée Jabber/XMPP/Google Talk : florian.biree@xxxxxxxxx
Site web : http://florian.biree.name/
Carnet web : http://filyb.info/
begin:vcard
fn;quoted-printable:Florian Bir=C3=A9e
n;quoted-printable:Bir=C3=A9e;Florian
org;quoted-printable:Universit=C3=A9 Toulouse III : Paul Sabatier;Licence STS
adr:;;118, route de Narbonne;Toulouse Cedex 9;;31062;France
email;internet:florian@xxxxxxxxxx
title;quoted-printable:=C3=89tudiant
tel;fax:0959465803
tel;home:0954465803
x-mozilla-html:FALSE
url:http://florian.biree.name/
version:2.1
end:vcard

Attachment: signature.asc
Description: OpenPGP digital signature



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/