Commit Graph

254 Commits

Author SHA1 Message Date
Andrew Tridgell
57c39cbfa0 AntennaTracker: use send_heartbeat wrapper 2016-05-21 15:25:18 +10:00
Andrew Tridgell
16901ffb2b AntennaTracker: use HAVE_PAYLOAD_SPACE() 2016-05-21 15:25:17 +10:00
Andrew Tridgell
d3c19de9df AntennaTracker: simplify UART setup 2016-05-21 15:25:16 +10:00
Andrew Tridgell
181eb9e4ef AntennaTracker: always build with MAVLink2 headers 2016-05-21 15:25:15 +10:00
Andrew Tridgell
d4cb7b8970 AntennaTracker: use GCS_MAVLINK::packet_overhead_chan() 2016-05-21 15:25:14 +10:00
Andrew Tridgell
5bf13ecc69 AntennaTracker: update signing timestamp on GPS lock 2016-05-21 15:25:13 +10:00
Andrew Tridgell
b5d1dc6643 AntennaTracker: handle SETUP_SIGNING message 2016-05-21 15:25:12 +10:00
Andrew Tridgell
23197b0689 AntennaTracker: cleanup unnecessarily complex gcs[] usage 2016-05-17 08:27:01 +10:00
Ricardo de Almeida Gonzaga
6b93f974d3 AntennaTracker: Fix typos 2016-05-13 19:20:07 -03:00
stefanlynka
e06c900812 Tracker: add Vbar dataflash message 2016-05-13 12:26:27 +09:00
dgrat
41661f815f AP_Math: Replace the pythagorous* functions with a variadic template
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
dgrat
76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
skyscraper
662cefd086 AntennaTracker: Fix up after refactoring RC_Channel class
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Leandro Pereira
f23bd7e09d GCS_MAVLink: Use a single stream_trigger() implementation
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Andrew Tridgell
71b121837a AntennaTracker: adjust for changed logging APIs 2016-05-07 18:27:18 +10:00
Lucas De Marchi
fea084a596 Global: use ap_version.h
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.

For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Lucas De Marchi
49a46e463f AntennaTracker: use separate header for version macro
Having the version macro in the config.h and consequently in the main
vehicle header means that whenever the version changes we need to
compiler the whole vehicle again. This would not be so bad if we weren't
also appending the git hash in the version. In this case, whenever we
commit to the repository we would need to recompile everything.

Move to a separate header that is include only by its users. Then
instead of compiling everything we will compile just a few files.
2016-05-06 13:11:28 -03:00
Michael du Breuil
06b9fa293c AntennaTracker: Ignore POSITION_TARGET_GLOBAL_INT 2016-05-01 07:38:23 +10:00
Niti Rohilla
052fc6b85e AntennaTracker : Updated handle_guided_request() to report error. 2016-04-29 12:39:28 -03:00
Luis Vale Gonçalves
7dbc97ec35 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:43 -07:00
Luis Vale Gonçalves
72e03a0fb7 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:40 -07:00
Lucas De Marchi
577b7e3f49 AntennaTracker: remove readme file
The readme file in root directory is already sufficient.
2016-04-09 08:32:21 -07:00
Ricardo de Almeida Gonzaga
5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Gustavo Jose de Sousa
a4c099feaa waf: create program groups for main products
Currently we need to build a different binary for each type of copter frame.
This is a preparation for setting all those binaries to a group called
"copter". We create the groups for the rest of the main products for
consistency.
2016-03-26 15:43:08 -03:00
Lucas De Marchi
3cb99d5567 AntennaTracker: Update path locations for parameters
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Don Gagne
cae7ea0d13 Add @Volatile, @ReadOnly support 2016-03-17 10:58:05 +11:00
Lucas De Marchi
a503bc74f2 AntennaTracker: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Tom Pittenger
0709cc6b25 Tracker: convert to using static send_statustext
- no more MSG_STATUSTEXT
- TODO: replace calls to gcs_send_text and gcs_send_text_fmt to GCS_MAVLINK::send_statustext()
2016-02-24 09:18:06 +11:00
Tom Pittenger
db9bed573f Tracker: use set_dataflash() for static logging 2016-02-24 09:18:05 +11:00
Randy Mackay
bf1cd5deae Tracker: version to 0.7.6 2016-02-10 11:52:23 +09:00
Randy Mackay
5ca00d5877 Tracker: 0.7.6 release notes 2016-02-10 11:52:17 +09:00
Randy Mackay
901e318652 Tracker: do not save data stream rate updates to eeprom 2016-02-10 11:49:48 +09:00
Randy Mackay
ab74c043f4 Tracker: fix attitude target logging
Also remove out-of-date comment
2016-02-10 11:49:45 +09:00
Randy Mackay
e62cb36298 Tracker: log mode changes 2016-02-10 11:49:41 +09:00
Randy Mackay
942da17b7d Tracker: parameter descriptions for FORMAT_VERSION
Also added for SYSID_SW_TYPE and pitch and yaw PID parameters
No functional change
2016-02-08 20:42:32 +09:00
Gustavo Jose de Sousa
c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
e9d3dc9e72 waf: vehicles and antennatracker: use methods from bld
Instead of from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
cf432e8b3e waf: ardupilotwaf: rename vehicle_stlib to ap_stlib
That function is not only for vehicles.
2016-01-22 20:10:28 -02:00
Gustavo Jose de Sousa
a35c0d48b0 waf: ardupilotwaf: rename program to ap_program
Make the rename so that there is no name clashes when defining it as a taskgen
method.
2016-01-22 20:10:28 -02:00
Lucas De Marchi
7f04e0106e waf: change binary names
APMrover2 -> ardurover
AntennaTracker -> antennatracker
ArduCopter -> arducopter
ArduPlane -> arduplane
2016-01-18 16:56:08 -02:00
Gustavo Jose de Sousa
17e5d99509 waf: allow partial builds with new mavlink as submodule
The task generator for the mavlink headers is given a name 'mavlink' and is
added as a dependency to all local static libraries, because all of them use
sources that include mavlink headers. It would be nice to have a good way to
detect sources that use mavlink headers or to declare list of libraries that
use the headers, so that the dependency could be added automatically.

Additionally, there's a minor change in syntax for the task generator: using
strings directly instead of lists.
2016-01-15 07:28:48 +11:00
Andrew Tridgell
f17ec284f7 Tracker: always call load_all
this ensures defaults file works on first start after erase
2016-01-07 09:33:02 +11:00
Randy Mackay
cd977b3142 Tracker: add Notify parameters 2015-12-31 11:33:13 +09:00
Siddharth Bharat Purohit
0e18b5eaad Tracker: wire up accel cal for tracker 2015-12-29 10:46:35 -08:00
Lucas De Marchi
a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Randy Mackay
f19e1e6c70 Tracker: update ver to 0.7.5 including ReleaseNotes 2015-12-27 16:14:29 +09:00
Randy Mackay
ecf01732d9 Tracker: add dataflash logging 2015-12-27 16:14:20 +09:00
Randy Mackay
2829dc67ac Tracker: remove unused CLI_ENABLED definition 2015-12-27 16:02:43 +09:00
Randy Mackay
8aa286eaaa Tracker: update time last heartbeat packet sent
This is required to support dataflash messages
2015-12-27 16:02:42 +09:00
Andrew Tridgell
782ba00d4b Tracker: convert to Hz based task table 2015-12-27 14:57:26 +09:00
Randy Mackay
6579277578 Tracker: version to 0.7.4 2015-12-23 13:54:03 +09:00
Randy Mackay
f843302c87 Tracker: release notes for v0.7.4 2015-12-23 13:54:01 +09:00
Randy Mackay
9fda13d965 Tracker: request baro pressure from vehicle at 1hz 2015-12-23 13:53:59 +09:00
Andrew Tridgell
2442c45558 Tracker: fixed dependencies 2015-12-20 17:55:40 +11:00
Jonathan Challinger
cac49e4ce0 AntennaTracker: reflect renamed function in AP_AHRS 2015-12-18 18:08:37 +11:00
DonLakeFlyer
a697d34b98 Tracker: return success or failure of get home position 2015-12-07 12:33:20 +09:00
Lucas De Marchi
c64b7cc7e4 AntennaTracker: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:44 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Luis Vale Gonçalves
6dd28f632c Tracker: revise text messages
Clean up text messages
2015-11-25 20:47:07 +09:00
Caio Marcelo de Oliveira Filho
dd3fb0a689 Tracker: use millis/micros/panic functions 2015-11-20 12:26:23 +09:00
lvale
e7efaa45c5 Tracker: text message severity uniformization
Continuing the uniformization, now for AntennaTracker
2015-11-05 12:33:59 +09:00
Lucas De Marchi
2b37906f0d AntennaTracker: remove check for MAVLINK_COMM_NUM_BUFFERS 2015-11-04 12:14:15 +11:00
Lucas De Marchi
cb8ae444d1 AntennaTracker: remove check for AVR CPUs
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
3b0a1ef563 AntennaTracker: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi
5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi
1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi
4ab9821624 Replace use of Log_Write_Message_P() with Log_Write_Message() 2015-10-30 14:35:28 +09:00
Lucas De Marchi
20c6ffc5e3 Replace use of UARTDriver::printf_P() with UARTDriver::printf()
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +09:00
Lucas De Marchi
6f4904189b Replace use of println_P() with println() 2015-10-30 14:35:22 +09:00
Lucas De Marchi
89fc4f4b62 Replace use of send_text_P() with send_text() 2015-10-30 14:35:17 +09:00
Lucas De Marchi
831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Lucas De Marchi
84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +09:00
Lucas De Marchi
84d5fb006f Remove use of Util::{v,}snprintf_P()
These are now the same function as Util::snprintf().
2015-10-30 14:35:05 +09:00
Lucas De Marchi
2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
ggregory8
76871ef0cd Tracker: fix start lat, lon sanity check 2015-10-27 12:50:40 +09:00
Caio Marcelo de Oliveira Filho
a3fb1c0e4f AntennaTracker: include SITL only for SITL board
Include board-specific files only when the board is used. Since these
should be exceptional cases, let the includer handle the ifdef instead
of putting ifdefs in every platform-specific header.

In the future we should evaluate whether the HAL for the board should
instantiate this.
2015-10-22 13:36:14 -02:00
Caio Marcelo de Oliveira Filho
49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Caio Marcelo de Oliveira Filho
b648715496 AntennaTracker: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho
ec52df991c build: compile only the HAL files needed by the board
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
2e464a53c2 AP_HAL: make code not depend on concrete HAL implementations
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.

A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.

The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.

Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.

The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Randy Mackay
012b632d09 Tracker: send home position when home is set or get-home msg received 2015-10-03 12:56:31 +09:00
Andrew Tridgell
277f2f3b27 Tracker: added EKF2 instance 2015-09-23 11:57:18 +10:00
Andrew Tridgell
3dcb840816 AntennaTracker: build NavEKF2 2015-09-23 11:56:32 +10:00
Randy Mackay
b6229288a1 Tracker: calibrate gyros on accel cal and trim 2015-09-21 17:06:50 +09:00
Randy Mackay
7f0aad63b9 Tracker: remove INS start style 2015-09-21 17:06:47 +09:00
Andrew Tridgell
f2b0f8f4db AntennaTracker: fix for changed AP_RangeFinder API 2015-09-08 16:46:52 +10:00
Siddharth Bharat Purohit
0c004c13a1 AntennaTracker: implement on-board compass calibration for Antenna tracker 2015-09-03 16:59:14 +10:00
Gustavo Jose de Sousa
2c9d9e8060 AntennaTracker: use function name for AP_Scheduler task name
That makes it easier to identify tasks when debug is enabled in AP_Scheduler.
2015-09-01 20:22:18 +10:00
Gustavo Jose de Sousa
9820cb0c07 AntennaTracker: use designated initializers for tasks structs
Makes code less prone to break build and semantics (e.g., when a new field is
added).
2015-09-01 20:22:18 +10:00
Randy Mackay
a9c6d34a9e Tracker: sanity check home location parameters 2015-08-27 15:16:01 +09:00
Randy Mackay
3db22a9c27 Tracker: update version to 0.7.3
This is done because of the text severity change.  The GCSs need a unique version from which they can be sure the severities have changed.
2015-08-25 14:54:58 +09:00
squilter
f1d9b3570c Tracker: update severity values 2015-08-25 14:04:45 +09:00
squilter
979763c341 Tracker: define and send FIRMWARE_VERSION 2015-08-23 09:21:55 +09:00
Tom Pittenger
85027e1997 Tracker: moved gcs code to be more common 2015-08-19 15:42:08 +10:00
dgrat
2b36457261 Tracker: add handle_guided_request to allow cmake to work
merge
2015-08-17 16:47:42 +09:00
Andrew Tridgell
3f04c6415f AntennaTracker: prevent build error with MSG_RPM 2015-08-12 15:03:51 +10:00
Gustavo Jose de Sousa
a672e3c5ce AntennaTracker: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:28:40 +10:00
Jakub Oller
06031985cc Tracker: version to 0.7.2 and update release notes 2015-08-01 20:18:06 +09:00
Randy Mackay
b377d4deac Tracker: fix initialisation of nav_status
Thanks to Jakub Oller for finding the cause.  This is a slight
modification upon his fix.
2015-08-01 20:18:03 +09:00
squilter
d99c85c1fe Tracker: init vehicle capabilities 2015-08-01 09:47:35 +09:00