David Sidrane
f7cc78bffe
px4fmu-v2:Define GPIO GPIO_VDD_USB_VALID and initalize it.
...
The LTC4417 provides a valid signal for USB. This change
configures the GIOP and provides 1) True logic macro to
read the pin and the IOCTL defines to read it from the FMU.
The macro will return true when the signal is active (low
on the LTC4417). The IOCTL will read be the actual pin state.
2017-07-17 21:02:50 -10:00
David Sidrane
4188c4d0d5
px4fmu-v5:Turn On SD card
2017-07-17 21:02:50 -10:00
David Sidrane
a09bc63747
px4fmu-v5:Use PX4_ERR in board init, spi init and sdio init
2017-07-17 21:02:50 -10:00
David Sidrane
229c5d482f
px4fmu-v5:More GPIO_VDD_3V3V_SD_CARD_EN -> GPIO_VDD_3V3_SD_CARD_EN
2017-07-17 21:02:50 -10:00
David Sidrane
46daebfb6c
px4fmu-v5:Removed a SPI 5 reeady signal from board_spi_reset
...
board_spi_reset is used to reset the internal SPI bus.
therefore GPIO_SPI5_DRDY7_EXTERNAL1 should not have been
minipulated, as it is on SPI5
2017-07-17 21:02:50 -10:00
David Sidrane
59d020fba3
px4fmu-v5:Added comment block to board_spi_reset
2017-07-17 21:02:50 -10:00
David Sidrane
85b6986079
px4fmu-v5:Fix board_peripheral_reset to use correct polarity
...
GPIO_nVDD_5V_PERIPH_EN is Active low. board_peripheral_reset
need to tune it OFF then ON
2017-07-17 21:02:50 -10:00
David Sidrane
ebc8b47fad
px4fmu-v5:Added board_on_reset api to reset PWM
2017-07-17 21:02:50 -10:00
David Sidrane
54bd0a9f2a
px4fmu-v5:Using arch agnostic gpio init
...
Define the GPIO pin list use the board_gpio_init
2017-07-17 21:02:50 -10:00
David Sidrane
044b845c40
px4fmu-v5:Match GPIO_VDD_3V3_SD_CARD_EN and polarity to FMUv5 Pin Spec RC01
...
Removed extra V GPIO_VDD_3V3[V]_SD_CARD_EN and it is active High
2017-07-17 21:02:50 -10:00
David Sidrane
82dc6de19f
px4fmu-v5:Define the BOARD_NUMBER_BRICKS for future enumeration
...
When BOARD_NUMBER_BRICKS exists it will enable multiple
power source testing and reporting.
2017-07-17 21:02:50 -10:00
David Sidrane
b9f43068af
px4fmu-v5:Define the existance of the UI PWM LED and it's polarity
...
Per https://docs.google.com/spreadsheets/d/1-n0__BYDedQrc_2NHqBenG1DNepAgnHpSGglke-QQwY/edit#gid=730959725
Usage of the PWM UI led is optional and if used it's polaity may
be set ot Active low or high.
2017-07-17 21:02:50 -10:00
David Sidrane
33cd8c7093
px4fmu-v5:Fixed comment 8 PWM
2017-07-17 21:02:50 -10:00
David Sidrane
e20d685f40
px4fmu-v5:Add Timer and Channel to comment for HEATER
2017-07-17 21:02:50 -10:00
David Sidrane
c1eac11823
px4fmu-v5:Match signals names to FMUv5 Pin Spec RC01
2017-07-17 21:02:50 -10:00
David Sidrane
5669434585
px4fmu-v5:Define ADC GPIO and Channels clearly
...
Moving forward we want all the board configs to drive the
configuration. This is just cleanup to give a clear
example of how ADC should be defined by a simple list,
based on ADC pin number as related to the GPIO and
channel number. Then the xxx_CHANNEL bit are
used to form the ADC_CHANNELS (mask). The GPIO
will are used to for a list for initalization.
2017-07-17 21:02:50 -10:00
David Sidrane
5ba02d740c
px4fmu-v5:Group SPI signals by bus
2017-07-17 21:02:50 -10:00
David Sidrane
88c1521b5e
px4fmu-v5:Status LED's are driven open drain
...
Allows Anaode of LEDs to be tied to V5 or V3.3
2017-07-17 21:02:50 -10:00
David Sidrane
68e5764dbc
board common:Add arch agnostic gpio init
2017-07-17 21:02:50 -10:00
Simone Guscetti
ada48571d7
fmu-v5: fix timer config
2017-07-17 21:02:50 -10:00
Simone Guscetti
a00441ecf4
fmu-v5 timer_config: timer io channels for FMU_CH7/8
2017-07-17 21:02:50 -10:00
Simone Guscetti
a4d8bf56cc
fmu-v5 timer_config: set up the timers for v5 board
...
FMU_CH7/8 use timer 12 ch1/2
FMU_CAP use timer 2
Buzzer use timer 9
2017-07-17 21:02:50 -10:00
Simone Guscetti
bc793d15cf
fmu-v5 board_config: add FMU_CH7 and FMU_CH8
2017-07-17 21:02:50 -10:00
Simone Guscetti
db9bef352a
fmu-v5 board_config: config SPI5 sync and reset pins
2017-07-17 21:02:50 -10:00
Simone Guscetti
1e86f24cf9
fmu-v5 board_config: set up external spi
2017-07-17 21:02:50 -10:00
Simone Guscetti
74dfa8805f
fmu-v5 board_config: power A is the brick voltage sensing
2017-07-17 21:02:50 -10:00
Simone Guscetti
518383ada8
fmu-v5: update board config to the newest pin assigment
2017-07-17 21:02:50 -10:00
Simone Guscetti
308295f648
fmu-v5: fix compiling errors
2017-07-17 21:02:50 -10:00
Simone Guscetti
30f9c61e67
fmu-v5: started updating board config to newest specs
2017-07-17 21:02:50 -10: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
Julien Lecoeur
d477b1f0f4
Fix -Werror=stringop-overflow on gcc 7
...
This prevents the compiler from optimising pdump. The error was:
Firmware/src/drivers/boards/common/board_crashdump.c:41:2: error: 'memset' writing 3240 bytes into a region of size 4 overflows the destination [-Werror=stringop-overflow=]
memset(pdump, 0, sizeof(fullcontext_s));
2017-07-18 08:24:37 +02: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
Beat Küng
620d37bc1c
fmu: remove tautology, fix pwm2cap2 mode for status
2017-07-14 11:57:11 +02:00
Beat Küng
47073e9c32
vmount: add module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
36c9400de4
gps: use ModuleBase class & add documentation
...
Note: it changes the interface slightly: instead uf -dualgps, use -e now.
This also fixes 2 bugs:
- nullptr access when doing 'gps status' with fake gps running
- close(fd) was called on an uninitialized fd when gps fake was running
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
Beat Küng
16740dd5cd
io timers: fix some typos
2017-07-14 11:57:11 +02:00
Beat Küng
eeb1895922
i2c_posix: fix simulate variable cannot be assigned on QuRT
2017-07-13 16:53:28 +02:00
Beat Küng
46a7287178
linux_pwm_out: add support for ESC calibration
2017-07-13 16:53:28 +02:00
Beat Küng
bf11362dae
i2c_posix: fix use of wrong device path
...
previously, get_devname() was used as the I2C device path, but on NuttX,
get_devname() is the device file which the driver creates. This patch
changes it, so the sematics are the same as on NuttX: both now use _bus
to decide to which I2C bus device to talk to.
I did not see any other use-cases than the led on ocpoc.
2017-07-13 16:53:28 +02:00
Beat Küng
fc4affbb5f
ocpoc_mmap_pwm_out: remove this driver, it's in linux_pwm_out now
2017-07-13 16:53:28 +02:00
Beat Küng
d17a7b46e8
linux_pwm_out: add ocpoc_mmap mode
2017-07-13 16:53:28 +02:00
Beat Küng
8527c8276f
drivers: rename rpi_pwm_out to linux_pwm_out
2017-07-13 16:53:28 +02:00
Beat Küng
5cbee15309
ocpoc_adc: make xadc_fd a local variable instead of a class member
2017-07-13 16:53:28 +02:00
Beat Küng
2cf88156a9
cmake: remove -Os from COMPILE_FLAGS in px4_add_module()
...
This is already added to the global list, and we already removed this
flag previously, but some of them sneaked back in.
2017-07-13 16:53:28 +02:00