Jpp
Audio_Structures.h
Go to the documentation of this file.
1 #ifndef AUDIO_STRUCTURES_H_
2 #define AUDIO_STRUCTURES_H_
3 
4 #include <stdint.h>
5 
6 #pragma pack(push,1)
7 
8 /**
9  * \author fsimeone
10  */
11 
13 {
14  uint32_t Frame_Length; //The length of the complete frame in bytes (including the header). This field is created in the DataQueue.
15  uint32_t Data_Type;
17  uint32_t Run_Number; //Number of the run. Inherited from CLB Common Header.
18  uint32_t Sequence_Number; //Sequence number of the frame in the current run.
19  uint32_t Time_Stamp_seconds; //UTC timestamp of Frame start, seconds counted since 1.1.1970 00:00:00.
20  uint32_t Time_Stamp_ticks; //UTC timestamp of Frame start, 16 nanosecond-ticks.
21  uint32_t DOM_Identifier; //Identifier of the DOM at the DataQueue level - inherited from CLB Common Header - and detector subset at the DataFilter/DataWriter level.
22  uint32_t DQ_Status;
23  uint32_t DOM_Status1;
24  uint32_t DOM_Status2;
25  uint32_t DOM_Status3;
26  uint32_t DOM_Status4;
27  uint32_t Number_of_Items; //number of hits (optical) or audio words/time of arrival data (acoustical)
28 };
29 
30 struct Info_Word
31 {
33  {
34  struct
35  {
36  unsigned Reserved :3;
37  unsigned Amplitude_Resolution :2; //Amplitude Resolution (0 = 12 bit; 1 = 16 bit; 2 = 24 bit)
38  unsigned ChannelsSent :2; //Channels sent (0 = both; 1 = ch1; 2 = ch2)
39  unsigned Fixed :1; //“1”: mark the info word
40  } Bits;
41  uint8_t Valore;
42  } Info;
43  uint8_t Samplig_Rate; //Sampling rate: main clock in MHz; the sampling frequency is SR / 128 (25 MHz / 128 = 195.3 kHz, for example)
44  uint32_t Time_Info; //Time between Frame start and the time of the acquisition of the first audio data of the current Frame.(16 ns ticks)
45 };
46 
48 {
51 };
52 
54 {
55  struct
56  {
57  unsigned Reserved :2;
58  unsigned Start_Frame :1; //Indicates the first AES3 frame of a AES3 block
59  unsigned Locked :1; //Indicates that the AES3 decoding module on the CLB is properly locked with the incoming stream
60  unsigned Parity_Error :1; //Parity error of the decoded AES3 frame
61  unsigned Validity_Channel_2 :1; //Valid bit of channel 0 incoming from the acoustic device (0 = ok)
62  unsigned Validity_Channel_1 :1; //Valid bit of channel 1 incoming from the acoustic device (0 = ok)
63  unsigned Fixed :1; //“0”: mark the data word
64  } Bits;
65  uint8_t Valore;
66 };
67 
68 struct Audio_Time
69 {
70  uint32_t Time_Stamp_seconds; //UTC timestamp of Frame start, seconds counted since 1.1.1970 00:00:00.
71  uint32_t Time_Stamp_ticks; //UTC timestamp of Frame start, 16 nanosecond-ticks plus Time between Frame start and the time of the acquisition of the first audio data of the current Frame.(16 ns ticks)
72 };
73 
75 {
76  uint8_t Channel;
77  uint8_t Resolution;
78  uint8_t Sampling_Rate;
79  uint8_t Reserved;
80  uint32_t Emitter_ID;
81  uint32_t ToA; //Time of arrival of the signal emitted by the emitter in microseconds
82  uint32_t Quality_Factor;
83 };
84 
85 struct ToA_Packet
86 {
89 };
90 
91 #pragma pack(pop)
92 
93 #define AUDIO_PACKET_FIXED_SIZE sizeof(DAQ_Common_Header)+sizeof(Info_Word)
94 
95 #endif /* AUDIO_STRUCTURES_H_ */
Acoustic_Time_of_Arrival::Channel
uint8_t Channel
Definition: Audio_Structures.h:76
Info_Word::Info_Word_Bitfield::ChannelsSent
unsigned ChannelsSent
Definition: Audio_Structures.h:38
DAQ_Common_Header::DQ_Status
uint32_t DQ_Status
Definition: Audio_Structures.h:22
Audio_Word_Info::Validity_Channel_2
unsigned Validity_Channel_2
Definition: Audio_Structures.h:61
DAQ_Common_Header::DOM_Status4
uint32_t DOM_Status4
Definition: Audio_Structures.h:26
Info_Word::Info_Word_Bitfield
Definition: Audio_Structures.h:32
Acoustic_Time_of_Arrival::Resolution
uint8_t Resolution
Definition: Audio_Structures.h:77
Audio_Word_Info::Parity_Error
unsigned Parity_Error
Definition: Audio_Structures.h:60
DAQ_Common_Header::Run_Number
uint32_t Run_Number
Definition: Audio_Structures.h:17
DAQ_Common_Header::Detector_Identifier
uint32_t Detector_Identifier
Definition: Audio_Structures.h:16
Audio_Time
Definition: Audio_Structures.h:68
Audio_Word_Info::Start_Frame
unsigned Start_Frame
Definition: Audio_Structures.h:58
Audio_Time::Time_Stamp_seconds
uint32_t Time_Stamp_seconds
Definition: Audio_Structures.h:70
Audio_Word_Info
Definition: Audio_Structures.h:53
ToA_Packet
Definition: Audio_Structures.h:85
Acoustic_Time_of_Arrival::Reserved
uint8_t Reserved
Definition: Audio_Structures.h:79
Info_Word::Info_Word_Bitfield::Reserved
unsigned Reserved
Definition: Audio_Structures.h:36
Info_Word::Info_Word_Bitfield::Fixed
unsigned Fixed
Definition: Audio_Structures.h:39
Audio_Word_Info::Bits
struct Audio_Word_Info::@1 Bits
Audio_Header::Info
Info_Word Info
Definition: Audio_Structures.h:50
Info_Word
Definition: Audio_Structures.h:30
Audio_Word_Info::Fixed
unsigned Fixed
Definition: Audio_Structures.h:63
DAQ_Common_Header::DOM_Identifier
uint32_t DOM_Identifier
Definition: Audio_Structures.h:21
Audio_Time::Time_Stamp_ticks
uint32_t Time_Stamp_ticks
Definition: Audio_Structures.h:71
Audio_Header::Common_Header
DAQ_Common_Header Common_Header
Definition: Audio_Structures.h:49
DAQ_Common_Header::Number_of_Items
uint32_t Number_of_Items
Definition: Audio_Structures.h:27
DAQ_Common_Header::Sequence_Number
uint32_t Sequence_Number
Definition: Audio_Structures.h:18
Info_Word::Info_Word_Bitfield::Valore
uint8_t Valore
Definition: Audio_Structures.h:41
Acoustic_Time_of_Arrival
Definition: Audio_Structures.h:74
Acoustic_Time_of_Arrival::Emitter_ID
uint32_t Emitter_ID
Definition: Audio_Structures.h:80
Audio_Word_Info::Locked
unsigned Locked
Definition: Audio_Structures.h:59
Audio_Header
Definition: Audio_Structures.h:47
ToA_Packet::Time
Acoustic_Time_of_Arrival Time
Definition: Audio_Structures.h:88
Audio_Word_Info::Reserved
unsigned Reserved
Definition: Audio_Structures.h:57
DAQ_Common_Header::DOM_Status1
uint32_t DOM_Status1
Definition: Audio_Structures.h:23
Acoustic_Time_of_Arrival::Sampling_Rate
uint8_t Sampling_Rate
Definition: Audio_Structures.h:78
ToA_Packet::Header
DAQ_Common_Header Header
Definition: Audio_Structures.h:87
Acoustic_Time_of_Arrival::Quality_Factor
uint32_t Quality_Factor
Definition: Audio_Structures.h:82
DAQ_Common_Header::Data_Type
uint32_t Data_Type
Definition: Audio_Structures.h:15
Info_Word::Samplig_Rate
uint8_t Samplig_Rate
Definition: Audio_Structures.h:43
DAQ_Common_Header::DOM_Status3
uint32_t DOM_Status3
Definition: Audio_Structures.h:25
Info_Word::Time_Info
uint32_t Time_Info
Definition: Audio_Structures.h:44
DAQ_Common_Header::Time_Stamp_seconds
uint32_t Time_Stamp_seconds
Definition: Audio_Structures.h:19
DAQ_Common_Header
Definition: Audio_Structures.h:12
Audio_Word_Info::Validity_Channel_1
unsigned Validity_Channel_1
Definition: Audio_Structures.h:62
Audio_Word_Info::Valore
uint8_t Valore
Definition: Audio_Structures.h:65
Info_Word::Info
union Info_Word::Info_Word_Bitfield Info
Info_Word::Info_Word_Bitfield::Bits
struct Info_Word::Info_Word_Bitfield::@0 Bits
DAQ_Common_Header::Time_Stamp_ticks
uint32_t Time_Stamp_ticks
Definition: Audio_Structures.h:20
Info_Word::Info_Word_Bitfield::Amplitude_Resolution
unsigned Amplitude_Resolution
Definition: Audio_Structures.h:37
DAQ_Common_Header::DOM_Status2
uint32_t DOM_Status2
Definition: Audio_Structures.h:24
DAQ_Common_Header::Frame_Length
uint32_t Frame_Length
Definition: Audio_Structures.h:14
Acoustic_Time_of_Arrival::ToA
uint32_t ToA
Definition: Audio_Structures.h:81