CROSS Technical Documentation User Manual and Technical Doc.
INFN Milano Bicocca
Loading...
Searching...
No Matches
Preamplifier_Offset_Drift_Correcttion.h
Go to the documentation of this file.
1
2#include <stdint.h>
3/// \file
4
5
6
7#define preamplifier_scrivi_il_trimmer 1 /*!< trimmer writing flag */
8#define preamplifier_leggi_il_trimmer 0 /*!< trimmer reading flag */
9
10#define preamplifier_coarse_step_trimmer_default 230e3
11#define preamplifier_fine_step_trimmer_default 1970
12
13#define preamplifier_positive_saturation 9e6 /*The positive max differential amplitude*/
14#define preamplifier_negative_saturation -9e6 /*The negative max differential amplitude*/
15
16extern int32_t preamplifier_Output_offset_target[12]; //in microV
17
18extern volatile uint16_t preamplifier_attesa_tra_le_misure ; //attesa tra le misure per aggiustamento offset
19
20extern int32_t preamplifier_error_voltage; //errore tollerato in microV
21
22extern uint8_t preamplifier_canali_da_regolare; //i canali da agiustare
23
24extern uint8_t preamplifier_externalADC_1_onboardADC_0 ; //ADC selection for offset adjustment
25extern uint8_t preamplifier_SAR_1_no_SAR_0; //SAR / no SAR in offset adjustment.
26extern uint8_t preamplifier_fastSAR_1_no_fastSAR_0; //fast SAR in offset adjustment
27
28extern volatile uint8_t termalizzazione_fatta[];
29
30extern struct preamplifier_SAR_ini_type { // SAR ini register
31 uint8_t starting_value;
32 uint8_t starting_value_neg;
33 uint8_t starting_exp_value[2];
34} preamplifier_SAR_ini[];
35
36
37extern int32_t preamplifier_coarse_step_trimmer[]; //Value in microV
38extern int32_t preamplifier_fine_step_trimmer[]; //Value in microV
39
40extern uint8_t preamplifier_canali_da_regolare_old;
41extern volatile int32_t preamplifier_Output_offset_target_at_the_moment[] ;
42
45static void preamplifier_normalize_gain_offset_error(uint8_t scheda_su_scheda_giu_);
46//void preamplifier_aggiusta_offset_FastSAR(void);
49void preamplifier_ritorno_al_gain_originale(uint8_t scalata, uint8_t indice_trimmer, uint8_t * target_raggiunto_1_non_raggiunto_0);
50int32_t preamplifier_ADC_external_measured_node_function(uint8_t scheda_su_scheda_giu, uint8_t indice);
51void preamplifier_trova_il_guess(uint8_t trimmer_da_usare);
52void preamplifier_determina_trimmer_therma_comp(uint8_t scheda_su_scheda_giu,uint8_t canale, \
53 uint8_t valore_previsto_trimmer_offset, uint8_t solo_recupero_default_comp_se_1);
54
55
56
void instr_preamplifier_scrittura_lettura_trimmer_offset_function(void)
Content of the preamplifier trimmers can be read/write.
void preamplifier_trova_il_guess(uint8_t trimmer_da_usare)
void instr_output_offset_to_be_set_function(void)
The detector bias will be set at the value set with the function instr_detector_Vbias_we_want_to_set_...
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...
void instr_ouput_offset_we_want_to_set_function(void)
The preamplifier offset will be set at the value passed from the CAN with this function if,...
void preamplifier_determina_trimmer_therma_comp(uint8_t scheda_su_scheda_giu, uint8_t canale, uint8_t valore_previsto_trimmer_offset, uint8_t solo_recupero_default_comp_se_1)
This function determines and set the thermal compensation trimmer.
int32_t preamplifier_Output_offset_target[12]
Offset target values.
void preamplifier_aggiusta_offset_SAR(void)
This function provide the output offset with the standard SAR method.
int32_t preamplifier_ADC_external_measured_node_function(uint8_t scheda_su_scheda_giu, uint8_t indice)
This function provide node reading from an external ADC.