1 #ifndef _SEANET_TYPES_INTERNAL_H_ 2 #define _SEANET_TYPES_INTERNAL_H_ 5 #define SEA_NET_MAX_PACKET_SIZE 4096 // mtHeadData is the biggest package 10 static const char PACKET_START =
'@';
11 static const char PACKET_END = 0x0A;
12 static const int WRITE_TIMEOUT = 500;
32 memset(
this,0,
sizeof(*
this));
44 ready(false),motor_on(false),scanning(false),
45 no_config(true),config_send(false){};
108 static int isValidPacket(uint8_t
const *buffer,
size_t size);
109 static std::vector<uint8_t> createPaket(
DeviceType device_type,
111 uint8_t* payload = NULL,
112 size_t payload_size = 0);
114 static std::vector<uint8_t> createSendDataPaket(
DeviceType device_type);
117 void setSize(
size_t size);
120 uint8_t *getPacketPtr();
122 bool isValid()
const;
127 void getRawData(
const uint8_t * &buffer,
size_t &size)
const;
129 void decodeAliveData(
AliveData &data)
const;
132 void decodeAuxData(std::vector<uint8_t> &aux_data)
const;
133 void decodeVersionData(
VersionData &version)
const;
134 void decodeBBUserData(
BBUserData &data)
const;
uint16_t right_limit
Definition: SeaNetTypesInternal.hpp:19
uint8_t sweep_code
Definition: SeaNetTypesInternal.hpp:57
bool config_send
Definition: SeaNetTypesInternal.hpp:42
PacketType
Definition: SeaNetTypes.hpp:28
uint8_t initial_gain_ch2
Definition: SeaNetTypesInternal.hpp:20
uint8_t ad_low_ch2
Definition: SeaNetTypesInternal.hpp:24
uint32_t txn_ch2
Definition: SeaNetTypesInternal.hpp:17
uint32_t txn
Definition: SeaNetTypesInternal.hpp:85
uint8_t head_status
Definition: SeaNetTypesInternal.hpp:56
Definition: SeaNetTypesInternal.hpp:75
uint32_t rxn_ch1
Definition: SeaNetTypesInternal.hpp:17
uint16_t slope_ch1
Definition: SeaNetTypesInternal.hpp:20
uint16_t ad_interval
Definition: SeaNetTypesInternal.hpp:21
uint8_t ad_span
Definition: SeaNetTypesInternal.hpp:19
uint8_t sweep_code
Definition: SeaNetTypesInternal.hpp:82
bool motor_on
Definition: SeaNetTypesInternal.hpp:39
uint8_t ad_span_ch2
Definition: SeaNetTypesInternal.hpp:24
uint16_t left_limit
Definition: SeaNetTypesInternal.hpp:90
sea_net::Profiling __attribute__
uint8_t ad_low
Definition: SeaNetTypesInternal.hpp:19
uint16_t number_of_bins
Definition: SeaNetTypesInternal.hpp:21
uint16_t head_control
Definition: SeaNetTypesInternal.hpp:83
uint16_t head_control
Definition: SeaNetTypesInternal.hpp:58
uint16_t range_scale
Definition: SeaNetTypesInternal.hpp:18
uint16_t bearing
Definition: SeaNetTypesInternal.hpp:70
uint8_t initial_gain_ch1
Definition: SeaNetTypesInternal.hpp:19
uint16_t advanced_slope_ch1
Definition: SeaNetTypesInternal.hpp:26
Definition: SeaNetTypesInternal.hpp:105
uint16_t slope
Definition: SeaNetTypesInternal.hpp:62
uint16_t data_count
Definition: SeaNetTypesInternal.hpp:94
Definition: SeaNetTypesInternal.hpp:50
uint32_t txn
Definition: SeaNetTypesInternal.hpp:60
uint8_t type
Definition: SeaNetTypesInternal.hpp:53
uint8_t igain_ch1
Definition: SeaNetTypesInternal.hpp:24
uint8_t head_status
Definition: SeaNetTypesInternal.hpp:81
uint8_t ad_span
Definition: SeaNetTypesInternal.hpp:63
uint8_t ad_span_ch1
Definition: SeaNetTypesInternal.hpp:23
uint16_t left_limit
Definition: SeaNetTypesInternal.hpp:18
uint8_t ad_low_ch1
Definition: SeaNetTypesInternal.hpp:24
uint8_t V3B_params
Definition: SeaNetTypesInternal.hpp:16
uint8_t node_type
Definition: SeaNetTypesInternal.hpp:52
uint8_t node_type
Definition: SeaNetTypesInternal.hpp:77
uint32_t rxn_ch2
Definition: SeaNetTypesInternal.hpp:17
uint16_t max_ad_buff
Definition: SeaNetTypesInternal.hpp:22
bool scanning
Definition: SeaNetTypesInternal.hpp:40
bool ready
Definition: SeaNetTypesInternal.hpp:38
uint16_t left_limit
Definition: SeaNetTypesInternal.hpp:67
uint8_t adc_set_point_ch2
Definition: SeaNetTypesInternal.hpp:25
uint16_t slope
Definition: SeaNetTypesInternal.hpp:87
const uint8_t * scan_data
Definition: SeaNetTypesInternal.hpp:95
uint8_t type
Definition: SeaNetTypesInternal.hpp:78
const uint8_t * scan_data
Definition: SeaNetTypesInternal.hpp:72
uint16_t scan_time
Definition: SeaNetTypesInternal.hpp:93
uint16_t right_limit
Definition: SeaNetTypesInternal.hpp:91
bool no_config
Definition: SeaNetTypesInternal.hpp:41
uint8_t adc_set_point_ch1
Definition: SeaNetTypesInternal.hpp:25
HeadCommand()
Definition: SeaNetTypesInternal.hpp:29
Definition: SeaNetTypesInternal.hpp:36
uint8_t motor_step_delay_time
Definition: SeaNetTypesInternal.hpp:20
DeviceType
Definition: SeaNetTypes.hpp:19
bool full_duplex
Definition: SeaNetTypesInternal.hpp:100
uint16_t lockout_time
Definition: SeaNetTypesInternal.hpp:22
uint16_t ad_interval
Definition: SeaNetTypesInternal.hpp:66
uint32_t txn_ch1
Definition: SeaNetTypesInternal.hpp:17
uint16_t slope_ch2
Definition: SeaNetTypesInternal.hpp:20
uint16_t advanced_slope_delay_ch2
Definition: SeaNetTypesInternal.hpp:27
uint8_t device_type
Definition: SeaNetTypesInternal.hpp:55
uint8_t head_type
Definition: SeaNetTypesInternal.hpp:16
uint8_t motor_step_angle_size
Definition: SeaNetTypesInternal.hpp:21
uint8_t motor_step_angle_size
Definition: SeaNetTypesInternal.hpp:69
uint16_t pulse_length
Definition: SeaNetTypesInternal.hpp:18
uint8_t filt_gain
Definition: SeaNetTypesInternal.hpp:89
uint8_t igain_ch2
Definition: SeaNetTypesInternal.hpp:25
uint8_t ad_threshold
Definition: SeaNetTypesInternal.hpp:88
#define SEA_NET_MAX_PACKET_SIZE
Definition: SeaNetTypesInternal.hpp:5
uint16_t advanced_slope_delay_ch1
Definition: SeaNetTypesInternal.hpp:26
uint16_t range
Definition: SeaNetTypesInternal.hpp:84
uint8_t motor_step_angle_size
Definition: SeaNetTypesInternal.hpp:92
uint8_t major_axis_pan
Definition: SeaNetTypesInternal.hpp:23
uint8_t gain
Definition: SeaNetTypesInternal.hpp:61
HeadCommand()
Definition: SeaNetTypesInternal.hpp:26
BBUserData()
Definition: SeaNetTypesInternal.hpp:101
uint16_t range
Definition: SeaNetTypesInternal.hpp:59
uint16_t advanced_slope_ch2
Definition: SeaNetTypesInternal.hpp:26
uint8_t ad_low
Definition: SeaNetTypesInternal.hpp:64
uint16_t scan_z
Definition: SeaNetTypesInternal.hpp:23
uint16_t packed_size
Definition: SeaNetTypesInternal.hpp:54
uint16_t heading_offset
Definition: SeaNetTypesInternal.hpp:65
Definition: SeaNetTypes.hpp:9
AliveData()
Definition: SeaNetTypesInternal.hpp:43
uint8_t device_type
Definition: SeaNetTypesInternal.hpp:80
Definition: SeaNetTypesInternal.hpp:98
uint16_t minor_axis_dir
Definition: SeaNetTypesInternal.hpp:22
uint16_t packed_size
Definition: SeaNetTypesInternal.hpp:79
uint8_t crtl2
Definition: SeaNetTypesInternal.hpp:23
uint16_t data_bytes
Definition: SeaNetTypesInternal.hpp:71
uint16_t right_limit
Definition: SeaNetTypesInternal.hpp:68
uint8_t gain
Definition: SeaNetTypesInternal.hpp:86
uint16_t head_control
Definition: SeaNetTypesInternal.hpp:16