Documentation Et-PAP ==================== == 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] ... ----