Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
Firmware
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Alberto Ruiz Garcia
Firmware
Commits
26efba2f
Commit
26efba2f
authored
11 years ago
by
Lorenz Meier
Browse files
Options
Downloads
Patches
Plain Diff
New blink patterns for safety switch, removed GPS lock indicator
parent
fa1b7388
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/drivers/px4io/px4io.cpp
+2
-9
2 additions, 9 deletions
src/drivers/px4io/px4io.cpp
src/modules/px4iofirmware/protocol.h
+0
-1
0 additions, 1 deletion
src/modules/px4iofirmware/protocol.h
src/modules/px4iofirmware/safety.c
+3
-6
3 additions, 6 deletions
src/modules/px4iofirmware/safety.c
with
5 additions
and
16 deletions
src/drivers/px4io/px4io.cpp
+
2
−
9
View file @
26efba2f
...
...
@@ -502,8 +502,7 @@ PX4IO::init()
io_reg_modify
(
PX4IO_PAGE_SETUP
,
PX4IO_P_SETUP_ARMING
,
PX4IO_P_SETUP_ARMING_ARM_OK
|
PX4IO_P_SETUP_ARMING_INAIR_RESTART_OK
|
PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK
|
PX4IO_P_SETUP_ARMING_VECTOR_FLIGHT_OK
,
0
);
PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK
,
0
);
/* publish RC config to IO */
ret
=
io_set_rc_config
();
...
...
@@ -707,11 +706,6 @@ PX4IO::io_set_arming_state()
}
else
{
clear
|=
PX4IO_P_SETUP_ARMING_ARM_OK
;
}
if
(
vstatus
.
flag_vector_flight_mode_ok
)
{
set
|=
PX4IO_P_SETUP_ARMING_VECTOR_FLIGHT_OK
;
}
else
{
clear
|=
PX4IO_P_SETUP_ARMING_VECTOR_FLIGHT_OK
;
}
if
(
vstatus
.
flag_external_manual_override_ok
)
{
set
|=
PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK
;
}
else
{
...
...
@@ -1309,11 +1303,10 @@ PX4IO::print_status()
/* setup and state */
printf
(
"features 0x%04x
\n
"
,
io_reg_get
(
PX4IO_PAGE_SETUP
,
PX4IO_P_SETUP_FEATURES
));
uint16_t
arming
=
io_reg_get
(
PX4IO_PAGE_SETUP
,
PX4IO_P_SETUP_ARMING
);
printf
(
"arming 0x%04x%s%s%s
%s
\n
"
,
printf
(
"arming 0x%04x%s%s%s
\n
"
,
arming
,
((
arming
&
PX4IO_P_SETUP_ARMING_ARM_OK
)
?
" ARM_OK"
:
""
),
((
arming
&
PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK
)
?
" MANUAL_OVERRIDE_OK"
:
""
),
((
arming
&
PX4IO_P_SETUP_ARMING_VECTOR_FLIGHT_OK
)
?
" VECTOR_FLIGHT_OK"
:
""
),
((
arming
&
PX4IO_P_SETUP_ARMING_INAIR_RESTART_OK
)
?
" INAIR_RESTART_OK"
:
""
));
printf
(
"rates 0x%04x default %u alt %u relays 0x%04x
\n
"
,
io_reg_get
(
PX4IO_PAGE_SETUP
,
PX4IO_P_SETUP_PWM_RATES
),
...
...
This diff is collapsed.
Click to expand it.
src/modules/px4iofirmware/protocol.h
+
0
−
1
View file @
26efba2f
...
...
@@ -147,7 +147,6 @@
#define PX4IO_P_SETUP_ARMING 1
/* arming controls */
#define PX4IO_P_SETUP_ARMING_ARM_OK (1 << 0)
/* OK to arm */
#define PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK (1 << 2)
/* OK to switch to manual override via override RC channel */
#define PX4IO_P_SETUP_ARMING_VECTOR_FLIGHT_OK (1 << 3)
/* OK to perform position / vector control (= position lock) */
#define PX4IO_P_SETUP_ARMING_INAIR_RESTART_OK (1 << 4)
/* OK to try in-air restart */
#define PX4IO_P_SETUP_PWM_RATES 2
/* bitmask, 0 = low rate, 1 = high rate */
...
...
This diff is collapsed.
Click to expand it.
src/modules/px4iofirmware/safety.c
+
3
−
6
View file @
26efba2f
...
...
@@ -56,11 +56,10 @@ static unsigned counter = 0;
/*
* Define the various LED flash sequences for each system state.
*/
#define LED_PATTERN_SAFE 0xffff
/**< always on */
#define LED_PATTERN_VECTOR_FLIGHT_MODE_OK 0xFFFE
/**< always on with short break */
#define LED_PATTERN_FMU_ARMED 0x4444
/**< slow blinking */
#define LED_PATTERN_SAFE 0x000f
/**< always on */
#define LED_PATTERN_FMU_ARMED 0x5555
/**< slow blinking */
#define LED_PATTERN_IO_ARMED 0x5555
/**< fast blinking */
#define LED_PATTERN_IO_FMU_ARMED 0x
5050
/**< long off then double blink */
#define LED_PATTERN_IO_FMU_ARMED 0x
ffff
/**< long off then double blink */
static
unsigned
blink_counter
=
0
;
...
...
@@ -151,8 +150,6 @@ safety_check_button(void *arg)
}
else
if
(
r_setup_arming
&
PX4IO_P_SETUP_ARMING_ARM_OK
)
{
pattern
=
LED_PATTERN_FMU_ARMED
;
}
else
if
(
r_setup_arming
&
PX4IO_P_SETUP_ARMING_VECTOR_FLIGHT_OK
)
{
pattern
=
LED_PATTERN_VECTOR_FLIGHT_MODE_OK
;
}
/* Turn the LED on if we have a 1 at the current bit position */
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment