[modules] start adding MCU periph modules (#1989)

Modules for MCU peripherals. Previous subsystems or direct definition in firmware makefile are kept for now, until dependencies are properly handled.
This commit is contained in:
Gautier Hattenberger
2017-01-26 22:09:55 +01:00
committed by Felix Ruess
parent b47c10fd00
commit 46bec882f3
14 changed files with 203 additions and 21 deletions
+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="adc" dir="mcu_periph" task="mcu">
<doc>
<description>
General ADC driver
To activate a specific ADC input, define flag USE_ADC_X where X is your ADC input number
</description>
</doc>
<header>
<file name="adc.h" dir="mcu_periph"/>
</header>
<makefile>
<define name="USE_ADC"/>
<file_arch name="adc_arch.c" dir="mcu_periph"/>
</makefile>
</module>
+1 -3
View File
@@ -6,6 +6,7 @@
<define name="CHIMU_BIG_ENDIAN" value="TRUE" description="For older CHIMU v1.0 you should define CHIMU_BIG_ENDIAN"/>
</doc>
<autoload name="ahrs_sim"/>
<autoload name="spi" type="slave_hs"/>
<header>
<file name="ins_module.h"/>
</header>
@@ -21,8 +22,5 @@
<file name="imu_chimu.c"/>
<file name="ahrs.c" dir="subsystems"/>
<define name="AHRS_TYPE_H" value="modules/ins/ahrs_chimu.h" type="string"/>
<raw>
include $(CFG_FIXEDWING)/spi_slave_hs.makefile
</raw>
</makefile>
</module>
+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="dac" dir="mcu_periph" task="mcu">
<doc>
<description>
General DAC driver
To activate a specific DAC input, define flag USE_DACX where X is your DAC input number
</description>
</doc>
<header>
<file name="dac.h" dir="mcu_periph"/>
</header>
<makefile>
<define name="USE_DAC"/>
<file_arch name="dac_arch.c" dir="mcu_periph"/>
</makefile>
</module>
+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="i2c" dir="mcu_periph" task="mcu">
<doc>
<description>
General I2C driver
To activate a specific I2C peripheral, define flag USE_I2CX where X is your I2C peripheral number
</description>
</doc>
<header>
<file name="i2c.h" dir="mcu_periph"/>
</header>
<makefile>
<file name="i2c.c" dir="mcu_periph"/>
<file_arch name="i2c_arch.c" dir="mcu_periph"/>
</makefile>
</module>
+27
View File
@@ -0,0 +1,27 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="mcu" dir="mcu_periph" task="mcu">
<doc>
<description>
Automatic initialization module for all MCU peripherals
Also includes GPIO and LED drivers
</description>
</doc>
<header>
<file name="mcu.h" dir="."/>
<file name="gpio.h" dir="mcu_periph"/>
<file name="led.h" dir="."/>
</header>
<makefile>
<define name="PERIPHERALS_AUTO_INIT"/>
<defina name="USE_LED"/>
<file name="mcu.c" dir="."/>
<file_arch name="mcu_arch.c" dir="."/>
<file_arch name="armVIC.c" dir="." cond="ifeq ($(ARCH), lpc21)"/>
<file_arch name="gpio_arch.c" dir="mcu_periph" cond="ifeq ($(ARCH), stm32)"/>
<file_arch name="led_arch.c" dir="." cond="ifeq ($(ARCH), stm32)"/>
<file_arch name="gpio_arch.c" dir="mcu_periph" cond="ifeq ($(ARCH), chibios)"/>
<file_arch name="gpio_ardrone.c" dir="boards/ardrone" cond="ifeq ($(BOARD), ardrone)"/>
</makefile>
</module>
+2 -1
View File
@@ -92,7 +92,8 @@ cond CDATA #IMPLIED>
<!ATTLIST flag
name CDATA #REQUIRED
value CDATA #REQUIRED>
value CDATA #REQUIRED
cond CDATA #IMPLIED>
<!ATTLIST file
name CDATA #REQUIRED
+20
View File
@@ -0,0 +1,20 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="spi_master" dir="mcu_periph" task="mcu">
<doc>
<description>
General SPI driver (master mode)
To activate a specific SPI peripheral, define flag USE_SPIX where X is your SPI peripheral number
</description>
</doc>
<header>
<file name="spi.h" dir="mcu_periph"/>
</header>
<makefile>
<define name="USE_SPI"/>
<define name="SPI_MASTER"/>
<file name="spi.c" dir="mcu_periph"/>
<file_arch name="spi_arch.c" dir="mcu_periph"/>
</makefile>
</module>
+20
View File
@@ -0,0 +1,20 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="spi_slave_hs" dir="mcu_periph" task="mcu">
<doc>
<description>
General SPI driver (high speed slave mode)
Only for fixedwing and boards based on LPC21
</description>
</doc>
<header>
<file name="spi.h" dir="mcu_periph"/>
</header>
<makefile target="!sim|nps" firmware="fixedwing">
<define name="USE_SPI"/>
<define name="SPI_SLAVE_HS"/>
<file name="spi.c" dir="mcu_periph"/>
<file_arch name="spi_slave_hs_arch.c" dir="mcu_periph"/>
</makefile>
</module>
+21
View File
@@ -0,0 +1,21 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="sys_time" dir="mcu_periph" task="mcu">
<doc>
<description>
Sys-time peripheral
</description>
<configure name="SYS_TIME_LED" value="none|num" value="LED number used for systime heartbeat or 'none' to disable"/>
</doc>
<header>
<file name="sys_time.h" dir="mcu_periph"/>
</header>
<makefile>
<configure name="SYS_TIME_LED" default="none"/>
<define name="SYS_TIME_LED" value="$(SYS_TIME_LED)" cond="ifneq ($(SYS_TIME_LED), none)"/>
<file name="sys_time.c" dir="mcu_periph"/>
<file_arch name="sys_time_arch.c" dir="mcu_periph"/>
<flag name="LDFLAGS" value="lrt" cond="ifeq ($(ARCH), linux)">
</makefile>
</module>
+23
View File
@@ -0,0 +1,23 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="uart" dir="mcu_periph" task="mcu">
<doc>
<description>
General UART driver
To activate a specific UART peripheral, define flag USE_UARTX where X is your UART peripheral number
</description>
</doc>
<header>
<file name="uart.h" dir="mcu_periph"/>
</header>
<makefile>
<file name="uart.c" dir="mcu_periph"/>
<file_arch name="uart_arch.c" dir="mcu_periph"/>
<file name="serial_port.c" dir="arch/linux" cond="ifeq ($(ARCH), linux)"/>
</makefile>
<makefile target="sim|nps">
<include name="arch/linux"/>
<file name="serial_port.c" dir="arch/linux"/>
</makefile>
</module>
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="udp" dir="mcu_periph" task="mcu">
<doc>
<description>
General UDP driver
To activate a specific UDP peripheral, define flag USE_UDPX where X is your UDP peripheral number
</description>
</doc>
<header>
<file name="udp.h" dir="mcu_periph"/>
</header>
<makefile>
<define name="USE_UDP"/>
<file name="udp.c" dir="mcu_periph"/>
<file_arch name="udp_arch.c" dir="mcu_periph"/>
<file name="udp_socket.c" dir="arch/linux" cond="ifeq ($(ARCH), linux)"/>
</makefile>
<makefile target="nps">
<include name="arch/linux"/>
<file name="udp_socket.c" dir="arch/linux"/>
</makefile>
</module>