[EFDE] Interfaçage d'afficheur IRS 7 segments et IO32

J'ai regardé de plus prés comment interfacer des afficheurs IRS 7 segments, il faut normalement afficher une lettre en début de display, mais avec des 7 segments pas de caractères N, W ... il faudrait normalement des digits 14 ou 17 segments
J'ai donc programmé une puce de IO32 pour faire afficher un "n" pour le nord et un "o" pour l'ouest.
Voici de que cela donne en image :
J'ai fait un script associé qui se charge de la gestion des afficheurs :

J'ai donc programmé une puce de IO32 pour faire afficher un "n" pour le nord et un "o" pour l'ouest.
Voici de que cela donne en image :
J'ai fait un script associé qui se charge de la gestion des afficheurs :
- Code: Tout sélectionner
// EFDE 26/12/2019
// Author Fabien Deheegher
// var 700 : IRS_Rconv : conversion IRS right
// var 714 : IRS_Lconv : conversion IRS left
// declarer ci-dessous l'afficheur de droite
Var 0702, name IRS_R_1, static, Link IOCARD_DISPLAY, Device 0, Digit 6, Numbers 6 // IRS's RIGHT DISPLAY DIGITS
Var 0712, name IRS_EW, static, Link IOCARD_DISPLAY, Device 0, Digit 12, Numbers 1 // IRS's EAST&WEST DIGIT
// declarer ci-dessous l'afficheur de gauche
Var 0716, name IRS_L_1, static, Link IOCARD_DISPLAY, Device 0, Digit 0, Numbers 5 // IRS's LEFT DISPLAY DIGITS
Var 0724, name IRS_NS, static, Link IOCARD_DISPLAY, Device 0, Digit 5, Numbers 1 // IRS's NORTH&SOUTH DIGIT
// Nord et Est positif
// Sud et ouest négatif
Var 0700, name IRS_Rconv, static, Link SUBRUTINE
{
IF &IRS_TEST_I = 1
{
&IRS_EW = 8 // E/W-E/O OFF
&IRS_R_1 = 888888
}
ELSE
{
IF &IRS_TEST_I = 0
{
IF &IRS_Rconv = -1
{
&IRS_EW = -999999 // OFF
&IRS_R_1 = -999999 // OFF
}
ELSE
{
IF &IRS_Rconv < -1
{
&IRS_EW = -999996 // Ouest
&IRS_R_1 = ABS &IRS_Rconv // LONGITUDE
}
ELSE
{
IF &IRS_Rconv >= 0
{
&IRS_EW = -999997 // EAST
&IRS_R_1 = ABS &IRS_Rconv // LONGITUDE
}
}
}
}
}
}
Var 0714, name IRS_Lconv, static, Link SUBRUTINE
{
IF &IRS_TEST_I = 1
{
&IRS_NS = 8 // NORTH OFF
&IRS_L_1 = 88888
}
ELSE
{
IF &IRS_TEST_I = 0
{
IF &IRS_Lconv = -1
{
&IRS_NS = -999999 // OFF
&IRS_L_1 = -999999 // OFF
}
ELSE
{
IF &IRS_Lconv < -1
{
&IRS_NS = 5 // SOUTH
&IRS_L_1 = ABS &IRS_Lconv // LATITUDE
}
ELSE
{
IF &IRS_Lconv >= 0
{
&IRS_NS = -999995 // NORTH
&IRS_L_1 = ABS &IRS_Lconv // LATITUDE
}
}
}
}
}
}
// Var 0794, name IRS_DOT1R, static, Link IOCARD_OUT, Device 0, Output 43 // RIGHT HALF DISPLAY: RIGHT DOT
// Var 0796, name IRS_DOT2R, static, Link IOCARD_OUT, Device 0, Output 44 // RIGHT HALF DISPLAY: CENTER DOT
// Var 0798, name IRS_DOT3R, static, Link IOCARD_OUT, Device 0, Output 45 // RIGHT HALF DISPLAY: LEFT DOT
// Var 0800, name IRS_DOT1L, static, Link IOCARD_OUT, Device 0, Output 46 // LEFT HALF DISPLAY: RIGHT DOT
// Var 0802, name IRS_DOT2L, static, Link IOCARD_OUT, Device 0, Output 47 // LEFT HALF DISPLAY: CENTER DOT
// Var 0804, name IRS_DOT3L, static, Link IOCARD_OUT, Device 0, Output 48 // LEFT HALF DISPLAY: LEFT DOT
// Var 0806, name IRS_GPS_O, static, Link IOCARD_OUT, Device 0, Output 95 // IRS GPS INDICATOR
Var 0872, name IRS_TEST_I, static, Link IOCARD_SW, Device 0, Input 0 // IRS TEST ROTARY SWITCH
{
CALL &IRS_Lconv
CALL &IRS_Rconv
}
// Var 0874, name IRS_TKGS_I, static, Link IOCARD_SW, Device 0, Input 49 // IRS TK/GS ROTARY SWITCH
// Var 0876, name IRS_PPOS_I, static, Link IOCARD_SW, Device 0, Input 50 // IRS PPOS ROTARY SWITCH
// Var 0878, name IRS_WIND_I, static, Link IOCARD_SW, Device 0, Input 51 // IRS WIND ROTARY SWITCH
// Var 0880, name IRS_HDGSTS_I, static, Link IOCARD_SW, Device 0, Input 52 // IRS HDG/STS ROTARY SWITCH
// Var 0882, name IRS_SYSL_I, static, Link IOCARD_SW, Device 0, Input 53 // IRS SYS DISPLAY LEFT ROTARY SWITCH
// Var 0884, name IRS_KEY1_I, static, Link IOCARD_SW, Device 0, Input 36 // IRS KEY 1 MOMENTARY SWITCH
// Var 0886, name IRS_KEY2_I, static, Link IOCARD_SW, Device 0, Input 44 // IRS KEY 2N MOMENTARY SWITCH
// Var 0888, name IRS_KEY3_I, static, Link IOCARD_SW, Device 0, Input 42 // IRS KEY 3 MOMENTARY SWITCH
// Var 0890, name IRS_KEY4_I, static, Link IOCARD_SW, Device 0, Input 38 // IRS KEY 4W MOMENTARY SWITCH
// Var 0892, name IRS_KEY5_I, static, Link IOCARD_SW, Device 0, Input 40 // IRS KEY 5H MOMENTARY SWITCH
// Var 0894, name IRS_KEY6_I, static, Link IOCARD_SW, Device 0, Input 46 // IRS KEY 6E MOMENTARY SWITCH
// Var 0896, name IRS_KEY7_I, static, Link IOCARD_SW, Device 0, Input 43 // IRS KEY 7 MOMENTARY SWITCH
// Var 0898, name IRS_KEY8_I, static, Link IOCARD_SW, Device 0, Input 37 // IRS KEY 8S MOMENTARY SWITCH
// Var 0900, name IRS_KEY9_I, static, Link IOCARD_SW, Device 0, Input 45 // IRS KEY 9 MOMENTARY SWITCH
// Var 0902, name IRS_KEYENT_I, static, Link IOCARD_SW, Device 0, Input 47 // IRS KEY ENT MOMENTARY SWITCH
// Var 0904, name IRS_KEY0_I, static, Link IOCARD_SW, Device 0, Input 39 // IRS KEY 0 MOMENTARY SWITCH
// Var 0906, name IRS_KEYCLR_I, static, Link IOCARD_SW, Device 0, Input 41 // IRS KEY CLR MOMENTARY SWITCH