This commit is contained in:
neo-nb3 2024-06-13 22:19:48 +02:00
parent 2cef6c462b
commit ea45fe171b
9 changed files with 28 additions and 56 deletions

View File

@ -5,8 +5,6 @@
<env name="PYTHON_EXECUTABLE" value="$PROJECT_DIR$/venv/bin/python" /> <env name="PYTHON_EXECUTABLE" value="$PROJECT_DIR$/venv/bin/python" />
</envs> </envs>
</makefile> </makefile>
<method v="2"> <method v="2" />
<option name="ToolBeforeRunTask" enabled="true" actionId="Tool_External Tools_venv" />
</method>
</configuration> </configuration>
</component> </component>

View File

@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="debug v6c" type="com.jetbrains.cidr.embedded.openocd.conf.type" factoryName="com.jetbrains.cidr.embedded.openocd.conf.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="fts-can" TARGET_NAME="px4_fmu-v6c_default" CONFIG_NAME="px4_fmu-v6c_default" version="1" RUN_PATH="$PROJECT_DIR$/build/px4_fmu-v6c_default/px4_fmu-v6c_default.elf"> <configuration default="false" name="debug v6c" type="com.jetbrains.cidr.embedded.openocd.conf.type" factoryName="com.jetbrains.cidr.embedded.openocd.conf.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="fts-can" TARGET_NAME="px4_fmu-v6c_default" version="1" RUN_PATH="$PROJECT_DIR$/build/px4_fmu-v6c_default/px4_fmu-v6c_default.elf">
<openocd version="1" gdb-port="3333" telnet-port="4444" board-config="$PROJECT_DIR$/openocd.cfg" reset-type="RUN" download-type="UPDATED_ONLY"> <openocd version="1" gdb-port="3333" telnet-port="4444" board-config="$PROJECT_DIR$/openocd.cfg" reset-type="RUN" download-type="UPDATED_ONLY">
<debugger kind="GDB" isBundled="true" /> <debugger kind="GDB" isBundled="true" />
</openocd> </openocd>

View File

@ -10,18 +10,9 @@
. ${R}etc/init.d/rc.mc_defaults . ${R}etc/init.d/rc.mc_defaults
# FTS_TYPE = 0 -> MISCONFIGURED MODULE
# FTS_TYPE = 1 -> MAIN FTS MODULE
# FTS_TYPE = 2 -> AUTO FTS MODULE
# param set-default FTS_TYPE 2
# FTS_SIM_MODE = 0 -> NORMAL OPERATION
# FTS_SIM_MODE = 1 -> TERMINATION IS NOT EXECUTED BUT SIMULATED VIA MAVLINK MESSAGE & LOGGING
# param set-default FTS_SIM_MODE 0
param set-default MAV_TYPE 37 param set-default MAV_TYPE 37
# GEOFENCE SETTINGS
param set-default GF_ACTION 1 param set-default GF_ACTION 1
param set-default GF_ALTMODE 0 param set-default GF_ALTMODE 0
param set-default GF_COUNT -1 param set-default GF_COUNT -1

View File

@ -11,6 +11,7 @@ param set-default MAV_PROTO_VER 2
# Log from boot until shutdown # Log from boot until shutdown
param set-default SDLOG_MODE 2 param set-default SDLOG_MODE 2
param set-default SDLOG_PROFILE 0
param set-default SYS_USE_IO 1 param set-default SYS_USE_IO 1
param set-default SENS_IMU_MODE 0 param set-default SENS_IMU_MODE 0

View File

@ -10,7 +10,8 @@ param set-default SYS_AUTOSTART 1
param set-default MAV_PROTO_VER 2 param set-default MAV_PROTO_VER 2
# Log from boot until shutdown # Log from boot until shutdown
#param set-default SDLOG_MODE 2 param set-default SDLOG_MODE 2
param set-default SDLOG_PROFILE 0
param set-default SYS_USE_IO 0 param set-default SYS_USE_IO 0
param set-default SENS_IMU_MODE 0 param set-default SENS_IMU_MODE 0

View File

@ -3,7 +3,7 @@
#include "px4_platform_common/board_common.h" #include "px4_platform_common/board_common.h"
#include "../mavlink/streams/GROUND_FTS_RESPONSE.hpp" //#include "../mavlink/streams/GROUND_FTS_RESPONSE.hpp"
FTSController::FTSController() : FTSController::FTSController() :
ModuleParams(nullptr), ModuleParams(nullptr),
@ -93,8 +93,7 @@ FTSController::Run()
//PAIR COMMAND //PAIR COMMAND
_ground_fts_response.message = PAIR; _ground_fts_response.message = PAIR;
_ground_fts_response.fts_uid = fts_id.uid; _ground_fts_response.fts_uid = fts_id.uid;
_ground_fts_response_pub.publish(_ground_fts_response); _ground_fts_response_pub.publish(_ground_fts_response);
MavlinkStreamGroundftsResponse.send();
} }
} }
// Publish FTS controller state // Publish FTS controller state

View File

@ -489,7 +489,7 @@ static const StreamListItem streams_list[] = {
create_stream_list_item<MavlinkStreamAftsStatus>(), create_stream_list_item<MavlinkStreamAftsStatus>(),
#endif // AUTO_FTS_MESSAGE_HPP #endif // AUTO_FTS_MESSAGE_HPP
#if defined(GROUND_FTS_RESPONSE_HPP) #if defined(GROUND_FTS_RESPONSE_HPP)
create_stream_list_item<MavlinkStreamGroundftsResponse>() create_stream_list_item<MavlinkStreamGroundFtsResponse>()
#endif // GROUND_FTS_RESPONSE_HPP #endif // GROUND_FTS_RESPONSE_HPP
}; };

View File

@ -58,22 +58,16 @@ private:
bool send() override bool send() override
{ {
// only send the struct if transmitting is allowed mavlink_auto_fts_message_t msg{};
// this assures that the stream timer is only reset when actually a message is transmitted set_default_values(msg);
if (_mavlink->should_transmit()) {
mavlink_auto_fts_message_t msg{};
set_default_values(msg);
write_geofence_result(&msg); write_geofence_result(&msg);
write_gps_status(&msg); write_gps_status(&msg);
mavlink_msg_auto_fts_message_send_struct(_mavlink->get_channel(), &msg); mavlink_msg_auto_fts_message_send_struct(_mavlink->get_channel(), &msg);
return true; return true;
}
return false;
} }

View File

@ -9,10 +9,10 @@
#include <uORB/topics/ground_fts_response.h> #include <uORB/topics/ground_fts_response.h>
#include <px4_platform_common/events.h> #include <px4_platform_common/events.h>
class MavlinkStreamGroundftsResponse : public MavlinkStream class MavlinkStreamGroundFtsResponse : public MavlinkStream
{ {
public: public:
static MavlinkStream *new_instance(Mavlink *mavlink) { return new MavlinkStreamGroundftsResponse(mavlink); } static MavlinkStream *new_instance(Mavlink *mavlink) { return new MavlinkStreamGroundFtsResponse(mavlink); }
static constexpr const char *get_name_static() { return "GROUND_FTS_RESPONSE"; } static constexpr const char *get_name_static() { return "GROUND_FTS_RESPONSE"; }
static constexpr uint16_t get_id_static() { return MAVLINK_MSG_ID_FTS_MESSAGE; } static constexpr uint16_t get_id_static() { return MAVLINK_MSG_ID_FTS_MESSAGE; }
@ -33,38 +33,26 @@ public:
bool const_rate() override { return true; } bool const_rate() override { return true; }
private: private:
explicit MavlinkStreamGroundftsResponse(Mavlink *mavlink) :
MavlinkStream(mavlink) explicit MavlinkStreamGroundFtsResponse(Mavlink *mavlink) : MavlinkStream(mavlink) {}
{
}
bool send() override bool send() override
{ {
// only send the struct if transmitting is allowed
// this assures that the stream timer is only reset when actually a message is transmitted
if (_mavlink->should_transmit()) {
mavlink_fts_message_t msg{};
ground_fts_response_s response; mavlink_fts_message_t msg{};
if (_ground_fts_response_sub.update(&response)) { ground_fts_response_s response;
msg.message = response.message;
msg.FTS_UID = response.fts_uid;
return true; if (_ground_fts_response_sub.update(&response)) {
} msg.message = response.message;
msg.FTS_UID = response.fts_uid;
return false;
mavlink_msg_fts_message_send_struct(_mavlink->get_channel(), &msg); mavlink_msg_fts_message_send_struct(_mavlink->get_channel(), &msg);
return true; return true;
}
} return false;
return false;
} }
}; };
#endif #endif