9#include <Ivy/ivyloop.h>
12#include "generated/airframe.h"
21#include "generated/settings.h"
22#include "pprzlink/dl_protocol.h"
45#define NPS_IVY_DISPLAY_PERIOD_MS ((long)(3 * DISPLAY_DT * 1000))
66 printf(
"IVY DISPLAY: timer late, %lu [ms] elapsed for a %ld [ms] period\n",
99 if (ivy_bus ==
NULL) {
118 if (
argc < 6) {
return; }
166 IvySendMsg(
"nps %d_%d WORLD_ENV_REQ %f %f %f %f %f %f",
183 static const char ap_launch[] =
"aut_lau";
202 if (
argc < 3) {
return; }
221 printf(
"setting %d %f\n", index, value);
251 IvySendMsg(
"%d NPS_RATE_ATTITUDE %f %f %f %f %f %f",
259 IvySendMsg(
"%d NPS_POS_LLH %f %f %f %f %f %f %f %f %f",
270 IvySendMsg(
"%d NPS_SPEED_POS %f %f %f %f %f %f %f %f %f",
291 IvySendMsg(
"%d NPS_SENSORS_SCALED %f %f %f %f %f %f",
Common code for AP and FBW telemetry.
Device independent GPS code (interface)
void double_quat_vmult(struct DoubleVect3 *v_out, struct DoubleQuat *q, struct DoubleVect3 *v_in)
#define RATE_FLOAT_OF_BFP(_ai)
void nps_atmosphere_set_wind_ned(double wind_north, double wind_east, double wind_down)
Atmosphere model (pressure, wind) for NPS.
struct NpsFdm fdm
Holds all necessary NPS FDM state information.
void nps_ivy_init(char *ivy_bus, bool nodisplay)
static void on_DL_SETTING(IvyClientPtr app, void *user_data, int argc, char *argv[])
#define NPS_IVY_DISPLAY_PERIOD_MS
static TimerId nps_ivy_display_timer
void nps_ivy_send_WORLD_ENV_REQ(void)
static void nps_ivy_display_cb(TimerId id, void *user_data, unsigned long delta)
static void on_WORLD_ENV(IvyClientPtr app, void *user_data, int argc, char *argv[])
bool nps_ivy_send_world_env
static int ap_launch_index
void nps_ivy_display(struct NpsFdm *fdm_data, struct NpsSensors *sensors_data)
int find_launch_index(void)
void nps_update_launch_from_dl(uint8_t value)
void nps_set_time_factor(float time_factor)
pthread_mutex_t fdm_mutex
Paparazzi double precision floating point algebra.
Paparazzi floating point algebra.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.