Andrew Tridgell
9a1cbff850
DataFlash: allow access to DataFlash instance as a static singleton
2016-05-07 07:21:16 +10:00
Peter Barker
11dd254498
DataFlash: Log_Write optimisations
2016-05-07 07:21:16 +10:00
Peter Barker
cf15bb5f6e
DataFlash: AllTypes example also covers Log_Write
2016-05-07 07:21:16 +10:00
Peter Barker
b273514cf9
DataFlash: create example outputting all field types
2016-05-07 07:21:16 +10:00
Peter Barker
518fabe035
DataFlash: StopLogging method, virtual stop_logging on backends
2016-05-07 07:21:16 +10:00
Peter Barker
77dd170e03
DataFlash: Log_Write support
...
A generic logging method to avoid the need to set up a format and structures etc
2016-05-07 07:21:16 +10:00
Peter Barker
334af1ecd7
DataFlash: base class method for resetting state on log open
2016-05-07 07:21:16 +10:00
Peter Barker
eea2d5dcb5
DataFlash_File: avoid integer wrap when checking minimum time
2016-05-07 07:21:15 +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
Andrew Tridgell
bcefb45e0a
DataFlash: added DelaT to delta-angle logs
2016-04-26 15:50:29 +10:00
Randy Mackay
39560f9af8
DataFlash: remove unused num_format_types and _structures
...
resolves compiler warning
2016-04-23 23:06:26 -07:00
Andrew Tridgell
c765979f9a
DataFlash: expose the number of lost log messages
...
will be logged in PM message
2016-04-21 16:45:02 +10:00
Jonathan Challinger
a0e291bf89
DataFlash: add reason to MODE
2016-04-14 12:24:04 +09:00
Andrew Tridgell
075dd49afe
DataFlash: added Log_Write_Rate()
...
needed for quadplane as well as copter so should be in common code
2016-03-25 12:13:58 +11:00
Lucas De Marchi
ec36e06c63
DataFlash: replace header guard with pragma once
2016-03-16 18:40:44 +11:00
Will Sackfield
6f43b7121c
DataFlash: Cast msg to uint8
...
* Clang requires this explicit cast
2016-02-29 14:14:37 +11:00
Peter Barker
4548466701
DataFlash: correct use of #defines
...
HIL_BOARD_AVR_SITL was renamed
Move use of define to after include where it is defined
2016-01-30 12:46:25 -02:00
Andrew Tridgell
6f59c4ae53
DataFlash: added GPSAlt to CAM and TRIG log messages
...
useful for people with RTK GPS
2016-01-29 10:01:51 +11:00
Jaime Machuca
1001e53140
DataFlash: added TRIGGER message to Logs
...
DataFlash.h: added support for Trigger MSG, supressed TAB separations
and file reorganized LogFile.cpp: included Trigger packet
2016-01-29 09:19:43 +11:00
Jonathan Challinger
02d8b28fa3
DataFlash: add GMB1, GMB2, GMB3
2016-01-23 10:35:37 +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
3d22490397
waf: examples: use methods from bld instead of ardupilotwaf
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
d281067bcc
waf: make example binaries be placed in 'examples' dir
...
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Peter Barker
ff8008d81a
DataFlash: remove unused callbacks, unimplemented functions
...
Closes #3269
2016-01-05 17:08:07 -02:00
Jonathan Challinger
b85631bec3
DataFlash: fix example build
2015-12-29 10:46:35 -08:00
Andrew Tridgell
fe8070bd51
DataFlash: move lock to protect just buffer IO
2015-12-29 09:10:28 +11: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
Lucas De Marchi
5d07e5bdbf
DataFlash: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Andrew Tridgell
b967140572
DataFlash: enable minimal file mode
...
This adds a "minimal" dataflash mode with a board specific macro. The
QURT port uses this to avoid problematic system calls that are buggy
in the QURT RTOS
With some pending updates to QURT we may be able to remove some (or
all) of this
2015-12-27 16:21:26 +11:00
Peter Barker
2f1297f30c
DataFlash_File: Check return values of lseek
2015-12-21 16:07:23 +11:00
Peter Barker
ce84ba049f
DataFlash_File: protect against fopen failing
2015-12-21 16:07:23 +11:00
Peter Barker
15265a45ed
DataFlash_File: check fname before using it
2015-12-21 16:07:23 +11:00
Andrew Tridgell
025e4edd17
DataFlash: fixed warning
2015-12-20 17:55:40 +11:00
Andrew Tridgell
02d7867d79
DataFlash: added locking for multi-thread logging support
2015-12-20 17:55:39 +11:00
Peter Barker
326e68544c
DataFlash: remove unused functions
2015-12-10 10:45:51 +09:00
Peter Barker
7900359fac
DataFlash: LOG_FILE_BUFSIZE sets buffer size for DataFlash_File
2015-12-08 10:59:57 +11:00
Tom Pittenger
c118130dda
DataFlash: fixed mispelling
...
@param label was different than everywhere else that did not use plurl
2015-12-08 08:23:07 +09:00
Tom Pittenger
4e3864049a
DataFlash: compile warning - float to double promotion
2015-12-07 15:50:03 +09:00
Gustavo Jose de Sousa
3035fb282d
DataFlash: fix example
2015-12-07 15:42:04 +09:00
Lucas De Marchi
f584543ea1
DataFlash: remove unused AP_ADC_AnalogSource
2015-12-03 13:32:44 +11:00
Peter Barker
4f1a7c6427
DataFlash: remove use of AddLogFormats
2015-12-03 13:21:52 +11:00
Peter Barker
0ca07e5245
DataFlash: DataFlash-over-MAVLink support
2015-12-03 13:21:51 +11:00
Peter Barker
faabe0b83d
DataFlash: support multiple simultaneous backends
2015-12-03 13:21:51 +11:00
Peter Barker
121967d1b1
DataFlash: factor log structures into LogStructures.h (no functional change
2015-12-03 13:21:51 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +11:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Caio Marcelo de Oliveira Filho
578b31e7f8
AP_DataFlash: example uses millis/micros/panic functions
2015-11-20 12:35:17 +09:00
Caio Marcelo de Oliveira Filho
753956bd77
AP_Dataflash: use millis/micros/panic functions
2015-11-20 12:35:00 +09:00
Andrew Tridgell
8f4ce7f20b
build: removed all nocore.inoflag files
...
these were APM2 specific
2015-11-16 08:05:17 +11:00
Peter Barker
fc05ad81eb
DataFlash_File: cache oldest log to avoid directory scans when downloading
2015-11-12 12:23:46 +11:00
Paul Riseborough
42b47acdfc
DataFlash: Fix logging error for EKF second instance
2015-11-09 22:07:10 +11:00
Paul Riseborough
88cc1e2ffe
DataFlash: Publish the EKF2 magnetometer selection index
2015-11-09 22:07:10 +11:00
Paul Riseborough
138315af21
DataFlash: Add logging for second NKF instance
2015-11-08 15:37:28 +11:00
Paul Riseborough
5b1d6f2aa2
DataFlash: accomodate change in EKF2 interface
2015-11-08 15:37:28 +11:00
Paul Riseborough
46e4c45537
DataFlash: Only log EKF messages when enabled
2015-11-08 15:37:27 +11:00
Paul Riseborough
987d261109
DataFlash: Update logging of EKF2 primary core index
...
Changes made in response to review comments
2015-11-08 15:37:27 +11:00
Paul Riseborough
4884b2d38a
DataFlash: Log the primary EKF2 index
2015-11-08 15:37:27 +11:00
Lucas De Marchi
c74b1a660d
DataFlash: remove DATAFLASH_NO_CLI
...
This is not used anymore since the removal of AVR CPUs.
2015-11-04 12:14:15 +11:00
Lucas De Marchi
1e839f97ed
DataFlash: 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
0dfeae2556
DataFlash: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:13 +11:00
Lucas De Marchi
d2a259cef0
DataFlash: fix wrong printf format for printf
...
"%S" is used for wide string, but we are passing a char*. Use lowercase
in this case to remove warnings like this:
libraries/AP_InertialSensor/AP_InertialSensor.cpp: In member function
'bool AP_InertialSensor::calibrate_accel(AP_InertialSensor_UserInteract*, float&, float&)':
libraries/AP_InertialSensor/AP_InertialSensor.cpp:620:61: warning:
format '%S' expects argument of type 'wchar_t*', but argument 3 has type 'const char*' [-Wformat=]
"Place vehicle %S and press any key.\n", msg);
^
2015-10-30 14:35:42 +09: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
b52d1cfabb
DataFlash: remove DataFlash.Log_Write_Message_P()
2015-10-30 14:35:29 +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
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
1336d621be
Replace use of strcpy_P() with strcpy()
2015-10-30 14:35:12 +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
Paul Riseborough
61d556afb1
DataFlash: Fix shorthand variable names for EKF position reset delta
2015-10-30 12:24:18 +09:00
Peter Barker
e481497574
DataFlash: delete oldest file rather than the lowest-numbered file
...
Also reference log numbers by their list index to accomodate log number
wrapping in DataFlash_File
2015-10-21 10:50:32 +11:00
Lucas De Marchi
19b31ccff1
DataFlash: remove check for max compass instances
...
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:18 +11:00
Lucas De Marchi
d83609b24c
DataFlash: remove check for max BARO instances
...
For all supported boards we allow more than 1 baro instance.
2015-10-21 10:05:18 +11:00
Lucas De Marchi
121eeb4b58
DataFlash: remove check for vibe check
...
For all supported boards we have vibration check.
2015-10-21 10:05:17 +11:00
Lucas De Marchi
f99d64e621
DataFlash: remove check for max INS instances
...
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:17 +11:00
Caio Marcelo de Oliveira Filho
b028219c94
DataFlash: remove unnecessary includes from example
2015-10-21 09:16:10 +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
Andrew Tridgell
b0aa7cb990
DataFlash: use new perf API
2015-10-20 18:16:16 +11:00
Paul Riseborough
2d44441d6b
DataFlash: Make EKF2 PosDownDerivative interface follow coding conventions
...
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough
1323db10e8
DataFlash: Make EKF2 PosDownDerivative interface follow coding conventions
...
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough
9e3d9d15fc
DataFlash: Log vertical position derivative output
2015-10-20 15:21:35 +11:00
Gustavo Jose de Sousa
363f9cf82a
DataFlash: use compass get_{field,offsets}() functions
...
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:07 +09:00
Paul Riseborough
a82c8b241f
DataFlash: Update NKF4 data logging
...
Add roll/pitch error metric
Reduce normalised magnetometer vector with a vector length
2015-10-10 21:22:57 +09:00
Paul Riseborough
ba6387f206
DataFlash: Add logging of EKF GPS check status
2015-10-10 14:49:03 +09:00
Randy Mackay
e9254ca1a9
DataFlash: log compass as milligauss
2015-10-07 21:35:19 +09:00
Peter Barker
af4ad01f23
DataFlash: make CAM a critical message
2015-10-06 15:20:08 +11:00
Paul Riseborough
73686dfa89
DataFlash: fix error in NKF descriptor
2015-09-25 19:20:52 +10:00
Michael du Breuil
cf6e6b7e82
DataFlash: Remove stale UBX3 message
2015-09-23 20:42:42 -07:00
Andy Piper
5adb6d2b89
AP_GPS: Support UBX messages for dual UBLOX GPS setups.
...
Add extra DOP information to UBX precision messages.
2015-09-23 20:41:50 -07:00
Paul Riseborough
80e182f827
AP_NavEKF2: Update EKF2 data logging
2015-09-24 12:58:44 +10:00
Paul Riseborough
86ad1e6e66
DataFlash: Update EKF2 data logging
2015-09-24 12:58:44 +10:00
Andrew Tridgell
ba8e63d8e7
DataFlash: handle unitialised EKF2 in logging
2015-09-23 18:54:46 +10:00
Andrew Tridgell
ce9fa45b3a
DataFlash: added logging of EKF2
2015-09-23 12:09:48 +10:00
Andrew Tridgell
eabdee2b3c
DataFlash: only log two rangefinders
...
this prevents a array index build error on PX4
2015-09-22 09:24:55 +10:00
Peter Barker
8f1471c137
DataFlash: leave room in buffer for non-startup messages
2015-09-18 09:13:45 +10:00
Peter Barker
63a45000b4
DataFlash: take log messages after putting FMTs out
2015-09-18 09:13:45 +10:00
Stewart Loving-Gibbard
4dcf6b8dc3
DataFlash: Adding Logging of RSSI data.
2015-09-16 16:41:31 +09:00
Andrew Tridgell
eea54c9e09
DataFlash: fixed flymaple build
2015-09-14 16:44:45 +10:00