32 if (pipe(tmp) == -1) {
57 mavlink_message_t msg;
62 MAV_AUTOPILOT_INVALID,
81 uint16_t msgbuf_len = mavlink_msg_to_send_buffer(msgbuf, &
obs_msg);
83 if (::
write(
fd_my_end, (
void*)&msgbuf, msgbuf_len) != msgbuf_len) {
84 ::fprintf(stderr,
"Vicon: write failure\n");
101 attitude.
to_euler(roll, pitch, yaw);
103 mavlink_msg_vicon_position_estimate_pack_chan(
116 uint32_t delay_ms = 25 + unsigned(random()) % 300;
122 if (
_sitl ==
nullptr) {
124 if (
_sitl ==
nullptr) {
void to_euler(float &roll, float &pitch, float &yaw) const
int printf(const char *fmt,...)
static AP_Param * find_object(const char *name)
void update_vicon_position_estimate(const Location &loc, const Vector3f &position, const Quaternion &attitude)
void update(const Location &loc, const Vector3f &position, const Quaternion &attitude)
ssize_t write(int fd, const void *buf, size_t count)
POSIX Write count bytes from *buf to fileno fd.
void maybe_send_heartbeat()
static bool valid_channel(mavlink_channel_t chan)
const uint8_t component_id
uint64_t last_observation_usec
int fprintf(FILE *fp, const char *fmt,...)
fprintf character write function
mavlink_message_t obs_msg
void panic(const char *errormsg,...) FMT_PRINTF(1
uint32_t last_heartbeat_ms
const mavlink_channel_t mavlink_ch