38 #ifndef NPS_NO_MOTOR_MIXING
41 #if NPS_COMMANDS_NB != MOTOR_MIXING_NB_MOTOR
42 #warning "NPS_COMMANDS_NB does not match MOTOR_MIXING_NB_MOTOR!"
48 #include "pprzlink/messages.h"
59 #ifndef NPS_BYPASS_AHRS
60 #define NPS_BYPASS_AHRS FALSE
63 #ifndef NPS_BYPASS_INS
64 #define NPS_BYPASS_INS FALSE
68 #error "INDI_RPM_FEEDBACK can not be used in simulation!"
98 #if RADIO_CONTROL && !RADIO_CONTROL_TYPE_DATALINK
100 radio_control_feed();
140 #ifdef SENSOR_SYNC_SEND_SONAR
168 #if NPS_NO_MOTOR_MIXING
struct NedCoor_d ltpprz_ecef_accel
accel in ltppprz frame, wrt ECEF frame
Dispatcher to register actual AHRS implementations.
bool nps_sensors_gps_available(void)
struct DoubleRates body_ecef_rotvel
struct NpsFdm fdm
Holds all necessary NPS FDM state information.
void nps_electrical_run_step(double time)
bool nps_sensors_mag_available(void)
#define NPS_COMMANDS_NB
Number of commands sent to the FDM of NPS.
bool autopilot_get_motors_on(void)
get motors status
#define VECT3_COPY(_a, _b)
bool nps_sensors_baro_available(void)
Handling of messages coming from ground and other A/Cs.
Main include for ABI (AirBorneInterface).
void sim_overwrite_ahrs(void)
double value
airspeed reading in meters/second
struct NpsSensorBaro baro
static void stateSetNedToBodyQuat_f(struct FloatQuat *ned_to_body_quat)
Set vehicle body attitude from quaternion (float).
Integrated Navigation System interface.
STATIC_INLINE void handle_periodic_tasks(void)
struct NpsSensorSonar sonar
struct NedCoor_d ltpprz_pos
#define QUAT_COPY(_qo, _qi)
struct NpsAutopilot nps_autopilot
void nps_autopilot_run_systime_step(void)
static void stateSetSpeedNed_f(struct NedCoor_f *ned_speed)
Set ground speed in local NED coordinates (float).
Hardware independent API for actuators (servos, motor controllers).
static void sys_tick_handler(void)
void nps_autopilot_run_step(double time)
double value
temperature in degrees Celcius
vector in North East Down coordinates Units: meters
Architecture independent timing functions.
void sim_overwrite_ins(void)
void nps_electrical_init(void)
static void main_event(void)
Paparazzi generic algebra macros.
Device independent GPS code (interface)
void nps_radio_control_init(enum NpsRadioControlType type, int num_script, char *js_dev)
struct NpsSensors sensors
double value
sonar reading in meters
Inertial Measurement Unit interface.
static void stateSetPositionNed_f(struct NedCoor_f *ned_pos)
Set position from local NED coordinates (float).
void gps_feed_value(void)
void imu_feed_gyro_accel(void)
bool nps_sensors_temperature_available(void)
#define BARO_SIM_SENDER_ID
API to get/set the generic vehicle states.
bool nps_sensors_airspeed_available(void)
static void main_init(void)
bool nps_radio_control_available(double time)
Electrical status (bat voltage) for NPS.
static void stateSetAirspeed_f(float airspeed)
Set airspeed (float).
Common code for AP and FBW telemetry.
bool nps_sensors_gyro_available(void)
double value
pressure in Pascal
struct MotorMixing motor_mixing
struct NpsSensorAirspeed airspeed
struct NedCoor_d ltpprz_ecef_vel
velocity in ltppprz frame, wrt ECEF frame
#define RATES_COPY(_a, _b)
int32_t commands[MOTOR_MIXING_NB_MOTOR]
uint32_t get_sys_time_usec(void)
Get the time in microseconds since startup.
static void stateSetBodyRates_f(struct FloatRates *body_rate)
Set vehicle body angular rate (float).
bool nps_sensors_sonar_available(void)
static void stateSetAccelNed_f(struct NedCoor_f *ned_accel)
Set acceleration in NED coordinates (float).
struct DoubleQuat ltp_to_body_quat
double commands[NPS_COMMANDS_NB]
struct NpsSensorTemperature temp
void nps_autopilot_init(enum NpsRadioControlType type_rc, int num_rc_script, char *rc_dev)