Jpp  15.0.1-rc.2-highQE
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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_ */
unsigned Validity_Channel_2
struct Audio_Word_Info::@1 Bits
struct Info_Word::Info_Word_Bitfield::@0 Bits
uint32_t Time_Stamp_ticks
Acoustic_Time_of_Arrival Time
uint32_t Time_Stamp_seconds
uint8_t Samplig_Rate
Info_Word Info
uint32_t Time_Stamp_seconds
unsigned Validity_Channel_1
uint32_t Detector_Identifier
DAQ_Common_Header Common_Header
union Info_Word::Info_Word_Bitfield Info
DAQ_Common_Header Header
uint32_t Time_Info