Introduction

Les pitch-angle BEPI, sont calculés dans 4 gammes d'énergies pour les produits Et-PAP, et même 8 gammes pour les produits Et-PAPe.

Ces gammes d'énergies sont sélectionnables par commande.

On retrouve les paramètres de la commande dans les HSK (variable s_etpap).

On retrouve également ces 4 gammes d'énergies dans la structure INF renvoyée dans la télémesure scientifique, sous la forme de 5 valeurs :

  • Largeur bande énergie

  • Valeurs des 4 paliers en énergie

On y trouve aussi le numéro de la table d'énergie utilisée, le numéro du secteur correspondant au champ B.

Il existe une structure INFe avec largeur + 8 gammes d'énergie pour les Et-PAPe.

Les valeurs sont codées sous forme de :

  • 5 x 6 bits dans la structure INF

  • 9 x 6 bits dans la structure INFe

Ce qui autorise des valeurs entre 0 et 63.

Warning

Vérifier que les paliers correspondent à la gamme 62 énergies

Lecture structure INF

Le code ci-dessous décrit la manière dont sont envoyés les données du paquet INF, qui donne les informations sur les gammes d'énergies des Et-PAP et des VM.

Il encode 5 valeurs uc_ep[0] a uc_ep[4] dans 4 octets uc_hdr [0..3].

Chaque valeur est constituée de 6 bits, soit 30 bits.

La première étant la largeur de bande, les 4 autres les indices de début de chaque bande d'énergie.

jaxa/Applications/APP03/APP03_MPPE_MEA.c
    //INF
    pDat->uc_hdr2[0] = ((pCtrl->uc_ep[0] & 0x3f) << 2) | ((pCtrl->uc_ep[1] & 0x3f) >> 4);
    pDat->uc_hdr2[1] = ((pCtrl->uc_ep[1] & 0x3f) << 4) | ((pCtrl->uc_ep[2] & 0x3f) >> 2);
    pDat->uc_hdr2[2] = ((pCtrl->uc_ep[2] & 0x3f) << 6) | ((pCtrl->uc_ep[3] & 0x3f)     );
    pDat->uc_hdr2[3] = ((pCtrl->uc_ep[4] & 0x3f) << 2);
    pDat->uc_hdr2[4] = j_pap;
    pDat->uc_hdr2[5] = uc_pot;                          //Largest en# (potential) used for VM cal.
    pDat->uc_hdr2[6] = pCtrl->uc_stpe_no;               //en# of sweep stopping
    pDat->uc_hdr2[7] = i_en;                            //Energy table#

Calcul des Et-PAP

Le code ci-dessous semble décrire le calcul des Et-PAP :

jaxa/Applications/APP03/APP03_MPPE_MEA.c
    p = app03_MEA_getSCfromMGF(pCtrl->uc_B_mode, pCtrl->uc_B_sec, pDat->ui_TIL);
    j = j_pap;
    for (i = 0; i < 16*4*2; ++i)    pDat->ui_MEtP[i] = 0;   //Init.
    for (n = 0; n <  4; ++n) {                                                          //4 energy steps
        for (k = pCtrl->uc_ep[n+1]; k <= pCtrl->uc_ep[n+1] + pCtrl->uc_ep[0]; ++k) {    //4 points and width from CMD
            if (k > 31) continue;
            for (i = 0; i < 16; ++i) {                      //channel
                i_cell = i_hd + i + k*16 + j*i_sc;
                pDat->ui_MEtP[i + 16*n] += us_cnt[i_cell];
                if (uc_chall) pDat->ui_MEtP[i + 16*n +64] = us_cnt[i_cell + 512*8]; //  8sector shift
                                                                                    //  in case of the product of 2s
            }
        }
    }

2017/02/09 Vérification fonctionnement

Utilisation d’un script python pour afficher les valeurs dans les CDF HSK

trunk/software/python/hsk_etpap.py

Apparemment, lors des tests réalisés le 2017/01/26, il y a eu modification des valeurs par défaut.

MEA1 2017/01/26

$ python hsk_etpap.py MEA1 2017/01/26
2017-01-26 10:03:30.330200 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 10:03:46.330300 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 10:04:02.328300 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 10:04:18.327300 [ 0  9 15 21 27 33 39 45 51]
...
2017-01-26 11:29:21.876100 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 11:29:37.876900 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 11:29:53.871000 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 11:30:09.872600 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 11:30:25.868600 [ 0  0  2  4  6  8 10 12 14] CHANGEMENT
2017-01-26 11:30:41.870800 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 11:30:57.865700 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 11:31:13.871800 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 11:31:29.863200 [ 0  0  2  4  6  8 10 12 14]
...
2017-01-26 12:02:57.699000 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 12:03:13.695600 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 12:03:29.695700 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 12:03:45.692700 [ 0  9 15 21 27 33 39 45 51] RETOUR INITIAL
2017-01-26 12:04:01.692800 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 12:04:17.693800 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 12:04:33.690300 [ 0  9 15 21 27 33 39 45 51]
...

Modification des valeurs entre 11:30:25 et 12:03:29

Je n’ai pas pu vérifier la prise en compte des modifications dans les données science, car l’instrumenti MEA1 n'était pas activé durant cette période.

MEA2 2017/01/26

$ python hsk_etpap.py MEA2 2017/01/26
2017-01-26 13:34:09.218300 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 13:34:25.211100 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 13:34:41.213000 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 13:34:57.210200 [ 0  9 15 21 27 33 39 45 51]
...
2017-01-26 14:23:12.973900 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:23:28.955000 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:23:44.951700 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:24:00.950500 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:24:16.948800 [ 0  0  2  4  6  8 10 12 14] CHANGEMENT
2017-01-26 14:24:32.948200 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 14:24:48.946400 [ 0  0  2  4  6  8 10 12 14]
...
2017-01-26 14:40:48.862800 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 14:41:04.860400 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 14:41:20.860000 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 14:41:36.858000 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 14:41:52.856000 [ 0  0  2  4  6  8 10 12 14]
2017-01-26 14:42:08.855700 [ 0  9 15 21 27 33 39 45 51] RETOUT INITIAL
2017-01-26 14:42:24.854100 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:42:40.852400 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:42:56.848800 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:43:12.850500 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:43:28.847600 [ 0  9 15 21 27 33 39 45 51]
2017-01-26 14:43:44.846500 [ 0  9 15 21 27 33 39 45 51]
...

Modification entre 14:24:16 et 14:41:52.

Vérification de la prise en compte des modifications dans la structure INF des données sciences.

Affichage contenu des fichiers de log.

$ cat log/MEA2_20176126.log | egrep "(Energy bands|APID = 0530)"
1 : SDT.Parse_SDT_packet           : 2017-026T14:23:30.958800Z  Size =  592  APID = 0530  Seq =  387 Cat = 51 Pckid = 2 (LOW) Adu_size =     0
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SDT.Parse_SDT_packet           : 2017-026T14:24:34.953600Z  Size =  599  APID = 0530  Seq =  404 Cat = 51 Pckid = 2 (LOW) Adu_size =     0
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SDT.Parse_SDT_packet           : 2017-026T14:25:54.947200Z  Size =  578  APID = 0530  Seq =  421 Cat = 51 Pckid = 2 (LOW) Adu_size =     0
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
...
1 : SDT.Parse_SDT_packet           : 2017-026T14:40:02.871200Z  Size =  586  APID = 0530  Seq =  642 Cat = 51 Pckid = 2 (LOW) Adu_size =     0
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SDT.Parse_SDT_packet           : 2017-026T14:41:22.864500Z  Size =  583  APID = 0530  Seq =  659 Cat = 51 Pckid = 2 (LOW) Adu_size =     0
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SCI.Parse_INF                  : Energy bands = [0, 0, 2, 4, 6]
1 : SDT.Parse_SDT_packet           : 2017-026T14:42:58.854800Z  Size =  538  APID = 0530  Seq =  686 Cat = 51 Pckid = 2 (LOW) Adu_size =     0
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
1 : SDT.Parse_SDT_packet           : 2017-026T14:44:02.846600Z  Size =  550  APID = 0530  Seq =  703 Cat = 51 Pckid = 2 (LOW) Adu_size =     0
1 : SCI.Parse_INF                  : Energy bands = [0, 9, 15, 21, 27]
...