Daniel Agar
450229c2a4
dataman operations table is constexpr
2018-04-03 18:37:51 -04:00
Daniel Agar
916d6a15fd
Mission merge offboard + onboard and simplify
2018-01-14 12:53:53 +01:00
José Roberto de Souza
239de7191f
dataman: Prevent database corruption
...
The size in g_per_item_size[item] is the real struct size
+ DM_SECTOR_HDR_SIZE bytes of header and the backend functions were
not taking in care it. So a call to dm_write() with more bytes than
the real struct is allowed, causing corruption in the header of the
next item.
Kudos to jeonghwan-lee for finding it. https://github.com/PX4/Firmware/issues/7927
2017-10-16 23:38:03 +02:00
Beat Küng
c82deaf26f
dataman: fix test for return value of px4_task_spawn_cmd
...
And destroy the semaphore if startup fails.
Credits for finding this go to @jeonghwan-lee
2017-09-11 02:04:27 -07:00
Daniel Agar
9b5fe8c476
ignore -Wsign-compare per module
2017-09-07 10:27:36 +02:00
Beat Küng
a2ef611a30
dataman: improve error reporting
2017-08-04 18:08:51 +02:00
Beat Küng
72501df88e
dataman: add dm_trylock & add lock for FENCE_POINTS items
2017-08-04 18:08:51 +02:00
Beat Küng
c4cdaa48e0
dataman, mission_feasibility_checker: remove unneeded uorb includes
2017-08-04 18:08:51 +02:00
Beat Küng
b9cddfb75b
dataman: account for new geofence & rally point structs
2017-08-04 18:08:51 +02:00
Beat Küng
52ca49c682
geofence: remove fence & fence_vertex messages
...
- this was never read
- it was implemented wrong, leading to memory access violations in
publishFence (an integer was passed instead of the fence_s struct)
2017-08-04 18:08:51 +02:00
Beat Küng
0949599f0a
dataman: fix compilation error
...
error: invalid conversion from ‘int’ to ‘dm_item_t’
and
error: no ‘operator++(int)’ declared for postfix ‘++’
2017-07-14 11:57:11 +02:00
Beat Küng
cf5df4489f
dataman: extend module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
318c4497bd
dataman: fix typo
2017-07-14 11:57:11 +02:00
Beat Küng
28e5268497
dataman: rename to .cpp & add module documentation
2017-07-14 11:57:11 +02:00
José Roberto de Souza
2f2e3a7e7c
modules: dataman: ram_flash: No need to write/erase data that do not need to persist
...
Just update in RAM is enough.
2017-07-13 15:21:26 +02:00
José Roberto de Souza
10f54e718e
modules: dataman: Optimize memory usage
...
Use the size of each item type instead of the biggest one.
In AeroFC that runs is constrained mode it was using 7860 bytes
and now it uses 6930 bytes almost 1KB less.
2017-07-13 15:21:26 +02:00
José Roberto de Souza
e2aae04c95
modules: dataman: Add a ram_flash backend
...
This backend will keep all updated data in RAM and
persist the data between reboots using flash memory.
Using only flash memory would result in a slow backend that
would decrease the lifetime of the flash memory, using both
we can reduce the several cycles of erase & write into flash
and keep the performance of the backend almost as fast
as the RAM only backend.
Note: Do not use this backend on a sector from the same flash memory
bank as the memory bank that STM32 read instructions or it can block
the CPU from fetching instructions from flash during the erase and
write operations and cause your drone crash.
2017-03-10 11:31:07 +01:00
José Roberto de Souza
a2670bdbc8
modules: dataman: Move backend specific out of main routines
2017-03-10 11:31:07 +01:00
José Roberto de Souza
66d9d56525
modules: dataman: Share memory between backends
...
Also having just a boolean to track if backend is running.
2017-03-10 11:31:07 +01:00
Julian Oes
8c1e85a65f
dataman: don't wrap around at 256
...
The dataman started overwriting contents after 256 items because the
item index were only uint8_t. This fix allows for more than 256
waypoints.
2017-02-15 22:29:24 -05:00
wangxdflight
b693e29d64
enable px4 flight for excelsior(legacy)
2017-01-16 08:25:58 -08:00
Daniel Agar
751909cd4e
clang readability-braces-around-statements ( #6298 )
2017-01-11 17:01:51 -05:00
Daniel Agar
b4da337cd4
test coverage cleanup
...
- dataman clean exit code
- unit test proper cleanup
- add some level of simulated sensors for tests
- delete unused test/standard_vtol
2017-01-03 04:00:41 -05:00
Lorenz Meier
78f00368c5
Dataman: Be less verbose on start to clutter shell output less
2017-01-01 13:59:41 +01:00
Lorenz Meier
f72b439fd5
Dataman: Header cleanup
2016-12-27 21:00:51 +01:00
David Sidrane
c9f10107c0
Nuttx Upgrade:Adds sem_setprotocol
2016-12-21 08:34:21 +01:00
Lorenz Meier
5ddd69c872
Dataman: Make versioning define more explicit
2016-10-23 16:26:03 +02:00
Lorenz Meier
c7cdef2a4b
Clarify version flag for dataman
2016-10-23 16:26:03 +02:00
Lorenz Meier
0a4fedd778
Dataman: Use single method to infer file compatibility
2016-10-23 16:26:03 +02:00
Lorenz Meier
9e7d5f088e
dataman: Ensure compat field is set and read correctly
2016-10-23 16:26:03 +02:00
Lorenz Meier
ff0d7613b1
Add manual seed to dataman hash to allow later incrementing the seed number for incompatible changes
2016-10-23 16:26:03 +02:00
Lorenz Meier
db774798fa
Dataman: Store sizes of all containers and reset file if any of them changes.
2016-10-23 16:26:03 +02:00
Lorenz Meier
c2285c84a9
Dataman: Do nnot pack structs to avoid reading back wrong values on existing systems
2016-10-18 00:26:40 +02:00
David Sidrane
ecbe8c2179
Packed union to save more space
2016-10-18 00:23:58 +02:00
David Sidrane
b2bf9e15eb
Use union of datatypes supported by dataman to reduce wasted space
2016-10-18 00:23:58 +02:00
David Sidrane
44b5b52bcb
Add suport for Memory Constrained systems
2016-10-18 00:23:58 +02:00
David Sidrane
24e20b2cec
Changed public interface comments to Doxyagen style
2016-10-18 00:23:58 +02:00
David Sidrane
dce2262243
Add in RAM storage to dataman
2016-10-18 00:23:58 +02:00
Julian Oes
8ff237c69f
Remove size optimization for individual modules
...
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00
Julian Oes
a39124a10d
dataman: make it less chatty
...
- Removed a couple of unneeded printfs.
- On POSIX it shouldn't warn if it's not a multiple of the
block size.
2016-06-07 22:10:56 +02:00
Julian Oes
3a8d242576
dataman: get path for Snapdragon right
2016-05-14 11:21:44 +02:00
James Goppert
967e4dd127
Modified cmake to use STACK_MAX and STACK_MAIN
2016-04-14 13:36:36 -04:00
Lorenz Meier
6e8f563d27
dataman: Do not reset mission file on each reboot
2016-02-11 18:40:18 +01:00
Lorenz Meier
b6c4501d0e
Adjust data size of dataman to force reset of all existing user data
2015-12-02 09:15:37 +01:00
Lorenz Meier
a0bfd3a5bf
Dataman: Remove excessive stack allocation
2015-10-10 22:23:34 +02:00
Lorenz Meier
228cc8844e
Dataman: Lower scheduling priority
2015-10-10 16:02:29 +02:00
Lorenz Meier
73fabc2b4d
dataman: Limit variable scope
2015-10-07 16:30:24 +02:00
Lorenz Meier
fa5071b3c5
Remove module.mk files to prevent confusion of adopters upgrading
2015-10-06 11:23:20 +02:00
Lorenz Meier
fa27e59ac4
dataman: Move to semaphore abstraction
2015-09-20 00:28:39 +02:00
James Goppert
1d6b31d196
Switch to cmake build system.
2015-09-07 20:37:45 -04:00