Skip to content

Commit

Permalink
px4io:Add 'supported' command and uses it in rcS
Browse files Browse the repository at this point in the history
  • Loading branch information
davids5 committed Nov 15, 2023
1 parent e90e8ae commit 6372bec
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 20 deletions.
42 changes: 22 additions & 20 deletions ROMFS/px4fmu_common/init.d/rcS
Original file line number Diff line number Diff line change
Expand Up @@ -274,37 +274,39 @@ else
. $FCONFIG
fi

# Check if PX4IO present and update firmware if needed.
if [ -f $IOFW ]
if px4io supported
then
if ! px4io checkcrc ${IOFW}
# Check if PX4IO present and update firmware if needed.
if [ -f $IOFW ]
then
# tune Program PX4IO
tune_control play -t 16 # tune 16 = PROG_PX4IO

if px4io update ${IOFW}
if ! px4io checkcrc ${IOFW}
then
usleep 10000
tune_control stop
if px4io checkcrc ${IOFW}
# tune Program PX4IO
tune_control play -t 16 # tune 16 = PROG_PX4IO

if px4io update ${IOFW}
then
tune_control play -t 17 # tune 17 = PROG_PX4IO_OK
usleep 10000
tune_control stop
if px4io checkcrc ${IOFW}
then
tune_control play -t 17 # tune 17 = PROG_PX4IO_OK
else
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
fi
else
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
tune_control stop
fi
else
tune_control stop
fi
fi

if ! px4io start
then
echo "PX4IO start failed"
set STARTUP_TUNE 2 # tune 2 = ERROR_TUNE
if ! px4io start
then
echo "PX4IO start failed"
set STARTUP_TUNE 2 # tune 2 = ERROR_TUNE
fi
fi
fi


#
# RC update (map raw RC input to calibrate manual control)
# start before commander
Expand Down
4 changes: 4 additions & 0 deletions src/drivers/px4io/px4io.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1556,6 +1556,10 @@ int PX4IO::custom_command(int argc, char *argv[])
{
const char *verb = argv[0];

if (!strcmp(verb, "supported")) {
return 0;
}

if (!strcmp(verb, "checkcrc")) {
if (is_running()) {
PX4_ERR("io must be stopped");
Expand Down

0 comments on commit 6372bec

Please sign in to comment.