29 if (
uart !=
nullptr) {
50 if (
uart ==
nullptr) {
56 while (nbytes-- > 0) {
112 uint8_t checksum = 0;
128 uint8_t beacon_id =
linebuf[0];
133 Vector3f beacon_pos(beacon_x / 1000.0
f, beacon_y / 1000.0
f, -beacon_z / 1000.0
f);
143 uint8_t beacon_id =
linebuf[0];
145 float beacon_dist = beacon_distance/1000.0f;
158 int16_t position_error = (uint32_t)
linebuf[13] << 8 | (uint32_t)
linebuf[12];
159 Vector3f veh_pos(
Vector3f(vehicle_x / 1000.0
f, vehicle_y / 1000.0
f, -vehicle_z / 1000.0
f));
#define AP_BEACON_POZYX_MSGID_BEACON_CONFIG
uint8_t linebuf[AP_BEACON_POZYX_MSG_LEN_MAX]
static AP_SerialManager serial_manager
Vector3< float > Vector3f
AP_Beacon_Pozyx(AP_Beacon &frontend, AP_SerialManager &serial_manager)
void set_beacon_distance(uint8_t beacon_instance, float distance)
virtual void begin(uint32_t baud)=0
AP_HAL::UARTDriver * uart
#define AP_BEACON_POZYX_HEADER
uint32_t find_baudrate(enum SerialProtocol protocol, uint8_t instance) const
#define AP_BEACON_DISTANCE_MAX
#define AP_BEACON_POZYX_MSGID_BEACON_DIST
#define AP_BEACON_TIMEOUT_MS
void set_beacon_position(uint8_t beacon_instance, const Vector3f &pos)
#define AP_BEACON_POZYX_MSG_LEN_MAX
virtual uint32_t available()=0
enum AP_Beacon_Pozyx::ParseState parse_state
void set_vehicle_position(const Vector3f &pos, float accuracy_estimate)
#define AP_BEACON_POZYX_MSGID_POSITION
AP_HAL::UARTDriver * find_serial(enum SerialProtocol protocol, uint8_t instance) const