Master Diagnostic Frame

The structure of the Tosetti's circular buffer that is dumped in case of failure

All the definitions are in $ADOPT_SOURCE/lib/AdsecDiagnLibStructs.h

AdsecDiagnRaw

typedef struct {
uint32 mask;
switch_bcu switc[BcuSwitch::N_CRATES];
crate_bcu crate[BcuMirror::N_CRATES];
} AdsecDiagnRaw;

BcuSwitch::N_CRATES = 1

BcuMirror::N_CRATES = 6

typedef struct
{
switch_bcu_header header;
float32 slopes[LB_N_SLOPES]; //TODO questo e' un vero dito nel culo: cambia quando alfio rebinna.
uint32 swb_SafeSkipFrameCnt; // il numero di frames saltati perché è fallito il check di sicurezza sui modi, comandi o correnti
uint32 swb_PendingSkipFrameCnt; // skipped frames because of "command pending"
uint32 swb_WFSGlobalTimeout; // If switch BCU doesn't receive any WFS frame for a while,
// swb_WFSGlobalTimeout is increased ( ++ for each timeout)
uint32 swb_NumFLTimeout; // number of FastLink timeouts.
uint32 swb_NumFLCrcErr; // number of FastLinl Crc errors.
uint32 not_used[3];
float32 accelerometer_coeffs[3]; // last is not used
uint32 TimeStamp; // 59.29 kHz (16.87us)
switch_bcu_header footer;
} switch_bcu;

(1620 dw)

typedef struct
{
uint32 WFSFrameCounter; // counter of frames
uint32 ParamBlockSelector; // optical loop settings
uint32 MirrorFrameCounter; //
uint32 Dummy; //
} switch_bcu_header;

typedef struct
{
crate_bcu_header header;
single_dsp_record dsp[BcuMirror::N_DSP_CRATE];
crate_bcu_header footer;
} crate_bcu;

(1912 dw)

BcuMirror::N_DSP_CRATE = 28

typedef struct
{
uint32 WFSFrameCounter; // counter of frames
uint32 ParamBlockSelector; // optical loop settings
uint32 MirrorFrameCounter; //
uint32 CommandHistoryPtr; //
} crate_bcu_header;

typedef struct
{
float32 DistAverage[4]; // Linearized position average
float32 CurrAverage[4]; // Current average
uint32 DistAccumulator[8]; // Accumulated linearized position
uint32 CurrAccumulator[8]; // Accumulated current
uint32 DistAccumulator2[12]; // Accumulated squared linearized position [2 not used]
uint32 CurrAccumulator2[12]; // Accumulated squared current [2 not used]
float32 Modes[4]; // Modes calculated
float32 NewDeltaCommand[4]; // Delta command to apply
float32 FFCommand[4]; // Delta Feed-Forward Command
float32 IntControlCurrent[4]; // Integrated Control Current
float32 FFPureCurrent[4]; // Integrated Feed-Forward' Current
} single_dsp_record;

-- ArmandoRiccardi - 29 Mar 2010
Topic revision: r2 - 29 Mar 2010, ArmandoRiccardi
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback