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

◆ preamplifier_ritorno_al_gain_originale()

void preamplifier_ritorno_al_gain_originale ( uint8_t  scalata,
uint8_t  indice_trimmer,
uint8_t *  target_raggiunto_1_non_raggiunto_0 
)

This function sets the original gain when a few LSb have to be determined. The umber of bits is bit_to_go.

Parameters
[in]indice_trimmerthe offset trimmer under usage
[in]scalataThe value 1<<(7-scalata) is the SAR test weigth
[in]target_raggiunto_1_non_raggiunto_0vector for target offset got or not got
Returns
No Parameters, the actual result is sent to the CAN bus output throught tx_data.
672void preamplifier_ritorno_al_gain_originale(uint8_t scalata, uint8_t indice_trimmer, uint8_t * target_raggiunto_1_non_raggiunto_0){
673#define bit_to_go 3
674uint8_t canale, indice;
675 if( scheda_su_scheda_giu >=1) scheda_su_scheda_giu=6;
676 //***************Questo solo al secondo giro per impostare il secondo trimmer inizio**************************************************
677 if( (indice_trimmer == 1) && ((7-scalata)==bit_to_go) ){
678 preamplifier_canali_da_regolare_old = preamplifier_canali_da_regolare;
679
680 //Ritorno al guadagno originale per tutti i canali inizio
681 for(canale=0; canale< 6; canale++){
682 indice = canale + scheda_su_scheda_giu;
683 if( (preamplifier_SAR_ini[indice].starting_exp_value[1]<2) && (PGA_settled_gain_old[indice] > 1) ){
684 //Siamo un po' pessimisti e aggiungiamo bit di test a guadagni grandi
685 preamplifier_SAR_ini[indice].starting_exp_value[1]=2;
687 preamplifier_scrittura_lettura_trimmer( scheda_su_scheda_giu, canale, trimmer_fine_offset, \
689 }
690 PGA_GAIN_CROSS( scheda_su_scheda_giu , canale , PGA_settled_gain_old[indice] );
691 if ( (PGA_settled_gain_old[indice] ==1) && (((preamplifier_canali_da_regolare >> canale)&1)==0)){
692 preamplifier_canali_da_regolare_old &= ~(1 << canale); //In this case nothing changes
693 }
694 //Recuperiamo errore e target iniziale
695 preamplifier_Output_offset_target_at_the_moment[indice] = preamplifier_Output_offset_target[indice];
696 preamplifier_error_voltage_at_the_moment[indice] = preamplifier_error_voltage_at_PGA_gain[indice];
697 }
698 //Ritorno al guadagno originale per tutti i fine
699 preamplifier_canali_da_regolare =preamplifier_canali_da_regolare_old;
700 Aspetta_tanti_ms( preamplifier_attesa_tra_le_misure ); //Measure with the new values
701 }
702}
void PGA_GAIN_CROSS(uint8_t scheda_su_scheda_giu, uint8_t canale, uint8_t PGA_gain_to_set)
Here the 2 digital signals from the trimmer are exploited to set the gain of the input stage of the P...
Definition: DAC_PGA.c:109
void preamplifier_ritorno_al_gain_originale(uint8_t scalata, uint8_t indice_trimmer, uint8_t *target_raggiunto_1_non_raggiunto_0)
This function sets the original gain when a few LSb have to be determined. The umber of bits is bit_t...
int32_t preamplifier_Output_offset_target[12]
Offset target values.
#define preamplifier_scrivi_il_trimmer
void Aspetta_tanti_ms(int millisecondi)
The timing function.
Definition: Timer.c:52
uint8_t volatile contenuto_trimmer_preamplifier[12][4]
Definition: Trimmer.c:179
void preamplifier_scrittura_lettura_trimmer(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 preamplifier trimmer, the contents of the trimmers are stored in...
Definition: Trimmer.c:283
#define trimmer_fine_offset
Definition: Trimmer.h:80

Definition at line 672 of file Preamplifier_Offset_Drift_Correcttion.c.