diff --git a/conf/modules/collective_tracking_control.xml b/conf/modules/collective_tracking_control.xml index d6779e39e1..47d3635489 100644 --- a/conf/modules/collective_tracking_control.xml +++ b/conf/modules/collective_tracking_control.xml @@ -32,10 +32,10 @@ This module needs of custom messages in messages.xml. Please, check the wiki htt - - - - + + + + diff --git a/conf/modules/collective_tracking_control_target.xml b/conf/modules/collective_tracking_control_target.xml index 99c2928bbf..15371d07e2 100644 --- a/conf/modules/collective_tracking_control_target.xml +++ b/conf/modules/collective_tracking_control_target.xml @@ -17,8 +17,8 @@ - - + + diff --git a/conf/modules/digital_cam_i2c.xml b/conf/modules/digital_cam_i2c.xml index f52b6ac0f6..ce8d28e0db 100644 --- a/conf/modules/digital_cam_i2c.xml +++ b/conf/modules/digital_cam_i2c.xml @@ -24,7 +24,7 @@ - + diff --git a/conf/modules/distributed_circular_formation.xml b/conf/modules/distributed_circular_formation.xml index acb722eb23..b7ac52fe71 100644 --- a/conf/modules/distributed_circular_formation.xml +++ b/conf/modules/distributed_circular_formation.xml @@ -35,8 +35,8 @@ - - + + diff --git a/conf/modules/fc_rotor.xml b/conf/modules/fc_rotor.xml index 267ab3de89..e17f68c260 100644 --- a/conf/modules/fc_rotor.xml +++ b/conf/modules/fc_rotor.xml @@ -14,7 +14,7 @@ - + diff --git a/conf/modules/formation_flight.xml b/conf/modules/formation_flight.xml index 7f467fbb71..d55fb7ee61 100644 --- a/conf/modules/formation_flight.xml +++ b/conf/modules/formation_flight.xml @@ -21,8 +21,8 @@ - - + + diff --git a/conf/modules/gps_datalink.xml b/conf/modules/gps_datalink.xml index eebd72b4fa..3eb6d9898c 100644 --- a/conf/modules/gps_datalink.xml +++ b/conf/modules/gps_datalink.xml @@ -15,9 +15,9 @@ - - - + + + diff --git a/conf/modules/joystick.xml b/conf/modules/joystick.xml index cb1995908c..701830ead2 100644 --- a/conf/modules/joystick.xml +++ b/conf/modules/joystick.xml @@ -14,7 +14,7 @@ - + diff --git a/conf/modules/meteo_france_DAQ.xml b/conf/modules/meteo_france_DAQ.xml index 1b2e838ed7..cfc39531ea 100644 --- a/conf/modules/meteo_france_DAQ.xml +++ b/conf/modules/meteo_france_DAQ.xml @@ -20,7 +20,7 @@ - + diff --git a/conf/modules/mission_fw.xml b/conf/modules/mission_fw.xml index 592261bd71..bda8626a09 100644 --- a/conf/modules/mission_fw.xml +++ b/conf/modules/mission_fw.xml @@ -14,18 +14,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/conf/modules/mission_rotorcraft.xml b/conf/modules/mission_rotorcraft.xml index 4b32ef0b10..0412d56a73 100644 --- a/conf/modules/mission_rotorcraft.xml +++ b/conf/modules/mission_rotorcraft.xml @@ -14,18 +14,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/conf/modules/rotorcraft_cam.xml b/conf/modules/rotorcraft_cam.xml index 84b1f8fc45..811fa5b3b5 100644 --- a/conf/modules/rotorcraft_cam.xml +++ b/conf/modules/rotorcraft_cam.xml @@ -56,7 +56,7 @@ On boards with CAM_SWITCH, ROTORCRAFT_CAM_SWITCH_GPIO can be defined to CAM_SWIT - + diff --git a/conf/modules/rssi.xml b/conf/modules/rssi.xml index b6f4476684..6e82086639 100644 --- a/conf/modules/rssi.xml +++ b/conf/modules/rssi.xml @@ -11,7 +11,7 @@ - + diff --git a/conf/modules/tcas.xml b/conf/modules/tcas.xml index b5880785e7..15c4396dee 100644 --- a/conf/modules/tcas.xml +++ b/conf/modules/tcas.xml @@ -11,8 +11,8 @@ - - + + diff --git a/conf/modules/traffic_info.xml b/conf/modules/traffic_info.xml index 93ebce1e33..97a53eb9e7 100644 --- a/conf/modules/traffic_info.xml +++ b/conf/modules/traffic_info.xml @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/conf/modules/vehicle_interface_datalink.xml b/conf/modules/vehicle_interface_datalink.xml index c9a11ce607..0b913180a7 100644 --- a/conf/modules/vehicle_interface_datalink.xml +++ b/conf/modules/vehicle_interface_datalink.xml @@ -19,8 +19,8 @@ - - + + diff --git a/sw/airborne/modules/cam_control/rotorcraft_cam.h b/sw/airborne/modules/cam_control/rotorcraft_cam.h index 199261d53c..b760f6c796 100644 --- a/sw/airborne/modules/cam_control/rotorcraft_cam.h +++ b/sw/airborne/modules/cam_control/rotorcraft_cam.h @@ -116,9 +116,9 @@ extern void rotorcraft_cam_set_mode(uint8_t mode); #define ROTORCRAFT_CAM_STICK_PAN_INC RadOfDeg(20.) #endif -#define ROTORCRAFT_CAM_STICK_PARSE(_dl_buffer) { \ - rotorcraft_cam_tilt += (int16_t)((ANGLE_BFP_OF_REAL(ROTORCRAFT_CAM_STICK_TILT_INC)/127.)*(float)DL_ROTORCRAFT_CAM_STICK_tilt(_dl_buffer)); \ - rotorcraft_cam_pan += (int16_t)((ANGLE_BFP_OF_REAL(ROTORCRAFT_CAM_STICK_PAN_INC)/127.)*(float)DL_ROTORCRAFT_CAM_STICK_pan(dl_buffer)); \ +#define ROTORCRAFT_CAM_STICK_PARSE(buf) { \ + rotorcraft_cam_tilt += (int16_t)((ANGLE_BFP_OF_REAL(ROTORCRAFT_CAM_STICK_TILT_INC)/127.)*(float)DL_ROTORCRAFT_CAM_STICK_tilt(buf)); \ + rotorcraft_cam_pan += (int16_t)((ANGLE_BFP_OF_REAL(ROTORCRAFT_CAM_STICK_PAN_INC)/127.)*(float)DL_ROTORCRAFT_CAM_STICK_pan(buf)); \ INT32_COURSE_NORMALIZE(rotorcraft_cam_pan); \ } diff --git a/sw/airborne/modules/digital_cam/atmega_i2c_cam_ctrl.h b/sw/airborne/modules/digital_cam/atmega_i2c_cam_ctrl.h index b6e71c2c6d..a7328e749f 100644 --- a/sw/airborne/modules/digital_cam/atmega_i2c_cam_ctrl.h +++ b/sw/airborne/modules/digital_cam/atmega_i2c_cam_ctrl.h @@ -35,8 +35,8 @@ void atmega_i2c_cam_ctrl_send(uint8_t cmd); // Allow commands to be set by datalink #define ParseCameraCommand() { \ { \ - if ( DL_PAYLOAD_COMMAND_command_length(dl_buffer) == 1){ \ - dc_send_command(DL_PAYLOAD_COMMAND_command(dl_buffer)[0]); \ + if ( DL_PAYLOAD_COMMAND_command_length(buf) == 1){ \ + dc_send_command(DL_PAYLOAD_COMMAND_command(buf)[0]); \ } \ } \ } diff --git a/sw/airborne/modules/joystick/joystick.c b/sw/airborne/modules/joystick/joystick.c index 3fabe327cf..52bba0c29c 100644 --- a/sw/airborne/modules/joystick/joystick.c +++ b/sw/airborne/modules/joystick/joystick.c @@ -39,13 +39,13 @@ void joystick_init(void) joystick.throttle = 0; } -void joystick_parse(void) +void joystick_parse(uint8_t *buf) { - if (DL_JOYSTICK_RAW_ac_id(dl_buffer) == AC_ID) { - joystick.roll = DL_JOYSTICK_RAW_roll(dl_buffer); - joystick.pitch = DL_JOYSTICK_RAW_pitch(dl_buffer); - joystick.yaw = DL_JOYSTICK_RAW_yaw(dl_buffer); - joystick.throttle = DL_JOYSTICK_RAW_throttle(dl_buffer); + if (DL_JOYSTICK_RAW_ac_id(buf) == AC_ID) { + joystick.roll = DL_JOYSTICK_RAW_roll(buf); + joystick.pitch = DL_JOYSTICK_RAW_pitch(buf); + joystick.yaw = DL_JOYSTICK_RAW_yaw(buf); + joystick.throttle = DL_JOYSTICK_RAW_throttle(buf); AbiSendMsgJOYSTICK(JOYSTICK_ID, joystick.roll, joystick.pitch, joystick.yaw, joystick.throttle); } } diff --git a/sw/airborne/modules/joystick/joystick.h b/sw/airborne/modules/joystick/joystick.h index d21e73ad89..ca110b097e 100644 --- a/sw/airborne/modules/joystick/joystick.h +++ b/sw/airborne/modules/joystick/joystick.h @@ -49,7 +49,7 @@ extern void joystick_init(void); * JOYSTICK_RAW message parser * if valid, send a JOYSTICK ABI message */ -extern void joystick_parse(void); +extern void joystick_parse(uint8_t *buf); #endif diff --git a/sw/airborne/modules/meteo/meteo_france_DAQ.c b/sw/airborne/modules/meteo/meteo_france_DAQ.c index 8920b5df4a..23402671f2 100644 --- a/sw/airborne/modules/meteo/meteo_france_DAQ.c +++ b/sw/airborne/modules/meteo/meteo_france_DAQ.c @@ -115,14 +115,14 @@ void mf_daq_send_report(void) } } -void parse_mf_daq_msg(void) +void parse_mf_daq_msg(uint8_t *buf) { - mf_daq.nb = dl_buffer[2]; + mf_daq.nb = buf[2]; if (mf_daq.nb > 0) { if (mf_daq.nb > MF_DAQ_SIZE) { mf_daq.nb = MF_DAQ_SIZE; } // Store data struct directly from dl_buffer - float *buf = (float*)(dl_buffer+3); - memcpy(mf_daq.values, buf, mf_daq.nb * sizeof(float)); + float *bufloc = (float*)(buf+3); + memcpy(mf_daq.values, bufloc, mf_daq.nb * sizeof(float)); // Log on SD card if (log_started) { DOWNLINK_SEND_PAYLOAD_FLOAT(pprzlog_tp, chibios_sdlog, mf_daq.nb, mf_daq.values); diff --git a/sw/airborne/modules/meteo/meteo_france_DAQ.h b/sw/airborne/modules/meteo/meteo_france_DAQ.h index efbd2dadcb..f3b97fcd16 100644 --- a/sw/airborne/modules/meteo/meteo_france_DAQ.h +++ b/sw/airborne/modules/meteo/meteo_france_DAQ.h @@ -51,7 +51,7 @@ extern struct MF_DAQ mf_daq; extern void init_mf_daq(void); extern void mf_daq_send_state(void); extern void mf_daq_send_report(void); -extern void parse_mf_daq_msg(void); +extern void parse_mf_daq_msg(uint8_t *buf); #if (defined MF_DAQ_POWER_PORT) && (defined MF_DAQ_POWER_PIN) #define meteo_france_DAQ_SetPower(_x) { \ diff --git a/sw/airborne/modules/mission/mission_common.c b/sw/airborne/modules/mission/mission_common.c index d02efbf837..93d8529c6f 100644 --- a/sw/airborne/modules/mission/mission_common.c +++ b/sw/airborne/modules/mission/mission_common.c @@ -162,227 +162,227 @@ void mission_status_report(void) // Parsing functions // /////////////////////// -int mission_parse_GOTO_WP(void) +int mission_parse_GOTO_WP(uint8_t *buf) { - if (DL_MISSION_GOTO_WP_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_GOTO_WP_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct _mission_element me; me.type = MissionWP; - me.element.mission_wp.wp.wp_f.x = DL_MISSION_GOTO_WP_wp_east(dl_buffer); - me.element.mission_wp.wp.wp_f.y = DL_MISSION_GOTO_WP_wp_north(dl_buffer); - me.element.mission_wp.wp.wp_f.z = DL_MISSION_GOTO_WP_wp_alt(dl_buffer); - me.duration = DL_MISSION_GOTO_WP_duration(dl_buffer); - me.index = DL_MISSION_GOTO_WP_index(dl_buffer); + me.element.mission_wp.wp.wp_f.x = DL_MISSION_GOTO_WP_wp_east(buf); + me.element.mission_wp.wp.wp_f.y = DL_MISSION_GOTO_WP_wp_north(buf); + me.element.mission_wp.wp.wp_f.z = DL_MISSION_GOTO_WP_wp_alt(buf); + me.duration = DL_MISSION_GOTO_WP_duration(buf); + me.index = DL_MISSION_GOTO_WP_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_GOTO_WP_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_GOTO_WP_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_GOTO_WP_LLA(void) +int mission_parse_GOTO_WP_LLA(uint8_t *buf) { - if (DL_MISSION_GOTO_WP_LLA_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_GOTO_WP_LLA_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct LlaCoor_i lla; - lla.lat = DL_MISSION_GOTO_WP_LLA_wp_lat(dl_buffer); - lla.lon = DL_MISSION_GOTO_WP_LLA_wp_lon(dl_buffer); - lla.alt = DL_MISSION_GOTO_WP_LLA_wp_alt(dl_buffer); + lla.lat = DL_MISSION_GOTO_WP_LLA_wp_lat(buf); + lla.lon = DL_MISSION_GOTO_WP_LLA_wp_lon(buf); + lla.alt = DL_MISSION_GOTO_WP_LLA_wp_alt(buf); struct _mission_element me; me.type = MissionWP; // if there is no valid local coordinate, do not insert mission element if (!mission_point_of_lla(&me.element.mission_wp.wp.wp_f, &lla)) { return false; } - me.duration = DL_MISSION_GOTO_WP_LLA_duration(dl_buffer); - me.index = DL_MISSION_GOTO_WP_LLA_index(dl_buffer); + me.duration = DL_MISSION_GOTO_WP_LLA_duration(buf); + me.index = DL_MISSION_GOTO_WP_LLA_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_GOTO_WP_LLA_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_GOTO_WP_LLA_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_CIRCLE(void) +int mission_parse_CIRCLE(uint8_t *buf) { - if (DL_MISSION_CIRCLE_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_CIRCLE_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct _mission_element me; me.type = MissionCircle; - me.element.mission_circle.center.center_f.x = DL_MISSION_CIRCLE_center_east(dl_buffer); - me.element.mission_circle.center.center_f.y = DL_MISSION_CIRCLE_center_north(dl_buffer); - me.element.mission_circle.center.center_f.z = DL_MISSION_CIRCLE_center_alt(dl_buffer); - me.element.mission_circle.radius = DL_MISSION_CIRCLE_radius(dl_buffer); - me.duration = DL_MISSION_CIRCLE_duration(dl_buffer); - me.index = DL_MISSION_CIRCLE_index(dl_buffer); + me.element.mission_circle.center.center_f.x = DL_MISSION_CIRCLE_center_east(buf); + me.element.mission_circle.center.center_f.y = DL_MISSION_CIRCLE_center_north(buf); + me.element.mission_circle.center.center_f.z = DL_MISSION_CIRCLE_center_alt(buf); + me.element.mission_circle.radius = DL_MISSION_CIRCLE_radius(buf); + me.duration = DL_MISSION_CIRCLE_duration(buf); + me.index = DL_MISSION_CIRCLE_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_CIRCLE_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_CIRCLE_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_CIRCLE_LLA(void) +int mission_parse_CIRCLE_LLA(uint8_t *buf) { - if (DL_MISSION_CIRCLE_LLA_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_CIRCLE_LLA_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct LlaCoor_i lla; - lla.lat = DL_MISSION_CIRCLE_LLA_center_lat(dl_buffer); - lla.lon = DL_MISSION_CIRCLE_LLA_center_lon(dl_buffer); - lla.alt = DL_MISSION_CIRCLE_LLA_center_alt(dl_buffer); + lla.lat = DL_MISSION_CIRCLE_LLA_center_lat(buf); + lla.lon = DL_MISSION_CIRCLE_LLA_center_lon(buf); + lla.alt = DL_MISSION_CIRCLE_LLA_center_alt(buf); struct _mission_element me; me.type = MissionCircle; // if there is no valid local coordinate, do not insert mission element if (!mission_point_of_lla(&me.element.mission_circle.center.center_f, &lla)) { return false; } - me.element.mission_circle.radius = DL_MISSION_CIRCLE_LLA_radius(dl_buffer); - me.duration = DL_MISSION_CIRCLE_LLA_duration(dl_buffer); - me.index = DL_MISSION_CIRCLE_LLA_index(dl_buffer); + me.element.mission_circle.radius = DL_MISSION_CIRCLE_LLA_radius(buf); + me.duration = DL_MISSION_CIRCLE_LLA_duration(buf); + me.index = DL_MISSION_CIRCLE_LLA_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_CIRCLE_LLA_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_CIRCLE_LLA_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_SEGMENT(void) +int mission_parse_SEGMENT(uint8_t *buf) { - if (DL_MISSION_SEGMENT_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_SEGMENT_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct _mission_element me; me.type = MissionSegment; - me.element.mission_segment.from.from_f.x = DL_MISSION_SEGMENT_segment_east_1(dl_buffer); - me.element.mission_segment.from.from_f.y = DL_MISSION_SEGMENT_segment_north_1(dl_buffer); - me.element.mission_segment.from.from_f.z = DL_MISSION_SEGMENT_segment_alt(dl_buffer); - me.element.mission_segment.to.to_f.x = DL_MISSION_SEGMENT_segment_east_2(dl_buffer); - me.element.mission_segment.to.to_f.y = DL_MISSION_SEGMENT_segment_north_2(dl_buffer); - me.element.mission_segment.to.to_f.z = DL_MISSION_SEGMENT_segment_alt(dl_buffer); - me.duration = DL_MISSION_SEGMENT_duration(dl_buffer); - me.index = DL_MISSION_SEGMENT_index(dl_buffer); + me.element.mission_segment.from.from_f.x = DL_MISSION_SEGMENT_segment_east_1(buf); + me.element.mission_segment.from.from_f.y = DL_MISSION_SEGMENT_segment_north_1(buf); + me.element.mission_segment.from.from_f.z = DL_MISSION_SEGMENT_segment_alt(buf); + me.element.mission_segment.to.to_f.x = DL_MISSION_SEGMENT_segment_east_2(buf); + me.element.mission_segment.to.to_f.y = DL_MISSION_SEGMENT_segment_north_2(buf); + me.element.mission_segment.to.to_f.z = DL_MISSION_SEGMENT_segment_alt(buf); + me.duration = DL_MISSION_SEGMENT_duration(buf); + me.index = DL_MISSION_SEGMENT_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_SEGMENT_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_SEGMENT_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_SEGMENT_LLA(void) +int mission_parse_SEGMENT_LLA(uint8_t *buf) { - if (DL_MISSION_SEGMENT_LLA_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_SEGMENT_LLA_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct LlaCoor_i from_lla, to_lla; - from_lla.lat = DL_MISSION_SEGMENT_LLA_segment_lat_1(dl_buffer); - from_lla.lon = DL_MISSION_SEGMENT_LLA_segment_lon_1(dl_buffer); - from_lla.alt = DL_MISSION_SEGMENT_LLA_segment_alt(dl_buffer); - to_lla.lat = DL_MISSION_SEGMENT_LLA_segment_lat_2(dl_buffer); - to_lla.lon = DL_MISSION_SEGMENT_LLA_segment_lon_2(dl_buffer); - to_lla.alt = DL_MISSION_SEGMENT_LLA_segment_alt(dl_buffer); + from_lla.lat = DL_MISSION_SEGMENT_LLA_segment_lat_1(buf); + from_lla.lon = DL_MISSION_SEGMENT_LLA_segment_lon_1(buf); + from_lla.alt = DL_MISSION_SEGMENT_LLA_segment_alt(buf); + to_lla.lat = DL_MISSION_SEGMENT_LLA_segment_lat_2(buf); + to_lla.lon = DL_MISSION_SEGMENT_LLA_segment_lon_2(buf); + to_lla.alt = DL_MISSION_SEGMENT_LLA_segment_alt(buf); struct _mission_element me; me.type = MissionSegment; // if there is no valid local coordinate, do not insert mission element if (!mission_point_of_lla(&me.element.mission_segment.from.from_f, &from_lla)) { return false; } if (!mission_point_of_lla(&me.element.mission_segment.to.to_f, &to_lla)) { return false; } - me.duration = DL_MISSION_SEGMENT_LLA_duration(dl_buffer); - me.index = DL_MISSION_SEGMENT_LLA_index(dl_buffer); + me.duration = DL_MISSION_SEGMENT_LLA_duration(buf); + me.index = DL_MISSION_SEGMENT_LLA_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_SEGMENT_LLA_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_SEGMENT_LLA_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_PATH(void) +int mission_parse_PATH(uint8_t *buf) { - if (DL_MISSION_PATH_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_PATH_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct _mission_element me; me.type = MissionPath; - me.element.mission_path.path.path_f[0].x = DL_MISSION_PATH_point_east_1(dl_buffer); - me.element.mission_path.path.path_f[0].y = DL_MISSION_PATH_point_north_1(dl_buffer); - me.element.mission_path.path.path_f[0].z = DL_MISSION_PATH_path_alt(dl_buffer); - me.element.mission_path.path.path_f[1].x = DL_MISSION_PATH_point_east_2(dl_buffer); - me.element.mission_path.path.path_f[1].y = DL_MISSION_PATH_point_north_2(dl_buffer); - me.element.mission_path.path.path_f[1].z = DL_MISSION_PATH_path_alt(dl_buffer); - me.element.mission_path.path.path_f[2].x = DL_MISSION_PATH_point_east_3(dl_buffer); - me.element.mission_path.path.path_f[2].y = DL_MISSION_PATH_point_north_3(dl_buffer); - me.element.mission_path.path.path_f[2].z = DL_MISSION_PATH_path_alt(dl_buffer); - me.element.mission_path.path.path_f[3].x = DL_MISSION_PATH_point_east_4(dl_buffer); - me.element.mission_path.path.path_f[3].y = DL_MISSION_PATH_point_north_4(dl_buffer); - me.element.mission_path.path.path_f[3].z = DL_MISSION_PATH_path_alt(dl_buffer); - me.element.mission_path.path.path_f[4].x = DL_MISSION_PATH_point_east_5(dl_buffer); - me.element.mission_path.path.path_f[4].y = DL_MISSION_PATH_point_north_5(dl_buffer); - me.element.mission_path.path.path_f[4].z = DL_MISSION_PATH_path_alt(dl_buffer); - me.element.mission_path.nb = DL_MISSION_PATH_nb(dl_buffer); + me.element.mission_path.path.path_f[0].x = DL_MISSION_PATH_point_east_1(buf); + me.element.mission_path.path.path_f[0].y = DL_MISSION_PATH_point_north_1(buf); + me.element.mission_path.path.path_f[0].z = DL_MISSION_PATH_path_alt(buf); + me.element.mission_path.path.path_f[1].x = DL_MISSION_PATH_point_east_2(buf); + me.element.mission_path.path.path_f[1].y = DL_MISSION_PATH_point_north_2(buf); + me.element.mission_path.path.path_f[1].z = DL_MISSION_PATH_path_alt(buf); + me.element.mission_path.path.path_f[2].x = DL_MISSION_PATH_point_east_3(buf); + me.element.mission_path.path.path_f[2].y = DL_MISSION_PATH_point_north_3(buf); + me.element.mission_path.path.path_f[2].z = DL_MISSION_PATH_path_alt(buf); + me.element.mission_path.path.path_f[3].x = DL_MISSION_PATH_point_east_4(buf); + me.element.mission_path.path.path_f[3].y = DL_MISSION_PATH_point_north_4(buf); + me.element.mission_path.path.path_f[3].z = DL_MISSION_PATH_path_alt(buf); + me.element.mission_path.path.path_f[4].x = DL_MISSION_PATH_point_east_5(buf); + me.element.mission_path.path.path_f[4].y = DL_MISSION_PATH_point_north_5(buf); + me.element.mission_path.path.path_f[4].z = DL_MISSION_PATH_path_alt(buf); + me.element.mission_path.nb = DL_MISSION_PATH_nb(buf); if (me.element.mission_path.nb > MISSION_PATH_NB) { me.element.mission_path.nb = MISSION_PATH_NB; } me.element.mission_path.path_idx = 0; - me.duration = DL_MISSION_PATH_duration(dl_buffer); - me.index = DL_MISSION_PATH_index(dl_buffer); + me.duration = DL_MISSION_PATH_duration(buf); + me.index = DL_MISSION_PATH_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_PATH_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_PATH_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_PATH_LLA(void) +int mission_parse_PATH_LLA(uint8_t *buf) { - if (DL_MISSION_PATH_LLA_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_PATH_LLA_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct LlaCoor_i lla[MISSION_PATH_NB]; - lla[0].lat = DL_MISSION_PATH_LLA_point_lat_1(dl_buffer); - lla[0].lon = DL_MISSION_PATH_LLA_point_lon_1(dl_buffer); - lla[0].alt = DL_MISSION_PATH_LLA_path_alt(dl_buffer); - lla[1].lat = DL_MISSION_PATH_LLA_point_lat_2(dl_buffer); - lla[1].lon = DL_MISSION_PATH_LLA_point_lon_2(dl_buffer); - lla[1].alt = DL_MISSION_PATH_LLA_path_alt(dl_buffer); - lla[2].lat = DL_MISSION_PATH_LLA_point_lat_3(dl_buffer); - lla[2].lon = DL_MISSION_PATH_LLA_point_lon_3(dl_buffer); - lla[2].alt = DL_MISSION_PATH_LLA_path_alt(dl_buffer); - lla[3].lat = DL_MISSION_PATH_LLA_point_lat_4(dl_buffer); - lla[3].lon = DL_MISSION_PATH_LLA_point_lon_4(dl_buffer); - lla[3].alt = DL_MISSION_PATH_LLA_path_alt(dl_buffer); - lla[4].lat = DL_MISSION_PATH_LLA_point_lat_5(dl_buffer); - lla[4].lon = DL_MISSION_PATH_LLA_point_lon_5(dl_buffer); - lla[4].alt = DL_MISSION_PATH_LLA_path_alt(dl_buffer); + lla[0].lat = DL_MISSION_PATH_LLA_point_lat_1(buf); + lla[0].lon = DL_MISSION_PATH_LLA_point_lon_1(buf); + lla[0].alt = DL_MISSION_PATH_LLA_path_alt(buf); + lla[1].lat = DL_MISSION_PATH_LLA_point_lat_2(buf); + lla[1].lon = DL_MISSION_PATH_LLA_point_lon_2(buf); + lla[1].alt = DL_MISSION_PATH_LLA_path_alt(buf); + lla[2].lat = DL_MISSION_PATH_LLA_point_lat_3(buf); + lla[2].lon = DL_MISSION_PATH_LLA_point_lon_3(buf); + lla[2].alt = DL_MISSION_PATH_LLA_path_alt(buf); + lla[3].lat = DL_MISSION_PATH_LLA_point_lat_4(buf); + lla[3].lon = DL_MISSION_PATH_LLA_point_lon_4(buf); + lla[3].alt = DL_MISSION_PATH_LLA_path_alt(buf); + lla[4].lat = DL_MISSION_PATH_LLA_point_lat_5(buf); + lla[4].lon = DL_MISSION_PATH_LLA_point_lon_5(buf); + lla[4].alt = DL_MISSION_PATH_LLA_path_alt(buf); struct _mission_element me; me.type = MissionPath; uint8_t i; - me.element.mission_path.nb = DL_MISSION_PATH_LLA_nb(dl_buffer); + me.element.mission_path.nb = DL_MISSION_PATH_LLA_nb(buf); if (me.element.mission_path.nb > MISSION_PATH_NB) { me.element.mission_path.nb = MISSION_PATH_NB; } for (i = 0; i < me.element.mission_path.nb; i++) { // if there is no valid local coordinate, do not insert mission element if (!mission_point_of_lla(&me.element.mission_path.path.path_f[i], &lla[i])) { return false; } } me.element.mission_path.path_idx = 0; - me.duration = DL_MISSION_PATH_LLA_duration(dl_buffer); - me.index = DL_MISSION_PATH_LLA_index(dl_buffer); + me.duration = DL_MISSION_PATH_LLA_duration(buf); + me.index = DL_MISSION_PATH_LLA_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_PATH_LLA_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_PATH_LLA_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_CUSTOM(void) +int mission_parse_CUSTOM(uint8_t *buf) { - if (DL_MISSION_CUSTOM_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_MISSION_CUSTOM_ac_id(buf) != AC_ID) { return false; } // not for this aircraft struct _mission_element me; me.type = MissionCustom; - me.element.mission_custom.reg = mission_get_registered(DL_MISSION_CUSTOM_type(dl_buffer)); + me.element.mission_custom.reg = mission_get_registered(DL_MISSION_CUSTOM_type(buf)); if (me.element.mission_custom.reg == NULL) { return false; // unknown type } - me.element.mission_custom.nb = DL_MISSION_CUSTOM_params_length(dl_buffer); + me.element.mission_custom.nb = DL_MISSION_CUSTOM_params_length(buf); for (int i = 0; i < me.element.mission_custom.nb; i++) { - me.element.mission_custom.params[i] = DL_MISSION_CUSTOM_params(dl_buffer)[i]; + me.element.mission_custom.params[i] = DL_MISSION_CUSTOM_params(buf)[i]; } - me.duration = DL_MISSION_CUSTOM_duration(dl_buffer); - me.index = DL_MISSION_CUSTOM_index(dl_buffer); + me.duration = DL_MISSION_CUSTOM_duration(buf); + me.index = DL_MISSION_CUSTOM_index(buf); - enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_CUSTOM_insert(dl_buffer)); + enum MissionInsertMode insert = (enum MissionInsertMode)(DL_MISSION_CUSTOM_insert(buf)); return mission_insert(insert, &me); } -int mission_parse_GOTO_MISSION(void) +int mission_parse_GOTO_MISSION(uint8_t *buf) { - if (DL_GOTO_MISSION_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_GOTO_MISSION_ac_id(buf) != AC_ID) { return false; } // not for this aircraft - uint8_t mission_id = DL_GOTO_MISSION_mission_id(dl_buffer); + uint8_t mission_id = DL_GOTO_MISSION_mission_id(buf); if (mission_id < MISSION_ELEMENT_NB) { mission.current_idx = mission_id; } else { return false; } @@ -390,9 +390,9 @@ int mission_parse_GOTO_MISSION(void) return true; } -int mission_parse_NEXT_MISSION(void) +int mission_parse_NEXT_MISSION(uint8_t *buf) { - if (DL_NEXT_MISSION_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_NEXT_MISSION_ac_id(buf) != AC_ID) { return false; } // not for this aircraft if (mission.current_idx == mission.insert_idx) { return false; } // already at the last position @@ -401,9 +401,9 @@ int mission_parse_NEXT_MISSION(void) return true; } -int mission_parse_END_MISSION(void) +int mission_parse_END_MISSION(uint8_t *buf) { - if (DL_END_MISSION_ac_id(dl_buffer) != AC_ID) { return false; } // not for this aircraft + if (DL_END_MISSION_ac_id(buf) != AC_ID) { return false; } // not for this aircraft // set current index to insert index (last position) mission.current_idx = mission.insert_idx; diff --git a/sw/airborne/modules/mission/mission_common.h b/sw/airborne/modules/mission/mission_common.h index e0c6673172..028ecdc860 100644 --- a/sw/airborne/modules/mission/mission_common.h +++ b/sw/airborne/modules/mission/mission_common.h @@ -205,18 +205,18 @@ extern void mission_status_report(void); /** Parsing functions called when a mission message is received */ -extern int mission_parse_GOTO_WP(void); -extern int mission_parse_GOTO_WP_LLA(void); -extern int mission_parse_CIRCLE(void); -extern int mission_parse_CIRCLE_LLA(void); -extern int mission_parse_SEGMENT(void); -extern int mission_parse_SEGMENT_LLA(void); -extern int mission_parse_PATH(void); -extern int mission_parse_PATH_LLA(void); -extern int mission_parse_CUSTOM(void); -extern int mission_parse_GOTO_MISSION(void); -extern int mission_parse_NEXT_MISSION(void); -extern int mission_parse_END_MISSION(void); +extern int mission_parse_GOTO_WP(uint8_t *buf); +extern int mission_parse_GOTO_WP_LLA(uint8_t *buf); +extern int mission_parse_CIRCLE(uint8_t *buf); +extern int mission_parse_CIRCLE_LLA(uint8_t *buf); +extern int mission_parse_SEGMENT(uint8_t *buf); +extern int mission_parse_SEGMENT_LLA(uint8_t *buf); +extern int mission_parse_PATH(uint8_t *buf); +extern int mission_parse_PATH_LLA(uint8_t *buf); +extern int mission_parse_CUSTOM(uint8_t *buf); +extern int mission_parse_GOTO_MISSION(uint8_t *buf); +extern int mission_parse_NEXT_MISSION(uint8_t *buf); +extern int mission_parse_END_MISSION(uint8_t *buf); #endif // MISSION_COMMON_H diff --git a/sw/airborne/modules/multi/ctc/ctc.c b/sw/airborne/modules/multi/ctc/ctc.c index fb16afe0b6..a0f25bffa3 100644 --- a/sw/airborne/modules/multi/ctc/ctc.c +++ b/sw/airborne/modules/multi/ctc/ctc.c @@ -25,7 +25,7 @@ #include #include "modules/multi/ctc/ctc.h" -#include "subsystems/datalink/datalink.h" // dl_buffer +//#include "subsystems/datalink/datalink.h" // dl_buffer #include "subsystems/datalink/telemetry.h" #include "subsystems/navigation/common_nav.h" #include "firmwares/fixedwing/stabilization/stabilization_attitude.h" @@ -298,11 +298,11 @@ void ctc_send_info_to_nei(void) } } -void parse_ctc_RegTable(void) +void parse_ctc_RegTable(uint8_t *buf) { - uint8_t ac_id = DL_CTC_REG_TABLE_ac_id(dl_buffer); + uint8_t ac_id = DL_CTC_REG_TABLE_ac_id(buf); if (ac_id == AC_ID) { - uint8_t nei_id = DL_CTC_REG_TABLE_nei_id(dl_buffer); + uint8_t nei_id = DL_CTC_REG_TABLE_nei_id(buf); for (int i = 0; i < CTC_MAX_AC; i++) if (tableNei[i][0] == -1) { tableNei[i][0] = (int16_t)nei_id; @@ -311,9 +311,9 @@ void parse_ctc_RegTable(void) } } -void parse_ctc_CleanTable(void) +void parse_ctc_CleanTable(uint8_t *buf) { - uint8_t ac_id = DL_CTC_REG_TABLE_ac_id(dl_buffer); + uint8_t ac_id = DL_CTC_REG_TABLE_ac_id(uint8_t *buf); if (ac_id == AC_ID) for (int i = 0; i < CTC_MAX_AC; i++) { tableNei[i][0] = -1; @@ -339,24 +339,24 @@ void parse_ctc_CleanTable(void) ctc_gogo = false; } -void parse_ctc_NeiInfoTable(void) +void parse_ctc_NeiInfoTable(uint8_t *buf) { - int16_t sender_id = (int16_t)(SenderIdOfPprzMsg(dl_buffer)); + int16_t sender_id = (int16_t)(SenderIdOfPprzMsg(buf)); for (int i = 0; i < CTC_MAX_AC; i++) if (tableNei[i][0] == sender_id) { last_info[i] = get_sys_time_msec(); - tableNei[i][1] = (int16_t)(DL_CTC_INFO_TO_NEI_vx(dl_buffer) * 100); - tableNei[i][2] = (int16_t)(DL_CTC_INFO_TO_NEI_vy(dl_buffer) * 100); - tableNei[i][3] = (int16_t)(DL_CTC_INFO_TO_NEI_px(dl_buffer) * 100); - tableNei[i][4] = (int16_t)(DL_CTC_INFO_TO_NEI_py(dl_buffer) * 100); + tableNei[i][1] = (int16_t)(DL_CTC_INFO_TO_NEI_vx(buf) * 100); + tableNei[i][2] = (int16_t)(DL_CTC_INFO_TO_NEI_vy(buf) * 100); + tableNei[i][3] = (int16_t)(DL_CTC_INFO_TO_NEI_px(buf) * 100); + tableNei[i][4] = (int16_t)(DL_CTC_INFO_TO_NEI_py(buf) * 100); break; } } -void parse_ctc_TargetInfo(void) +void parse_ctc_TargetInfo(uint8_t *buf) { - moving_target_px = DL_CTC_INFO_FROM_TARGET_px(dl_buffer); - moving_target_py = DL_CTC_INFO_FROM_TARGET_py(dl_buffer); - moving_target_vx = DL_CTC_INFO_FROM_TARGET_vx(dl_buffer); - moving_target_vy = DL_CTC_INFO_FROM_TARGET_vy(dl_buffer); + moving_target_px = DL_CTC_INFO_FROM_TARGET_px(buf); + moving_target_py = DL_CTC_INFO_FROM_TARGET_py(buf); + moving_target_vx = DL_CTC_INFO_FROM_TARGET_vx(buf); + moving_target_vy = DL_CTC_INFO_FROM_TARGET_vy(buf); } diff --git a/sw/airborne/modules/multi/ctc/ctc.h b/sw/airborne/modules/multi/ctc/ctc.h index ffc9a94bd6..2e2d8f9a33 100644 --- a/sw/airborne/modules/multi/ctc/ctc.h +++ b/sw/airborne/modules/multi/ctc/ctc.h @@ -64,9 +64,9 @@ extern bool collective_tracking_point(float x, float y); extern void collective_tracking_control(void); extern void ctc_send_info_to_nei(void); -extern void parse_ctc_RegTable(void); -extern void parse_ctc_CleanTable(void); -extern void parse_ctc_NeiInfoTable(void); -extern void parse_ctc_TargetInfo(void); +extern void parse_ctc_RegTable(uint8_t *buf); +extern void parse_ctc_CleanTable(uint8_t *buf); +extern void parse_ctc_NeiInfoTable(uint8_t *buf); +extern void parse_ctc_TargetInfo(uint8_t *buf); #endif // CTC_H diff --git a/sw/airborne/modules/multi/ctc/ctc_target.c b/sw/airborne/modules/multi/ctc/ctc_target.c index 55f41619fa..ed69bec38e 100644 --- a/sw/airborne/modules/multi/ctc/ctc_target.c +++ b/sw/airborne/modules/multi/ctc/ctc_target.c @@ -25,7 +25,7 @@ #include #include "modules/multi/ctc/ctc_target.h" -#include "subsystems/datalink/datalink.h" // dl_buffer +//#include "subsystems/datalink/datalink.h" // dl_buffer #include "subsystems/datalink/telemetry.h" #include "firmwares/rotorcraft/navigation.h" #include "autopilot.h" diff --git a/sw/airborne/modules/multi/ctc/ctc_target.h b/sw/airborne/modules/multi/ctc/ctc_target.h index ef1df036a8..d1328a88c3 100644 --- a/sw/airborne/modules/multi/ctc/ctc_target.h +++ b/sw/airborne/modules/multi/ctc/ctc_target.h @@ -35,7 +35,7 @@ extern int16_t tableNei[][6]; extern void ctc_target_init(void); extern void ctc_target_send_info_to_nei(void); -extern void parse_ctc_target_RegTable(void); -extern void parse_ctc_target_CleanTable(void); +extern void parse_ctc_target_RegTable(uint8_t *buf); +extern void parse_ctc_target_CleanTable(uint8_t *buf)); #endif // CTC_TARGET_H diff --git a/sw/airborne/modules/multi/dcf/dcf.c b/sw/airborne/modules/multi/dcf/dcf.c index 319538915c..dd313bd95b 100644 --- a/sw/airborne/modules/multi/dcf/dcf.c +++ b/sw/airborne/modules/multi/dcf/dcf.c @@ -23,7 +23,7 @@ #include #include "modules/muti/dcf/dcf.h" -#include "subsystems/datalink/datalink.h" // dl_buffer +//#include "subsystems/datalink/datalink.h" // dl_buffer #include "subsystems/datalink/telemetry.h" #include "subsystems/navigation/common_nav.h" #include "autopilot.h" @@ -137,12 +137,12 @@ void send_theta_to_nei(void) } } -void parseRegTable(void) +void parseRegTable(uint8_t *buf) { - uint8_t ac_id = DL_DCF_REG_TABLE_ac_id(dl_buffer); + uint8_t ac_id = DL_DCF_REG_TABLE_ac_id(buf); if (ac_id == AC_ID) { - uint8_t nei_id = DL_DCF_REG_TABLE_nei_id(dl_buffer); - int16_t desired_sigma = DL_DCF_REG_TABLE_desired_sigma(dl_buffer); + uint8_t nei_id = DL_DCF_REG_TABLE_nei_id(buf); + int16_t desired_sigma = DL_DCF_REG_TABLE_desired_sigma(buf); if (nei_id == 0) { for (int i = 0; i < DCF_MAX_NEIGHBORS; i++) { @@ -166,13 +166,13 @@ void parseRegTable(void) } } -void parseThetaTable(void) +void parseThetaTable(uint8_t *buf) { - int16_t sender_id = (int16_t)(SenderIdOfPprzMsg(dl_buffer)); + int16_t sender_id = (int16_t)(SenderIdOfPprzMsg(buf)); for (int i = 0; i < DCF_MAX_NEIGHBORS; i++) if (dcf_tables.tableNei[i][0] == sender_id) { dcf_tables.last_theta[i] = get_sys_time_msec(); - dcf_tables.tableNei[i][1] = (int16_t)((DL_DCF_THETA_theta(dl_buffer)) * 1800 / M_PI); + dcf_tables.tableNei[i][1] = (int16_t)((DL_DCF_THETA_theta(buf)) * 1800 / M_PI); break; } } diff --git a/sw/airborne/modules/multi/dcf/dcf.h b/sw/airborne/modules/multi/dcf/dcf.h index 7ff7810c5e..bd202c0021 100644 --- a/sw/airborne/modules/multi/dcf/dcf.h +++ b/sw/airborne/modules/multi/dcf/dcf.h @@ -56,7 +56,7 @@ extern void dcf_init(void); extern bool distributed_circular(uint8_t wp); extern void send_theta_to_nei(void); -extern void parseRegTable(void); -extern void parseThetaTable(void); +extern void parseRegTable(uint8_t *buf); +extern void parseThetaTable(uint8_t *buf); #endif // DCF_H diff --git a/sw/airborne/modules/multi/fc_rotor/fc_rotor.c b/sw/airborne/modules/multi/fc_rotor/fc_rotor.c index deb11af275..2ac3fe666a 100644 --- a/sw/airborne/modules/multi/fc_rotor/fc_rotor.c +++ b/sw/airborne/modules/multi/fc_rotor/fc_rotor.c @@ -20,7 +20,7 @@ */ #include "math/pprz_algebra_float.h" #include "subsystems/abi.h" -#include "subsystems/datalink/datalink.h" // dl_buffer +//#include "subsystems/datalink/datalink.h" // dl_buffer #include "autopilot.h" #include "modules/multi/fc_rotor/fc_rotor.h" #include "firmwares/rotorcraft/navigation.h" @@ -29,18 +29,18 @@ void fc_rotor_init(void) { } -void fc_read_msg(void) +void fc_read_msg(uint8_t *buf) { struct FloatVect3 u; - uint8_t ac_id = DL_DESIRED_SETPOINT_ac_id(dl_buffer); + uint8_t ac_id = DL_DESIRED_SETPOINT_ac_id(); if (ac_id == AC_ID) { // 0: 2D control, 1: 3D control - uint8_t flag = DL_DESIRED_SETPOINT_flag(dl_buffer); + uint8_t flag = DL_DESIRED_SETPOINT_flag(buf); - u.x = DL_DESIRED_SETPOINT_ux(dl_buffer); - u.y = DL_DESIRED_SETPOINT_uy(dl_buffer); - u.z = DL_DESIRED_SETPOINT_uz(dl_buffer); + u.x = DL_DESIRED_SETPOINT_ux(buf); + u.y = DL_DESIRED_SETPOINT_uy(buf); + u.z = DL_DESIRED_SETPOINT_uz(buf); AbiSendMsgACCEL_SP(ACCEL_SP_FCR_ID, flag, &u); diff --git a/sw/airborne/modules/multi/fc_rotor/fc_rotor.h b/sw/airborne/modules/multi/fc_rotor/fc_rotor.h index d1ec3b8575..0001a631d2 100644 --- a/sw/airborne/modules/multi/fc_rotor/fc_rotor.h +++ b/sw/airborne/modules/multi/fc_rotor/fc_rotor.h @@ -30,6 +30,6 @@ #define FC_ROTOR_H extern void fc_rotor_init(void); -extern void fc_read_msg(void); +extern void fc_read_msg(uint8_t *buf); #endif // FC_ROTOR_H diff --git a/sw/airborne/modules/multi/formation.h b/sw/airborne/modules/multi/formation.h index d4b2b23fcc..dbfc1befe3 100644 --- a/sw/airborne/modules/multi/formation.h +++ b/sw/airborne/modules/multi/formation.h @@ -7,7 +7,7 @@ #ifndef FORMATION_H #define FORMATION_H -#include "subsystems/datalink/datalink.h" // dl_buffer +//#include "subsystems/datalink/datalink.h" // dl_buffer #include "generated/airframe.h" // AC_ID #include "modules/multi/traffic_info.h" @@ -43,23 +43,23 @@ static inline void updateSlot(uint8_t id, float se, float sn, float sa) static inline void updateFormationStatus(uint8_t id, uint8_t status) { formation[ti_acs_id[id]].status = status; } -static inline void parseFormationStatus(void) +static inline void parseFormationStatus(uint8_t *buff) { - uint8_t ac_id = DL_FORMATION_STATUS_ac_id(dl_buffer); - uint8_t leader = DL_FORMATION_STATUS_leader_id(dl_buffer); - uint8_t status = DL_FORMATION_STATUS_status(dl_buffer); + uint8_t ac_id = DL_FORMATION_STATUS_ac_id(buf); + uint8_t leader = DL_FORMATION_STATUS_leader_id(buf); + uint8_t status = DL_FORMATION_STATUS_status(buf); if (ac_id == AC_ID) { leader_id = leader; } else if (leader == leader_id) { updateFormationStatus(ac_id, status); } else { updateFormationStatus(ac_id, UNSET); } } -static inline void parseFormationSlot(void) +static inline void parseFormationSlot(uint8_t *buf) { - uint8_t ac_id = DL_FORMATION_SLOT_ac_id(dl_buffer); - uint8_t mode = DL_FORMATION_SLOT_mode(dl_buffer); - float slot_east = DL_FORMATION_SLOT_slot_east(dl_buffer); - float slot_north = DL_FORMATION_SLOT_slot_north(dl_buffer); - float slot_alt = DL_FORMATION_SLOT_slot_alt(dl_buffer); + uint8_t ac_id = DL_FORMATION_SLOT_ac_id(buf); + uint8_t mode = DL_FORMATION_SLOT_mode(buf); + float slot_east = DL_FORMATION_SLOT_slot_east(buf); + float slot_north = DL_FORMATION_SLOT_slot_north(buf); + float slot_alt = DL_FORMATION_SLOT_slot_alt(buf); updateSlot(ac_id, slot_east, slot_north, slot_alt); if (ac_id == leader_id) { form_mode = mode; } } diff --git a/sw/airborne/modules/multi/rssi.c b/sw/airborne/modules/multi/rssi.c index a4a05b8833..3189fa024d 100644 --- a/sw/airborne/modules/multi/rssi.c +++ b/sw/airborne/modules/multi/rssi.c @@ -62,15 +62,15 @@ void rssi_init() AbiBindMsgRSSI(ABI_BROADCAST, &ev, rssi_cb); } -void parse_rssi_dl(void) +void parse_rssi_dl(uint8_t *buf) { - uint8_t sender_id = SenderIdOfPprzMsg(dl_buffer); - uint8_t msg_id = IdOfPprzMsg(dl_buffer); + uint8_t sender_id = SenderIdOfPprzMsg(buf); + uint8_t msg_id = IdOfPprzMsg(buf); if (sender_id > 0 && msg_id == DL_RSSI) { set_rssi(sender_id, - DL_RSSI_tx_power(dl_buffer), - DL_RSSI_rssi(dl_buffer)); + DL_RSSI_tx_power(buf), + DL_RSSI_rssi(buf)); } } diff --git a/sw/airborne/modules/multi/rssi.h b/sw/airborne/modules/multi/rssi.h index 62e0f0125f..923c8fcfb5 100644 --- a/sw/airborne/modules/multi/rssi.h +++ b/sw/airborne/modules/multi/rssi.h @@ -42,6 +42,6 @@ extern void rssi_init(void); extern void set_rssi(uint8_t _ac_id, int8_t _rssi, int8_t _tx_strength); extern struct rssi_info_ get_rssi(uint8_t _ac_id); -extern void parse_rssi_dl(void); +extern void parse_rssi_dl(uint8_t *buf); #endif diff --git a/sw/airborne/modules/multi/tcas.c b/sw/airborne/modules/multi/tcas.c index ae558b0e65..3b34c0ca93 100644 --- a/sw/airborne/modules/multi/tcas.c +++ b/sw/airborne/modules/multi/tcas.c @@ -84,19 +84,19 @@ void tcas_init(void) } } -void parseTcasResolve(void) +void parseTcasResolve(uint8_t *buf) { - if (DL_TCAS_RESOLVE_ac_id(dl_buffer) == AC_ID) { - uint8_t ac_id_conflict = DL_TCAS_RESOLVE_ac_id_conflict(dl_buffer); - tcas_acs_status[ti_acs_id[ac_id_conflict]].resolve = DL_TCAS_RESOLVE_resolve(dl_buffer); + if (DL_TCAS_RESOLVE_ac_id(buf) == AC_ID) { + uint8_t ac_id_conflict = DL_TCAS_RESOLVE_ac_id_conflict(buf); + tcas_acs_status[ti_acs_id[ac_id_conflict]].resolve = DL_TCAS_RESOLVE_resolve(buf); } } -void parseTcasRA(void) +void parseTcasRA(uint8_t *buf) { - if (DL_TCAS_RA_ac_id(dl_buffer) == AC_ID && SenderIdOfPprzMsg(dl_buffer) != AC_ID) { + if (DL_TCAS_RA_ac_id(buf) == AC_ID && SenderIdOfPprzMsg(buf) != AC_ID) { uint8_t ac_id_conflict = SenderIdOfPprzMsg(dl_buffer); - tcas_acs_status[ti_acs_id[ac_id_conflict]].resolve = DL_TCAS_RA_resolve(dl_buffer); + tcas_acs_status[ti_acs_id[ac_id_conflict]].resolve = DL_TCAS_RA_resolve(buf); } } diff --git a/sw/airborne/modules/multi/tcas.h b/sw/airborne/modules/multi/tcas.h index 2a7b2d8c74..622bca66d7 100644 --- a/sw/airborne/modules/multi/tcas.h +++ b/sw/airborne/modules/multi/tcas.h @@ -29,7 +29,7 @@ #define TCAS_H #include "std.h" -#include "subsystems/datalink/datalink.h" // dl_buffer +//#include "subsystems/datalink/datalink.h" // dl_buffer #include "pprzlink/messages.h" // TCAS_RA #include "generated/airframe.h" // AC_INFO #include "modules/multi/traffic_info.h" @@ -59,7 +59,7 @@ extern void tcas_periodic_task_4Hz(void); extern void callTCAS(void); -extern void parseTcasResolve(void); -extern void parseTcasRA(void); +extern void parseTcasResolve(uint8_t *buf); +extern void parseTcasRA(uint8_t *buf); #endif /* TCAS_H */ diff --git a/sw/airborne/modules/multi/traffic_info.c b/sw/airborne/modules/multi/traffic_info.c index c8d9605f42..fd6ae7c704 100644 --- a/sw/airborne/modules/multi/traffic_info.c +++ b/sw/airborne/modules/multi/traffic_info.c @@ -73,20 +73,20 @@ static void update_geoid_height(void) { } /* default is just keep last available height */ } -bool parse_acinfo_dl(void) +bool parse_acinfo_dl(uint8_t *buf) { - uint8_t sender_id = SenderIdOfPprzMsg(dl_buffer); - uint8_t msg_id = IdOfPprzMsg(dl_buffer); + uint8_t sender_id = SenderIdOfPprzMsg(buf); + uint8_t msg_id = IdOfPprzMsg(buf); /* handle telemetry message */ #if PPRZLINK_DEFAULT_VER == 2 - if (pprzlink_get_msg_class_id(dl_buffer) == DL_telemetry_CLASS_ID) { + if (pprzlink_get_msg_class_id(buf) == DL_telemetry_CLASS_ID) { #else if (sender_id > 0) { #endif switch (msg_id) { case DL_GPS_SMALL: { - uint32_t multiplex_speed = DL_GPS_SMALL_multiplex_speed(dl_buffer); + uint32_t multiplex_speed = DL_GPS_SMALL_multiplex_speed(buf); // decode compressed values int16_t course = (int16_t)((multiplex_speed >> 21) & 0x7FF); // bits 31-21 course in decideg @@ -104,9 +104,9 @@ bool parse_acinfo_dl(void) } set_ac_info_lla(sender_id, - DL_GPS_SMALL_lat(dl_buffer), - DL_GPS_SMALL_lon(dl_buffer), - (int32_t)DL_GPS_SMALL_alt(dl_buffer) * 10, + DL_GPS_SMALL_lat(buf), + DL_GPS_SMALL_lon(buf), + (int32_t)DL_GPS_SMALL_alt(buf) * 10, course, gspeed, climb, @@ -115,25 +115,25 @@ bool parse_acinfo_dl(void) break; case DL_GPS: { set_ac_info_utm(sender_id, - DL_GPS_utm_east(dl_buffer), - DL_GPS_utm_north(dl_buffer), - DL_GPS_alt(dl_buffer), - DL_GPS_utm_zone(dl_buffer), - DL_GPS_course(dl_buffer), - DL_GPS_speed(dl_buffer), - DL_GPS_climb(dl_buffer), - DL_GPS_itow(dl_buffer)); + DL_GPS_utm_east(buf), + DL_GPS_utm_north(buf), + DL_GPS_alt(buf), + DL_GPS_utm_zone(buf), + DL_GPS_course(buf), + DL_GPS_speed(buf), + DL_GPS_climb(buf), + DL_GPS_itow(buf)); } break; case DL_GPS_LLA: { set_ac_info_lla(sender_id, - DL_GPS_LLA_lat(dl_buffer), - DL_GPS_LLA_lon(dl_buffer), - DL_GPS_LLA_alt(dl_buffer), - DL_GPS_LLA_course(dl_buffer), - DL_GPS_LLA_speed(dl_buffer), - DL_GPS_LLA_climb(dl_buffer), - DL_GPS_LLA_itow(dl_buffer)); + DL_GPS_LLA_lat(buf), + DL_GPS_LLA_lon(buf), + DL_GPS_LLA_alt(buf), + DL_GPS_LLA_course(buf), + DL_GPS_LLA_speed(buf), + DL_GPS_LLA_climb(buf), + DL_GPS_LLA_itow(buf)); } break; default: @@ -143,26 +143,26 @@ bool parse_acinfo_dl(void) } else { switch (msg_id) { case DL_ACINFO: { - set_ac_info_utm(DL_ACINFO_ac_id(dl_buffer), - DL_ACINFO_utm_east(dl_buffer), - DL_ACINFO_utm_north(dl_buffer), - DL_ACINFO_alt(dl_buffer) * 10, - DL_ACINFO_utm_zone(dl_buffer), - DL_ACINFO_course(dl_buffer), - DL_ACINFO_speed(dl_buffer), - DL_ACINFO_climb(dl_buffer), - DL_ACINFO_itow(dl_buffer)); + set_ac_info_utm(DL_ACINFO_ac_id(buf), + DL_ACINFO_utm_east(buf), + DL_ACINFO_utm_north(buf), + DL_ACINFO_alt(buf) * 10, + DL_ACINFO_utm_zone(buf), + DL_ACINFO_course(buf), + DL_ACINFO_speed(buf), + DL_ACINFO_climb(buf), + DL_ACINFO_itow(buf)); } break; case DL_ACINFO_LLA: { - set_ac_info_lla(DL_ACINFO_LLA_ac_id(dl_buffer), - DL_ACINFO_LLA_lat(dl_buffer), - DL_ACINFO_LLA_lon(dl_buffer), - DL_ACINFO_LLA_alt(dl_buffer) * 10, - DL_ACINFO_LLA_course(dl_buffer), - DL_ACINFO_LLA_speed(dl_buffer), - DL_ACINFO_LLA_climb(dl_buffer), - DL_ACINFO_LLA_itow(dl_buffer)); + set_ac_info_lla(DL_ACINFO_LLA_ac_id(buf), + DL_ACINFO_LLA_lat(buf), + DL_ACINFO_LLA_lon(buf), + DL_ACINFO_LLA_alt(buf) * 10, + DL_ACINFO_LLA_course(buf), + DL_ACINFO_LLA_speed(buf), + DL_ACINFO_LLA_climb(buf), + DL_ACINFO_LLA_itow(buf)); } break; default: diff --git a/sw/airborne/modules/multi/traffic_info.h b/sw/airborne/modules/multi/traffic_info.h index 6086ef06db..2f3b8bd404 100644 --- a/sw/airborne/modules/multi/traffic_info.h +++ b/sw/airborne/modules/multi/traffic_info.h @@ -131,7 +131,7 @@ extern void traffic_info_init(void); * Telemetry (vehicle -> ground or vehicle -> vehicle): GPS_SMALL, GPS, GPS_LLA * Datalink (ground -> vehicle): ACINFO, ACINFO_LLA */ -extern bool parse_acinfo_dl(void); +extern bool parse_acinfo_dl(uint8_t *buf); /************************ Set functions ****************************/ diff --git a/sw/airborne/subsystems/gps/gps_datalink.c b/sw/airborne/subsystems/gps/gps_datalink.c index 6d372c3b82..17ad457dea 100644 --- a/sw/airborne/subsystems/gps/gps_datalink.c +++ b/sw/airborne/subsystems/gps/gps_datalink.c @@ -228,45 +228,45 @@ static void parse_gps_datalink_local(float enu_x, float enu_y, float enu_z, AbiSendMsgGPS(GPS_DATALINK_ID, now_ts, &gps_datalink); } -void gps_datalink_parse_REMOTE_GPS(void) +void gps_datalink_parse_REMOTE_GPS(uint8_t *buf) { - if (DL_REMOTE_GPS_ac_id(dl_buffer) != AC_ID) { return; } // not for this aircraft + if (DL_REMOTE_GPS_ac_id(buf) != AC_ID) { return; } // not for this aircraft - parse_gps_datalink(DL_REMOTE_GPS_numsv(dl_buffer), - DL_REMOTE_GPS_ecef_x(dl_buffer), - DL_REMOTE_GPS_ecef_y(dl_buffer), - DL_REMOTE_GPS_ecef_z(dl_buffer), - DL_REMOTE_GPS_lat(dl_buffer), - DL_REMOTE_GPS_lon(dl_buffer), - DL_REMOTE_GPS_alt(dl_buffer), - DL_REMOTE_GPS_hmsl(dl_buffer), - DL_REMOTE_GPS_ecef_xd(dl_buffer), - DL_REMOTE_GPS_ecef_yd(dl_buffer), - DL_REMOTE_GPS_ecef_zd(dl_buffer), - DL_REMOTE_GPS_tow(dl_buffer), - DL_REMOTE_GPS_course(dl_buffer)); + parse_gps_datalink(DL_REMOTE_GPS_numsv(buf), + DL_REMOTE_GPS_ecef_x(buf), + DL_REMOTE_GPS_ecef_y(buf), + DL_REMOTE_GPS_ecef_z(buf), + DL_REMOTE_GPS_lat(buf), + DL_REMOTE_GPS_lon(buf), + DL_REMOTE_GPS_alt(buf), + DL_REMOTE_GPS_hmsl(buf), + DL_REMOTE_GPS_ecef_xd(buf), + DL_REMOTE_GPS_ecef_yd(buf), + DL_REMOTE_GPS_ecef_zd(buf), + DL_REMOTE_GPS_tow(buf), + DL_REMOTE_GPS_course(buf)); } -void gps_datalink_parse_REMOTE_GPS_SMALL(void) +void gps_datalink_parse_REMOTE_GPS_SMALL(uint8_t *buf) { - if (DL_REMOTE_GPS_SMALL_ac_id(dl_buffer) != AC_ID) { return; } // not for this aircraft + if (DL_REMOTE_GPS_SMALL_ac_id(buf) != AC_ID) { return; } // not for this aircraft - parse_gps_datalink_small(DL_REMOTE_GPS_SMALL_heading(dl_buffer), - DL_REMOTE_GPS_SMALL_pos_xyz(dl_buffer), - DL_REMOTE_GPS_SMALL_speed_xyz(dl_buffer), - DL_REMOTE_GPS_SMALL_tow(dl_buffer)); + parse_gps_datalink_small(DL_REMOTE_GPS_SMALL_heading(buf), + DL_REMOTE_GPS_SMALL_pos_xyz(buf), + DL_REMOTE_GPS_SMALL_speed_xyz(buf), + DL_REMOTE_GPS_SMALL_tow(buf)); } -void gps_datalink_parse_REMOTE_GPS_LOCAL(void) +void gps_datalink_parse_REMOTE_GPS_LOCAL(uint8_t *buf) { - if (DL_REMOTE_GPS_LOCAL_ac_id(dl_buffer) != AC_ID) { return; } // not for this aircraft + if (DL_REMOTE_GPS_LOCAL_ac_id(buf) != AC_ID) { return; } // not for this aircraft - parse_gps_datalink_local(DL_REMOTE_GPS_LOCAL_enu_x(dl_buffer), - DL_REMOTE_GPS_LOCAL_enu_y(dl_buffer), - DL_REMOTE_GPS_LOCAL_enu_z(dl_buffer), - DL_REMOTE_GPS_LOCAL_enu_xd(dl_buffer), - DL_REMOTE_GPS_LOCAL_enu_yd(dl_buffer), - DL_REMOTE_GPS_LOCAL_enu_zd(dl_buffer), - DL_REMOTE_GPS_LOCAL_tow(dl_buffer), - DL_REMOTE_GPS_LOCAL_course(dl_buffer)); + parse_gps_datalink_local(DL_REMOTE_GPS_LOCAL_enu_x(buf), + DL_REMOTE_GPS_LOCAL_enu_y(buf), + DL_REMOTE_GPS_LOCAL_enu_z(buf), + DL_REMOTE_GPS_LOCAL_enu_xd(buf), + DL_REMOTE_GPS_LOCAL_enu_yd(buf), + DL_REMOTE_GPS_LOCAL_enu_zd(buf), + DL_REMOTE_GPS_LOCAL_tow(buf), + DL_REMOTE_GPS_LOCAL_course(buf)); } diff --git a/sw/airborne/subsystems/gps/gps_datalink.h b/sw/airborne/subsystems/gps/gps_datalink.h index 2a83829bc1..34316a1f74 100644 --- a/sw/airborne/subsystems/gps/gps_datalink.h +++ b/sw/airborne/subsystems/gps/gps_datalink.h @@ -44,8 +44,8 @@ extern void gps_datalink_init(void); #define gps_datalink_periodic_check() gps_periodic_check(&gps_datalink) -extern void gps_datalink_parse_REMOTE_GPS(void); -extern void gps_datalink_parse_REMOTE_GPS_SMALL(void); -extern void gps_datalink_parse_REMOTE_GPS_LOCAL(void); +extern void gps_datalink_parse_REMOTE_GPS(uint8_t *buf); +extern void gps_datalink_parse_REMOTE_GPS_SMALL(uint8_t *buf); +extern void gps_datalink_parse_REMOTE_GPS_LOCAL(uint8_t *buf); #endif /* GPS_DATALINK_H */