100 Commits
Author SHA1 Message Date
Felix Ruess 0b58044e76 [docker] really fix pprz-ci image 2018-09-23 21:26:28 +02:00
Felix Ruess 0929228375 [docker] fix pprz-ci image 2018-09-23 20:16:49 +02:00
Felix Ruess 4fb98a3789 [docker] add CI image and put images in paparazziuav organization
Automated builds on https://hub.docker.com/u/paparazziuav
2018-09-23 18:03:29 +02:00
Felix Ruess 27124fe32f [nps] only search/link OpenCV if NPS_DEBUG_VIDEO is configured 2017-12-29 14:08:45 +01:00
Felix RuessandGitHub 86865fdfea travis: install correct gcc-arm-linux-gnueabi package 2017-11-10 00:45:13 +01:00
Felix RuessandGitHub 4463dc997f travis: also install arm-linux-gnueabi-gcc 2017-11-10 00:29:46 +01:00
Felix Ruess 6ada3bd66b python PaparazziOverview: handle parse errors 2017-11-05 11:18:42 +01:00
Felix Ruess dcb2b96486 make start.py executable from anywhere again 2017-11-05 11:17:49 +01:00
Felix Ruess c1b8f73d3a extern declaration of autopilot_reset_in_flight_counter 2017-08-08 12:12:39 +02:00
Felix RuessandGautier Hattenberger 346ef5a8ab fix SRTM download (#2098)
the SRTM download page now redirects to https
so enable support for TLS

needs the Debian/Ubuntu package libocamlnet-ssl-ocaml-dev

only load tls lib if netclient version > 4
2017-08-07 23:27:08 +02:00
Felix Ruess 12f143a0ee generators: specify module in settings_autopilot.xml
add module (header file) even if no settings handler is given
2017-08-07 13:47:31 +02:00
Felix Ruess 6d1b59203b ahrs: init ahrs_aligner in ahrs_init instead of main 2017-08-07 12:24:34 +02:00
Felix Ruess 1ee2994b77 automatically call motor_mixing_init 2017-08-06 20:05:01 +02:00
Felix Ruess a338aaa4fc rotorcraft: remove unneeded includes 2017-08-06 19:59:57 +02:00
Felix Ruess 1d763b575e python: fix svinfo viewer 2017-08-06 13:15:59 +02:00
Felix Ruess 76c9beb7d5 python: fix setting of lable in messages app 2017-08-06 12:57:48 +02:00
Felix Ruess 1684aed01e docker: set locale to C.UTF-8 2017-08-05 19:46:08 +02:00
Felix Ruess d9adcccc8e [python] guided_mode_example.py: get aircraft id if not give on commandline
sorry, terribly crude.... but should get the basic point across until someone does it nicely.
2017-04-24 22:45:57 +02:00
Felix RuessandGitHub fe957c7a7a [travis] run test_all_confs on cron job 2017-03-09 12:14:54 +01:00
Felix RuessandGitHub a5bb235fcb Merge pull request #2027 from martinmm/master_ins_temp_ctrl
- add temperature control module for Bebop2
- add usb dual cdc board to Bebop2 for serial modem and payload
  -  Sparkfun FIO v3 board adds simultaneous XBee serial modem and SHT75 humidity payload sensor.
2017-03-04 14:10:45 +01:00
Felix Ruess 37bf6e54a4 [apogee board] fix baro frequency
define BARO_PERIODIC_FREQUENCY so it is available in baro_board.c as a quick fix for #2017

baro_board will probably become a module soon anyway...
2017-02-19 23:27:53 +01:00
Felix Ruess 6ca62208ff [imu] scaling based on range for MPU9250 IMUs 2017-02-12 17:38:04 +01:00
Felix Ruess b53e1d96a9 [imu] scaling based on range for some more MPU60X0 based IMUs 2017-02-12 16:27:14 +01:00
Felix Ruess a386448edb radio_control_spektrum: better document USE_DSMX define 2017-02-09 23:11:12 +01:00
Felix Ruess 17cc32d4b2 forgot to save all files in last commit 2017-02-05 23:54:44 +01:00
Felix Ruess d98973695b fix autopilot STARTUP_MODE
make sure the autopilot implementation init which sets the STARTUP_MODE is called after the guidance module init has run.

This should fix a regression from #1977 and #1978
2017-02-05 23:51:22 +01:00
Felix Ruess d9b1cd21f6 [conf] fix Quad Navstik and update some settings 2017-01-29 11:47:35 +01:00
Felix Ruess 33e699c8e4 [modules] fix intermcu can/spi 2017-01-29 11:41:58 +01:00
Felix Ruess 9975636582 silence unused arg warning 2017-01-29 11:34:09 +01:00
Felix Ruess 32f4ce9453 [modules] fix actuators mkk_v2 2017-01-29 11:33:31 +01:00
Felix Ruess 70d003f60f [modules] fix stabilization heli_indi 2017-01-29 11:25:30 +01:00
Felix Ruess c6375f02a3 [modules] fix radio_control sbus_dual 2017-01-29 11:23:10 +01:00
Felix Ruess c45d0a1d91 [modules] allow nps target for some actuators modules again 2017-01-24 10:46:35 +01:00
Felix Ruess 65b056f72b [modules] actuators for more targets 2017-01-24 01:03:15 +01:00
Felix Ruess faf278bb37 fix baro on px4fmu_1.7 2017-01-16 22:19:40 +01:00
Felix RuessandGitHub 7a0dcce0fb Merge pull request #1984 from kevindehecker/pixracer
This PR adds Paparazzi support for the [Pixracer](https://pixhawk.org/modules/pixracer) board. Basically, the Pixracer is a Pixhawk without the FBW side and with another set of sensors. Internally (in the PX4 stack as well), it is called the px4fmu_4.0, whereas the normal Pixhawk has the px4fmu_2.4.

The Pixracer has been mounted in the Splash drone, and by means of the MPU9250 IMU, a Spektrum RC, 3DR power module and a XBee datalink it has been tested to fly nicely in ATT mode. NAV test flight is on the todo list, but should work as well.

Not supported:
- The ICM-20608 IMU
- The temp compensation on the HMC5983 magneto
- Usage of the microSD
- ESP8266 flashing over wifi

Known problems:
- The Spektrum soft binding does not seem to work yet. All the pins and powers are cycled correctly, still the binding won't take.

Big thanks to @OpenUAS for laying the foundation for this PR.
2017-01-16 19:16:11 +01:00
Felix Ruess 312e366f4e [video] only add isp for bebop 2017-01-15 13:37:47 +01:00
Felix Ruess f4c1025d5c fix missing include in bebop camera sensor 2017-01-13 22:45:22 +01:00
Felix Ruess 134fa64377 fix mission module 2017-01-13 22:21:50 +01:00
Felix RuessandGitHub 6434e016f8 Merge pull request #1978 from paparazzi/control_modules
Convert control, guidance and navigation subsystems to modules.

In most cases, the proper documentation and settings are included in the modules.
Fixedwing, rotorcraft and test config are updated. Other conf files are still using the old settings files but since they are not deleted (yet), they can still be used.

Some parts were automatically included (guidance and nav for rotorcraft) so as a temporary hack, it is autoloaded from stabilization modules. This can be improved in the future with dependency and autopilot generation systems.
2017-01-10 21:50:25 +01:00
Felix RuessandGitHub 2f80d2ab7a Merge pull request #1908 from kirkscheper/dual_video_stream
Dual video stream

Adds Auto White Balance and Auto Exposure for front camera on the Bebop (needs a small change to the exposure, found some inconsistencies when performed together with subsampling).
Adds dual video streaming capabilities for the bebop and update the rtp viewer (naming convention may be still changed).

Also updates to the ISP configuration which allows for subsampling and image scaling of the bebop front camera, replaces #1856
2017-01-10 20:47:17 +01:00
Felix Ruess 0b0f9c4e66 [conf] fix flixr_lisa_mx airframe 2017-01-08 15:13:25 +01:00
Felix Ruess 5399bd98c7 remove trailing whitespaces
via `make cleanspaces`
2017-01-06 16:14:42 +01:00
Felix Ruess ca65c87be9 fix make cleanspaces
to ignore symlinks
2017-01-06 16:13:02 +01:00
Felix Ruess f58cab7da0 [conf] fix obc2014 mission flight plan 2017-01-06 14:59:26 +01:00
Felix Ruess 2b7b359fcd [conf] disable NPS for bebop_actuators airframe 2017-01-06 14:59:26 +01:00
Felix RuessandGitHub f7eb7dc3e8 Add latest leap seconds 2017-01-02 11:22:10 +01:00
Felix RuessandGitHub 6db4d14294 [python] simple live mag plotter/calib (#1977)
Reads IMU_MAG_RAW messages from ivy and does an "online" min/max calibration and final calibration upon CTRL-C.
If the plot option is given, it plots the raw mag data and when the plot window is closed, calibration is performed
2016-12-29 18:31:43 +01:00
Felix RuessandGitHub 880187d95a Merge pull request #1975 from paparazzi/autopilot_generated_integration
support generated autopilot, based on rotorcraft firmware
    
- By default the original static autopilot is used. A config flag can enable the use of the generated AP code.
- A basic autopilot description is provided (4 modes + failsafe modes).
- The server is capable of using the list of generated mode to properly  display mode names.
- Tested in NAV and GUIDED mode in sim, and direct attitude control on real aircraft.

Some extra features:
- add `--norc` option to NPS simulator
- group all system (generated) settings (AP, telemetry, modules, flight plan) under the same tab (first position)
2016-12-29 18:30:41 +01:00
Felix Ruess d5a711e9b8 [modules] fix imu_drotek_10dof_v2 i2c define 2016-12-28 15:32:24 +01:00
Felix RuessandGitHub 206a99f619 Merge pull request #1967 from paparazzi/nav_macro_cleanup
The `call` primitive of the flight plan can be used to repeatedly call a function until it returns false.
In most cases the function is only supposed to be called only once though...

This has led to a state where a lot of functions that are supposed to be called from the flight plan have an additional `return false` to make them `call`-able.

From just looking at the flight plan it is hard to determine if a function will indeed be only called once or is actually called each time the flight plan navigation is run until it is "done" (returns false).
To make this distinction more explicit and hopefully more clear (and the code cleaner), one should use `call` only when really needed and `call_once` otherwise.

This PR removes the "dummy" `return false` from a lot of functions, hence mandating that `call_once` is used for them. Eventually we shouldn't have any cases like that anymore...
All flight plans were updated accordingly.

The most common case where `call` still has to be used are navigation routines a la `nav_x_run`.

This should be "backwards safe" (not backwards compatible) in the sense that if you try use `call` for a function that needs to be called with `call_once` (since it now returns void), you will get an "invalid use of void expression" error:
```
In file included from firmwares/rotorcraft/navigation.c:40:0:
/home/flixr/code/paparazzi/var/aircrafts/Quad_LisaMX/ap/generated/flight_plan.h: In function 'auto_nav':
/home/flixr/code/paparazzi/var/aircrafts/Quad_LisaMX/ap/generated/flight_plan.h:129:9: error: invalid use of void expression
         if (! (NavKillThrottle())) {
         ^
```
2016-12-28 00:01:36 +01:00
Felix RuessandGitHub fa7a5801ce [rotorcraft] only run adaptive throttle estimation if desired zd was updated (#1972)
Only run adaptive throttle estimation if we are in flight and
the desired vertical velocity (zd) was updated (i.e. we ran hover_loop before).
This means that the estimation is not updated when using direct throttle commands.

This should fix #1857
2016-12-20 19:44:41 +01:00
Felix Ruess 34b35f73a9 [nav] survey_poly: don't run if SurveySize == 0 2016-12-20 17:59:33 +01:00
Felix Ruess b1e08d44c4 [stm32][locm3] fix trigger selection names
after libopencm3 update where they were renamed
2016-12-18 16:51:09 +01:00
Felix RuessandGautier Hattenberger fb4d3f42af [rotorcraft] re-use main timer if PERIODIC_FREQUENCY == MODULE_FREQUENCY (#1971)
Use the main periodc freq timer for modules if the freqs are the same
This is e.g. useful to log the important values every time the control loop runs.

should fix #1923
2016-12-16 17:22:32 +01:00
Felix RuessandGitHub a7b0b4e13e [boards] start support for openpilot revo nano (#1968)
- While the STM32F411 can run at up to 100MHz, this is not supported out-of-the-box with libopencm3 yet.
  So we use the 84MHz clock setup from the STM32F401.
- ADC pins not set up yet
2016-12-16 17:04:31 +01:00
Felix RuessandGautier Hattenberger 6ffcc2c89e [flight plan] make 'until' attribute consistent (#1970)
This makes the 'until' attribute of `heading`, `attitude` and `manual` consistent with the rest:
So until will always behave like:
- do something
- check if again

E.g. `<attitude ... until="some_condition"/>` will now create
```
NavAttitude(...);
if (some_condition) NextStageAndBreak();
break;
```

Fixes #1903
2016-12-16 16:57:21 +01:00
Felix Ruess 72f0a00438 [fixewing] remove DownlinkSendWp 2016-12-16 16:29:14 +01:00
Felix Ruess 55addf6544 [fixewing][nav] remove return false from some more functions 2016-12-16 15:53:15 +01:00
Felix RuessandGautier Hattenberger 0989b2cb37 [rotorcraft] make sure global waypoints are localized (#1966)
Stopgap measure to fix #1961
This is actually only needed if USE_INS_NAV_INIT is used (the default).
2016-12-15 17:33:05 +01:00
Felix Ruess 817062db58 [modules][nav] return void for setup routines 2016-12-15 00:38:34 +01:00
Felix Ruess 8cd43d40e3 [conf] update settings_modules
to avoid annoying reodering changes when opening a conf is opened in Paparazzi Center
2016-12-15 00:34:46 +01:00
Felix RuessandGautier Hattenberger 5a9bc29f74 [datalink] maximum MSG_SIZE is 256 (#1969) 2016-12-15 00:29:04 +01:00
Felix Ruess a3a5fce5a4 [modules][ahrs] make sure the board defaults for AHRS_ALIGNER_LED are used 2016-12-15 00:15:26 +01:00
Felix Ruess 6bbe7d7f29 allow usage of call_once in procedures 2016-12-14 23:51:05 +01:00
Felix Ruess 995a9ed066 [conf] update flight_plans to use call_once 2016-12-14 23:51:05 +01:00
Felix Ruess 6b5708e117 [rotorcraft][nav] remove dummy return false from some macros
This was just so that they could be called with `call`, you should use `call_once` instead.
Also change some macros to static inline functions for better debugging.
2016-12-14 23:51:05 +01:00
Felix Ruess eb07c39dac [rotorcraft] move more nav stuff around for clarity 2016-12-14 23:51:05 +01:00
Felix Ruess 0a3b270390 [rotorcraft]move built in nav routines around for clarity 2016-12-14 23:51:05 +01:00
Felix Ruess d49670e855 [conf] use call_once in rotorcraft_basic flight plan 2016-12-14 23:51:05 +01:00
Felix Ruess 737a561321 [rotorcraft][nav] refactor send functions 2016-12-14 23:51:05 +01:00
Felix Ruess ca54625433 [nav] don't return false from nav functions
just that they can be used with `call` instead of `call_once`
2016-12-14 23:51:05 +01:00
Felix RuessandGautier Hattenberger 7c3577290f [ext] update to latest libopencm3 (#1965) 2016-12-14 18:20:35 +01:00
Felix Ruess 17ee4c8edd [stm32][i2c] allow to define the GPIO alternate function number 2016-12-14 14:13:43 +01:00
Felix RuessandMichal Podhradsky 7a2976a810 [stm32] also compile C++ files (#1561) 2016-12-07 12:55:54 -08:00
Felix Ruess 5aa76be56d [intermcu] fix ABI in fbw
in every target ABI is used, ABI_C needs to be defined in one file that includes abi.h
Since main_fbw doesn't need ABI, do it in intermcu_fbw
2016-11-07 20:36:13 +01:00
Felix Ruess a78cbadc30 [rotorcraft] fix compilation without GPS 2016-11-07 10:19:34 +01:00
Felix Ruess d34baa8364 [conf] fix some TU Delft airframes 2016-11-02 23:02:08 +01:00
Felix Ruess 6a856ed2be [modules] fix module name of gps_ubx_ucenter 2016-11-02 23:02:08 +01:00
Felix RuessandGautier Hattenberger 34e5f801d4 [abi] fix endless loop if AbiBindMsgX is called twice for same event (#1925)
AbiBindMsgX should be called only once per abi_event struct.
Regardless, this tries to make it a bit more robust if you re-use the same abi_event for consecutive AbiBindMsgX calls:
If AbiBindMsgX is called multiple times _consecutively_, the event/callback is now only added if it is different from the last one added...
This should at least fix the endless loop since the event->next can't point to itself anymore...

Should fix #1924 in a rudimentary way... but would still be possible to bind multiple times using the same abi_event if another bind for the same message happens in between.
Bottom line: make sure that your code doesn't call AbiBindMsg with the same abi_event struct multiple times!
2016-11-02 22:39:59 +01:00
Felix Ruess cbc74d88f0 [intermcu] fix missing endif 2016-11-02 21:32:28 +01:00
Felix Ruess 527bbe95e7 [rotorcraft] guidance_v: add missing default switch case 2016-11-02 21:26:59 +01:00
Felix Ruess ef8c85a160 fix telemetry_intermcu
after #1873
2016-10-30 22:07:41 +01:00
Felix RuessandGitHub d9c82a2cdb workaround lablgtk 2.18 packaging bug on latest Debian/Ubuntu
match any 2.18.3+dfsg debian package version

Should fix it for Ubuntu 16.10
2016-10-28 12:27:07 +02:00
Felix Ruess 522f97e50a [tests] fix some tests after converting telemetry to modules 2016-10-10 20:48:24 +02:00
Felix Ruess a2e9d33b5f [modules] extra_dl: fix compilation if no Extra telemetry process is defined 2016-10-05 20:39:14 +02:00
Felix Ruess 919ad3c67b [ahrs] float_invariant: use function instead of deprecated macro 2016-10-05 20:25:38 +02:00
Felix RuessandGautier Hattenberger 4d405cdac1 [modules] px4flow: also send AGL message with ground distance from sonar (#1886) 2016-10-01 22:13:13 +02:00
Felix Ruess b3231db3a3 [ins] remove unused INS_SONAR_OFFSET define
this was actually removed when sonar was chaned to use ABI messages...
potential offsets should be applied in each sonar sensor separately
2016-10-01 22:09:52 +02:00
Felix Ruess e42bd6e2ae [datalink] fix datalink for tests and other firmwares 2016-10-01 21:18:42 +02:00
Felix Ruess 7c66fb3606 [fixedwing] update firmware_parse_msg for passed params 2016-10-01 16:53:54 +02:00
Felix Ruess 58dcfea5d7 [stm32] spektrum: use #if for USE_DSMX check 2016-10-01 14:02:47 +02:00
Felix Ruess eca3d3b229 [conf] update settings_modules in example confs 2016-09-26 20:38:14 +02:00
Felix Ruess ef0c774a14 [modules] make gps_ubx_i2c usable without gps_ubx_ucenter 2016-09-26 20:17:25 +02:00
Felix Ruess 21d3c21a9a [math] fix typo 2016-09-25 23:55:34 +02:00
Felix RuessandGitHub 090b81a0f6 Merge pull request #1859 from paparazzi/ahrs_modules
convert AHRS subsystems to modules

So far there should be no functional changes, except that the respective settings are now loaded with the module. "Internal" refactoring to get rid of the calls from main will be done later.
2016-09-25 23:44:53 +02:00
Felix Ruess 31ebe3491b [math][state] fix enu/ned of lla computation
so that the result is correctly in m with INT32_POS_FRAC instead of cm.
Thanks to Ewoud Smeur.
2016-09-25 23:41:33 +02:00
Felix Ruess 392fd96666 [ahrs] for fixedwings default to GPS heading and enable centrifugal force compensation 2016-09-20 16:17:40 +02:00
Felix Ruess bcf5106ee3 [modules] update doc for ahrs modules 2016-09-20 16:04:11 +02:00
Felix Ruess 82b9b52fed [conf] update confs for removed settings 2016-09-20 14:21:13 +02:00