mbeam_imagenex
Config.hpp
Go to the documentation of this file.
1 #ifndef _MBEAM_IMAGENEX_CONFIG_HPP_
2 #define _MBEAM_IMAGENEX_CONFIG_HPP_
3 
4 #include "MBeamRaw.hpp"
5 #include "MBeamTypes.hpp"
6 
7 namespace mbeam_imagenex
8 {
9 
10 struct Config
11 {
15  uint8_t gain;
16  uint8_t disp_gain;
17  bool gain_eq;
21  uint8_t averaging;
22  uint16_t sound_velocity;
26  uint8_t prof_min_range;
27  uint8_t prof_min_lev;
29  int prof_tilt;
30  bool rec837;
31  bool rec83p;
33 
34 
37  trans(TRANSREC),
38  range(RANGE5),
39  gain(6),
40  disp_gain(50),
41  gain_eq(true),
45  averaging(5),
49  prof_pt_enable(1),
50  prof_min_range(0),
51  prof_min_lev(10),
53  prof_tilt(0),
54  rec837(false),
55  rec83p(true),
57  {
58  }
59 
61  {
62  cmd.header1 = MBEAM_HEADER1;
63  cmd.header2 = MBEAM_HEADER2;
64  cmd.id = 0;
65  cmd.ctrl_byte1 = ctrl;
66  cmd.ctrl_byte2 = trans;
67  cmd.ctrl_byte3 = 0;
68  cmd.ctrl_byte4 = 0;
69  cmd.range = range;
70  cmd.gain = gain;
71  cmd.disp_gain = disp_gain;
72  cmd.gain_eq = gain_eq;
74  cmd.beam_width = beam_width;
75  cmd.no_beams = no_beams;
76  cmd.averaging = averaging;
77  cmd.reserved0 = 0;
78  cmd.reserved1 = 0;
79  cmd.sv_high = (sound_velocity*10 >> 8) & 0xFF;
80  cmd.sv_low = (sound_velocity*10) & 0xFF;
81  cmd.mode = mode;
82  cmd.out83p83b = out83p83b;
86  cmd.xdcr_up_dn = xdcr_up_dn;
87  cmd.prof_tilt = prof_tilt+180;
88  cmd.reserved2 = 0;
89  cmd.reserved3 = 0;
90  cmd.rec837 = rec837;
91  cmd.rec83p = rec83p;
92  cmd.reserved4 = 0;
93  cmd.reserved5 = 0;
94  cmd.reserved6 = 0;
95  cmd.reserved7 = 0;
97  return *this;
98  }
99 };
100 
101 }
102 
103 #endif
uint8_t ctrl_byte4
Definition: MBeamRaw.hpp:33
uint8_t ctrl_byte3
Definition: MBeamRaw.hpp:32
uint8_t gain
Definition: MBeamRaw.hpp:35
uint8_t reserved0
Definition: MBeamRaw.hpp:42
MBeamOut
Definition: MBeamTypes.hpp:60
MBeamProfPFilter
Definition: MBeamTypes.hpp:70
MBeamXdrc xdcr_up_dn
Definition: Config.hpp:28
MBeamCtrl
Definition: MBeamTypes.hpp:6
uint8_t sv_low
Definition: MBeamRaw.hpp:45
uint8_t out83p83b
Definition: MBeamRaw.hpp:47
uint8_t sector_size
Definition: MBeamRaw.hpp:38
uint8_t averaging
Definition: Config.hpp:21
MBeamProfPFilter prof_filter
Definition: Config.hpp:32
MBeamMode mode
Definition: Config.hpp:23
uint8_t xdcr_up_dn
Definition: MBeamRaw.hpp:51
uint8_t ctrl_byte2
Definition: MBeamRaw.hpp:31
MBeamMode
Definition: MBeamTypes.hpp:52
uint8_t range
Definition: MBeamRaw.hpp:34
#define MBEAM_HEADER2
Definition: MBeamRaw.hpp:16
uint8_t reserved2
Definition: MBeamRaw.hpp:53
#define MBEAM_DEFAULT_SV
Definition: MBeamRaw.hpp:21
Definition: MBeamTypes.hpp:54
uint8_t reserved6
Definition: MBeamRaw.hpp:59
uint8_t prof_min_range
Definition: MBeamRaw.hpp:49
uint8_t prof_filter
Definition: MBeamRaw.hpp:61
uint8_t reserved1
Definition: MBeamRaw.hpp:43
uint8_t reserved7
Definition: MBeamRaw.hpp:60
uint8_t reserved5
Definition: MBeamRaw.hpp:58
uint8_t ctrl_byte1
Definition: MBeamRaw.hpp:30
uint8_t disp_gain
Definition: MBeamRaw.hpp:36
uint8_t prof_min_range
Definition: Config.hpp:26
Definition: MBeamTypes.hpp:41
bool rec837
Definition: Config.hpp:30
Definition: Config.hpp:10
MBeamNo no_beams
Definition: Config.hpp:20
uint8_t sv_high
Definition: MBeamRaw.hpp:44
bool gain_eq
Definition: Config.hpp:17
uint8_t prof_pt_enable
Definition: MBeamRaw.hpp:48
MBeamCtrl ctrl
Definition: Config.hpp:12
int prof_tilt
Definition: Config.hpp:29
#define MBEAM_HEADER1
Definition: MBeamRaw.hpp:15
Definition: MBeamRaw.hpp:26
Definition: MBeamTypes.hpp:8
bool rec83p
Definition: Config.hpp:31
MBeamRange range
Definition: Config.hpp:14
MBeamRange
Definition: MBeamTypes.hpp:16
MBeamSectorSize sector_size
Definition: Config.hpp:18
uint8_t header1
Definition: MBeamRaw.hpp:27
uint8_t rec837
Definition: MBeamRaw.hpp:55
MBeamWidth
Definition: MBeamTypes.hpp:39
uint8_t rec83p
Definition: MBeamRaw.hpp:56
Config & operator>>(raw::MBeamExtCmd &cmd)
Definition: Config.hpp:60
Definition: MBeamTypes.hpp:12
uint8_t prof_min_lev
Definition: Config.hpp:27
uint8_t no_beams
Definition: MBeamRaw.hpp:40
Config()
Definition: Config.hpp:35
MBeamTrans
Definition: MBeamTypes.hpp:11
uint8_t prof_tilt
Definition: MBeamRaw.hpp:52
uint8_t gain_eq
Definition: MBeamRaw.hpp:37
uint16_t sound_velocity
Definition: Config.hpp:22
Definition: MBeamTypes.hpp:66
Definition: MBeamTypes.hpp:48
uint8_t disp_gain
Definition: Config.hpp:16
uint8_t reserved3
Definition: MBeamRaw.hpp:54
bool prof_pt_enable
Definition: Config.hpp:25
MBeamSectorSize
Definition: MBeamTypes.hpp:32
Definition: MBeamTypes.hpp:73
uint8_t header2
Definition: MBeamRaw.hpp:28
MBeamXdrc
Definition: MBeamTypes.hpp:65
Definition: MBeamTypes.hpp:61
Definition: MBeamTypes.hpp:17
uint8_t id
Definition: MBeamRaw.hpp:29
uint8_t gain
Definition: Config.hpp:15
Definition: MBeamTypes.hpp:35
MBeamNo
Definition: MBeamTypes.hpp:46
MBeamOut out83p83b
Definition: Config.hpp:24
uint8_t prof_min_lev
Definition: MBeamRaw.hpp:50
uint8_t beam_width
Definition: MBeamRaw.hpp:39
MBeamTrans trans
Definition: Config.hpp:13
uint8_t averaging
Definition: MBeamRaw.hpp:41
uint8_t mode
Definition: MBeamRaw.hpp:46
MBeamWidth beam_width
Definition: Config.hpp:19
uint8_t reserved4
Definition: MBeamRaw.hpp:57