Commit Graph
323 Commits
Author SHA1 Message Date
Daniel Agar 7eeba7b8ca systemlib delete unused board_serial 2018-06-12 09:06:30 +02:00
Lorenz Meier aee05d0ac5 FMU: Increase stack space as needed (shown by instrumentation) to retain a 300 bytes buffer. 2018-06-08 08:39:14 +02:00
Beat Küng 4f1c01de7f fmu params: add MOT_ORDERING to adjust the motor ordering
Useful for 4-in-1 ESCs such as the Hobbywing XRotor Micro 40A 4in1
where the FC can be directly plugged on top.
2018-05-28 08:37:08 +02:00
nathan f754d092f8 Initial omnibusf4sd target support
Flight tested: ekf2 w/ mag and compass by @nathantsoi: https://logs.px4.io/plot_app?log=79b81031-cf1e-41f0-890b-d6cd7d559766

NOTE: external I2C devices need a pullup. I have tested with a 3.3v 2.2k pullup.

Working:
 - mpu6000, bench tested and verified via nsh
 - fmu
 - all 6 ch output bench tested w/ pwm and oneshot via nsh
 - ppm input bench tested
 - dsm input bench tested
 - bmp280, bench tested and verified via nsh
 - hmc5883, bench tested and verified via nsh, but requires an external i2c pullup
 - gps on uart6
 - startuplog, nsh, mavlink on uart4, but params are not sent for some reason. RSSI pin is TX, MOTOR 5 is RX (normal mode, 57600 baud)
 - rgbled over i2c, bench tested and workingp
 - sbus via the shared sbus/ppm pin (which includes an inverter to the mcu SBUS in pin), remove the solder bridge or jumper to the ppm pin before use

Not yet implemented:
  - ADC
  - OSD: passthrough video is untested, use at your own risk until a basic driver is implemented.
2018-05-20 11:54:17 +02:00
Daniel Agar 977ab4e7b8 improve end to end control latency measurement (#9388) 2018-05-02 03:03:32 -04:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Beat Küng 0d9693347f fmu + px4io: fixes for MC_AIRMODE parameter
- fmu: in case of _mot_t_max==0 _airmode was not set in the mixer
- px4io: param_val is a float
2018-03-23 10:35:08 +01:00
bresch 6976232a20 Airmode - Add airmode parameter for multicopter mixer 2018-03-23 10:35:08 +01:00
Beat Küng 5a7885610d fmu: fix PPM publication if RC_SERIAL_PORT is not defined
Before, the RC channel was published as fast as the fmu was running
(around 200Hz in unarmed state).

And fix code style.
2018-03-12 11:56:59 +01:00
Roman ea8db53d15 fmu: removed obsolete _trim_pwm member and implemented proper fetching
of mixer trim values

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
Lorenz Meier f4362c5ae5 FMU: Remove hint that parameter change requires reboot
The change is effective immediately so no reboot is required. This makes the whole configuration a lot easier.
2018-01-02 10:47:38 +01:00
Daniel Agar 6ad9e59a7a delete unused GPIO_SET_INPUT 2017-12-31 09:47:51 -05:00
Daniel Agar b8b9f15a34 delete unused GPIO_PERIPHERAL_RAIL_RESET 2017-12-31 09:47:51 -05:00
Daniel Agar d61e0651ab delete unused GPIO_SET_OUTPUT_HIGH 2017-12-31 09:47:51 -05:00
Daniel Agar 4c041f12ea delete unused GPIO_SET_OUTPUT_LOW 2017-12-31 09:47:51 -05:00
Daniel Agar f550c8735a delete unused GPIO_SENSOR_RAIL_RESET 2017-12-31 09:47:51 -05:00
Daniel Agar c65db00914 delete unused GPIO_SET_ALT_4 2017-12-31 09:47:51 -05:00
Daniel Agar db5e932f48 delete unused GPIO_SET_ALT_3 2017-12-31 09:47:51 -05:00
Daniel Agar 17e58dc08b delete unused GPIO_SET_ALT_2 2017-12-31 09:47:51 -05:00
Daniel Agar c6760cc6fb delete unused GPIO_SET_ALT_1 2017-12-31 09:47:51 -05:00
Daniel Agar ff6928fb63 delete unused GPIO_GET 2017-12-31 09:47:51 -05:00
Julien Lecoeur 89642a9203 Move src/module/systemlib/mixer to src/lib/mixer 2017-11-15 09:56:10 +01:00
Beat Küng 0247d7bdd7 fmu: minor refactoring & fixes
- initialize rc lost with true
- refactor for simpler downstream code-plugin
- allow for the addition of different binding commands
- fix st24 RC lost logic
2017-10-12 08:55:24 +02:00
David Sidrane e11af2bc27 fmu:Add PWM6 mode for nxphlite v3.5 2017-10-04 04:49:35 -10:00
David Sidrane 58c3c8a94b fmu:Fix stack overwrite 2017-09-29 10:13:51 -04:00
David Sidrane 444a7a2aec PX4 System changes to support 14 Timer IO channels 2017-09-29 10:13:51 -04:00
David Sidrane 2aa8674f86 fmu Allow for using a common format 2017-09-29 10:13:51 -04:00
Daniel Agar 26f00609ac multirotor_motor_limits only publish for MC 2017-09-19 02:25:30 +01:00
Daniel Agar f26933fc55 delete unused RC_DSM_BIND param 2017-09-13 05:30:14 -07:00
David Sidrane f5e9ae6682 px4fmu:Removed FMUv1 only modes 2017-09-10 13:37:23 -04:00
Daniel Agar 353f637e92 move SYS_FMU_TASK to px4fmu 2017-08-09 22:28:05 +02:00
Daniel Agar 928fdf34a6 sensors move THR_MDL_FAC and MOT_SLEW_MAX to px4fmu 2017-08-09 22:28:05 +02:00
Lorenz Meier a2b23bf23a FMU: Use default scheduling priorities 2017-08-02 21:18:35 +02:00
Lorenz Meier 49198af6c7 FMU driver: Use default actuator output scheduling order 2017-08-02 21:18:35 +02:00
Dennis Shtatnov ca82d36c3f Support platforms like CF2 without capture ioctl 2017-07-20 03:37:58 -10:00
Beat Küng 07b7a153f3 fmu: add ifdef for dsm_deinit() 2017-07-18 20:06:10 +02:00
Beat Küng 2193afd0a0 fix fmu: lower polling timeout to 5ms when running as task
With the previous value of 20ms, we dropped RC input when not armed. The
result was that some RC channels jumped randomly between min & max.
2017-07-18 20:06:10 +02:00
Beat Küng e6adfa6b6b fix fmu: call dsm_deinit() in destructor
This closes the fd and cleans up a static variable used in the dsm parser.
2017-07-18 20:06:10 +02:00
Beat Küng 1130bc129c fix fmu: make sure init() is called on the new task
This was only a problem when running as a task not on the work queue.
The problem was that init() opened the RC serial device, which was then
read in the main loop, which is a different context when run as a task.
2017-07-18 20:06:10 +02:00
Julien Lecoeur abcb920df4 Fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7.1.0
BMP280: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

gnss: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

fmu: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

timer.c: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

px4cannode_led: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

Fix -Werror=implicit-fallthrough on gcc7
2017-07-18 08:24:37 +02:00
Beat Küng 620d37bc1c fmu: remove tautology, fix pwm2cap2 mode for status 2017-07-14 11:57:11 +02:00
Beat Küng f25549169c fmu: wait until running, and handle mode_rcin properly
when the fmu was already running in a pwm mode, changing to mode_rcin would
not have any effect.
2017-07-14 11:57:11 +02:00
Beat Küng 0909b58981 fmu.cpp: fix wrong command usage mode_pwm3cap2 -> mode_pwm2cap2 2017-07-14 11:57:11 +02:00
Beat Küng 053eb12329 Module documentation: switch to Markdown 2017-07-14 11:57:11 +02:00
Beat Küng 59bde454b5 ModuleBase: instanciate -> instantiate 2017-07-14 11:57:11 +02:00
Beat Küng 6ea9762117 fmu: convert to ModuleBase
Sorry for the large patch :)

- move cleanup into destructor (this was done on the wrong task before)
- move init into init() method
- sensor & peripheral reset do not start/stop fmu anymore
- remove err & errx (they do not release the lock and could lead to dead-
  locks)
2017-07-14 11:57:11 +02:00
Beat Küng 2da0ae45e5 fmu: some cleanup
g_port_mode was never changed.
2017-07-14 11:57:11 +02:00
Daniel Agar 585984fa0c fmuservo increase stack 2017-07-09 18:02:55 +02:00
David Sidrane f7835a8677 io_timer driver:Only support capture if DIRECT_INPUT_TIMER_CHANNELS > 0
This removes the unused input capture capabilities from the px4io
   and saves 128 bytes of ram.
2017-05-02 07:40:50 +02:00
David Sidrane 2a8eaa66ca Revist:Back out fix for secondary issue
Ultimate we want this changes that is being backed out herein.
 But it is breaking things because it returns the EINVAL
 when there is a rate overlap. So the rest of the pwm ioctl
 calls then fail and do not set the pulse widths on arming.

 As a secondary issue. We sould call up_pwm_servo_init() to
 establish the PWM channel allocation early. This then allows
 FMU::set_pwm_rate to properly check for improper rate request
 not isolate to one group (timer).
2017-04-21 08:32:33 +02:00