« Previous - Version 76/198 (diff) - Next » - Current version
Etienne Pallier, 06/26/2015 03:56 pm


Wiki

ChemCam Ground Data Log Book

This is a Java GUI tool to help building an information context to be associated to an observation (a series of ChemCam shots, FOCUS, LIBS, RMI) done in a laboratory


INFORMATIONS TECHNIQUES

Ce logiciel est installé sur le Pc Chemcam, en salle blanche : http://planetowiki.irap.omp.eu/do/view/Computers/PcChemcam2Tour

OLD web page for this project : http://planetowiki.irap.omp.eu/do/view/Cgdl/WebHome

SVN repository : http://planetoweb2.irap.omp.eu/cgdl_svn/trunk


Collaboration avec l'outil C-SPEC-HK

Suite aux réunions du 29/4/15 et du 22/5/15 avec OG, WR, AC, PM, et EP,
le nouveau besoin exprimé passe par une collaboration de cet outil avec l'autre outil C-SPEC-HK.
Début juin, nous avons eu une réunion avec le prestataire Richard Hitier qui nous a proposé un devis sur 6 jours,
pour la réalisation d'une nouvelle version impliquant la refonte de l'IHM en un seul formulaire contenant tous les champs.

JALONS DU DEVELOPPEMENT DES NOUVELLES FONCTIONNALITES PAR LE PRESTATAIRE

Le développement doit se faire en Java 8

Calendrier prévisionnel (non contractuel) :

1) Mercredi 24/6/15 : Livraison de la version existante adaptée pour qu'elle crée un fichier XML unique par contexte

2) Mercredi 1/7/15 : Version avec Formulaire unique (au lieu du formulaire multi-onglets actuel)
A prévoir : Réunion de validation avec l'équipe Chemcam

3) Mercredi 8/7/15 : Livraison de la version finale

NOUVEAU WORKFLOW

Voici une maquette du nouveau formulaire proposée par AC et OG :

Error executing the thumbnail macro (Attachment CGDL-idees_v3.pptx not found)

(Note : on change de contexte quand on change la roche, la distance, ou l’atmosphère…)

Le logiciel doit démarrer automatiquement au boot du pc.

Le premier écran START doit proposer les 4 choix suivants :
1) Create a brand new context
2) Create a new context from another one
3) Modify a context
4) Delete a context

ATTENTION : Dans les 3 premiers cas (options 1 à 3), une fois que le contexte est sauvegardé (clic sur touche SAVE), il est FERMÉ
car on ne doit plus pouvoir le modifier, sauf en l'ouvrant à nouveau en modification (option 3)

Dans tous les cas (sauf le 1), une liste de TOUS les contextes existants est affichée (tous les contextes créés, même ceux du passé), parmi lesquels on doit en sélectionner un.

Différences entre les options 1 à 3 :

  • (1) Création d'un tout nouveau contexte :
    • date = date du jour (modifiable pour pouvoir créer un contexte dans le passé)
    • start time = maintenant (modifiable)
    • stop time = 23:59 (modifiable)
    • Autres champs = valeurs par défaut
    • Quand on clique sur le bouton SAVE : la confirmation suivante est demandée : "Do you want to save this context with the name <...> ? (ok/cancel)"
      Dans le cas "rare" où on crée un contexte avec un nom qui existe déjà, le message d'avertissement suivant est affiché : ""WARNING : A context already exists with this name <...>. <OK>",
      et la sauvegarde n'est pas effectuée.
  • (2) Création d'un nouveau contexte à partir d'un contexte existant :
    • date = date du jour (modifiable pour pouvoir créer un contexte dans le passé)
    • start time = maintenant (modifiable)
    • stop time = 23:59 (modifiable)
    • Autres champs = valeurs du contexte existant
    • Quand on clique sur le bouton SAVE : si le nom n'a pas changé, on NE DOIT PAS écraser le contexte existant, il faut donc prévenir l'utilisateur avec ce message : "WARNING : A context already exists with this name <...>. <OK>",
      et la sauvegarde n'est pas effectuée.
  • (3) Modification d'un contexte existant :
    • date = date du contexte existant (modifiable)
    • start time = heure du contexte existant (modifiable)
    • stop time = heure du contexte existant (modifiable)
      • En mode Modification (3), quand on sauvegarde le contexte modifié, on doit normalement supprimer (ou écraser, si le nom n'a pas changé) le contexte sélectionné au départ. Quand l'utilisateur clique sur le bouton "SAVE", on demande quand même confirmation : "Do you want to update this context (with the name <...>) ? <OK> <CANCEL>"
      • (Ca n'est pas indispensable, mais ça serait bien apprécié) : En mode Modification (3), on ne devrait pas autoriser l'utilisateur à modifier la date du contexte (mais par contre, il peut modifier les start et stop time)

Suppression d'un contexte (options 3 et 4) :
Afin de faciliter l'interaction avec le logiciel C-Spec-HK,
les fichiers de contexte "supprimés" ne doivent pas être physiquement supprimés,
mais seulement marqués du préfixe "_TO-BE-DELETED_".
Ces fichiers "supprimés" virtuellement ne doivent plus être visibles dans la liste des contextes affichée par C-GDL.
Ainsi, C-Spec-HK pourra se rendre compte qu'un contexte (même ancien, dans le passé) a été supprimé,
et pourra supprimer en conséquence le dossier de contexte associé
(suppression virtuelle elle aussi car on préfère ne pas prendre le risque de supprimer un dossier de contexte par erreur...)

CETTE PARTIE DOIT ETRE REFORMULEE CAR ELLE NE TIENT PAS COMPTE DE LA NOUVELLE VERSION AVEC UN FORMULAIRE UNIQUE POUR TOUS LES CHAMPS :

Dans tous les cas (sauf le 4), on arrive ensuite à l'écran "Observation"

Cet écran, COMME TOUS LES ECRANS (sauf "START"), contient tout en haut un champ général, read only :
- [Context name]

Ce champ est non modifiable car il est construit automatiquement à partir de la valeur de tous les champs "bleus" (y-compris « atmosphere, earth, mars » dans l'écran "Environment") de tous les écrans (au début, avec des valeurs par défaut)

Voici le format de ce champ, YYYYMMDD_HHMM-HHMM_context_<valeurs-des-champs-bleus>, avec :

  • YYYYMMDD : Date du jour (ex, 20050529)
  • HHMM-HHMM : temps de début puis temps de fin (ex : 0935-1147)
    Par défaut, temps début = maintenant, et temps fin = 2359 (fin de journée)
  • <valeurs-des-champs-bleus> : concaténation des valeurs de tous les champs bleus de tous les onglets

(Le fichier contexte résultant portera ce nom avec l'extension ".xml", une fois la sauvegarde faite)

Les 2 champs suivants permettent éventuellement de modifier les valeurs par défaut du temps début et temps fin (format HHMM) :

- [Start time]
- [Stop time]

Après avoir rempli les autres champs de cet écran "Observation", on passe à l'écran suivant ("Target") en cliquant sur le bouton "Next" (sauf si les valeurs remplies ne sont pas correctes),
et ainsi de suite, jusqu'au dernier écran "END".

L'écran "END" permet d'enregistrer le contexte (à condition que tous les onglets soient valides, et donc au vert) avec un bouton "SAVE CONTEXT"
Le contexte est ainsi sauvegardé dans un fichier individuel (pas dans un fichier global de tous les contextes)
(Actuellement, ce fichier n'est pas créé séparément, il est ajouté à un fichier CgdlContextList.xml dans le répertoire du programme, trié par date puis par nom de cible)

AUTRES CHANGEMENTS SUR LE LOGICIEL

Outre le nouveau fonctionnement (workflow) décrit ci-dessus, les adaptations suivantes ont été demandées.

Supprimer la fonctionnalité du 000, 001, 002 à la fin du nom du contexte

Le bouton "Reset it" ne doit pas faire un "Next" après le reset (on peut d'ailleurs appeler ce bouton "Reset" tout simplement). Il remet les valeurs par défaut dans tous les champs de l'écran.

Le contenu des écrans (nom des paramètres, paramètre obligatoire ou facultatif, paramètre pris en compte pour le nom du contexte ou pas, type, valeur par défaut...)
doit être écrit dans un fichier texte (XML, JSON, ...) afin de faciliter les changements à l'avenir. On pourra nommer ce fichier "SETTINGS" ou "CONFIG"

Ajouter un écran (onglet) "Notebook" sur lequel on pourra prendre des notes diverses (juste avant l'écran "END")

Ecran Observation :
- Observation type : Cible LIBS par défaut (d'ailleurs, on peut enlever RMI et FOCUS)

Ecran Target :
Valeurs par défaut :
- granulo : unknown
- rough : unknown
- size : 1-5 cm
- albedo : remplacer 0 par unknown
- origin : ajouter PELLET
- composition : unknown

Ecran Environment :
- Atmosphere (en bleu car pris en compte pour le nom du contexte) : Mars par défaut
- pressure : controlled par défaut

Ecran Hardware :
Valeurs par défaut :
- Location (en bleu car pris en compte dans le nom du contexte) : IRAP
- body unit : + Chemcam EM 2013 (par défaut)
- Ctrl/cde : LANL/GSE
- Mast : ChemCam EQM
- Fiber : ChemCam FM-like

Ecran Distance :
- "Distance to target" => "Approximate dist to target"
- enlever « obtained »
- "st" => "step"

Ecran Miscellaneous :
- "Temperature of laser" => "Instrument chamber temperature"
- "More comments" => "Description", doit contenir le commentaire suivant par défaut :
"Sample in Martian chamber
With folding mirror
Laser in instrument chamber"
- Laser pulse : supprimer
- SOH : yes par défaut
- Laser freq : 3 Hz par défaut
- Existing of laser : désactiver

Ecran END :
- ajouter un bouton "RESET ALL" qui remet TOUS les écrans à leurs valeurs par défaut (déclenche une action reset sur chaque écran)

CGDL-idees_v3.pptx (440 KB) Etienne Pallier, 06/25/2015 06:06 pm

Diapositive10.jpg (66.6 KB) Etienne Pallier, 06/26/2015 05:50 pm

Diapositive11.jpg (73.1 KB) Etienne Pallier, 06/26/2015 05:50 pm

cgdl_jpl_apres_modif_JPL_demandee_par_Agnes.jar (417 KB) Etienne Pallier, 07/03/2015 01:41 pm

ChemCamLabTool-0.4.1.jar (537 KB) Etienne Pallier, 07/03/2015 01:41 pm