Paparazzi UAS  v5.15_devel-110-g5cf27ee
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
nps_main.h File Reference
#include <pthread.h>
#include <sys/time.h>
#include "nps_fdm.h"
#include "mcu_periph/sys_time.h"
#include "nps_atmosphere.h"
#include "nps_sensors.h"
#include "nps_autopilot.h"
+ Include dependency graph for nps_main.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  NpsMain
 

Macros

#define clock_get_current_time(_x)   clock_gettime(CLOCK_REALTIME, _x)
 
#define SIM_DT   (1./SYS_TIME_FREQUENCY)
 
#define DISPLAY_DT   (1./30.)
 
#define HOST_TIMEOUT_MS   40
 

Functions

bool nps_main_parse_options (int argc, char **argv)
 
int nps_main_init (int argc, char **argv)
 
void nps_radio_and_autopilot_init (void)
 
void nps_main_run_sim_step (void)
 
void nps_set_time_factor (float time_factor)
 
void * nps_main_loop (void *data)
 
void * nps_flight_gear_loop (void *data)
 
void * nps_main_display (void *data)
 
void tstp_hdl (int n)
 
void cont_hdl (int n)
 
double time_to_double (struct timeval *t)
 
double ntime_to_double (struct timespec *t)
 
void nps_update_launch_from_dl (uint8_t value)
 

Variables

pthread_t th_flight_gear
 
pthread_t th_display_ivy
 
pthread_t th_main_loop
 
pthread_mutex_t fdm_mutex
 
int pauseSignal
 
struct NpsMain nps_main
 

Data Structure Documentation

struct NpsMain

Definition at line 51 of file nps_main.h.

Data Fields
double display_time
int fg_fdm
char * fg_host
unsigned int fg_port
unsigned int fg_port_in
unsigned int fg_time_offset
double host_time_factor
char * ivy_bus
char * js_dev
bool nodisplay
bool norc
int rc_script
double real_initial_time
double scaled_initial_time
double sim_time
char * spektrum_dev

Macro Definition Documentation

#define clock_get_current_time (   _x)    clock_gettime(CLOCK_REALTIME, _x)
#define DISPLAY_DT   (1./30.)

Definition at line 21 of file nps_main.h.

Referenced by nps_flight_gear_loop(), and nps_main_display().

#define HOST_TIMEOUT_MS   40

Definition at line 22 of file nps_main.h.

Referenced by nps_main_loop().

#define SIM_DT   (1./SYS_TIME_FREQUENCY)

Definition at line 20 of file nps_main.h.

Referenced by nps_main_init(), nps_main_loop(), and nps_main_run_sim_step().

Function Documentation

void cont_hdl ( int  n)

Definition at line 61 of file nps_main_common.c.

References tstp_hdl().

Referenced by nps_main_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* nps_flight_gear_loop ( void *  data)

Definition at line 258 of file nps_main_common.c.

References clock_get_current_time, DISPLAY_DT, fdm_mutex, NpsMain::fg_fdm, NpsMain::fg_host, NpsMain::fg_port, NpsMain::fg_port_in, NpsMain::fg_time_offset, nps_flightgear_init(), nps_flightgear_send(), nps_flightgear_send_fdm(), nps_main, and TRUE.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* nps_main_display ( void *  data)

Definition at line 306 of file nps_main_common.c.

References clock_get_current_time, DISPLAY_DT, fdm, fdm_mutex, NpsMain::ivy_bus, NpsMain::nodisplay, nps_ivy_display(), nps_ivy_init(), nps_main, sensors, and TRUE.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int nps_main_init ( int  argc,
char **  argv 
)
void* nps_main_loop ( void *  data)
bool nps_main_parse_options ( int  argc,
char **  argv 
)
void nps_main_run_sim_step ( void  )

Definition at line 99 of file nps_main_hitl.c.

References NpsAutopilot::commands, NpsAutopilot::launch, nps_atmosphere_update(), nps_autopilot, nps_autopilot_run_step(), nps_autopilot_run_systime_step(), NPS_COMMANDS_NB, nps_fdm_run_step(), nps_main, nps_sensors_run_step(), SIM_DT, and NpsMain::sim_time.

Referenced by nps_main_loop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void nps_radio_and_autopilot_init ( void  )

Definition at line 75 of file nps_main_hitl.c.

References JOYSTICK, NpsMain::js_dev, NORC, NpsMain::norc, nps_autopilot_init(), nps_main, NpsMain::rc_script, SCRIPT, SPEKTRUM, and NpsMain::spektrum_dev.

Referenced by nps_main_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void nps_set_time_factor ( float  time_factor)

Definition at line 119 of file nps_main_common.c.

References NpsMain::host_time_factor, nps_main, NpsMain::scaled_initial_time, and time_to_double().

Referenced by on_WORLD_ENV().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void nps_update_launch_from_dl ( uint8_t  value)

Definition at line 93 of file nps_main_hitl.c.

References NpsAutopilot::launch, and nps_autopilot.

Referenced by on_DL_SETTING().

+ Here is the caller graph for this function:

double ntime_to_double ( struct timespec *  t)

Definition at line 74 of file nps_main_common.c.

Referenced by nps_main_loop().

+ Here is the caller graph for this function:

double time_to_double ( struct timeval *  t)

Definition at line 69 of file nps_main_common.c.

Referenced by nps_main_init(), nps_main_loop(), and nps_set_time_factor().

+ Here is the caller graph for this function:

void tstp_hdl ( int  n)

Definition at line 49 of file nps_main_common.c.

References pauseSignal.

Referenced by cont_hdl(), and nps_main_init().

+ Here is the caller graph for this function:

Variable Documentation

pthread_mutex_t fdm_mutex
int pauseSignal

Definition at line 30 of file nps_main.h.

Referenced by nps_main_init(), nps_main_loop(), and tstp_hdl().

pthread_t th_display_ivy

Definition at line 25 of file nps_main.h.

Referenced by main().

pthread_t th_flight_gear

Definition at line 24 of file nps_main.h.

Referenced by main().

pthread_t th_main_loop

Definition at line 26 of file nps_main.h.

Referenced by main().