Browse Source

hotfix for frsky dport telemetry (#4409)

sbg
thedevleon 9 years ago committed by Lorenz Meier
parent
commit
9ff6751eb5
  1. 5
      .gitignore
  2. 15
      src/drivers/frsky_telemetry/frsky_data.c

5
.gitignore vendored

@ -64,6 +64,11 @@ CMakeLists.txt.user
GPATH GPATH
GRTAGS GRTAGS
GTAGS GTAGS
*.config
*.creator
*.creator.user
*.files
*.includes
# uavcan firmware # uavcan firmware
ROMFS/px4fmu_common/uavcan/ ROMFS/px4fmu_common/uavcan/

15
src/drivers/frsky_telemetry/frsky_data.c

@ -53,7 +53,6 @@
#include <uORB/topics/battery_status.h> #include <uORB/topics/battery_status.h>
#include <uORB/topics/sensor_combined.h> #include <uORB/topics/sensor_combined.h>
#include <uORB/topics/vehicle_global_position.h> #include <uORB/topics/vehicle_global_position.h>
#include <uORB/topics/vehicle_status.h>
#include <drivers/drv_hrt.h> #include <drivers/drv_hrt.h>
@ -94,12 +93,10 @@
static struct battery_status_s *battery_status; static struct battery_status_s *battery_status;
static struct vehicle_global_position_s *global_pos; static struct vehicle_global_position_s *global_pos;
static struct vehicle_status_s *vehicle_status;
static struct sensor_combined_s *sensor_combined; static struct sensor_combined_s *sensor_combined;
static int battery_status_sub = -1; static int battery_status_sub = -1;
static int vehicle_global_position_sub = -1; static int vehicle_global_position_sub = -1;
static int vehicle_status_sub = -1;
static int sensor_sub = -1; static int sensor_sub = -1;
/** /**
@ -110,15 +107,13 @@ bool frsky_init()
battery_status = malloc(sizeof(struct battery_status_s)); battery_status = malloc(sizeof(struct battery_status_s));
global_pos = malloc(sizeof(struct vehicle_global_position_s)); global_pos = malloc(sizeof(struct vehicle_global_position_s));
sensor_combined = malloc(sizeof(struct sensor_combined_s)); sensor_combined = malloc(sizeof(struct sensor_combined_s));
vehicle_status = malloc(sizeof(struct vehicle_status_s));
if (battery_status == NULL || global_pos == NULL || sensor_combined == NULL || vehicle_status) { if (battery_status == NULL || global_pos == NULL || sensor_combined == NULL) {
return false; return false;
} }
battery_status_sub = orb_subscribe(ORB_ID(battery_status)); battery_status_sub = orb_subscribe(ORB_ID(battery_status));
vehicle_global_position_sub = orb_subscribe(ORB_ID(vehicle_global_position)); vehicle_global_position_sub = orb_subscribe(ORB_ID(vehicle_global_position));
vehicle_status_sub = orb_subscribe(ORB_ID(vehicle_status));
sensor_sub = orb_subscribe(ORB_ID(sensor_combined)); sensor_sub = orb_subscribe(ORB_ID(sensor_combined));
return true; return true;
} }
@ -128,7 +123,6 @@ void frsky_deinit()
free(battery_status); free(battery_status);
free(global_pos); free(global_pos);
free(sensor_combined); free(sensor_combined);
free(vehicle_status);
} }
/** /**
@ -201,13 +195,6 @@ void frsky_update_topics()
if (updated) { if (updated) {
orb_copy(ORB_ID(vehicle_global_position), vehicle_global_position_sub, global_pos); orb_copy(ORB_ID(vehicle_global_position), vehicle_global_position_sub, global_pos);
} }
/* get a local copy of the vehicle status data */
orb_check(vehicle_status_sub, &updated);
if (updated) {
orb_copy(ORB_ID(vehicle_status), vehicle_status_sub, vehicle_status);
}
} }
/** /**

Loading…
Cancel
Save