Commit Graph

3595 Commits

Author SHA1 Message Date
David Sidrane 8dd05dadfd rgbled_pwm:Expand support for FMUv5 on board status and UI LEDs
FMUv5 can have 2 RGB LED's
2017-08-26 03:44:59 -10:00
David Sidrane 9c68783c54 px4fmu-v5:Reorder I2C busses int 1-4 order
This alows the -b option map 1-to-1 with the 12C bus numbers
2017-08-26 03:44:59 -10:00
David Sidrane 8d21764dec ist8310:Use px4_getops 2017-08-26 03:44:59 -10:00
David Sidrane 24522ca885 ist8310:Expand suported busses to External I2C 1-4 2017-08-26 03:44:59 -10:00
David Sidrane 50e83ac33e rgbled:Allow I2C and PWM rgb led drivers to be used on the same board
Added RGBLED_PWM0_DEVICE_PATH path
  Renamed the main of the PWM rgbled driver to create a seperate command
2017-08-26 03:44:59 -10:00
Beat Küng 5f5dca4804 vdev: replace static list with an std::map
VDev::getDev() is used in px4_access, which is used in orb_exists. And if
the topic does not exist, it iterates over all 500 indexes, which is slow.
It was slow even if the topic existed, the map reduces runtime from linear
to logarithmic (there are around 80 items in the container).
This is only used on posix.
2017-08-23 08:10:16 +02:00
Beat Küng 575e7be540 fix linux_pwm_out: return correct value for PCA9685::init() 2017-08-23 08:10:16 +02:00
Beat Küng 7a409cf843 vdev: remove unneeded devList & topicList methods 2017-08-23 08:10:16 +02:00
Daniel Agar a02caff1bc unit_test inline implementation and remove module build 2017-08-23 08:06:55 +02:00
Daniel Agar f282f50cff vmount run at default priority 2017-08-23 08:06:20 +02:00
Daniel Agar b70b8288b9 px4_includes cleanup incomplete list 2017-08-20 20:42:42 +02:00
Julien Lecoeur 41cc679258 PX4Flow: allow restart directly after stop 2017-08-20 19:31:24 +02:00
Julien Lecoeur 7a3a9a75d5 Add command line options to PX4Flow app for I2C address and sampling rate 2017-08-20 19:31:24 +02:00
crossa 17ba5dd04a 1.Add sbus driver for linux . This driver can be used to read the
inverted S.bus signal and fetch the data of each channel and publish it

2. Fix the bug of linux_pwm_out, when the protocol is pca9685,
after the init method is executed,the method of determining the return
value of init method is incorrect,this will cause the driver to fail

3. Add linux_sbus driver to other posix prefixes cmake files
2017-08-20 16:51:04 +01:00
Daniel Agar b2a81ed35b multi diff pres sensor publication and logging 2017-08-19 22:49:29 +02:00
Daniel Agar 8db2883d84 delete unused tones 2017-08-19 09:50:41 +02:00
José Roberto de Souza 4462869432 Add support to new fields in command_ack 2017-08-19 09:04:52 +02:00
José Roberto de Souza c200d0e9a4 Keep initialization of outgoing vehicle_command_s consistent
All others are initialized this way.
2017-08-19 09:04:52 +02:00
Beat Küng 236021cc01 vmount mavlink input: fix polling for position_setpoint_triplet
The code was violating the rule 'every successfull poll must be followed
by an orb_copy'.
The result was a busy loop.
2017-08-17 07:47:48 +02:00
David Sidrane 67e470b0e1 px4fmu-v5:Use arch/polarity agnostic Power control macros
Use the board supplied Power control macros, in the
   the board_peripheral_reset.

   This abstacts the polarity from the code. Therefore changes
   in signal sense can be made, just in the board config.
2017-08-12 08:02:41 +02:00
David Sidrane 5506588a31 px4fmu-v5:Add conditional support for Test RC00 HW
RC00 had an active high VDD_5V_PERIPH_EN
   PC01 has an active low  VDD_5V_PERIPH_EN

   RC00 Test hardware did not use an LTC4417

   While RC00 HW is still in circulation you can build with
   PX4_FMUV5_RC00 defined and BOARD_HAS_LTC4417 undefined.

   The default is PX4_FMUV5_RC01 and BOARD_HAS_LTC4417 defined.
2017-08-12 08:02:41 +02:00
Nicolas de Palezieux 55a2930cdb vmount: reduce stack size to 1900 as recommended by @bkueng (maximum used memory observed: 1552) 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux b702daf40e vmount: virtual destructor 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux c3faf587cc vmount: make the parameter descriptions a little nicer 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux 281ee5e5af vmount: increase stack size 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux b8d389ca4e vmount: properly unadvertise uorb topics when stopping or re-configuring vmount. Othwerise subsequent advertise calls may fail (only ever witnessed for _mount_orientation_pub) 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux cbe3627b8c vmount: set more sensible default parameters for the mount system and component IDs 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux 89aeea7e8e vmount: publish mount angle commands in proper order and units 2017-08-11 14:37:48 +02:00
Beat Küng 4eb0ffc554 vmount: update control_data if already_active is true
control_data needs to be able to be set to nullptr in case if the input
is already active. Otherwise the output will think there's always new
requests and reset it's state.
2017-08-11 14:37:48 +02:00
Beat Küng 73d23742ea vmount: rate-limit the update of the outputs
This avoids a busy-loop if the input is listening for vehicle commands and
the output publishes vehicle commands.
2017-08-11 14:37:48 +02:00
Beat Küng 923cdbcbfb vmount mavlink input: process commands only if the target matches our sys & comp id 2017-08-11 14:37:48 +02:00
Beat Küng fd05c09447 vmount: fix param types, use int32_t 2017-08-11 14:37:48 +02: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
José Roberto de Souza 925efe990d Initialize all outgoing vehicle_command_ack_s and vehicle_command_s
This will initialize those structs with zero in all fields not set
and all fields set will only be change once to the final value not
wasting CPU time zeroing it.

This will guarantee that no non-unitialized structs will have
a trash value on from_external causing it to be sent to the
MAVLink channel without need it.
2017-08-08 21:46:30 +02:00
David Sidrane 1af5ed9024 crazyflie: Use BOARD_NUMBER_I2C_BUSES and BOARD_I2C_BUS_CLOCK_INIT 2017-08-08 21:45:01 +02:00
David Sidrane 8c1f506944 tapv1:Use BOARD_NUMBER_I2C_BUSES and BOARD_I2C_BUS_CLOCK_INIT 2017-08-08 21:45:01 +02:00
David Sidrane b4f5e36fb1 px4fmu-v5:Add all I2C defines for all busses
Define BOARD_NUMBER_I2C_BUSES and BOARD_I2C_BUS_CLOCK_INIT
   for I2C1-4
2017-08-08 21:45:01 +02:00
David Sidrane 64aaec4419 i2c_nuttx:Use BOARD_NUMBER_I2C_BUSES and BOARD_I2C_BUS_CLOCK_INIT
Used the board overrideable vlaues to define the _bus_clocks
   array and initalize it.
2017-08-08 21:45:01 +02:00
David Sidrane 9644f855e3 common:Define default BOARD_NUMBER_I2C_BUSES and BOARD_I2C_BUS_CLOCK_INIT
Define the default I2C buss frequncies that are backward compatible
   with the existing code. While allowing it the defaults to be overridden
   by a board config.

   Based on the legacy STM32 code, the I2C buss numbering starts at 1.
   The bus frequency is stored in a 0 based array. If px4_i2cbus_initialize
   returns a valid device, then the _bus-1 will act as the index to the
   busses frequency.

   A board may define BOARD_NUMBER_I2C_BUSES - the number of I2C busses
   it supports* and BOARD_I2C_BUS_CLOCK_INIT to initalize the bus
   clocks for a given busses.

   BOARD_NUMBER_I2C_BUSES - the number of busses including the *highest
                            number bus. If the board has 2 I2C
                            busses I2C1 and I2C3 BOARD_NUMBER_I2C_BUSES
                            would be set to 3

   BOARD_I2C_BUS_CLOCK_INIT - Initalization for the bus frequencies
                              by bus. A call init, with a frequency
                              less then the value used for the
                              Initalization will result in the device
                              not starting becuase the buss runs too
                              fast for it.
2017-08-08 21:45:01 +02:00
Beat Küng 98396a0bc5 frsky_telemetry: cleanup static vars, use less memory & fix process priority 2017-08-08 14:47:01 +02:00
Beat Küng cb23817317 frsky_telemetry: send flight mode & gps info
This uses the TEMP1 & TEMP2 fields, which probably were used for something
else initially. However this implementation matches with OpenTX and APM.
2017-08-08 14:47:01 +02:00
Beat Küng a2bfcb94ef frsky_telemetry D protocol: refactor to use less memory & allocations
Also add the vehicle_gps_position & flight mode information
2017-08-08 14:47:01 +02:00
Beat Küng 9dea515eaa frsky_telemetry S.Port: refactor to use less memory & allocations 2017-08-08 14:47:01 +02:00
Beat Küng cf8b6a9de1 frsky_telemetry: use new module documentation 2017-08-08 14:47:01 +02:00
Beat Küng 4e5c6fc805 frsky_telemetry: fix heading for D protocol 2017-08-08 14:47:01 +02:00
David Sidrane ed74530da8 mpu9250:More cleanup 2017-08-05 19:26:20 +02:00
David Sidrane 5bb084408d bmi160_main:Make the internal interface conditional on PX4_SPIDEV_BMI
px4fmuv2 had PX4_SPIDEV_BMI defined, for the v3 cmake, but never
   provided a Chip select decoded by PX4_SPIDEV_BMI. PX4_SPIDEV_BMI
   has been removed from V2, but PX4_SPIDEV_EXT_BMI still remains
   and has a chip select assigned to it.
2017-08-05 19:26:20 +02:00
David Sidrane 43843b753d px4fmu-v2, px4fmu-v3:Restruture SPI Selects and DRDY
The removes the alias so it is clear what bus and port bit
    is associated with as CS or DRDY signal.

    This becomes important when varients of V2 a) use the CS on differnt
    busses or b) swap a RDY (in) for a CS (out). In both cases,
    a CS on once buss, can back feed and cause sensor reset to not be
    able to turn off the power if all the pins are not tunered
    off
2017-08-05 19:26:20 +02:00
David Sidrane d58a802eaa px4fmu-v2:Use versioning API to only change a GPIO for pixhawkmini
Pixhawk mini has reused the GPIO_SPI_CS_EXT1 signal that was associated
   with SPI4. We can not in good faith assert a CS on a bus wer are not resetting.
   So we must do this only on HW_VER_FMUV2MIN
2017-08-05 19:26:20 +02:00