Task #517
closedVérification des températures
0%
Description
J ai demandé à Paul comment calculer les temperatures contenues dans les TM_LFR_HK.
3 champs
- HK_LFR_TEMP_SCM
- HK_LFR_TEMP_PCB
- HK_LFR_TEMP_FPGA
Voici sa réponse
Deux solutions: soit tu fais une vérification par toi même et dans ce cas, il faut regarder sur les schémas de la carte sur lesquels Alexis a glissé des plots dont on peut déduire les formules (tu peux lui demander de l'aide si t'as pas peur). Soit tu me fais confiance et dans le soft lfrsgse, la fonctino qui fait ça est la suivante:
void HKDisplay::update_temperatures(Packet_TM_LFR_HK_t *housekeepingPacket)
{
short temp_scm;
short temp_pcb;
short temp_fpga;
float Tscm;
float Tpcb;
float Tfpga;
temp_scm = (short) (housekeepingPacket->hk_lfr_temp_scm[0] << 8)
+ housekeepingPacket->hk_lfr_temp_scm[1];
temp_pcb = (short) (housekeepingPacket->hk_lfr_temp_pcb[0] << 8)
+ housekeepingPacket->hk_lfr_temp_pcb[1];
temp_fpga = (short) (housekeepingPacket->hk_lfr_temp_fpga[0] << 8)
+ housekeepingPacket->hk_lfr_temp_fpga[1];
Tscm = ( (float) temp_scm) * 1.4 / 16384 * 100 / 0.8 + 115;
Tpcb = ( (float) temp_pcb) * 1.4 / 16384 * 50 / 0.8 + 37.5;
Tfpga = ( (float) temp_fpga)* 1.4 / 16384 * 50 / 0.8 + 37.5;
hk_lfr_temp_scm->setText( "temp_scm: " + QString::number( temp_scm )
+ " (" + QString::number( Tscm, 'f', 1 ) + " °C)");
hk_lfr_temp_pcb->setText( "temp_pcb: " + QString::number( temp_pcb )
+ " (" + QString::number( Tpcb, 'f', 1 ) + " °C)");
hk_lfr_temp_fpga->setText("temp_fpga: " + QString::number( temp_fpga )
+ " (" + QString::number( Tfpga, 'f', 1 ) + " °C)");
}
En ce qui concerne la temperature des SCM, cela ne peut etre fait par pas de sensors.