Commit Graph
37 Commits
Author SHA1 Message Date
Julian Oes 5b9dea5604 Replacing usleep with px4_usleep
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
Daniel Agar 6e97194ce6 drivers/stm32 cleanup unnecessary Device CDev usage 2018-08-27 13:14:15 -04:00
TSC21 ca42483794 update msgs fields from camelCase to snake_case so rosidl_generate_interfaces() is able to generate code for ROS IDL files 2018-07-30 21:40:28 +02:00
mcsauder cf7dd383b1 Update ADC voltage calculation instances to avoid divide by integer. 2018-07-09 07:51:15 +02: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
David Sidrane a9bd3aeb85 Fixed typo usb_vaild -> usb_valid 2017-09-29 10:46:50 -10:00
David Sidrane d4892bf179 stm32 adc:Create board accessible API for using the ADC prior to boot
board_adc_init()    - initalise the ADC HW once.
   board_adc_sample()  - read a given channel dn
2017-09-29 10:13:51 -04:00
David Sidrane 63ac56aeb0 smt32 adc:Ensure the the ADC clock is not out of spec
The data sheet for the F4, F7 indicate a maximum of 36 Mhz
   in the 2.4-3.3 volt Soc operating range. This change sets
   the clock based on the STM32_PCLK2_FREQUENCY.
2017-09-29 10:13:51 -04:00
Daniel Agar 0da2dca8c1 drivers remove device _debug_enabled 2017-09-25 10:30:22 -04:00
David Sidrane f13682223a Added FMUv5 System Power related system_power.msg fields
voltage3V3_v - the sensor 3.3V voltage rail
   v3v3_valid   - the value of voltage3V3_v  may be 0. This
                  field is a 1 when the HW provides voltage3V3_v

   brick_valid - is now a bit mask. A 1 in the postion inticate the
                 Power controler HW has a valid supply voltage
                 present (in V window) on that priority
                 (channel V1..Vn).
                 The mapping is formed by 1<<battery_status.msg.priority
                 or using the manifest constanst BRICKn_VALID_MASK

   usb_vaild - is now indicated from the Power controler HW or
               the usb_connected if Power controler is
               not present.

   brick_valid == 0 and usb_vaild = 1 implies the FMU is powered
   from USB only

   brick_valid != 0  and usb_vaild = 1 implies the FMU is powered
   from the higest priority brick, providing a 1 bit in brick_valid
   and from USB
2017-07-17 21:02:50 -10:00
David Sidrane 4349f49610 PX4 System:Expunge the nuttx adc structure from the system
This PR is preliminary ground work for FMUv5.

   PX4 does not use the NuttX adc driver. But used the same format
   for the data returned by the nuttx ADC driver.

   There was a fixme:in src/platforms/px4_adc.h "this needs to be
   a px4_adc_msg_s type" With this PR the need for
   src/platforms/px4_adc.h goes away as the driver drv_adc.h now
   describes the px4_adc_msg_t.
2017-07-17 22:28:29 +02:00
David Sidrane 26b1e1fe0c Use HW independant overrideable defines to condition ADC V5 sensing & publishing
Use ADC_SCALED_V5_SENSE as apposed to legasy ADC_5V_RAIL_SENSE to populate
    voltage5V_v
    Then Scale the DN based on an overridable ADC_V5_V_FULL_SCALE value
2017-01-21 11:45:36 +01:00
David Sidrane ddb9bc3242 Honor micro hal 2016-12-21 08:34:20 +01:00
Julian Oes 8d491077ce adc: removed unneeded printf 2016-06-07 22:10:56 +02:00
David Sidrane 69d0a78c54 Update adc.cpp 2016-06-01 08:36:58 +02:00
David Sidrane 9833ef13fb Update adc.cpp 2016-06-01 08:36:58 +02:00
Lorenz Meier 7398164fcc Updated PX4 use / API of low level GPIO and other hardware-centric system facilities 2016-05-28 14:56:17 +02:00
Lorenz Meier 3335d32c0a ADC driver: Publish via uORB 2016-05-01 15:48:50 +02:00
Lorenz Meier c8c7c84110 Simplify ADC driver 2016-04-21 10:35:44 +02:00
Felix Hu bd580e09bf supports MindPXv2 borad which is a product from AirMind. 2016-03-30 19:45:39 +02:00
Lorenz Meier d1cf8df2ad Initialize system power struct 2016-01-19 19:26:50 +01:00
David Sidrane a67097731a Renamed pax4fmu-v3 to pax4fmu-v4 2015-11-28 09:13:15 +01:00
David Sidrane f3b7585a89 Wip FMUV3 2015-11-28 09:13:15 +01:00
Lorenz Meier 7465a649c3 STM32 driver: Fix code style 2015-09-06 12:07:10 +02:00
Mark Charlebois a589d15c52 Refactored debug() and log() in CDev
These functions used vprintf which is not available on all platforms.
They also do not enable line and file debug output.

Changed to macros that preserve the output format.  Uses new macro that
can be used to implement per object, runtime selectable logging

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-08-11 12:07:06 -07:00
ksschwabe b528e1f593 Added ADC channel definitions to the board_config.h file. This way new boards with different ADC channel sets can still use the Px4 adc.c driver. 2015-07-10 17:03:22 +02:00
Mark Charlebois 1ca05aaa64 orb_advert_t changed to void * and checks changed to nullptr
The existing orb_advert_t use thoughout the code sometimes tries
to treat it as a file descriptor and there are checks for < 0
and ::close calls on orb_advert_t types which is an invalid use
of an object pointer, which is what orb_advert_t really is.

Initially I had changed the -1 initializations to 0 but it was
suggested that this should be nullptr. That was a good recommendation
but the definition of orb_advert_t had to change to void * because
you cannot initialize a uintptr_t as nullptr.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -07:00
Mark Charlebois 9758112e31 Use px4_config.h instead of nuttx/config.h
Modified code to use OS independent header file for config settings.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:55:41 -07:00
Lorenz Meier e90f00aaf1 STM32 drivers: move to 0 based index 2015-02-09 22:56:23 +01:00
Lorenz Meier aa312f96f8 drivers: Fix compile warnings and non-standard performance counter names 2014-05-21 14:20:48 +02:00
Ash Charles e5508a1aa0 Add Gumstix AeroCore device
Based on the work of Andrew Smith [1], add board configuration and device
drivers to support the Gumstix AeroCore (previously Aerodroid) board [2]. The
AeroCore is an autopilot board based on a STM32F427 similar to the FMUv2.

[1] https://github.com/smithandrewc/Firmware
[2] https://store.gumstix.com/index.php/products/585/

Signed-off-by: Ash Charles <ashcharles@gmail.com>
2014-05-13 09:41:41 -07:00
Andrew Tridgell 6ea22c8c07 adc: publish system_power ORB topic from ADC 2014-04-05 12:11:07 +02:00
Lorenz Meier d940bdf7f6 Consistently making space for a maximum of 12 channels, 10 channels (including reference / temperature) are used / available right now 2014-03-17 17:02:10 +01:00
Andrew Tridgell bee8e27f04 adc: allow "adc test" to read 10 values 2013-08-02 12:45:50 +02:00
px4dev f5b91e109d More GPIO and general pin assignment fixes. 2013-07-10 23:50:37 -07:00
Lorenz Meier 4db739b5e1 Integration WIP with current NuttX version 2013-06-01 01:48:42 +02:00
Lorenz Meier f57439b90e Moved all drivers to new world, PX4IO completely in new world 2013-04-28 01:30:14 +02:00