CROSS Technical Documentation User Manual and Technical Doc.
INFN Milano Bicocca
Loading...
Searching...
No Matches
Error_handling.h File Reference
#include "stdint.h"

Go to the source code of this file.

Enumerations

enum  ERROR_CROSS_address_ {
  error_address_reg_ADC0 , error_address_reg_ADC1 , error_address_Power_Supply_in_General , error_address_I2C0 ,
  error_address_I2C0_B , error_address_I2C1 , error_address_I2C1_B , error_address_SPI ,
  error_preamplifier_down , error_preamplifier_up , error_address_CAN , error_address_PGA_DetectorTrimmer_down ,
  error_address_PGA_DetectorTrimmer_up , error_address_DAC_Trimmer_Pre_Detector_supply , error_address_Bias_adjustment , error_number_of_errors_registers ,
  error_offset_for_board_up =15
}
 Here the indexes of the errors of the vector Post_frontend_errors. More...
 
enum  ERROR_ADC_ {
  ADC_internal_General_fails , ADC_SPI_fault , ADC_RDY_pin_fault , ADC_RDY_pin_fault_during_calibration ,
  VREF_ADC_too_small , VREF_ADC_too_large , ADC_external_fails
}
 
enum  ERROR_BIAS_POWER_SUPPLY_ {
  Vbol_pos_small_for_switching , Vbol_pos_large_for_switching , Vbol_neg_small_for_switching , Vbol_neg_large_for_switching ,
  Vbol_pos_too_large , Vbol_pos_too_small , Vbol_neg_too_large , Vbol_neg_too_small ,
  Vref_pos_too_large , Vref_pos_too_small , Vref_neg_absolute_val_too_large , Vref_neg_absolute_val_too_small ,
  VCC_PRE_pos_too_large , VCC_PRE_pos_too_small , VEE_PRE_absolute_val_too_large , VEE_PRE_absolute_val_too_small ,
  VCC_PGA_pos_too_large , VCC_PGA_pos_too_small , VEE_PGA_absolute_val_too_large , VEE_PGA_absolute_val_too_small ,
  V__dig_5V_val_too_large , V__dig_5V_val_too_small , V__dig_3e3V_val_too_large , V__dig_3e3V_val_too_small
}
 
enum  ERROR_I2C_A {
  I2C_Error_EVENT_TRANSFER_DONE , I2C_Error_EVENT_TRANSFER_INCOMPLETE , I2C_Error_EVENT_SLAVE_TRANSMIT , I2C_Error_EVENT_SLAVE_RECEIVE ,
  I2C_Error_EVENT_ADDRESS_NACK , I2C_Error_NONE , I2C_Error_EVENT_ARBITRATION_LOST , I2C_Error_EVENT_BUS_ERROR ,
  I2C_Error_EVENT_BUS_CLEAR , I2C_Error_I2C_mux , I2C_Error_I2C_to_parallel_PCA9554_0 , I2C_Error_I2C_to_parallel_PCA9554_1 ,
  I2C_Error_I2C_to_parallel_PCA9554_2 , I2C_Error_I2C_to_parallel_PCA9554_3 , I2C_Error_trimmer_0 , I2C_Error_trimmer_1 ,
  I2C_Error_trimmer_2 , I2C_Error_trimmer_3 , I2C_Error_trimmer_4 , I2C_Error_trimmer_5 ,
  I2C_error_EPROM_0 , I2C_error_EPROM_1 , I2C_error_EPROM_2 , I2C_error_EPROM_3 ,
  I2C_error_EPROM_4 , I2C_error_EPROM_5
}
 
enum  ERROR_I2C_B {
  I2C_error_termometro_0 , I2C_error_termometro_1 , I2C_error_termometro_2 , I2C_error_termometro_3 ,
  I2C_error_termometro_4 , I2C_error_termometro_5 , I2C_error_trimmer_bias_0 , I2C_error_trimmer_bias_1 ,
  I2C_error_trimmer_bias_2 , I2C_error_trimmer_bias_3 , I2C_error_trimmer_bias_4 , I2C_error_trimmer_bias_5
}
 
enum  error_SPI_ { SPI_error_NONE , SPI_error_EVENT_DATA_LOST , SPI_error_EVENT_MODE_FAULT }
 
enum  ERROR_preamplifier_ {
  preamplifier_Error_in_reading_temperature_0 , preamplifier_Error_in_reading_temperature_1 , preamplifier_Error_in_reading_temperature_2 , preamplifier_Error_in_reading_temperature_3 ,
  preamplifier_Error_in_reading_temperature_4 , preamplifier_Error_in_reading_temperature_5 , preamplifier_Error_offset_not_accurate_0 , preamplifier_Error_offset_not_accurate_1 ,
  preamplifier_Error_offset_not_accurate_2 , preamplifier_Error_offset_not_accurate_3 , preamplifier_Error_offset_not_accurate_4 , preamplifier_Error_offset_not_accurate_5 ,
  preamplifier_Error_with_its_trimmer_0 , preamplifier_Error_with_its_trimmer_1 , preamplifier_Error_with_its_trimmer_2 , preamplifier_Error_with_its_trimmer_3 ,
  preamplifier_Error_with_its_trimmer_4 , preamplifier_Error_with_its_trimmer_5 , preamplifier_Error_with_its_EEPROM_0 , preamplifier_Error_with_its_EEPROM_1 ,
  preamplifier_Error_with_its_EEPROM_2 , preamplifier_Error_with_its_EEPROM_3 , preamplifier_Error_with_its_EEPROM_4 , preamplifier_Error_with_its_EEPROM_5
}
 
enum  ERROR_CAN { CAN_error_comunichiamo_qualche_dato_timeout_on_transmission }
 
enum  ERROR_BIAS_setting {
  Error_detector_realy_setting , Final_bias_diff_not_accurate_0 , Final_bias_diff_not_accurate_1 , Final_bias_diff_not_accurate_2 ,
  Final_bias_diff_not_accurate_3 , Final_bias_diff_not_accurate_4 , Final_bias_diff_not_accurate_5 , Final_bias_pos_not_accurate_0 ,
  Final_bias_pos_not_accurate_1 , Final_bias_pos_not_accurate_2 , Final_bias_pos_not_accurate_3 , Final_bias_pos_not_accurate_4 ,
  Final_bias_pos_not_accurate_5 , Final_bias_neg_not_accurate_0 , Final_bias_neg_not_accurate_1 , Final_bias_neg_not_accurate_2 ,
  Final_bias_neg_not_accurate_3 , Final_bias_neg_not_accurate_4 , Final_bias_neg_not_accurate_5 , Detector_bias_slopes_not_available
}
 
enum  DetectorTrimmer_error_ {
  DetectorTrimmer_error_0 , DetectorTrimmer_error_1 , DetectorTrimmer_error_2 , DetectorTrimmer_error_3 ,
  DetectorTrimmer_error_4 , DetectorTrimmer_error_5 , PGA_error_0 , PGA_error_1 ,
  PGA_error_2 , PGA_error_3 , PGA_error_4 , PGA_error_5
}
 

Functions

void ERROR_codifica_errore (uint8_t scheda_su_scheda_giu, unsigned char error_addres, unsigned char code_to_shift, uint8_t reset_count_se_0)
 If an error is found its flag is codified here.
 
int error_inspection (char what_to_answer)
 
void store_errors (void)
 Copy all errors in a buffer.
 
void restore_errors (void)
 Re-store all errors from the buffer.
 
void instr_ERROR_echo_on_off_function (void)
 Immediate echos of a verified error activated/disattivated.
 
void instr_ERROR_inspection_function (void)
 The state of the errors can be verified/reset.
 
void Error_imposta_la_istruzione (void)
 Function to be located at the end of every instruction to mark the error, if any.
 

Variables

volatile unsigned int flag_error_verified
 
volatile unsigned int flag_error_verified_at_startup
 Alla verifica di un qualsiasi errore questo flag viene incrementato, 0 implica nessun errore.
 
volatile unsigned char flag_error_acknowledged
 Alla verifica di un qualsiasi errore allo startup questo flag viene posto ad 1, 0 altrimenti.
 
volatile unsigned char last_error_address
 Il flag di errore veirifcato e tutti gli errori vengono resettati perch\'e acquisiti.
 
volatile unsigned char last_code_to_shift
 The address of the last verified error.
 
volatile unsigned char last_error_address_at_startup
 The shift bit of the last error.
 
volatile unsigned char last_code_to_shift_at_startup
 The address of the last verified error.
 
volatile unsigned char can_send_error
 The shift bit of the last error.
 
volatile uint32_t Error_good_operation
 
volatile uint32_t Error_bad_operation
 exploited to mark the errors
 
unsigned int Post_frontend_errors [error_number_of_errors_registers+error_offset_for_board_up]
 Vector that lists the flag registers.
 
unsigned int Post_frontend_errors_copy [error_number_of_errors_registers+error_offset_for_board_up]
 ///
 
char flag_error_verified_vecchio
 
unsigned char last_error_address_vecchio