Commit e0334b20 authored by thorbjoern.joerger's avatar thorbjoern.joerger

Finish 0.4.0-alpha1

parents 12ae1229 8efa6fe8
---
Language: Cpp
# BasedOnStyle: WebKit
AccessModifierOffset: -4
AlignAfterOpenBracket: true
AlignConsecutiveAssignments: false
AlignEscapedNewlinesLeft: true
AlignOperands: false
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Allman
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: true
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
IndentCaseLabels: false
IndentWidth: 2
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: Inner
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp03
TabWidth: 2
UseTab: Never
...
......@@ -4,3 +4,6 @@
[submodule "submodules/nanopb"]
path = submodules/nanopb
url = http://gitlab.syscop.de/highwind/nanopb.git
[submodule "submodules/sproto"]
path = submodules/sproto
url = http://gitlab.syscop.de/highwind/sproto.git
0.3.0
\ No newline at end of file
0.4.0
\ No newline at end of file
0.3.0
\ No newline at end of file
0.4.0
\ No newline at end of file
......@@ -49,10 +49,15 @@ Furthermore, the HAL implementation is tested using dedicated test applications
No official release created yet. However, this section shall later on give the reader a brief idea of the major changes applied to each released version.
| Release | Date | Description |
| :----: | :--------: | :-------------------------------------------------------------------------------- |
| 0.0.0 | xx.01.2016 | - First dummy change |
| | | - Second dummy change |
| Release | Date | Description |
| :-----------: | :--------: | :------------------------------------------------------------------------- |
| 0.1.0-alpha1 | 24.03.2016 | First alpha release |
| 0.1.0 | 20.06.2016 | First pre-release\ |
| | | - Last version compatible with betCOM 1.x |
| 0.2.0-alpha1 | 23.06.2016 | Pre-release\ |
| | | - First version compatible with betCOM 2.0.1-alpha2 |
| 0.3.0-alpha1 | 04.07.2016 | Pre-release\ |
| | | - First version compatible with betCOM 2.2.0-alpha1 |
......@@ -70,23 +75,20 @@ extra work than benefit.
# Statistics {#stats}
The tool [cloc] can be used to generate some statics about the current status of the source code. E.g. the following output is produced including
- `/src/hal`: all HAL files
- `/test`: all test apps
and is based on the Git commit: `da3573600a22aff65fa3408ad30b06ce240958ef`
The tool [cloc] can be used to generate some statics about the current status of the source code. E.g. the following output is produced including all own files and is based on the Git commit: `b98b86d04aad0fd7d98547983532ba95d70d3546`
<pre>
http://cloc.sourceforge.net v 1.64 T=0.11 s (200.6 files/s, 39635.6 lines/s)
cloc src/actuators src/app src/hal src/mfw src/sensors src/utils
http://cloc.sourceforge.net v 1.64 T=0.18 s (344.0 files/s, 69202.8 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C 13 630 872 1964
C/C++ Header 9 141 577 162
C 32 1324 2256 6108
C/C++ Header 31 459 1729 798
-------------------------------------------------------------------------------
SUM: 22 771 1449 2126
SUM: 63 1783 3985 6906
-------------------------------------------------------------------------------
</pre>
......
This diff is collapsed.
......@@ -2,3 +2,4 @@
/Release/
/.settings/
/.launches/
/Release__GNU/
......@@ -48,7 +48,7 @@
<link>
<name>mfw</name>
<type>2</type>
<locationURI>copy_PARENT/src/mfw</locationURI>
<locationURI>PARENT-2-PROJECT_LOC/src/mfw</locationURI>
</link>
<link>
<name>nanopb</name>
......@@ -63,15 +63,29 @@
<link>
<name>ti</name>
<type>2</type>
<locationURI>copy_PARENT/src/ti</locationURI>
<locationURI>PARENT-2-PROJECT_LOC/src/ti</locationURI>
</link>
<link>
<name>utils</name>
<type>2</type>
<locationURI>copy_PARENT/src/utils</locationURI>
<locationURI>PARENT-2-PROJECT_LOC/src/utils</locationURI>
</link>
<link>
<name>utils/sproto.c</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/submodules/sproto/sproto.c</locationURI>
</link>
<link>
<name>utils/sproto.h</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/submodules/sproto/sproto.h</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>TIVA_LIB</name>
<value>file:/C:/TI/TivaWare_C_Series-2.1.1.71</value>
</variable>
<variable>
<name>copy_PARENT</name>
<value>$%7BPARENT-3-ECLIPSE_HOME%7D/Users/thorbina/git/embmasterdude</value>
......
......@@ -11,7 +11,7 @@
#if (FC && ARM)
#error The board cannot simultaneously be on the ARM and on the plane. \
Please hoose only one.
Please choose only one.
#endif
/*! If enabled, the communication to groundstation is done through UART (RS232)
......@@ -54,7 +54,7 @@
* with groundstation), this number defines the buffer length of the serial
* protocol RX buffer. Make sure this value fits to the maximum legth of a
* protobuf message transmitted from GS to FC! */
#define MFW_GROUNDST_RX_BUF_LEN 4096
#define MFW_GROUNDST_RX_BUF_LEN 8192
/*! \brief Defines the intervall (in ms) of BetCALL messages sent down to GS.
*
......@@ -69,7 +69,11 @@
#endif /* MFW_GROUNDST_COMMUNICATION_VIA_UART_EN */
/*! In case of FC we need the pb forwarder to forwarder TAS messages to GS. */
#define MFW_PB_FORWARDER_EN 0
/*! Use software CRC instead of hardware CRC. */
#define MFW_SOFTWARE_CRC_EN 0
/* ============================================================================
* Configuration for ethernet communication to groundstation.
......@@ -78,15 +82,12 @@
/* Add configs/settings for ETH communciation here like IP address and port. */
#endif /* MFW_GROUNDST_COMMUNICATION_VIA_ETH_EN */
/* ============================================================================
* Configuration for protocol buffers.
*/
/*! Size of the output stream buffer, i.e. the buffer where nanopb writes the
* encoded protocol buffer message to. */
#define MFW_PB_OSTREAM_BUF_LEN 2000
#define MFW_PB_OSTREAM_BUF_LEN 8192
/* ============================================================================
* Configuration for actuator modules.
......@@ -108,8 +109,8 @@
(MFW_ACT_SERVO_DUDE_ELEVATOR_EN || MFW_ACT_SERVO_DUDE_RUDDER_EN || \
MFW_ACT_SERVO_DUDE_FLAP_LEFT_EN || MFW_ACT_SERVO_DUDE_FLAP_RIGHT_EN || \
MFW_ACT_SERVO_DUDE_AILERON_LEFT_EN || MFW_ACT_SERVO_DUDE_AILERON_RIGHT_EN)
/*! Checks if any actuator at all is enabled. */
#define MFW_ACT_IS_ANY_ACTUATOR_ENABLED (MFW_ACT_IS_ANY_SERVO_DUDE_ENABLED)
/* ============================================================================
* Configuration for sensor modules.
......@@ -118,15 +119,23 @@
#define MFW_SENS_TUBE_ANGLE_EN 1
#if MFW_SENS_TUBE_ANGLE_EN
/*! Defines the SPI port the tube angle sensor is connected to. */
#define MFW_SENS_TUBE_ANGLE_SPI_PORT E_HAL_SPI_PORT_0
/*! Defines the SPI port speed (Hz) for communication with tube angle sensor. */
#define MFW_SENS_TUBE_ANGLE_SPI_SPEED 3000000
#define MFW_SENS_TUBE_ANGLE_SPI_SPEED 2000000
#endif /* MFW_SENS_TUBE_ANGLE_EN */
/*! Enables/disables the MPU9250 module. */
#define MFW_SENS_MPU9250_EN 1
#if MFW_SENS_MPU9250_EN
/*! Defines the SPI port the MPU9250 is connected to. */
#define MFW_SENS_MPU9250_SPI_PORT E_HAL_SPI_PORT_0
/*! Defines the SPI port speed (Hz) for communication with MPU9250. */
#define MFW_SENS_MPU9250_SPI_SPEED 3000000
#endif /* MFW_SENS_MPU9250_EN */
/*! Enables/disables the BNO055 module. */
#define MFW_SENS_BNO055_EN 0
/*! Enables/disables the PPS module. */
#define MFW_SENS_PPS_EN 1
......@@ -134,22 +143,22 @@
#define MFW_LOOP_COUNTER_EN 1
/* ============================================================================
* IC based devices need an activated busmanager, so if one of these sensors
* I²C based devices need an activated busmanager, so if one of these sensors
* is active, you also need to enable the busmanager.
*/
#define MFW_I2C_BUSMANAGER_EN 0
#define MFW_I2C_BUSMANAGER_EN 1
#if MFW_I2C_BUSMANAGER_EN
/*! Enables/disables the SHT25 module. */
#define MFW_SENS_SHT25_EN 1
/*! Enabales disables the NCP5623 module */
#define MFW_ACT_NCP5623_EN 1
#endif
#if MFW_SENS_MPU9250_EN
/*! Defines the SPI port the MPU9250 is connected to. */
#define MFW_SENS_MPU9250_SPI_PORT E_HAL_SPI_PORT_0
/*! Defines the SPI port speed (Hz) for communication with MPU9250. */
#define MFW_SENS_MPU9250_SPI_SPEED 3000000
#endif /* MFW_SENS_MPU9250_EN */
/* ============================================================================
* Debug options
*/
#define MFW_DEBUG_REPEAT_FIRST_MESSAGE 0
#define MFW_DEBUG_ENCODE_PB_ONLY_ONCE 0
#endif /* MFW_CONFIG_H_ */
/******************************************************************************
*
* Default Linker script for the Texas Instruments TM4C129ENCPDT
*
* This is derived from revision 15071 of the TivaWare Library.
*
*****************************************************************************/
MEMORY
{
FLASH (RX) : ORIGIN = 0x00000000, LENGTH = 0x00100000
SRAM (WX) : ORIGIN = 0x20000000, LENGTH = 0x00040000
}
REGION_ALIAS("REGION_TEXT", FLASH);
REGION_ALIAS("REGION_BSS", SRAM);
REGION_ALIAS("REGION_DATA", SRAM);
REGION_ALIAS("REGION_STACK", SRAM);
REGION_ALIAS("REGION_HEAP", SRAM);
REGION_ALIAS("REGION_ARM_EXIDX", FLASH);
REGION_ALIAS("REGION_ARM_EXTAB", FLASH);
SECTIONS {
PROVIDE (_intvecs_base_address = 0x0);
.intvecs (_intvecs_base_address) : AT (_intvecs_base_address) {
KEEP (*(.intvecs))
} > REGION_TEXT
PROVIDE (_vtable_base_address = 0x20000000);
.vtable (_vtable_base_address) : AT (_vtable_base_address) {
KEEP (*(.vtable))
} > REGION_DATA
.text : {
CREATE_OBJECT_SYMBOLS
*(.text)
*(.text.*)
. = ALIGN(0x4);
KEEP (*(.ctors))
. = ALIGN(0x4);
KEEP (*(.dtors))
. = ALIGN(0x4);
__init_array_start = .;
KEEP (*(.init_array*))
__init_array_end = .;
*(.init)
*(.fini*)
} > REGION_TEXT
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
.rodata : {
*(.rodata)
*(.rodata*)
} > REGION_TEXT
.data : ALIGN (4) {
__data_load__ = LOADADDR (.data);
__data_start__ = .;
*(.data)
*(.data*)
. = ALIGN (4);
__data_end__ = .;
} > REGION_DATA AT> REGION_TEXT
.ARM.exidx : {
__exidx_start = .;
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
__exidx_end = .;
} > REGION_ARM_EXIDX
.ARM.extab : {
*(.ARM.extab* .gnu.linkonce.armextab.*)
} > REGION_ARM_EXTAB
.bss : {
__bss_start__ = .;
*(.shbss)
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN (4);
__bss_end__ = .;
} > REGION_BSS
.heap : {
__heap_start__ = .;
end = __heap_start__;
_end = end;
__end = end;
KEEP(*(.heap))
__heap_end__ = .;
__HeapLimit = __heap_end__;
} > REGION_HEAP
.stack : ALIGN(0x8) {
_stack = .;
__stack = .;
KEEP(*(.stack))
} > REGION_STACK
}
This diff is collapsed.
This diff is collapsed.
......@@ -70,6 +70,16 @@
<type>2</type>
<locationURI>PARENT-2-PROJECT_LOC/src/utils</locationURI>
</link>
<link>
<name>utils/sproto.c</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/submodules/sproto/sproto.c</locationURI>
</link>
<link>
<name>utils/sproto.h</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/submodules/sproto/sproto.h</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
......
......@@ -11,7 +11,7 @@
#if (FC && ARM)
#error The board cannot simultaneously be on the ARM and on the plane. \
Please hoose only one.
Please choose only one.
#endif
/*! If enabled, the communication to groundstation is done through UART (RS232)
......@@ -32,7 +32,6 @@
MFW_GROUNDST_COMMUNICATION_VIA_UART_EN and MFW_GROUNDST_COMMUNICATION_VIA_ETH_EN.
#endif
/* ============================================================================
* Configuration for UART communication to groundstation.
*/
......@@ -54,7 +53,7 @@
* with groundstation), this number defines the buffer length of the serial
* protocol RX buffer. Make sure this value fits to the maximum legth of a
* protobuf message transmitted from GS to FC! */
#define MFW_GROUNDST_RX_BUF_LEN 4096
#define MFW_GROUNDST_RX_BUF_LEN 8192
/*! \brief Defines the intervall (in ms) of BetCALL messages sent down to GS.
*
......@@ -69,7 +68,11 @@
#endif /* MFW_GROUNDST_COMMUNICATION_VIA_UART_EN */
/*! In case of FC we need the pb forwarder to forwarder TAS messages to GS. */
#define MFW_PB_FORWARDER_EN 1
/*! Use software CRC instead of hardware CRC. */
#define MFW_SOFTWARE_CRC_EN 0
/* ============================================================================
* Configuration for ethernet communication to groundstation.
......@@ -79,14 +82,12 @@
#endif /* MFW_GROUNDST_COMMUNICATION_VIA_ETH_EN */
/* ============================================================================
* Configuration for protocol buffers.
*/
/*! Size of the output stream buffer, i.e. the buffer where nanopb writes the
* encoded protocol buffer message to. */
#define MFW_PB_OSTREAM_BUF_LEN 2000
#define MFW_PB_OSTREAM_BUF_LEN 8192
/* ============================================================================
* Configuration for actuator modules.
......@@ -108,6 +109,8 @@
(MFW_ACT_SERVO_DUDE_ELEVATOR_EN || MFW_ACT_SERVO_DUDE_RUDDER_EN || \
MFW_ACT_SERVO_DUDE_FLAP_LEFT_EN || MFW_ACT_SERVO_DUDE_FLAP_RIGHT_EN || \
MFW_ACT_SERVO_DUDE_AILERON_LEFT_EN || MFW_ACT_SERVO_DUDE_AILERON_RIGHT_EN)
/*! Checks if any actuator at all is enabled. */
#define MFW_ACT_IS_ANY_ACTUATOR_ENABLED (MFW_ACT_IS_ANY_SERVO_DUDE_ENABLED)
/* ============================================================================
* Configuration for sensor modules.
......@@ -116,14 +119,21 @@
#define MFW_SENS_TUBE_ANGLE_EN 0
#if MFW_SENS_TUBE_ANGLE_EN
/*! Defines the SPI port the tube angle sensor is connected to. */
#define MFW_SENS_TUBE_ANGLE_SPI_PORT E_HAL_SPI_PORT_0
/*! Defines the SPI port speed (Hz) for communication with tube angle sensor. */
#define MFW_SENS_TUBE_ANGLE_SPI_SPEED 3000000
#define MFW_SENS_TUBE_ANGLE_SPI_SPEED 2000000
#endif /* MFW_SENS_TUBE_ANGLE_EN */
/*! Enables/disables the MPU9250 module. */
#define MFW_SENS_MPU9250_EN 1
#if MFW_SENS_MPU9250_EN
/*! Defines the SPI port the MPU9250 is connected to. */
#define MFW_SENS_MPU9250_SPI_PORT E_HAL_SPI_PORT_0
/*! Defines the SPI port speed (Hz) for communication with MPU9250. */
#define MFW_SENS_MPU9250_SPI_SPEED 3000000
#endif /* MFW_SENS_MPU9250_EN */
/*! Enables/disables the BNO055 module. */
#define MFW_SENS_BNO055_EN 0
/*! Enables/disables the PPS module. */
#define MFW_SENS_PPS_EN 1
......@@ -144,17 +154,10 @@
#define MFW_ACT_NCP5623_EN 1
#endif
#if MFW_SENS_MPU9250_EN
/*! Defines the SPI port the MPU9250 is connected to. */
#define MFW_SENS_MPU9250_SPI_PORT E_HAL_SPI_PORT_0
/*! Defines the SPI port speed (Hz) for communication with MPU9250. */
#define MFW_SENS_MPU9250_SPI_SPEED 3000000
#endif /* MFW_SENS_MPU9250_EN */
#if FC
/*! In case of FC we need the pb forwarder to forwarder TAS messages to GS. */
#define MFW_PB_FORWARDER_EN 1
#endif /* #if FC */
/* ============================================================================
* Debug options
*/
#define MFW_DEBUG_REPEAT_FIRST_MESSAGE 0
#define MFW_DEBUG_ENCODE_PB_ONLY_ONCE 0
#endif /* MFW_CONFIG_H_ */
......@@ -45,18 +45,17 @@ typedef enum
/* Global variables */
/* ===========================================================================*/
s_hal_i2c_ctx_t *ncp5623_i2c_ctx; /*!< I2C context for the LED controller. */
s_NCP5623_DATA_t NCP5623_data; /*!< Data known to have been written to the LED controller. */
s_NCP5623_DATA_t NCP5623_data_new; /*!< Data that should be written to the LED controller. */
uint8_t NCP5623_addr; /*!< LED controllers address. */
E_NCP5623_STATE_t NCP5623_state; /*!< State variable for the main state machine. */
E_NCP5623_LAST_t NCP5623_last; /*!< State variable for the set function state machine. */
E_NCP5623_RAINBOW_t NCP5623_rainbow_state; /*!< State variable for the rainbow state machine. */
uint32_t NCP5623_rainbow_timer; /*!< Timer for generating the rainbow. */
uint16_t NCP5623_rainbow_speed; /*!< Time delay between two steps of the rainbow function. */
uint32_t NCP5623_dimming_finished; /*!< Timer for the dimming. */
static s_NCP5623_DATA_t NCP5623_data; /*!< Data known to have been written to the LED controller. */
static s_NCP5623_DATA_t NCP5623_data_new; /*!< Data that should be written to the LED controller. */
static E_NCP5623_STATE_t NCP5623_state; /*!< State variable for the main state machine. */
static E_NCP5623_LAST_t NCP5623_last; /*!< State variable for the set function state machine. */
static E_NCP5623_RAINBOW_t NCP5623_rainbow_state; /*!< State variable for the rainbow state machine. */
static uint32_t NCP5623_rainbow_timer; /*!< Timer for generating the rainbow. */
static uint16_t NCP5623_rainbow_speed; /*!< Time delay between two steps of the rainbow function. */
static uint32_t NCP5623_dimming_finished; /*!< Timer for the dimming. */
uint8_t NCP5623_write_data[1];
s_i2c_bus_mgr_write_t NCP5623_bm_write;
static uint8_t NCP5623_write_data[1];
static s_i2c_bus_mgr_write_t NCP5623_bm_write;
/* ===========================================================================*/
/* loc_callback() */
......@@ -114,7 +113,6 @@ bool NCP5623_init()
NCP5623_bm_write.write_data = NCP5623_write_data;
NCP5623_bm_write.callback_pointer = &loc_NCP5623_cb;
NCP5623_addr = NCP5623_ADDR;
NCP5623_state = E_NCP5623_STATE_IDLE;
NCP5623_last = E_NCP5623_LAST_DIMM_TIME;
NCP5623_rainbow_state = E_NCP5623_RAINBOW_P1;
......
......@@ -2,7 +2,7 @@
* servopower.c
*
* Created on: 01.03.2016
* Author: Thorbjrn Jrger
* Author: Thorbjörn Jörger
*/
#include "servopower.h"
......
......@@ -2,7 +2,7 @@
* servopower.h
*
* Created on: 01.03.2016
* Author: Thorbjrn Jrger
* Author: Thorbjörn Jörger
*/
#ifndef POWER_SERVOPOWER_H_
......
This diff is collapsed.
......@@ -16,85 +16,84 @@
#include "BetPUSH.pb.h"
/*! Define second ID on i2c-port*/
#define SD_I2C_0_PORT_ID1 E_SERVO_DUDE_RUDDER
#define SD_I2C_0_PORT_ID1 E_SERVO_DUDE_RUDDER
/*! Define function for i2c-port-handler*/
#define I2C_RD_TURNER i2c_0
/*! Define port for rudder*/
#define SD_RUDDER_PORT E_HAL_I2C_PORT_0
#define SD_RUDDER_PORT E_HAL_I2C_PORT_0
/*! Define servodude-address for rudder*/
#define SD_RUDDER_ADDR 0x0A
#define SD_RUDDER_ADDR 0x0A
/*! Define first ID on i2c-port*/
#define SD_I2C_0_PORT_ID2 E_SERVO_DUDE_ELEVATOR
#define SD_I2C_0_PORT_ID2 E_SERVO_DUDE_ELEVATOR
/*! Define function for i2c-port-handler*/
#define I2C_EL_TURNER i2c_0
/*! Define port for elevator*/
#define SD_ELEVATOR_PORT E_HAL_I2C_PORT_0
#define SD_ELEVATOR_PORT E_HAL_I2C_PORT_0
/*! Define servodude-address for elevator*/
#define SD_ELEVATOR_ADDR 0x0B
#define SD_ELEVATOR_ADDR 0x0B
/*! Define second ID on i2c-port*/
#define SD_I2C_1_PORT_ID1 E_SERVO_DUDE_AILERON_RIGHT
#define SD_I2C_1_PORT_ID1 E_SERVO_DUDE_AILERON_RIGHT
/*! Define function for i2c-port-handler*/
#define I2C_AR_TURNER i2c_1
/*! Define port for aileron-right*/
#define SD_AILERON_RIGHT_PORT E_HAL_I2C_PORT_1
#define SD_AILERON_RIGHT_PORT E_HAL_I2C_PORT_1
/*! Define servodude-address for aileron-right*/
#define SD_AILERON_RIGHT_ADDR 0x0C
#define SD_AILERON_RIGHT_ADDR 0x0C
/*! Define second ID on i2c-port*/
#define SD_I2C_1_PORT_ID2 E_SERVO_DUDE_FLAP_RIGHT
#define SD_I2C_1_PORT_ID2 E_SERVO_DUDE_FLAP_RIGHT
/*! Define function for i2c-port-handler*/
#define I2C_FR_TURNER i2c_1
/*! Define port for flap-right*/
#define SD_FLAP_RIGHT_PORT E_HAL_I2C_PORT_1
#define SD_FLAP_RIGHT_PORT E_HAL_I2C_PORT_1
/*! Define servodude-address for flap-right*/
#define SD_FLAP_RIGHT_ADDR 0x0D
#define SD_FLAP_RIGHT_ADDR 0x0D
/*! Define first ID on i2c-port*/
#define SD_I2C_2_PORT_ID1 E_SERVO_DUDE_AILERON_LEFT
#define SD_I2C_2_PORT_ID1 E_SERVO_DUDE_AILERON_LEFT
/*! Define function for i2c-port-handler*/
#define I2C_AL_TURNER i2c_2
/*! Define port for aileron-left*/
#define SD_AILERON_LEFT_PORT E_HAL_I2C_PORT_2
#define SD_AILERON_LEFT_PORT E_HAL_I2C_PORT_2
/*! Define servodude-address for aileron-left*/
#define SD_AILERON_LEFT_ADDR 0x0E
#define SD_AILERON_LEFT_ADDR 0x0E
/*! Define first ID on i2c-port*/
#define SD_I2C_2_PORT_ID2 E_SERVO_DUDE_FLAP_LEFT
#define SD_I2C_2_PORT_ID2 E_SERVO_DUDE_FLAP_LEFT
/*! Define function for i2c-port-handler*/
#define I2C_FL_TURNER i2c_2
/*! Define port for flap-left*/
#define SD_FLAP_LEFT_PORT E_HAL_I2C_PORT_2
#define SD_FLAP_LEFT_PORT E_HAL_I2C_PORT_2
/*! Define servodude-address for flap-left*/
#define SD_FLAP_LEFT_ADDR 0x0F
#define SD_FLAP_LEFT_ADDR 0x0F
/*! Available servo-dude-ids provided and handled by the servo-dude module. */
typedef enum