|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 18432 (0x4800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Cb_Lincoln, seg_05c1e7
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Bouton_Poussoir; with Bouton_Radio; with Carte_Es; with Pedale; with Potentiometre; with Rotateur; with Selecteur; with Conversion_Cb; package body Cb_Lincoln is package Selecteur_Mode is new Selecteur (Nb_Sorties => 3, Tposition => Modulation); type Lincoln is record Mode : Selecteur_Mode.Objet; Swr_Cal : Potentiometre.Objet (Potentiometre.Chip_X9312); Rf_Power : Potentiometre.Objet (Potentiometre.Chip_X9312); Rit : Potentiometre.Objet (Potentiometre.Chip_Ds1267); Marche_Arret : Bouton_Radio.Objet; Auto_Sq : Bouton_Radio.Objet; Squelch : Potentiometre.Objet (Potentiometre.Chip_X9312); Channel_Plus : Bouton_Poussoir.Objet; Channel_Moins : Bouton_Poussoir.Objet; Band : Bouton_Poussoir.Objet; Span : Bouton_Poussoir.Objet; Vfo : Rotateur.Objet; Nb : Bouton_Radio.Objet; Indic : Bouton_Poussoir.Objet; F_Lock : Bouton_Radio.Objet; Beep : Bouton_Radio.Objet; Scan : Bouton_Poussoir.Objet; Morse : Bouton_Radio.Objet; Tx : Pedale.Objet; Micro : Bouton_Radio.Objet; Hp : Bouton_Radio.Objet; Modem_In : Bouton_Radio.Objet; Modem_Out : Bouton_Radio.Objet; end record; S1_Mode : constant Carte_Es.Numero_Sortie := 1; S2_Mode : constant Carte_Es.Numero_Sortie := 2; S3_Mode : constant Carte_Es.Numero_Sortie := 3; S1_Swr : constant Carte_Es.Numero_Sortie := 4; S2_Swr : constant Carte_Es.Numero_Sortie := 5; S3_Swr : constant Carte_Es.Numero_Sortie := 6; S1_Rf : constant Carte_Es.Numero_Sortie := 7; S2_Rf : constant Carte_Es.Numero_Sortie := 8; S3_Rf : constant Carte_Es.Numero_Sortie := 9; S1_Rit : constant Carte_Es.Numero_Sortie := 10; S2_Rit : constant Carte_Es.Numero_Sortie := 11; S3_Rit : constant Carte_Es.Numero_Sortie := 12; S_Ma_Ar : constant Carte_Es.Numero_Sortie := 13; S_Sql : constant Carte_Es.Numero_Sortie := 14; S1_Sql : constant Carte_Es.Numero_Sortie := 15; S2_Sql : constant Carte_Es.Numero_Sortie := 16; S3_Sql : constant Carte_Es.Numero_Sortie := 17; S_Chan_P : constant Carte_Es.Numero_Sortie := 18; S_Chan_M : constant Carte_Es.Numero_Sortie := 19; S_Band : constant Carte_Es.Numero_Sortie := 20; S_Span : constant Carte_Es.Numero_Sortie := 21; S2_Vfo : constant Carte_Es.Numero_Sortie := 22; S1_Vfo : constant Carte_Es.Numero_Sortie := 23; S_Nb : constant Carte_Es.Numero_Sortie := 24; S_Indic : constant Carte_Es.Numero_Sortie := 25; S_Flock : constant Carte_Es.Numero_Sortie := 26; S_Beep : constant Carte_Es.Numero_Sortie := 27; S_Scan : constant Carte_Es.Numero_Sortie := 28; S_Morse : constant Carte_Es.Numero_Sortie := 29; S_Tx : constant Carte_Es.Numero_Sortie := 30; S_Micro : constant Carte_Es.Numero_Sortie := 31; S_Hp : constant Carte_Es.Numero_Sortie := 32; S_Mod_In : constant Carte_Es.Numero_Sortie := 33; S_Mod_Out : constant Carte_Es.Numero_Sortie := 34; Canal_Init : Canal := 19; Frequence_Init : Mhz := 27.185; Span_Init : Integer := 1; Ma_Cb : Lincoln := (Mode => Selecteur_Mode.Creer (Sorties => (1 => S1_Mode, 2 => S2_Mode, 3 => S3_Mode)), Swr_Cal => Potentiometre.Creer (S1 => S1_Swr, S2 => S2_Swr, S3 => S3_Swr, Avec => Potentiometre.Chip_X9312), Rf_Power => Potentiometre.Creer (S1 => S1_Rf, S2 => S2_Rf, S3 => S3_Rf, Avec => Potentiometre.Chip_X9312), Rit => Potentiometre.Creer (S1 => S1_Rit, S2 => S2_Rit, S3 => S3_Rit, Avec => Potentiometre.Chip_Ds1267), Marche_Arret => Bouton_Radio.Creer (Commande_Sortie => S_Ma_Ar), Auto_Sq => Bouton_Radio.Creer (Commande_Sortie => S_Sql), Squelch => Potentiometre.Creer (S1 => S1_Sql, S2 => S2_Sql, S3 => S3_Sql, Avec => Potentiometre.Chip_X9312), Channel_Plus => Bouton_Poussoir.Creer (Commande_Sortie => S_Chan_P), Channel_Moins => Bouton_Poussoir.Creer (Commande_Sortie => S_Chan_M), Band => Bouton_Poussoir.Creer (Commande_Sortie => S_Band), Span => Bouton_Poussoir.Creer (Commande_Sortie => S_Span), Vfo => Rotateur.Creer (Le_Sens => S1_Vfo, Le_Front => S2_Vfo), Nb => Bouton_Radio.Creer (Commande_Sortie => S_Nb), Indic => Bouton_Poussoir.Creer (Commande_Sortie => S_Indic), F_Lock => Bouton_Radio.Creer (Commande_Sortie => S_Flock), Beep => Bouton_Radio.Creer (Commande_Sortie => S_Beep), Scan => Bouton_Poussoir.Creer (Commande_Sortie => S_Scan), Morse => Bouton_Radio.Creer (Commande_Sortie => S_Morse), Tx => Pedale.Creer (Commande_Sortie => S_Tx), Micro => Bouton_Radio.Creer (Commande_Sortie => S_Micro), Hp => Bouton_Radio.Creer (Commande_Sortie => S_Hp), Modem_In => Bouton_Radio.Creer (Commande_Sortie => S_Mod_In), Modem_Out => Bouton_Radio.Creer (Commande_Sortie => S_Mod_Out)); procedure Mettre_En_Marche is begin Carte_Es.Initialiser; if not (Bouton_Radio.Actif (Ma_Cb.Marche_Arret)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Marche_Arret); end if; -- Questions a l'utilisateur pour avoir l'etat initial Canal_Init := Conversion_Cb.Frequence_Vers_Canal (La_Frequence => Frequence_Init); end Mettre_En_Marche; procedure Regler_La_Frequence (La_Valeur : in Mhz) is La_Difference : Natural; Le_Canal : Canal := Conversion_Cb.Frequence_Vers_Canal (La_Valeur); begin if Bouton_Radio.Actif (Ma_Cb.F_Lock) then raise Frequence_Verrouillee; else --positionner le span sur 1 (position par defaut) Se_Positionner_Sur_Le_Canal (Le_Canal); if La_Valeur > Frequence_Init then La_Difference := Natural (1000.0 * Float (La_Valeur - Frequence_Init)); Rotateur.Augmenter (Un_Objet => Ma_Cb.Vfo, De => Natural (La_Difference)); else La_Difference := Natural (1000.0 * Float (Frequence_Init - La_Valeur)); Rotateur.Diminuer (Un_Objet => Ma_Cb.Vfo, De => La_Difference); end if; Frequence_Init := La_Valeur; Canal_Init := Conversion_Cb.Frequence_Vers_Canal (La_Frequence => Frequence_Init); end if; end Regler_La_Frequence; procedure Verrouiller_La_Frequence is begin if not (Bouton_Radio.Actif (Ma_Cb.F_Lock)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.F_Lock); end if; end Verrouiller_La_Frequence; procedure Deverrouiller_La_Frequence is begin if Bouton_Radio.Actif (Ma_Cb.F_Lock) then Bouton_Radio.Appuyer_Sur (Ma_Cb.F_Lock); end if; end Deverrouiller_La_Frequence; procedure Se_Positionner_Sur_Le_Canal (La_Valeur : in Canal) is Difference : Canal; begin if Bouton_Radio.Actif (Ma_Cb.F_Lock) then raise Frequence_Verrouillee; else if Canal_Init > La_Valeur then Difference := Canal_Init - La_Valeur; Descendre_De_Canal (Difference); elsif Canal_Init < La_Valeur then Difference := La_Valeur - Canal_Init; Monter_De_Canal (Difference); end if; end if; end Se_Positionner_Sur_Le_Canal; procedure Descendre_De_Canal (Nbre_De_Canal : in Canal := 1) is begin if Bouton_Radio.Actif (Ma_Cb.F_Lock) then raise Frequence_Verrouillee; else for I in 1 .. Nbre_De_Canal loop Bouton_Poussoir.Appuyer_Sur (Ma_Cb.Channel_Moins); Canal_Init := Canal_Init - 1; end loop; Frequence_Init := Conversion_Cb.Canal_Vers_Frequence (Le_Canal => Canal_Init); end if; end Descendre_De_Canal; procedure Monter_De_Canal (Nbre_De_Canal : in Canal := 1) is begin if Bouton_Radio.Actif (Ma_Cb.F_Lock) then raise Frequence_Verrouillee; else for N in 1 .. Nbre_De_Canal loop Bouton_Poussoir.Appuyer_Sur (Ma_Cb.Channel_Plus); Canal_Init := Canal_Init + 1; end loop; Frequence_Init := Conversion_Cb.Canal_Vers_Frequence (Le_Canal => Canal_Init); end if; end Monter_De_Canal; procedure Positionner_Le_Mode (Sur : in Modulation) is begin Selecteur_Mode.Positionner (Un_Objet => Ma_Cb.Mode, Sur => Sur); end Positionner_Le_Mode; procedure Emettre is begin Pedale.Appuyer_Sur (Ma_Cb.Tx); end Emettre; procedure Arreter_D_Emettre is begin Pedale.Relacher (Ma_Cb.Tx); end Arreter_D_Emettre; procedure Fixer_Le_Silencieux (La_Valeur : in Utils.Pourcent) is begin if not (Bouton_Radio.Actif (Ma_Cb.Auto_Sq)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Auto_Sq); end if; Potentiometre.Fixer (Un_Objet => Ma_Cb.Squelch, A_La_Valeur => La_Valeur); end Fixer_Le_Silencieux; procedure Augmenter_Le_Silencieux (La_Valeur : in Utils.Pourcent := 1) is begin if not (Bouton_Radio.Actif (Ma_Cb.Auto_Sq)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Auto_Sq); end if; Potentiometre.Augmenter (Un_Objet => Ma_Cb.Squelch, De => La_Valeur); end Augmenter_Le_Silencieux; procedure Diminuer_Le_Silencieux (La_Valeur : in Utils.Pourcent := 1) is begin if not (Bouton_Radio.Actif (Ma_Cb.Auto_Sq)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Auto_Sq); end if; Potentiometre.Diminuer (Un_Objet => Ma_Cb.Squelch, De => La_Valeur); end Diminuer_Le_Silencieux; procedure Silencieux_En_Auto is begin if Bouton_Radio.Actif (Ma_Cb.Auto_Sq) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Auto_Sq); end if; end Silencieux_En_Auto; procedure Fixer_Le_Clarificateur (La_Valeur : in Utils.Pourcent) is begin Potentiometre.Fixer (Ma_Cb.Rit, A_La_Valeur => La_Valeur); end Fixer_Le_Clarificateur; procedure Augmenter_Le_Clarificateur (La_Valeur : in Utils.Pourcent := 1) is begin Potentiometre.Augmenter (Ma_Cb.Rit, De => La_Valeur); end Augmenter_Le_Clarificateur; procedure Diminuer_Le_Clarificateur (La_Valeur : in Utils.Pourcent := 1) is begin Potentiometre.Diminuer (Ma_Cb.Rit, De => La_Valeur); end Diminuer_Le_Clarificateur; procedure Activer_Le_Hp is begin if not (Bouton_Radio.Actif (Ma_Cb.Hp)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Hp); end if; end Activer_Le_Hp; procedure Desactiver_Le_Hp is begin if Bouton_Radio.Actif (Ma_Cb.Hp) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Hp); end if; end Desactiver_Le_Hp; procedure Activer_Le_Micro is begin if not (Bouton_Radio.Actif (Ma_Cb.Micro)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Micro); end if; end Activer_Le_Micro; procedure Desactiver_Le_Micro is begin if Bouton_Radio.Actif (Ma_Cb.Micro) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Micro); end if; end Desactiver_Le_Micro; procedure Fixer_La_Puissance (La_Valeur : in Utils.Pourcent) is begin Potentiometre.Fixer (Ma_Cb.Rf_Power, A_La_Valeur => La_Valeur); end Fixer_La_Puissance; procedure Augmenter_La_Puissance (La_Valeur : in Utils.Pourcent := 1) is begin Potentiometre.Augmenter (Ma_Cb.Rf_Power, De => La_Valeur); end Augmenter_La_Puissance; procedure Diminuer_La_Puissance (La_Valeur : in Utils.Pourcent := 1) is begin Potentiometre.Diminuer (Ma_Cb.Rf_Power, De => La_Valeur); end Diminuer_La_Puissance; procedure Fixer_Le_Tos_Metre (La_Valeur : in Utils.Pourcent) is begin Potentiometre.Fixer (Ma_Cb.Swr_Cal, A_La_Valeur => La_Valeur); end Fixer_Le_Tos_Metre; procedure Augmenter_Le_Tos_Metre (La_Valeur : in Utils.Pourcent := 1) is begin Potentiometre.Augmenter (Ma_Cb.Swr_Cal, De => La_Valeur); end Augmenter_Le_Tos_Metre; procedure Diminuer_Le_Tos_Metre (La_Valeur : in Utils.Pourcent := 1) is begin Potentiometre.Diminuer (Ma_Cb.Swr_Cal, De => La_Valeur); end Diminuer_Le_Tos_Metre; procedure Changer_L_Indication is begin Bouton_Poussoir.Appuyer_Sur (Ma_Cb.Indic); end Changer_L_Indication; procedure Activer_Le_Filtre_Nb is begin if not (Bouton_Radio.Actif (Ma_Cb.Nb)) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Nb); end if; end Activer_Le_Filtre_Nb; procedure Desactiver_Le_Filtre_Nb is begin if Bouton_Radio.Actif (Ma_Cb.Nb) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Nb); end if; end Desactiver_Le_Filtre_Nb; procedure Eteindre is begin if Bouton_Radio.Actif (Ma_Cb.Marche_Arret) then Bouton_Radio.Appuyer_Sur (Ma_Cb.Marche_Arret); end if; Carte_Es.Terminer; end Eteindre; end Cb_Lincoln;
nblk1=11 nid=f hdr6=20 [0x00] rec0=1d rec1=00 rec2=01 rec3=008 [0x01] rec0=17 rec1=00 rec2=07 rec3=00c [0x02] rec0=12 rec1=00 rec2=04 rec3=05e [0x03] rec0=15 rec1=00 rec2=0e rec3=094 [0x04] rec0=11 rec1=00 rec2=06 rec3=02c [0x05] rec0=14 rec1=00 rec2=05 rec3=00e [0x06] rec0=15 rec1=00 rec2=10 rec3=092 [0x07] rec0=20 rec1=00 rec2=11 rec3=012 [0x08] rec0=0c rec1=00 rec2=0b rec3=00c [0x09] rec0=1a rec1=00 rec2=03 rec3=012 [0x0a] rec0=23 rec1=00 rec2=0c rec3=00a [0x0b] rec0=1e rec1=00 rec2=0a rec3=046 [0x0c] rec0=25 rec1=00 rec2=09 rec3=042 [0x0d] rec0=1f rec1=00 rec2=02 rec3=082 [0x0e] rec0=26 rec1=00 rec2=0d rec3=00c [0x0f] rec0=02 rec1=00 rec2=08 rec3=000 [0x10] rec0=00 rec1=00 rec2=00 rec3=000 tail 0x2176b8c32895a7e15b296 0x42a00088462060003 Free Block Chain: 0xf: 0000 00 00 03 fc 80 16 61 72 74 65 5f 45 73 2e 4e 75 ┆ arte_Es.Nu┆