Carnet de plongée

VeillardVeillard Membre
16:44 modifié dans Vos applications #1
Bonjour,

A mon tour de vous présenter mon appli.  :spot:

Je voulais construire une appli sur mesure sachant qu'il n'y avait rien qui me convenait sur Mac. J'avais commencé avec CodeWarrior 9 sous MacOS 8.5, je sais ça date un peu puis le projet est resté dans les cartons pendant quelques années.
Puis Apple a mis a disposition des outils de développement pous OS X  :brule: j'en ai profité pour porter ou mieux réécrire mon appli sous Carbon en C, j'ai un peu perdu mes repères  :P

Puis devant la complexité de Carbon et le peu de doc, je me suis tourné cet été vers cocoa non sans quelques appréhensions  :-\ Je n'y connaissais rien à  la POO ni à  l'objective C. Après quelques tutos  :crackboom:- et surtout grâce à  l'aide précieuse de Cocoaistes et bindologues chevronnés  :D j'ai pu tout Rà‰ECRIRE et améliorer sans commune mesure mon appli qui ravit déjà  de nombreux plongeurs.

Je pense bientôt finaliser la version 2.0  :rose!:

Voilà 

A+

Favouille

Réponses

  • muqaddarmuqaddar Administrateur
    16:44 modifié #2
    Super.

    La version 1 avait déjà  l'air bien complète. Que vas-tu ajouter ?
  • VeillardVeillard Membre
    16:44 modifié #3
    La version 1 (Carbon) est hélas incompatible avec la 2 (Cocoa) à  cause du format de fichiers.  :'(
    Ce serait trop long de rendre compatible ces fichiers sachant que la version Carbon était très peu pour ne pas dire pratiquement pas diffusée.

    En revanche, j'ai un projet très ambitieux qui va me demander beaucoup de temps. Il s'agit pour chaque plongée de tracer sour forme de graphique le profil de la plongée à  partir des données obtenues avec un ordi de plongée. Hélas la plupart des ordis nécessitent un PC pour transférer ces profils. Par contre je peux exporter du PC les données en CSV Excel qui sont alors plus facilement récupérables dans mon appli. Mais là , c'est une autre histoire...
  • BruBru Membre
    16:44 modifié #4
    Le nec plus ultra serait de développer les interfaces permettant de récupérer les données des ordis de plongée afin d'alimenter directement ton carnet...

    Et là , je suis près à  te filer un coup de paluche.

    .
  • VeillardVeillard Membre
    16:44 modifié #5
    J'y ai pensé mais les protocoles de transfert n'ont jamais été divulgués par les fabricants  :'(
  • BruBru Membre
    16:44 modifié #6
    Moi, j'ai en partie ces protocoles de transfert.

    Je possède ceux d'Uwatec/Alladin (toutes séries) et ceux de Suunto (série solution-alpha/eon et série Vyper/Cobra/Spyder...).

    Il faut juste que le mac aie un port série (une clé Keyspan sur le port usb devrait faire l'affaire)...

    Mon idée était de faire de petits modules (genre bundle) spécifiques à  une marque/modèle, et de générer en sortie un flux UDCF (genre de fichier XML dont le format est universel et permettant de contenir les données des ordinateurs de plongée). Après il suffirait d'écrire l'application permettant de lire le flux UDCF pour l'exploiter (courbe de plongée, alimentation d'un carnet électronique, etc...)

    Ton projet rejoint un peu le mien, donc on peut peut être se lancer là  dedans.

    .
  • cbrandtcbrandt Membre
    16:44 modifié #7
    si quelqu'un à  besoin d'un bout de code pour lire/écrire sur le port série, j'ai ça en rayon  :)
    (les restes d'un projet de configuration d'un décodeur sat DVB par son port série)
  • BruBru Membre
    16:44 modifié #8
    dans 1100467999:

    si quelqu'un à  besoin d'un bout de code pour lire/écrire sur le port série, j'ai ça en rayon  :)
    (les restes d'un projet de configuration d'un décodeur sat DVB par son port série)


    J'ai emprunté au boulot un adaptateur usb <-> port série...
    Je vais le testé sur mon mac.

    J'espère vivement que cet adaptateur va monter dans /dev un device du genre /dev/ser0 que je pourrai réutiliser par la suite via la classe NSFileHandle (même si je serai obligé de passer par la bib ioctl du C pour configurer les paramètres du port).

    Je suis quand même curieux de voir ta solution...

    .
  • cbrandtcbrandt Membre
    16:44 modifié #9
    bon, je n'arrive malheureusement pas à  remetter la main dessus  :'( mais c'était une classe cocoa que j'avais basé sur ce document:
    http://developer.apple.com/documentation/DeviceDrivers/Conceptual/WorkingWSerial/WorkingWithSerial.pdf

    je vais continuer à  chercher...
  • VeillardVeillard Membre
    16:44 modifié #10
    Bonjour tout le monde  :)

    Je vois que vous avec pas mal de doc sur le sujet. En ce qui me concerne, je suis partant et je pense que pas mal de plongeurs rêvent de transférer leurs profils sur Mac  ;D

    Reste à  voir comment cela peut se réaliser techniquement. Je peux faire des essais à  partir d'un Solution Alpha ou d'un Vyper à  condition de ne pas les griller  :brule:

    A+
  • MalaMala Membre, Modérateur
    16:44 modifié #11
    Excellent ce projet! Mon frère est aussi un mordu de plongée.

    Je suis pas mal débordé avec mes softs d'astro mais si ça peut aider à  faire gagner du temps voici une modeste contribution...
    www.poisson-lune.com/downloads/tmp/RS-232.zip
    C'est une classe Obj-C que j'utilise pour controler et paramétrer mon télescope via un adaptateur keyspan usb/RS-232...
    www.poisson-lune.com/pages/astro/pages_anglais/FS2.html
    C'est pas parfait mais ça peut déjà  donner des idées et faire gagner du temps.

    En tous cas, tous mes encouragements pour la suite.

    Mala.
  • VeillardVeillard Membre
    16:44 modifié #12
    Magnifique ! J'espère qu'on va poufoir enfin transférer ces profils directement sur Mac  :crackboom:-
  • BruBru Membre
    16:44 modifié #13
    Ouaip, ça prend tournure.

    J'ai commençé à  décortiquement les blocs de données issues des Uwatec/Aladins et ceux de Suunto.

    Je me dirige tout doucement vers un modèle comme celui ci :

    - classe ORDI qui contient les paramètres généraux des ordis, nombre de plongées, prof maxi, durée de plongée maxi, numéro de série, nom du modèle, carnet de plongée (NSArray d'instance de classe CARNET ci-dessous).

    - classe CARNET qui contient les paramètres d'une plongée : date et heure de la plongée, durée, profondeur, température, altitude, flag de remontée trop rapide, flag de palier non-fait, flag de plongée successive, heure de remontée, durée de l'intervale de surface entre 2 plongées successives, profil de la plongée (NSArray d'instance de classe PROFIL ci-dessous).

    - classe PROFIL qui contient à  l'instant T les paramètres lors de la plongée : heure du profil, profondeur, flag de remontée trop rapide, flag de palier en cours.

    Quand je parle de classe, il se peut que ce soit que de simples NSDictionnary avec comme clé le nom du paramètre, et comme valeur le contenu de ce paramètre.

    Pour le moment, je n'ai pas encore réfléchi à  l'architecture plugin... Mais il faut qu'en sortie (en entrée de ton programme) tu ais toujours les mêmes classes de données, quelque soit l'ordi utilisé : c'est à  la charge du plugin de transformer les données issues de l'ordi en classe générique.

    Pour le moment, je pourrai tester en vrai avec un spider, et un solution-alpha. Je négocie encore pour avoir un aladin...

    .
  • BruBru Membre
    16:44 modifié #14
    dans 1100520746:

    bon, je n'arrive malheureusement pas à  remetter la main dessus  :'( mais c'était une classe cocoa que j'avais basé sur ce document:
    http://developer.apple.com/documentation/DeviceDrivers/Conceptual/WorkingWSerial/WorkingWithSerial.pdf
    je vais continuer à  chercher...


    Merci. En fait je connais cette doc car je l'ai utilisé pour faire un driver pour modem usb Olitec...
    Il y a peu à  faire pour adapter les exemples afin d'utiliser une interface série RS232.

    .
  • BruBru Membre
    novembre 2004 modifié #15
    dans 1100540834:

    Excellent ce projet! Mon frère est aussi un mordu de plongée.
    Je suis pas mal débordé avec mes softs d'astro mais si ça peut aider à  faire gagner du temps voici une modeste contribution...
    www.poisson-lune.com/downloads/tmp/RS-232.zip
    C'est une classe Obj-C que j'utilise pour controler et paramétrer mon télescope via un adaptateur keyspan usb/RS-232...
    www.poisson-lune.com/pages/astro/pages_anglais/FS2.html
    C'est pas parfait mais ça peut déjà  donner des idées et faire gagner du temps.
    En tous cas, tous mes encouragements pour la suite.
    Mala.


    En fait, la classe que tu viens de fournir reprend l'exemple d'Apple dans la doc référencée par cbrandt, mais en utilisant une interface type RS232... C'est donc tout bon pour moi.

    Il y a peu à  adapter (en premier coup d'oeil) pour l'utiliser pour piloter les interfaces PC des ordis de plongée.

    Merci Mala.

    .
  • VeillardVeillard Membre
    16:44 modifié #16
    Je vois que tu t'es penché sérieusement sur le problème 

    Comme tu peux le voir, j'essaie d'améliorer mon soft pour tracer les profils. J'ai du boulot en perspective...
  • MalaMala Membre, Modérateur
    16:44 modifié #17
    En fait, la classe que tu viens de fournir reprend l'exemple d'Apple dans la doc référencée par cbrandt, mais en utilisant une interface type RS232...

    Oui, tout à  fait. J'aime encapsuler autant que de décapsuler! :trinque:   ;D ;D ;D
  • VeillardVeillard Membre
    16:44 modifié #18
    Bonjour,

    Je suis en train de réfléchir sur l'organisation de mon fichier de données incluant les profils de plongée.  :P

    Pour l'instant j'ai un Array (tableauDesPlongees) contenant des Dictionary (lieu, site, palanquee...). Donc pour inclure mes profils, je pense reprendre d'idée de Bru, à  savoir :
    un Dictionary appelé Profil contenant des Array pour : la profondeur, le temps, les flags de remontée, palier et autres personnalisés).

    Qu'en pensez-vous ?
  • VeillardVeillard Membre
    16:44 modifié #19
    Bonjour

    Je relance le sujet sur le transfert des profils de plongée directement sur Mac. Je fais donc appel à  vous, notamment à   <3   ;D pour essayer de développer cette interface...<br />Avant tout, je dois acheter un adaptateur USB-série. Pour connecter mon ordi quel modèle d'adaptateur choisir ?

    Merci
  • BruBru Membre
    16:44 modifié #20
    dans 1102429570:

    Bonjour

    Je relance le sujet sur le transfert des profils de plongée directement sur Mac. Je fais donc appel à  vous, notamment à  <3 ;D pour essayer de développer cette interface...<br />Avant tout, je dois acheter un adaptateur USB-série. Pour connecter mon ordi quel modèle d'adaptateur choisir ?

    Merci


    Je suis dessus actuellement.

    J'utilise une interface Prolific pour relier l'ordi (je fais les test sur mon solution alpha).
    Je te tiendrais au courant de mes progrès.

    .
  • cbrandtcbrandt Membre
    16:44 modifié #21
    j'ai une interface usb-série Keyspan (www.keyspan.com): existe en version 1 port en db9 et en version 2 ports mini-din 8.
    marche très bien mais pas donné: environ 80 ¤ à  l'époque (il y a deux ans)
  • BruBru Membre
    16:44 modifié #22
    Moi, c'est une BELCOM qui coûte environ 60¤ à  la FNAC.

    .
  • VeillardVeillard Membre
    16:44 modifié #23

    Je suis dessus actuellement.

    J'utilise une interface Prolific pour relier l'ordi (je fais les test sur mon solution alpha).
    Je te tiendrais au courant de mes progrès.

    Excellent !!! 

    j'ai une interface usb-série Keyspan [...] environ 80 ¤

    Moi, c'est une BELCOM qui coûte environ 60¤ à  la FNAC.


    Qui dit mieux ?  ;D
  • VeillardVeillard Membre
    16:44 modifié #24
    Suite à  mon passage sous Tiger, j'ai ajouté quelques fonctionnalités à  mon soft.
    Bon test...  ;)
Connectez-vous ou Inscrivez-vous pour répondre.