Le ZKV1000

README.md

Origine du projet

Cet instrument était prévu pour s'approcher du Garmin Primus 1000. Au début il était écrit avec une multitude de petits objets 3D placés sur l'écran avec un écart suffisament faible pour que le pilote ait l'impression d'un vrai écran 2D.

Il incluait aussi un moyen de rafraîchir les écrans sans altérer la vitesse d'affichage avec un système de rotation de fonctions qui chacune l'une après l'autre s'occupait d'un seul ou d'un petit groupe d'élément à des fréquences diverses. Que l'instrument ne freine pas le simulateur était primordial.

Le zkv1000 ancien incluait aussi une carte qui nécessitait d'être créée au préalable via ImageMagick et un autre outil dont j'ai perdu le nom. Le script aussi a disparu mais en gros il créeait une carte en collant les bordures des cartes adjacentes à celle dans laquelle l'appareil se trouvait. Ça marchait mais le rendu était pas terrible, très peu flexible.

Abandonné, le zkv1000 a été amélioré un peu par d'autres dont j'ai oublié le nom notamment l'apport du radar de relief, mais la façon de faire n'optimisait pas du tout la vitesse d'affichage, et à moins d'avoir une bête de course le radar était inutilisable.

Il incluait aussi un ensemble de menus, avec navigation par les boutons, et une recherche des balises et aéroports, ainsi qu'un calculateur de trajectoire simple (balise à balise).

Regardant de temps à autre ce que devenait FG je découvrais Canvas, le SVG, et les premières réalisations de PFD/MFD avec ce nouveau jouet.

Trop tentant, il fallait essayer de rendre le zkv1000 Canvas-compliant. Et l'aventure commence!

Objectifs

Il ne sert à rien d'essayer de reproduire à l'identique le Garmin Primus 1000, d'autres y arriveront bien mieux que moi pour créer une copie fidèle.
Mais il est possible de s'en approcher assez fidèlement en suivant les manuels Garmin disponibles. Le zkv1000 n'a nullement la prétention de pouvoir servir de support d'entrainement officiel ou pas.
Vous êtes prévenus!

Dans ce projet je privilégie particulièrement

  1. la modularité pour des éviolutions futures
  2. l'optimisation, enfin... supposée, mes qualités de dev ne sont probablement assez élevées ;)
  3. une intégration la plus simple possible dans n'importe quel appareil
  4. une utilisation qui se veut proche de ce que fait l'instrument de référence, mais en y intégrant les avantages d'être dans un simulateur et pas dans la vie réelle:
    • ajout de fonctionnalités spécifiques
    • retraits de fonctionnalités peu utiles

État acuel

J'ai récupéré sur l'avion Extra500 l'implémentation du Garmin Primus 1000, et notamment les objets 3D, et les SVG. Les objets 3D sont bien plus jolis que ceux du premier zkv1000, et le SVG est très complet.

général


INUTILISABLE

  • double-écran : pas d'écran de MFD, uniquement PFD
  • animations écrans : l'animation de l'affichage n'est pas du tout géré, mais les bases sont là
  • animation modèle 3D : les boutons et molettes fonctionnent (radio, comm, softkey, etc.) sauf les animations de rotation

dans le détail

  • apprentissage:
    • Canvas
    • SVG
    • InkScape (enfin pour les besoins du zkv1000)
    • format
    • archi de l'image importée (avec modification directe dans Vim)
  • XML
  • structure Nasal :
    • en apprendre plus sur les classes (les parents multiples)
    • les paramètres non-positionnels des fonctions (metaprogramming),
    • la possibilité de gérer le zkv1000 par la console Nasal

feuille de route

  1. avoir un PFD utilisable avec les fonctions de base, sans radio-navigation
  2. afficher l'EIS
  3. afficher les widgets du PFD
  4. rendre disponible le MFD

documentation