Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
nps_ivy.c File Reference
#include "nps_ivy.h"
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <Ivy/ivy.h>
#include <Ivy/ivyloop.h>
#include <pthread.h>
#include "generated/airframe.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_algebra_double.h"
#include "nps_main.h"
#include "nps_autopilot.h"
#include "nps_fdm.h"
#include "nps_sensors.h"
#include "nps_atmosphere.h"
#include "generated/settings.h"
#include "pprzlink/dl_protocol.h"
#include "modules/datalink/downlink.h"
#include "modules/gps/gps.h"
+ Include dependency graph for nps_ivy.c:

Go to the source code of this file.

Functions

static void on_WORLD_ENV (IvyClientPtr app, void *user_data, int argc, char *argv[])
 
static void on_DL_SETTING (IvyClientPtr app, void *user_data, int argc, char *argv[])
 
void * ivy_main_loop (void *data)
 
int find_launch_index (void)
 
void nps_ivy_init (char *ivy_bus)
 
void nps_ivy_send_WORLD_ENV_REQ (void)
 
void nps_ivy_display (struct NpsFdm *fdm_data, struct NpsSensors *sensors_data)
 

Variables

bool nps_ivy_send_world_env = false
 
pthread_t th_ivy_main
 
static MsgRcvPtr ivyPtr = NULL
 
static int seq = 1
 
static int ap_launch_index
 
static pthread_mutex_t ivy_mutex
 

Function Documentation

◆ find_launch_index()

int find_launch_index ( void  )

Definition at line 161 of file nps_ivy.c.

References idx.

Referenced by nps_ivy_init().

+ Here is the caller graph for this function:

◆ ivy_main_loop()

void * ivy_main_loop ( void *  data)

Definition at line 51 of file nps_ivy.c.

Referenced by nps_ivy_init().

+ Here is the caller graph for this function:

◆ nps_ivy_display()

◆ nps_ivy_init()

void nps_ivy_init ( char *  ivy_bus)

Definition at line 58 of file nps_ivy.c.

References ap_launch_index, find_launch_index(), ivy_main_loop(), nps_ivy_send_world_env, on_DL_SETTING(), on_WORLD_ENV(), and th_ivy_main.

Referenced by nps_main_display().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nps_ivy_send_WORLD_ENV_REQ()

void nps_ivy_send_WORLD_ENV_REQ ( void  )

Definition at line 127 of file nps_ivy.c.

References fdm, NpsFdm::hmsl, ivy_mutex, ivyPtr, LlaCoor_d::lat, NpsFdm::lla_pos_pprz, LlaCoor_d::lon, NpsFdm::ltpprz_pos, nps_ivy_send_world_env, on_WORLD_ENV(), seq, NedCoor_d::x, NedCoor_d::y, and NedCoor_d::z.

Referenced by nps_ivy_display().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ on_DL_SETTING()

static void on_DL_SETTING ( IvyClientPtr  app,
void *  user_data,
int  argc,
char *  argv[] 
)
static

Definition at line 182 of file nps_ivy.c.

References ap_launch_index, DefaultChannel, DefaultDevice, and nps_update_launch_from_dl().

Referenced by nps_ivy_init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ on_WORLD_ENV()

static void on_WORLD_ENV ( IvyClientPtr  app,
void *  user_data,
int  argc,
char *  argv[] 
)
static

Definition at line 94 of file nps_ivy.c.

References gps_has_fix, nps_atmosphere_set_wind_ned(), nps_set_time_factor(), FloatVect3::x, FloatVect3::y, and FloatVect3::z.

Referenced by nps_ivy_init(), and nps_ivy_send_WORLD_ENV_REQ().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ ap_launch_index

int ap_launch_index
static

Definition at line 33 of file nps_ivy.c.

Referenced by nps_ivy_init(), and on_DL_SETTING().

◆ ivy_mutex

pthread_mutex_t ivy_mutex
static

Definition at line 34 of file nps_ivy.c.

Referenced by nps_ivy_display(), and nps_ivy_send_WORLD_ENV_REQ().

◆ ivyPtr

MsgRcvPtr ivyPtr = NULL
static

Definition at line 31 of file nps_ivy.c.

Referenced by nps_ivy_send_WORLD_ENV_REQ().

◆ nps_ivy_send_world_env

bool nps_ivy_send_world_env = false

◆ seq

int seq = 1
static

◆ th_ivy_main

pthread_t th_ivy_main

Definition at line 30 of file nps_ivy.c.

Referenced by nps_ivy_init().