CROSS Technical Documentation User Manual and Technical Doc.
INFN Milano Bicocca
Loading...
Searching...
No Matches

◆ EPROM_store_recover_detector_voltage_M24C32_64()

void EPROM_store_recover_detector_voltage_M24C32_64 ( uint8_t  scheda_su_scheda_giu,
uint8_t  canali_da_regolare,
uint32_t  voltage_integer,
uint8_t  set_1_store_0 
)

[fun_EPROM_store_recover_state_M24C32_64]

Store or load the detector bias trimmer content

Parameters
[in]scheda_su_scheda_giu
[in]canali_da_regolarethe channels to be worked out, 1= yes, 0=no. Ex: 101001= ch 0, ch 3 and ch 5 are worked.
[in]set_1_store_0store the system state in memory, if 1, recover and apply the stored setup, if 0
[out]startup_1_user_0store/recover from the startup, if 1, or from the user location, if 0
Returns
No Parameters
621void EPROM_store_recover_detector_voltage_M24C32_64(uint8_t scheda_su_scheda_giu,uint8_t canali_da_regolare, \
622uint32_t voltage_integer ,uint8_t set_1_store_0 ){
623
624 uint8_t dati_da_leggere[4],ii_,canale,dati_da_scrivere[]={0,0,0,0};
625 uint16_t memoria_per_trimmer, memoria_per_abilitazione, memoria_per_relay_PGA,memoria_per_detector_trimmer;
626 uint8_t valori_per_canale=51; //Valori da memorizzare, da 0 V a 50 V
627
628 voltage_integer = voltage_integer /1000; //Bias trasformato in intero
629
630 if(scheda_su_scheda_giu) scheda_su_scheda_giu=6;
631
632 memoria_per_abilitazione=Memory_mainboard_det_chan_0_0V + voltage_integer ; //A questo va aggiunto valori_per_canale x canale
633
634
635 if ((set_1_store_0 ==0) ){ //Quindi scriviamo in memoria
636 for(canale=0;canale<6;canale++){
637 if((canali_da_regolare >> canale) &1 ){
638 memoria_per_abilitazione += canale * valori_per_canale;
639 EPROM_scrittura_M24C32_64(scheda_su_scheda_giu, I2C_mainboard, canale,\
640 memoria_per_abilitazione << 2 , (uint8_t *)&contenuto_trimmer_detector[canale+scheda_su_scheda_giu]);
641 }
642 }
643 }
644
645 if (set_1_store_0 ){ //Quindi recuperiamo ed applichiamo o stato
646 for(canale=0;canale<6;canale++){
647 if((canali_da_regolare >> canale) &1 ){
648 memoria_per_abilitazione += canale * valori_per_canale;
649 EPROM_lettura_M24C32_64(scheda_su_scheda_giu, I2C_mainboard, canale, \
650 memoria_per_abilitazione , dati_da_leggere);
651
652 for(ii_=0;ii_<4;ii_++){
653 detector_scrittura_lettura_trimmer_bias( scheda_su_scheda_giu, canale, ii_, \
654 dati_da_leggere[ii_], preamplifier_scrivi_il_trimmer );
655 }
656 }
657 }
658
659 }
660}
void EPROM_store_recover_detector_voltage_M24C32_64(uint8_t scheda_su_scheda_giu, uint8_t canali_da_regolare, uint32_t voltage_integer, uint8_t set_1_store_0)
[fun_EPROM_store_recover_state_M24C32_64]
void EPROM_lettura_M24C32_64(uint8_t scheda_su_scheda_giu_, uint8_t mainboard_postmainboard, uint8_t canale, short indirizzo_memoria, uint8_t *dati_letti)
Read from preamplifier and on-board flashes.
void EPROM_scrittura_M24C32_64(uint8_t scheda_su_scheda_giu, uint8_t mainboard_postmainboard, uint8_t canale, short indirizzo_memoria, uint8_t *dati_da_scrivere)
Wriring the EEPROM.
@ Memory_mainboard_det_chan_0_0V
fine slope for detector negative trimmer bias
#define preamplifier_scrivi_il_trimmer
uint8_t contenuto_trimmer_detector[12][4]
Content of the trimmer for detector bias system.
Definition: Trimmer.c:161
void detector_scrittura_lettura_trimmer_bias(uint8_t scheda_su_scheda_giu, uint8_t canale, uint8_t trimmer, uint8_t valore, uint8_t scrivi_1_leggi_0)
Setting the value of any trimmer for detector biasing, the contents of the trimmers are stored in the...
Definition: Trimmer.c:238

[fun_EPROM_store_recover_detector_voltage_M24C32_64]

Definition at line 621 of file Memoria_pre_M24CXX.c.

References contenuto_trimmer_detector, detector_scrittura_lettura_trimmer_bias(), EPROM_lettura_M24C32_64(), EPROM_scrittura_M24C32_64(), Memory_mainboard_det_chan_0_0V, and preamplifier_scrivi_il_trimmer.