mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-02 13:27:32 +08:00
[chibios] Fix i2c error handling (#2898)
* [chibios] Fix i2c hanging full autopilot for 50ms and better error handling * [airspeed] Fix ms45xx faulty readings * [board] Fix cube orange test build * [actuators] Remove actuators_ppm which is not implemented * [ppm] Fix warnings for lisa mx and lisa m * [tests] Fix test build and std.h include for TRUE/FALSE * [chibios] Update to latest paparazzi version
This commit is contained in:
@@ -24,8 +24,8 @@
|
|||||||
</module>
|
</module>
|
||||||
|
|
||||||
<module name="airspeed" type="ms45xx_i2c">
|
<module name="airspeed" type="ms45xx_i2c">
|
||||||
<define name="USE_I2C4"/>
|
<define name="USE_I2C2"/>
|
||||||
<define name="MS45XX_I2C_DEV" value="i2c4"/>
|
<define name="MS45XX_I2C_DEV" value="i2c2"/>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
<module name="scheduling_indi_simple"/>
|
<module name="scheduling_indi_simple"/>
|
||||||
|
|||||||
@@ -15,7 +15,9 @@
|
|||||||
<define name="AGR_CLIMB" />
|
<define name="AGR_CLIMB" />
|
||||||
<define name="LOITER_TRIM" />
|
<define name="LOITER_TRIM" />
|
||||||
|
|
||||||
<module name="radio_control" type="ppm"/>
|
<module name="radio_control" type="ppm">
|
||||||
|
<define name="USE_PWM6" value="FALSE"/> <!-- Disable PWM6 to enable PPM on PWM6 -->
|
||||||
|
</module>
|
||||||
|
|
||||||
<!-- Communication -->
|
<!-- Communication -->
|
||||||
<module name="telemetry" type="transparent"/>
|
<module name="telemetry" type="transparent"/>
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
<!DOCTYPE module SYSTEM "module.dtd">
|
|
||||||
|
|
||||||
<module name="actuators_ppm" dir="actuators" task="actuators">
|
|
||||||
<doc>
|
|
||||||
<description>
|
|
||||||
Actuators Driver using PPM output
|
|
||||||
|
|
||||||
This is used in the case where you want to directly drive a receiver which has a microcontroller
|
|
||||||
to do the decoding and driving of the servos (not a 4015 or 4017 decoder chip).
|
|
||||||
The PPM is output on the SERV_CLK pin. The PPM frame rate, pulse width, and number of channels
|
|
||||||
Can be adjusted in the "servos_ppm_hw.h" file to suit your particular receiver.
|
|
||||||
</description>
|
|
||||||
</doc>
|
|
||||||
<dep>
|
|
||||||
<depends>actuators</depends>
|
|
||||||
<provides>actuators</provides>
|
|
||||||
</dep>
|
|
||||||
<header>
|
|
||||||
<file name="actuators_ppm.h"/>
|
|
||||||
</header>
|
|
||||||
<makefile target="!sim">
|
|
||||||
<define name="SERVOS_PPM_MAT"/>
|
|
||||||
<file_arch name="actuators_ppm_hw.c"/>
|
|
||||||
</makefile>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
<init fun="ppm_init()"/>
|
<init fun="ppm_init()"/>
|
||||||
<event fun="ppm_event()"/>
|
<event fun="ppm_event()"/>
|
||||||
<makefile target="ap|fbw|sim|nps|hitl">
|
<makefile target="ap|fbw|sim|nps|hitl">
|
||||||
|
<define name="USE_PPM" value="TRUE"/>
|
||||||
<define name="PPM_CONFIG" value="$(PPM_CONFIG)" cond="ifdef PPM_CONFIG"/>
|
<define name="PPM_CONFIG" value="$(PPM_CONFIG)" cond="ifdef PPM_CONFIG"/>
|
||||||
<define name="RADIO_CONTROL_TYPE_PPM"/>
|
<define name="RADIO_CONTROL_TYPE_PPM"/>
|
||||||
<file name="ppm.c"/>
|
<file name="ppm.c"/>
|
||||||
|
|||||||
@@ -63,6 +63,8 @@ struct i2c_init {
|
|||||||
semaphore_t sem;
|
semaphore_t sem;
|
||||||
I2CConfig cfg;
|
I2CConfig cfg;
|
||||||
struct i2c_errors errors;
|
struct i2c_errors errors;
|
||||||
|
ioline_t line_sda;
|
||||||
|
ioline_t line_scl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -71,6 +73,44 @@ static void handle_i2c_thd(struct i2c_periph *p);
|
|||||||
// Timeout for I2C transaction
|
// Timeout for I2C transaction
|
||||||
static const systime_t tmo = TIME_US2I(10000000 / PERIODIC_FREQUENCY);
|
static const systime_t tmo = TIME_US2I(10000000 / PERIODIC_FREQUENCY);
|
||||||
|
|
||||||
|
static iomode_t palReadLineMode(ioline_t line)
|
||||||
|
{
|
||||||
|
ioportid_t port = PAL_PORT(line);
|
||||||
|
uint8_t pad = PAL_PAD(line);
|
||||||
|
iomode_t ret = 0;
|
||||||
|
ret |= (port->MODER >> (pad*2)) & 0x3;
|
||||||
|
ret |= ((port->OTYPER >> pad)&1) << 2;
|
||||||
|
ret |= ((port->OSPEEDR >> (pad*2))&3) << 3;
|
||||||
|
ret |= ((port->PUPDR >> (pad*2))&3) << 5;
|
||||||
|
if (pad < 8) {
|
||||||
|
ret |= ((port->AFRL >> (pad*4))&0xF) << 7;
|
||||||
|
} else {
|
||||||
|
ret |= ((port->AFRH >> ((pad-8)*4))&0xF) << 7;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Clear a stuck bus */
|
||||||
|
static void i2c_clear_bus(struct i2c_init *i)
|
||||||
|
{
|
||||||
|
const iomode_t mode_saved = palReadLineMode(i->line_scl);
|
||||||
|
palSetLineMode(i->line_scl, PAL_MODE_OUTPUT_PUSHPULL);
|
||||||
|
for(uint8_t j = 0; j < 20; j++) {
|
||||||
|
palToggleLine(i->line_scl);
|
||||||
|
chThdSleepMicroseconds(10);
|
||||||
|
}
|
||||||
|
palSetLineMode(i->line_scl, mode_saved);
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint8_t i2c_read_sda(struct i2c_init *i)
|
||||||
|
{
|
||||||
|
const iomode_t mode_saved = palReadLineMode(i->line_sda);
|
||||||
|
palSetLineMode(i->line_sda, PAL_MODE_INPUT);
|
||||||
|
uint8_t ret = palReadLine(i->line_sda);
|
||||||
|
palSetLineMode(i->line_sda, mode_saved);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* main thread function
|
* main thread function
|
||||||
*
|
*
|
||||||
@@ -152,8 +192,13 @@ static void handle_i2c_thd(struct i2c_periph *p)
|
|||||||
break;
|
break;
|
||||||
case MSG_TIMEOUT:
|
case MSG_TIMEOUT:
|
||||||
//if a timeout occurred before operation end
|
//if a timeout occurred before operation end
|
||||||
// mark as failed and restart
|
// mark as failed
|
||||||
t->status = I2CTransFailed;
|
t->status = I2CTransFailed;
|
||||||
|
p->errors->unexpected_event_cnt++;
|
||||||
|
// Clear the bus if kept busy
|
||||||
|
if(i2c_read_sda(i) == 0) {
|
||||||
|
i2c_clear_bus(i);
|
||||||
|
}
|
||||||
i2cStart((I2CDriver *)p->reg_addr, &i->cfg);
|
i2cStart((I2CDriver *)p->reg_addr, &i->cfg);
|
||||||
break;
|
break;
|
||||||
case MSG_RESET:
|
case MSG_RESET:
|
||||||
@@ -211,7 +256,9 @@ PRINT_CONFIG_VAR(I2C1_CLOCK_SPEED)
|
|||||||
static IN_DMA_SECTION(struct i2c_init i2c1_init_s) = {
|
static IN_DMA_SECTION(struct i2c_init i2c1_init_s) = {
|
||||||
.name = "i2c1",
|
.name = "i2c1",
|
||||||
.sem = __SEMAPHORE_DATA(i2c1_init_s.sem, 0),
|
.sem = __SEMAPHORE_DATA(i2c1_init_s.sem, 0),
|
||||||
.cfg = I2C1_CFG_DEF
|
.cfg = I2C1_CFG_DEF,
|
||||||
|
.line_sda = LINE_I2C1_SDA,
|
||||||
|
.line_scl = LINE_I2C1_SCL
|
||||||
};
|
};
|
||||||
static THD_WORKING_AREA(wa_thd_i2c1, I2C_THREAD_STACK_SIZE);
|
static THD_WORKING_AREA(wa_thd_i2c1, I2C_THREAD_STACK_SIZE);
|
||||||
|
|
||||||
@@ -240,7 +287,9 @@ PRINT_CONFIG_VAR(I2C2_CLOCK_SPEED)
|
|||||||
static IN_DMA_SECTION(struct i2c_init i2c2_init_s) = {
|
static IN_DMA_SECTION(struct i2c_init i2c2_init_s) = {
|
||||||
.name = "i2c2",
|
.name = "i2c2",
|
||||||
.sem = __SEMAPHORE_DATA(i2c2_init_s.sem, 0),
|
.sem = __SEMAPHORE_DATA(i2c2_init_s.sem, 0),
|
||||||
.cfg = I2C2_CFG_DEF
|
.cfg = I2C2_CFG_DEF,
|
||||||
|
.line_sda = LINE_I2C2_SDA,
|
||||||
|
.line_scl = LINE_I2C2_SCL
|
||||||
};
|
};
|
||||||
static THD_WORKING_AREA(wa_thd_i2c2, I2C_THREAD_STACK_SIZE);
|
static THD_WORKING_AREA(wa_thd_i2c2, I2C_THREAD_STACK_SIZE);
|
||||||
|
|
||||||
@@ -269,7 +318,9 @@ PRINT_CONFIG_VAR(I2C3_CLOCK_SPEED)
|
|||||||
static IN_DMA_SECTION(struct i2c_init i2c3_init_s) = {
|
static IN_DMA_SECTION(struct i2c_init i2c3_init_s) = {
|
||||||
.name = "i2c3",
|
.name = "i2c3",
|
||||||
.sem = __SEMAPHORE_DATA(i2c3_init_s.sem, 0),
|
.sem = __SEMAPHORE_DATA(i2c3_init_s.sem, 0),
|
||||||
.cfg = I2C3_CFG_DEF
|
.cfg = I2C3_CFG_DEF,
|
||||||
|
.line_sda = LINE_I2C3_SDA,
|
||||||
|
.line_scl = LINE_I2C3_SCL
|
||||||
};
|
};
|
||||||
static THD_WORKING_AREA(wa_thd_i2c3, I2C_THREAD_STACK_SIZE);
|
static THD_WORKING_AREA(wa_thd_i2c3, I2C_THREAD_STACK_SIZE);
|
||||||
|
|
||||||
@@ -298,7 +349,9 @@ PRINT_CONFIG_VAR(I2C4_CLOCK_SPEED)
|
|||||||
static IN_DMA_SECTION(struct i2c_init i2c4_init_s) = {
|
static IN_DMA_SECTION(struct i2c_init i2c4_init_s) = {
|
||||||
.name = "i2c4",
|
.name = "i2c4",
|
||||||
.sem = __SEMAPHORE_DATA(i2c4_init_s.sem, 0),
|
.sem = __SEMAPHORE_DATA(i2c4_init_s.sem, 0),
|
||||||
.cfg = I2C4_CFG_DEF
|
.cfg = I2C4_CFG_DEF,
|
||||||
|
.line_sda = LINE_I2C4_SDA,
|
||||||
|
.line_scl = LINE_I2C4_SCL
|
||||||
};
|
};
|
||||||
static THD_WORKING_AREA(wa_thd_i2c4, I2C_THREAD_STACK_SIZE);
|
static THD_WORKING_AREA(wa_thd_i2c4, I2C_THREAD_STACK_SIZE);
|
||||||
|
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2012 Gautier Hattenberger
|
|
||||||
*
|
|
||||||
* This file is part of paparazzi.
|
|
||||||
*
|
|
||||||
* paparazzi is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* paparazzi is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with paparazzi; see the file COPYING. If not, write to
|
|
||||||
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
||||||
* Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SERVOS_PPM_HW_H
|
|
||||||
#define SERVOS_PPM_HW_H
|
|
||||||
|
|
||||||
#define SERVOS_TICS_OF_USEC(_v) (_v)
|
|
||||||
|
|
||||||
#define ActuatorPpmSet(_i, _v) {}
|
|
||||||
#define ActuatorsPpmInit() {}
|
|
||||||
#define ActuatorsPpmCommit() {}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
@@ -201,7 +201,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -240,7 +240,8 @@
|
|||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#define STM32_I2C_USE_I2C4 FALSE
|
#define STM32_I2C_USE_I2C4 FALSE
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -189,7 +189,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -311,7 +311,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C4 FALSE
|
#define STM32_I2C_USE_I2C4 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY
|
||||||
|
|||||||
@@ -218,7 +218,8 @@
|
|||||||
#define STM32_I2C_USE_I2C2 FALSE
|
#define STM32_I2C_USE_I2C2 FALSE
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#define STM32_I2C_USE_I2C4 FALSE
|
#define STM32_I2C_USE_I2C4 FALSE
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
|
||||||
|
|||||||
@@ -121,7 +121,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C2 FALSE
|
#define STM32_I2C_USE_I2C2 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_IRQ_PRIORITY 5
|
#define STM32_I2C_I2C1_IRQ_PRIORITY 5
|
||||||
#define STM32_I2C_I2C2_IRQ_PRIORITY 5
|
#define STM32_I2C_I2C2_IRQ_PRIORITY 5
|
||||||
#define STM32_I2C_I2C1_DMA_PRIORITY 3
|
#define STM32_I2C_I2C1_DMA_PRIORITY 3
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
#ifndef CONFIG_LISA_M_COMMON_H
|
#ifndef CONFIG_LISA_M_COMMON_H
|
||||||
#define CONFIG_LISA_M_COMMON_H
|
#define CONFIG_LISA_M_COMMON_H
|
||||||
|
|
||||||
|
#include "std.h"
|
||||||
|
|
||||||
/* SPI slave mapping */
|
/* SPI slave mapping */
|
||||||
|
|
||||||
#define SPI_SELECT_SLAVE0_PORT GPIOA
|
#define SPI_SELECT_SLAVE0_PORT GPIOA
|
||||||
@@ -105,7 +107,7 @@
|
|||||||
*
|
*
|
||||||
* Default is PPM config 2, input on GPIO01 (Servo pin 6)
|
* Default is PPM config 2, input on GPIO01 (Servo pin 6)
|
||||||
*/
|
*/
|
||||||
|
#if USE_PPM
|
||||||
#ifndef PPM_CONFIG
|
#ifndef PPM_CONFIG
|
||||||
#define PPM_CONFIG 2
|
#define PPM_CONFIG 2
|
||||||
#endif
|
#endif
|
||||||
@@ -147,6 +149,7 @@
|
|||||||
#error "Unknown PPM config"
|
#error "Unknown PPM config"
|
||||||
|
|
||||||
#endif // PPM_CONFIG
|
#endif // PPM_CONFIG
|
||||||
|
#endif // USE_PPM
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ADC
|
* ADC
|
||||||
@@ -255,7 +258,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if PPM_CONFIG == 2 && USE_PWM6 == 1
|
#if (USE_PPM && PPM_CONFIG == 2) && USE_PWM6 == 1
|
||||||
#warning "You cannot USE_PWM6 and SERVO6 (or equivalent) at the same time"
|
#warning "You cannot USE_PWM6 and SERVO6 (or equivalent) at the same time"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -209,7 +209,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
#ifndef CONFIG_LISA_MX_COMMON_H
|
#ifndef CONFIG_LISA_MX_COMMON_H
|
||||||
#define CONFIG_LISA_MX_COMMON_H
|
#define CONFIG_LISA_MX_COMMON_H
|
||||||
|
|
||||||
|
#include "std.h"
|
||||||
|
|
||||||
#define BOARD_LISA_MX
|
#define BOARD_LISA_MX
|
||||||
|
|
||||||
/* Lisa/M has a 12MHz external clock and 168MHz internal. */
|
/* Lisa/M has a 12MHz external clock and 168MHz internal. */
|
||||||
@@ -218,7 +220,7 @@
|
|||||||
*
|
*
|
||||||
* Default is PPM config 2, input on GPIOA1 (Servo pin 6)
|
* Default is PPM config 2, input on GPIOA1 (Servo pin 6)
|
||||||
*/
|
*/
|
||||||
|
#if USE_PPM
|
||||||
#ifndef PPM_CONFIG
|
#ifndef PPM_CONFIG
|
||||||
#define PPM_CONFIG 2
|
#define PPM_CONFIG 2
|
||||||
#endif
|
#endif
|
||||||
@@ -260,6 +262,7 @@
|
|||||||
#error "Unknown PPM config"
|
#error "Unknown PPM config"
|
||||||
|
|
||||||
#endif // PPM_CONFIG
|
#endif // PPM_CONFIG
|
||||||
|
#endif // USE_PPM
|
||||||
|
|
||||||
/* SPI */
|
/* SPI */
|
||||||
#define SPI1_GPIO_AF GPIO_AF5
|
#define SPI1_GPIO_AF GPIO_AF5
|
||||||
@@ -424,7 +427,7 @@
|
|||||||
#define USE_PWM6 1
|
#define USE_PWM6 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if PPM_CONFIG == 2 && USE_PWM6 == 1
|
#if (USE_PPM && PPM_CONFIG == 2) && USE_PWM6 == 1
|
||||||
#warning "You cannot USE_PWM6 and SERVO6 (or equivalent) at the same time"
|
#warning "You cannot USE_PWM6 and SERVO6 (or equivalent) at the same time"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -228,7 +228,8 @@
|
|||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#define STM32_I2C_USE_I2C4 FALSE
|
#define STM32_I2C_USE_I2C4 FALSE
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
|
||||||
|
|||||||
@@ -228,7 +228,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C4 FALSE
|
#define STM32_I2C_USE_I2C4 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -201,7 +201,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -203,7 +203,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C3 FALSE
|
#define STM32_I2C_USE_I2C3 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -236,7 +236,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C4 FALSE
|
#define STM32_I2C_USE_I2C4 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -228,7 +228,8 @@
|
|||||||
#else
|
#else
|
||||||
#define STM32_I2C_USE_I2C4 FALSE
|
#define STM32_I2C_USE_I2C4 FALSE
|
||||||
#endif
|
#endif
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
#define STM32_I2C_ISR_LIMIT 6
|
||||||
|
#define STM32_I2C_BUSY_TIMEOUT 0
|
||||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
|
||||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
||||||
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
|
||||||
|
|||||||
@@ -76,8 +76,8 @@
|
|||||||
#define SRVB2 7U
|
#define SRVB2 7U
|
||||||
#define SRVB3 8U
|
#define SRVB3 8U
|
||||||
#define SRVB4 9U
|
#define SRVB4 9U
|
||||||
#define I2C2_SCL_EXTERNAL 10U
|
#define I2C2_SCL 10U
|
||||||
#define I2C2_SDA_EXTERNAL 11U
|
#define I2C2_SDA 11U
|
||||||
#define SPI2_EXTERNAL_CS 12U
|
#define SPI2_EXTERNAL_CS 12U
|
||||||
#define PB13 13U
|
#define PB13 13U
|
||||||
#define SPI2_EXTERNAL_MISO 14U
|
#define SPI2_EXTERNAL_MISO 14U
|
||||||
@@ -112,8 +112,8 @@
|
|||||||
#define UART3_RX 9U
|
#define UART3_RX 9U
|
||||||
#define LED4 10U
|
#define LED4 10U
|
||||||
#define PD11 11U
|
#define PD11 11U
|
||||||
#define I2C4_SCL_EXTERNAL 12U
|
#define I2C4_SCL 12U
|
||||||
#define I2C4_SDA_EXTERNAL 13U
|
#define I2C4_SDA 13U
|
||||||
#define PD14 14U
|
#define PD14 14U
|
||||||
#define LED1 15U
|
#define LED1 15U
|
||||||
|
|
||||||
@@ -261,8 +261,8 @@
|
|||||||
#define LINE_SRVB2 PAL_LINE(GPIOB, 7U)
|
#define LINE_SRVB2 PAL_LINE(GPIOB, 7U)
|
||||||
#define LINE_SRVB3 PAL_LINE(GPIOB, 8U)
|
#define LINE_SRVB3 PAL_LINE(GPIOB, 8U)
|
||||||
#define LINE_SRVB4 PAL_LINE(GPIOB, 9U)
|
#define LINE_SRVB4 PAL_LINE(GPIOB, 9U)
|
||||||
#define LINE_I2C2_SCL_EXTERNAL PAL_LINE(GPIOB, 10U)
|
#define LINE_I2C2_SCL PAL_LINE(GPIOB, 10U)
|
||||||
#define LINE_I2C2_SDA_EXTERNAL PAL_LINE(GPIOB, 11U)
|
#define LINE_I2C2_SDA PAL_LINE(GPIOB, 11U)
|
||||||
#define LINE_SPI2_EXTERNAL_CS PAL_LINE(GPIOB, 12U)
|
#define LINE_SPI2_EXTERNAL_CS PAL_LINE(GPIOB, 12U)
|
||||||
#define LINE_SPI2_EXTERNAL_MISO PAL_LINE(GPIOB, 14U)
|
#define LINE_SPI2_EXTERNAL_MISO PAL_LINE(GPIOB, 14U)
|
||||||
#define LINE_SPI2_EXTERNAL_MOSI PAL_LINE(GPIOB, 15U)
|
#define LINE_SPI2_EXTERNAL_MOSI PAL_LINE(GPIOB, 15U)
|
||||||
@@ -288,8 +288,8 @@
|
|||||||
#define LINE_UART3_TX PAL_LINE(GPIOD, 8U)
|
#define LINE_UART3_TX PAL_LINE(GPIOD, 8U)
|
||||||
#define LINE_UART3_RX PAL_LINE(GPIOD, 9U)
|
#define LINE_UART3_RX PAL_LINE(GPIOD, 9U)
|
||||||
#define LINE_LED4 PAL_LINE(GPIOD, 10U)
|
#define LINE_LED4 PAL_LINE(GPIOD, 10U)
|
||||||
#define LINE_I2C4_SCL_EXTERNAL PAL_LINE(GPIOD, 12U)
|
#define LINE_I2C4_SCL PAL_LINE(GPIOD, 12U)
|
||||||
#define LINE_I2C4_SDA_EXTERNAL PAL_LINE(GPIOD, 13U)
|
#define LINE_I2C4_SDA PAL_LINE(GPIOD, 13U)
|
||||||
#define LINE_LED1 PAL_LINE(GPIOD, 15U)
|
#define LINE_LED1 PAL_LINE(GPIOD, 15U)
|
||||||
|
|
||||||
#define LINE_RC1 PAL_LINE(GPIOE, 0U)
|
#define LINE_RC1 PAL_LINE(GPIOE, 0U)
|
||||||
@@ -441,8 +441,8 @@
|
|||||||
PIN_MODE_ALTERNATE(SRVB2) | \
|
PIN_MODE_ALTERNATE(SRVB2) | \
|
||||||
PIN_MODE_ALTERNATE(SRVB3) | \
|
PIN_MODE_ALTERNATE(SRVB3) | \
|
||||||
PIN_MODE_ALTERNATE(SRVB4) | \
|
PIN_MODE_ALTERNATE(SRVB4) | \
|
||||||
PIN_MODE_ALTERNATE(I2C2_SCL_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C2_SCL) | \
|
||||||
PIN_MODE_ALTERNATE(I2C2_SDA_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C2_SDA) | \
|
||||||
PIN_MODE_OUTPUT(SPI2_EXTERNAL_CS) | \
|
PIN_MODE_OUTPUT(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_MODE_INPUT(PB13) | \
|
PIN_MODE_INPUT(PB13) | \
|
||||||
PIN_MODE_ALTERNATE(SPI2_EXTERNAL_MISO) | \
|
PIN_MODE_ALTERNATE(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -458,8 +458,8 @@
|
|||||||
PIN_OTYPE_PUSHPULL(SRVB2) | \
|
PIN_OTYPE_PUSHPULL(SRVB2) | \
|
||||||
PIN_OTYPE_PUSHPULL(SRVB3) | \
|
PIN_OTYPE_PUSHPULL(SRVB3) | \
|
||||||
PIN_OTYPE_PUSHPULL(SRVB4) | \
|
PIN_OTYPE_PUSHPULL(SRVB4) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C2_SCL_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C2_SCL) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C2_SDA_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C2_SDA) | \
|
||||||
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_CS) | \
|
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_OTYPE_PUSHPULL(PB13) | \
|
PIN_OTYPE_PUSHPULL(PB13) | \
|
||||||
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_MISO) | \
|
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -475,8 +475,8 @@
|
|||||||
PIN_OSPEED_SPEED_HIGH(SRVB2) | \
|
PIN_OSPEED_SPEED_HIGH(SRVB2) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SRVB3) | \
|
PIN_OSPEED_SPEED_HIGH(SRVB3) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SRVB4) | \
|
PIN_OSPEED_SPEED_HIGH(SRVB4) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C2_SCL_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C2_SCL) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C2_SDA_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C2_SDA) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_CS) | \
|
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(PB13) | \
|
PIN_OSPEED_SPEED_VERYLOW(PB13) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_MISO) | \
|
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -492,8 +492,8 @@
|
|||||||
PIN_PUPDR_FLOATING(SRVB2) | \
|
PIN_PUPDR_FLOATING(SRVB2) | \
|
||||||
PIN_PUPDR_FLOATING(SRVB3) | \
|
PIN_PUPDR_FLOATING(SRVB3) | \
|
||||||
PIN_PUPDR_FLOATING(SRVB4) | \
|
PIN_PUPDR_FLOATING(SRVB4) | \
|
||||||
PIN_PUPDR_PULLUP(I2C2_SCL_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C2_SCL) | \
|
||||||
PIN_PUPDR_PULLUP(I2C2_SDA_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C2_SDA) | \
|
||||||
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_CS) | \
|
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_PUPDR_PULLDOWN(PB13) | \
|
PIN_PUPDR_PULLDOWN(PB13) | \
|
||||||
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_MISO) | \
|
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -509,8 +509,8 @@
|
|||||||
PIN_ODR_LEVEL_LOW(SRVB2) | \
|
PIN_ODR_LEVEL_LOW(SRVB2) | \
|
||||||
PIN_ODR_LEVEL_LOW(SRVB3) | \
|
PIN_ODR_LEVEL_LOW(SRVB3) | \
|
||||||
PIN_ODR_LEVEL_LOW(SRVB4) | \
|
PIN_ODR_LEVEL_LOW(SRVB4) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C2_SCL_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C2_SCL) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C2_SDA_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C2_SDA) | \
|
||||||
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_CS) | \
|
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_ODR_LEVEL_LOW(PB13) | \
|
PIN_ODR_LEVEL_LOW(PB13) | \
|
||||||
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_MISO) | \
|
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -527,8 +527,8 @@
|
|||||||
|
|
||||||
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(SRVB3, 2) | \
|
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(SRVB3, 2) | \
|
||||||
PIN_AFIO_AF(SRVB4, 2) | \
|
PIN_AFIO_AF(SRVB4, 2) | \
|
||||||
PIN_AFIO_AF(I2C2_SCL_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C2_SCL, 4) | \
|
||||||
PIN_AFIO_AF(I2C2_SDA_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C2_SDA, 4) | \
|
||||||
PIN_AFIO_AF(SPI2_EXTERNAL_CS, 0) | \
|
PIN_AFIO_AF(SPI2_EXTERNAL_CS, 0) | \
|
||||||
PIN_AFIO_AF(PB13, 0) | \
|
PIN_AFIO_AF(PB13, 0) | \
|
||||||
PIN_AFIO_AF(SPI2_EXTERNAL_MISO, 5) | \
|
PIN_AFIO_AF(SPI2_EXTERNAL_MISO, 5) | \
|
||||||
@@ -649,8 +649,8 @@
|
|||||||
PIN_MODE_ALTERNATE(UART3_RX) | \
|
PIN_MODE_ALTERNATE(UART3_RX) | \
|
||||||
PIN_MODE_OUTPUT(LED4) | \
|
PIN_MODE_OUTPUT(LED4) | \
|
||||||
PIN_MODE_INPUT(PD11) | \
|
PIN_MODE_INPUT(PD11) | \
|
||||||
PIN_MODE_ALTERNATE(I2C4_SCL_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C4_SCL) | \
|
||||||
PIN_MODE_ALTERNATE(I2C4_SDA_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C4_SDA) | \
|
||||||
PIN_MODE_INPUT(PD14) | \
|
PIN_MODE_INPUT(PD14) | \
|
||||||
PIN_MODE_OUTPUT(LED1))
|
PIN_MODE_OUTPUT(LED1))
|
||||||
|
|
||||||
@@ -666,8 +666,8 @@
|
|||||||
PIN_OTYPE_PUSHPULL(UART3_RX) | \
|
PIN_OTYPE_PUSHPULL(UART3_RX) | \
|
||||||
PIN_OTYPE_PUSHPULL(LED4) | \
|
PIN_OTYPE_PUSHPULL(LED4) | \
|
||||||
PIN_OTYPE_PUSHPULL(PD11) | \
|
PIN_OTYPE_PUSHPULL(PD11) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C4_SCL_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C4_SCL) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C4_SDA_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C4_SDA) | \
|
||||||
PIN_OTYPE_PUSHPULL(PD14) | \
|
PIN_OTYPE_PUSHPULL(PD14) | \
|
||||||
PIN_OTYPE_PUSHPULL(LED1))
|
PIN_OTYPE_PUSHPULL(LED1))
|
||||||
|
|
||||||
@@ -683,8 +683,8 @@
|
|||||||
PIN_OSPEED_SPEED_HIGH(UART3_RX) | \
|
PIN_OSPEED_SPEED_HIGH(UART3_RX) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(LED4) | \
|
PIN_OSPEED_SPEED_VERYLOW(LED4) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(PD11) | \
|
PIN_OSPEED_SPEED_VERYLOW(PD11) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C4_SCL_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C4_SCL) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C4_SDA_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C4_SDA) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(PD14) | \
|
PIN_OSPEED_SPEED_VERYLOW(PD14) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(LED1))
|
PIN_OSPEED_SPEED_VERYLOW(LED1))
|
||||||
|
|
||||||
@@ -700,8 +700,8 @@
|
|||||||
PIN_PUPDR_FLOATING(UART3_RX) | \
|
PIN_PUPDR_FLOATING(UART3_RX) | \
|
||||||
PIN_PUPDR_FLOATING(LED4) | \
|
PIN_PUPDR_FLOATING(LED4) | \
|
||||||
PIN_PUPDR_PULLDOWN(PD11) | \
|
PIN_PUPDR_PULLDOWN(PD11) | \
|
||||||
PIN_PUPDR_PULLUP(I2C4_SCL_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C4_SCL) | \
|
||||||
PIN_PUPDR_PULLUP(I2C4_SDA_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C4_SDA) | \
|
||||||
PIN_PUPDR_PULLDOWN(PD14) | \
|
PIN_PUPDR_PULLDOWN(PD14) | \
|
||||||
PIN_PUPDR_FLOATING(LED1))
|
PIN_PUPDR_FLOATING(LED1))
|
||||||
|
|
||||||
@@ -717,8 +717,8 @@
|
|||||||
PIN_ODR_LEVEL_HIGH(UART3_RX) | \
|
PIN_ODR_LEVEL_HIGH(UART3_RX) | \
|
||||||
PIN_ODR_LEVEL_LOW(LED4) | \
|
PIN_ODR_LEVEL_LOW(LED4) | \
|
||||||
PIN_ODR_LEVEL_LOW(PD11) | \
|
PIN_ODR_LEVEL_LOW(PD11) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C4_SCL_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C4_SCL) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C4_SDA_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C4_SDA) | \
|
||||||
PIN_ODR_LEVEL_LOW(PD14) | \
|
PIN_ODR_LEVEL_LOW(PD14) | \
|
||||||
PIN_ODR_LEVEL_LOW(LED1))
|
PIN_ODR_LEVEL_LOW(LED1))
|
||||||
|
|
||||||
@@ -735,8 +735,8 @@
|
|||||||
PIN_AFIO_AF(UART3_RX, 7) | \
|
PIN_AFIO_AF(UART3_RX, 7) | \
|
||||||
PIN_AFIO_AF(LED4, 0) | \
|
PIN_AFIO_AF(LED4, 0) | \
|
||||||
PIN_AFIO_AF(PD11, 0) | \
|
PIN_AFIO_AF(PD11, 0) | \
|
||||||
PIN_AFIO_AF(I2C4_SCL_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C4_SCL, 4) | \
|
||||||
PIN_AFIO_AF(I2C4_SDA_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C4_SDA, 4) | \
|
||||||
PIN_AFIO_AF(PD14, 0) | \
|
PIN_AFIO_AF(PD14, 0) | \
|
||||||
PIN_AFIO_AF(LED1, 0))
|
PIN_AFIO_AF(LED1, 0))
|
||||||
|
|
||||||
@@ -1483,10 +1483,10 @@
|
|||||||
#define AF_LINE_SRVB3 2U
|
#define AF_LINE_SRVB3 2U
|
||||||
#define AF_SRVB4 2U
|
#define AF_SRVB4 2U
|
||||||
#define AF_LINE_SRVB4 2U
|
#define AF_LINE_SRVB4 2U
|
||||||
#define AF_I2C2_SCL_EXTERNAL 4U
|
#define AF_I2C2_SCL 4U
|
||||||
#define AF_LINE_I2C2_SCL_EXTERNAL 4U
|
#define AF_LINE_I2C2_SCL 4U
|
||||||
#define AF_I2C2_SDA_EXTERNAL 4U
|
#define AF_I2C2_SDA 4U
|
||||||
#define AF_LINE_I2C2_SDA_EXTERNAL 4U
|
#define AF_LINE_I2C2_SDA 4U
|
||||||
#define AF_SPI2_EXTERNAL_MISO 5U
|
#define AF_SPI2_EXTERNAL_MISO 5U
|
||||||
#define AF_LINE_SPI2_EXTERNAL_MISO 5U
|
#define AF_LINE_SPI2_EXTERNAL_MISO 5U
|
||||||
#define AF_SPI2_EXTERNAL_MOSI 5U
|
#define AF_SPI2_EXTERNAL_MOSI 5U
|
||||||
@@ -1521,10 +1521,10 @@
|
|||||||
#define AF_LINE_UART3_TX 7U
|
#define AF_LINE_UART3_TX 7U
|
||||||
#define AF_UART3_RX 7U
|
#define AF_UART3_RX 7U
|
||||||
#define AF_LINE_UART3_RX 7U
|
#define AF_LINE_UART3_RX 7U
|
||||||
#define AF_I2C4_SCL_EXTERNAL 4U
|
#define AF_I2C4_SCL 4U
|
||||||
#define AF_LINE_I2C4_SCL_EXTERNAL 4U
|
#define AF_LINE_I2C4_SCL 4U
|
||||||
#define AF_I2C4_SDA_EXTERNAL 4U
|
#define AF_I2C4_SDA 4U
|
||||||
#define AF_LINE_I2C4_SDA_EXTERNAL 4U
|
#define AF_LINE_I2C4_SDA 4U
|
||||||
#define AF_RC1 8U
|
#define AF_RC1 8U
|
||||||
#define AF_LINE_RC1 8U
|
#define AF_LINE_RC1 8U
|
||||||
#define AF_SPI4_INTERNAL_CLK 5U
|
#define AF_SPI4_INTERNAL_CLK 5U
|
||||||
|
|||||||
@@ -95,8 +95,8 @@ PB06 SRVB1 PWM AF:TIM4_CH1 ()
|
|||||||
PB07 SRVB2 PWM AF:TIM4_CH2 ()
|
PB07 SRVB2 PWM AF:TIM4_CH2 ()
|
||||||
PB08 SRVB3 PWM AF:TIM4_CH3 ()
|
PB08 SRVB3 PWM AF:TIM4_CH3 ()
|
||||||
PB09 SRVB4 PWM AF:TIM4_CH4 ()
|
PB09 SRVB4 PWM AF:TIM4_CH4 ()
|
||||||
PB10 I2C2_SCL_EXTERNAL I2C AF:I2C2_SCL
|
PB10 I2C2_SCL I2C AF:I2C2_SCL #External
|
||||||
PB11 I2C2_SDA_EXTERNAL I2C AF:I2C2_SDA
|
PB11 I2C2_SDA I2C AF:I2C2_SDA #External
|
||||||
PB12 SPI2_EXTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
|
PB12 SPI2_EXTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
|
||||||
PB14 SPI2_EXTERNAL_MISO SPI AF:SPI2_MISO
|
PB14 SPI2_EXTERNAL_MISO SPI AF:SPI2_MISO
|
||||||
PB15 SPI2_EXTERNAL_MOSI SPI AF:SPI2_MOSI
|
PB15 SPI2_EXTERNAL_MOSI SPI AF:SPI2_MOSI
|
||||||
@@ -121,8 +121,8 @@ PD06 UART2_RX UART AF:USART2_RX
|
|||||||
PD08 UART3_TX UART AF:USART3_TX
|
PD08 UART3_TX UART AF:USART3_TX
|
||||||
PD09 UART3_RX UART AF:USART3_RX
|
PD09 UART3_RX UART AF:USART3_RX
|
||||||
PD10 LED4 LED
|
PD10 LED4 LED
|
||||||
PD12 I2C4_SCL_EXTERNAL I2C AF:I2C4_SCL
|
PD12 I2C4_SCL I2C AF:I2C4_SCL #External
|
||||||
PD13 I2C4_SDA_EXTERNAL I2C AF:I2C4_SDA
|
PD13 I2C4_SDA I2C AF:I2C4_SDA #External
|
||||||
PD15 LED1 LED
|
PD15 LED1 LED
|
||||||
|
|
||||||
PE00 RC1 UART AF:UART8_RX ()
|
PE00 RC1 UART AF:UART8_RX ()
|
||||||
|
|||||||
@@ -76,8 +76,8 @@
|
|||||||
#define SRVB2 7U
|
#define SRVB2 7U
|
||||||
#define SRVB3 8U
|
#define SRVB3 8U
|
||||||
#define SRVB4 9U
|
#define SRVB4 9U
|
||||||
#define I2C2_SCL_EXTERNAL 10U
|
#define I2C2_SCL 10U
|
||||||
#define I2C2_SDA_EXTERNAL 11U
|
#define I2C2_SDA 11U
|
||||||
#define SPI2_EXTERNAL_CS 12U
|
#define SPI2_EXTERNAL_CS 12U
|
||||||
#define PB13 13U
|
#define PB13 13U
|
||||||
#define SPI2_EXTERNAL_MISO 14U
|
#define SPI2_EXTERNAL_MISO 14U
|
||||||
@@ -112,8 +112,8 @@
|
|||||||
#define UART3_RX 9U
|
#define UART3_RX 9U
|
||||||
#define LED4 10U
|
#define LED4 10U
|
||||||
#define PD11 11U
|
#define PD11 11U
|
||||||
#define I2C4_SCL_EXTERNAL 12U
|
#define I2C4_SCL 12U
|
||||||
#define I2C4_SDA_EXTERNAL 13U
|
#define I2C4_SDA 13U
|
||||||
#define PD14 14U
|
#define PD14 14U
|
||||||
#define LED1 15U
|
#define LED1 15U
|
||||||
|
|
||||||
@@ -261,8 +261,8 @@
|
|||||||
#define LINE_SRVB2 PAL_LINE(GPIOB, 7U)
|
#define LINE_SRVB2 PAL_LINE(GPIOB, 7U)
|
||||||
#define LINE_SRVB3 PAL_LINE(GPIOB, 8U)
|
#define LINE_SRVB3 PAL_LINE(GPIOB, 8U)
|
||||||
#define LINE_SRVB4 PAL_LINE(GPIOB, 9U)
|
#define LINE_SRVB4 PAL_LINE(GPIOB, 9U)
|
||||||
#define LINE_I2C2_SCL_EXTERNAL PAL_LINE(GPIOB, 10U)
|
#define LINE_I2C2_SCL PAL_LINE(GPIOB, 10U)
|
||||||
#define LINE_I2C2_SDA_EXTERNAL PAL_LINE(GPIOB, 11U)
|
#define LINE_I2C2_SDA PAL_LINE(GPIOB, 11U)
|
||||||
#define LINE_SPI2_EXTERNAL_CS PAL_LINE(GPIOB, 12U)
|
#define LINE_SPI2_EXTERNAL_CS PAL_LINE(GPIOB, 12U)
|
||||||
#define LINE_SPI2_EXTERNAL_MISO PAL_LINE(GPIOB, 14U)
|
#define LINE_SPI2_EXTERNAL_MISO PAL_LINE(GPIOB, 14U)
|
||||||
#define LINE_SPI2_EXTERNAL_MOSI PAL_LINE(GPIOB, 15U)
|
#define LINE_SPI2_EXTERNAL_MOSI PAL_LINE(GPIOB, 15U)
|
||||||
@@ -288,8 +288,8 @@
|
|||||||
#define LINE_UART3_TX PAL_LINE(GPIOD, 8U)
|
#define LINE_UART3_TX PAL_LINE(GPIOD, 8U)
|
||||||
#define LINE_UART3_RX PAL_LINE(GPIOD, 9U)
|
#define LINE_UART3_RX PAL_LINE(GPIOD, 9U)
|
||||||
#define LINE_LED4 PAL_LINE(GPIOD, 10U)
|
#define LINE_LED4 PAL_LINE(GPIOD, 10U)
|
||||||
#define LINE_I2C4_SCL_EXTERNAL PAL_LINE(GPIOD, 12U)
|
#define LINE_I2C4_SCL PAL_LINE(GPIOD, 12U)
|
||||||
#define LINE_I2C4_SDA_EXTERNAL PAL_LINE(GPIOD, 13U)
|
#define LINE_I2C4_SDA PAL_LINE(GPIOD, 13U)
|
||||||
#define LINE_LED1 PAL_LINE(GPIOD, 15U)
|
#define LINE_LED1 PAL_LINE(GPIOD, 15U)
|
||||||
|
|
||||||
#define LINE_RC1 PAL_LINE(GPIOE, 0U)
|
#define LINE_RC1 PAL_LINE(GPIOE, 0U)
|
||||||
@@ -441,8 +441,8 @@
|
|||||||
PIN_MODE_ALTERNATE(SRVB2) | \
|
PIN_MODE_ALTERNATE(SRVB2) | \
|
||||||
PIN_MODE_ALTERNATE(SRVB3) | \
|
PIN_MODE_ALTERNATE(SRVB3) | \
|
||||||
PIN_MODE_ALTERNATE(SRVB4) | \
|
PIN_MODE_ALTERNATE(SRVB4) | \
|
||||||
PIN_MODE_ALTERNATE(I2C2_SCL_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C2_SCL) | \
|
||||||
PIN_MODE_ALTERNATE(I2C2_SDA_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C2_SDA) | \
|
||||||
PIN_MODE_OUTPUT(SPI2_EXTERNAL_CS) | \
|
PIN_MODE_OUTPUT(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_MODE_INPUT(PB13) | \
|
PIN_MODE_INPUT(PB13) | \
|
||||||
PIN_MODE_ALTERNATE(SPI2_EXTERNAL_MISO) | \
|
PIN_MODE_ALTERNATE(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -458,8 +458,8 @@
|
|||||||
PIN_OTYPE_PUSHPULL(SRVB2) | \
|
PIN_OTYPE_PUSHPULL(SRVB2) | \
|
||||||
PIN_OTYPE_PUSHPULL(SRVB3) | \
|
PIN_OTYPE_PUSHPULL(SRVB3) | \
|
||||||
PIN_OTYPE_PUSHPULL(SRVB4) | \
|
PIN_OTYPE_PUSHPULL(SRVB4) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C2_SCL_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C2_SCL) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C2_SDA_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C2_SDA) | \
|
||||||
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_CS) | \
|
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_OTYPE_PUSHPULL(PB13) | \
|
PIN_OTYPE_PUSHPULL(PB13) | \
|
||||||
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_MISO) | \
|
PIN_OTYPE_PUSHPULL(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -475,8 +475,8 @@
|
|||||||
PIN_OSPEED_SPEED_HIGH(SRVB2) | \
|
PIN_OSPEED_SPEED_HIGH(SRVB2) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SRVB3) | \
|
PIN_OSPEED_SPEED_HIGH(SRVB3) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SRVB4) | \
|
PIN_OSPEED_SPEED_HIGH(SRVB4) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C2_SCL_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C2_SCL) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C2_SDA_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C2_SDA) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_CS) | \
|
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(PB13) | \
|
PIN_OSPEED_SPEED_VERYLOW(PB13) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_MISO) | \
|
PIN_OSPEED_SPEED_HIGH(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -492,8 +492,8 @@
|
|||||||
PIN_PUPDR_FLOATING(SRVB2) | \
|
PIN_PUPDR_FLOATING(SRVB2) | \
|
||||||
PIN_PUPDR_FLOATING(SRVB3) | \
|
PIN_PUPDR_FLOATING(SRVB3) | \
|
||||||
PIN_PUPDR_FLOATING(SRVB4) | \
|
PIN_PUPDR_FLOATING(SRVB4) | \
|
||||||
PIN_PUPDR_PULLUP(I2C2_SCL_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C2_SCL) | \
|
||||||
PIN_PUPDR_PULLUP(I2C2_SDA_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C2_SDA) | \
|
||||||
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_CS) | \
|
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_PUPDR_PULLDOWN(PB13) | \
|
PIN_PUPDR_PULLDOWN(PB13) | \
|
||||||
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_MISO) | \
|
PIN_PUPDR_FLOATING(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -509,8 +509,8 @@
|
|||||||
PIN_ODR_LEVEL_LOW(SRVB2) | \
|
PIN_ODR_LEVEL_LOW(SRVB2) | \
|
||||||
PIN_ODR_LEVEL_LOW(SRVB3) | \
|
PIN_ODR_LEVEL_LOW(SRVB3) | \
|
||||||
PIN_ODR_LEVEL_LOW(SRVB4) | \
|
PIN_ODR_LEVEL_LOW(SRVB4) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C2_SCL_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C2_SCL) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C2_SDA_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C2_SDA) | \
|
||||||
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_CS) | \
|
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_CS) | \
|
||||||
PIN_ODR_LEVEL_LOW(PB13) | \
|
PIN_ODR_LEVEL_LOW(PB13) | \
|
||||||
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_MISO) | \
|
PIN_ODR_LEVEL_HIGH(SPI2_EXTERNAL_MISO) | \
|
||||||
@@ -527,8 +527,8 @@
|
|||||||
|
|
||||||
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(SRVB3, 2) | \
|
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(SRVB3, 2) | \
|
||||||
PIN_AFIO_AF(SRVB4, 2) | \
|
PIN_AFIO_AF(SRVB4, 2) | \
|
||||||
PIN_AFIO_AF(I2C2_SCL_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C2_SCL, 4) | \
|
||||||
PIN_AFIO_AF(I2C2_SDA_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C2_SDA, 4) | \
|
||||||
PIN_AFIO_AF(SPI2_EXTERNAL_CS, 0) | \
|
PIN_AFIO_AF(SPI2_EXTERNAL_CS, 0) | \
|
||||||
PIN_AFIO_AF(PB13, 0) | \
|
PIN_AFIO_AF(PB13, 0) | \
|
||||||
PIN_AFIO_AF(SPI2_EXTERNAL_MISO, 5) | \
|
PIN_AFIO_AF(SPI2_EXTERNAL_MISO, 5) | \
|
||||||
@@ -649,8 +649,8 @@
|
|||||||
PIN_MODE_ALTERNATE(UART3_RX) | \
|
PIN_MODE_ALTERNATE(UART3_RX) | \
|
||||||
PIN_MODE_OUTPUT(LED4) | \
|
PIN_MODE_OUTPUT(LED4) | \
|
||||||
PIN_MODE_INPUT(PD11) | \
|
PIN_MODE_INPUT(PD11) | \
|
||||||
PIN_MODE_ALTERNATE(I2C4_SCL_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C4_SCL) | \
|
||||||
PIN_MODE_ALTERNATE(I2C4_SDA_EXTERNAL) | \
|
PIN_MODE_ALTERNATE(I2C4_SDA) | \
|
||||||
PIN_MODE_INPUT(PD14) | \
|
PIN_MODE_INPUT(PD14) | \
|
||||||
PIN_MODE_OUTPUT(LED1))
|
PIN_MODE_OUTPUT(LED1))
|
||||||
|
|
||||||
@@ -666,8 +666,8 @@
|
|||||||
PIN_OTYPE_PUSHPULL(UART3_RX) | \
|
PIN_OTYPE_PUSHPULL(UART3_RX) | \
|
||||||
PIN_OTYPE_PUSHPULL(LED4) | \
|
PIN_OTYPE_PUSHPULL(LED4) | \
|
||||||
PIN_OTYPE_PUSHPULL(PD11) | \
|
PIN_OTYPE_PUSHPULL(PD11) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C4_SCL_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C4_SCL) | \
|
||||||
PIN_OTYPE_OPENDRAIN(I2C4_SDA_EXTERNAL) | \
|
PIN_OTYPE_OPENDRAIN(I2C4_SDA) | \
|
||||||
PIN_OTYPE_PUSHPULL(PD14) | \
|
PIN_OTYPE_PUSHPULL(PD14) | \
|
||||||
PIN_OTYPE_PUSHPULL(LED1))
|
PIN_OTYPE_PUSHPULL(LED1))
|
||||||
|
|
||||||
@@ -683,8 +683,8 @@
|
|||||||
PIN_OSPEED_SPEED_HIGH(UART3_RX) | \
|
PIN_OSPEED_SPEED_HIGH(UART3_RX) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(LED4) | \
|
PIN_OSPEED_SPEED_VERYLOW(LED4) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(PD11) | \
|
PIN_OSPEED_SPEED_VERYLOW(PD11) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C4_SCL_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C4_SCL) | \
|
||||||
PIN_OSPEED_SPEED_HIGH(I2C4_SDA_EXTERNAL) | \
|
PIN_OSPEED_SPEED_HIGH(I2C4_SDA) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(PD14) | \
|
PIN_OSPEED_SPEED_VERYLOW(PD14) | \
|
||||||
PIN_OSPEED_SPEED_VERYLOW(LED1))
|
PIN_OSPEED_SPEED_VERYLOW(LED1))
|
||||||
|
|
||||||
@@ -700,8 +700,8 @@
|
|||||||
PIN_PUPDR_FLOATING(UART3_RX) | \
|
PIN_PUPDR_FLOATING(UART3_RX) | \
|
||||||
PIN_PUPDR_FLOATING(LED4) | \
|
PIN_PUPDR_FLOATING(LED4) | \
|
||||||
PIN_PUPDR_PULLDOWN(PD11) | \
|
PIN_PUPDR_PULLDOWN(PD11) | \
|
||||||
PIN_PUPDR_PULLUP(I2C4_SCL_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C4_SCL) | \
|
||||||
PIN_PUPDR_PULLUP(I2C4_SDA_EXTERNAL) | \
|
PIN_PUPDR_PULLUP(I2C4_SDA) | \
|
||||||
PIN_PUPDR_PULLDOWN(PD14) | \
|
PIN_PUPDR_PULLDOWN(PD14) | \
|
||||||
PIN_PUPDR_FLOATING(LED1))
|
PIN_PUPDR_FLOATING(LED1))
|
||||||
|
|
||||||
@@ -717,8 +717,8 @@
|
|||||||
PIN_ODR_LEVEL_HIGH(UART3_RX) | \
|
PIN_ODR_LEVEL_HIGH(UART3_RX) | \
|
||||||
PIN_ODR_LEVEL_LOW(LED4) | \
|
PIN_ODR_LEVEL_LOW(LED4) | \
|
||||||
PIN_ODR_LEVEL_LOW(PD11) | \
|
PIN_ODR_LEVEL_LOW(PD11) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C4_SCL_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C4_SCL) | \
|
||||||
PIN_ODR_LEVEL_HIGH(I2C4_SDA_EXTERNAL) | \
|
PIN_ODR_LEVEL_HIGH(I2C4_SDA) | \
|
||||||
PIN_ODR_LEVEL_LOW(PD14) | \
|
PIN_ODR_LEVEL_LOW(PD14) | \
|
||||||
PIN_ODR_LEVEL_LOW(LED1))
|
PIN_ODR_LEVEL_LOW(LED1))
|
||||||
|
|
||||||
@@ -735,8 +735,8 @@
|
|||||||
PIN_AFIO_AF(UART3_RX, 7) | \
|
PIN_AFIO_AF(UART3_RX, 7) | \
|
||||||
PIN_AFIO_AF(LED4, 0) | \
|
PIN_AFIO_AF(LED4, 0) | \
|
||||||
PIN_AFIO_AF(PD11, 0) | \
|
PIN_AFIO_AF(PD11, 0) | \
|
||||||
PIN_AFIO_AF(I2C4_SCL_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C4_SCL, 4) | \
|
||||||
PIN_AFIO_AF(I2C4_SDA_EXTERNAL, 4) | \
|
PIN_AFIO_AF(I2C4_SDA, 4) | \
|
||||||
PIN_AFIO_AF(PD14, 0) | \
|
PIN_AFIO_AF(PD14, 0) | \
|
||||||
PIN_AFIO_AF(LED1, 0))
|
PIN_AFIO_AF(LED1, 0))
|
||||||
|
|
||||||
@@ -1483,10 +1483,10 @@
|
|||||||
#define AF_LINE_SRVB3 2U
|
#define AF_LINE_SRVB3 2U
|
||||||
#define AF_SRVB4 2U
|
#define AF_SRVB4 2U
|
||||||
#define AF_LINE_SRVB4 2U
|
#define AF_LINE_SRVB4 2U
|
||||||
#define AF_I2C2_SCL_EXTERNAL 4U
|
#define AF_I2C2_SCL 4U
|
||||||
#define AF_LINE_I2C2_SCL_EXTERNAL 4U
|
#define AF_LINE_I2C2_SCL 4U
|
||||||
#define AF_I2C2_SDA_EXTERNAL 4U
|
#define AF_I2C2_SDA 4U
|
||||||
#define AF_LINE_I2C2_SDA_EXTERNAL 4U
|
#define AF_LINE_I2C2_SDA 4U
|
||||||
#define AF_SPI2_EXTERNAL_MISO 5U
|
#define AF_SPI2_EXTERNAL_MISO 5U
|
||||||
#define AF_LINE_SPI2_EXTERNAL_MISO 5U
|
#define AF_LINE_SPI2_EXTERNAL_MISO 5U
|
||||||
#define AF_SPI2_EXTERNAL_MOSI 5U
|
#define AF_SPI2_EXTERNAL_MOSI 5U
|
||||||
@@ -1521,10 +1521,10 @@
|
|||||||
#define AF_LINE_UART3_TX 7U
|
#define AF_LINE_UART3_TX 7U
|
||||||
#define AF_UART3_RX 7U
|
#define AF_UART3_RX 7U
|
||||||
#define AF_LINE_UART3_RX 7U
|
#define AF_LINE_UART3_RX 7U
|
||||||
#define AF_I2C4_SCL_EXTERNAL 4U
|
#define AF_I2C4_SCL 4U
|
||||||
#define AF_LINE_I2C4_SCL_EXTERNAL 4U
|
#define AF_LINE_I2C4_SCL 4U
|
||||||
#define AF_I2C4_SDA_EXTERNAL 4U
|
#define AF_I2C4_SDA 4U
|
||||||
#define AF_LINE_I2C4_SDA_EXTERNAL 4U
|
#define AF_LINE_I2C4_SDA 4U
|
||||||
#define AF_RC1 8U
|
#define AF_RC1 8U
|
||||||
#define AF_LINE_RC1 8U
|
#define AF_LINE_RC1 8U
|
||||||
#define AF_SPI4_INTERNAL_CLK 5U
|
#define AF_SPI4_INTERNAL_CLK 5U
|
||||||
|
|||||||
@@ -95,8 +95,8 @@ PB06 SRVB1 PWM AF:TIM4_CH1 ()
|
|||||||
PB07 SRVB2 PWM AF:TIM4_CH2 ()
|
PB07 SRVB2 PWM AF:TIM4_CH2 ()
|
||||||
PB08 SRVB3 PWM AF:TIM4_CH3 ()
|
PB08 SRVB3 PWM AF:TIM4_CH3 ()
|
||||||
PB09 SRVB4 PWM AF:TIM4_CH4 ()
|
PB09 SRVB4 PWM AF:TIM4_CH4 ()
|
||||||
PB10 I2C2_SCL_EXTERNAL I2C AF:I2C2_SCL
|
PB10 I2C2_SCL I2C AF:I2C2_SCL #External
|
||||||
PB11 I2C2_SDA_EXTERNAL I2C AF:I2C2_SDA
|
PB11 I2C2_SDA I2C AF:I2C2_SDA #External
|
||||||
PB12 SPI2_EXTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
|
PB12 SPI2_EXTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
|
||||||
PB14 SPI2_EXTERNAL_MISO SPI AF:SPI2_MISO
|
PB14 SPI2_EXTERNAL_MISO SPI AF:SPI2_MISO
|
||||||
PB15 SPI2_EXTERNAL_MOSI SPI AF:SPI2_MOSI
|
PB15 SPI2_EXTERNAL_MOSI SPI AF:SPI2_MOSI
|
||||||
@@ -121,8 +121,8 @@ PD06 UART2_RX UART AF:USART2_RX
|
|||||||
PD08 UART3_TX UART AF:USART3_TX
|
PD08 UART3_TX UART AF:USART3_TX
|
||||||
PD09 UART3_RX UART AF:USART3_RX
|
PD09 UART3_RX UART AF:USART3_RX
|
||||||
PD10 LED4 LED
|
PD10 LED4 LED
|
||||||
PD12 I2C4_SCL_EXTERNAL I2C AF:I2C4_SCL
|
PD12 I2C4_SCL I2C AF:I2C4_SCL #External
|
||||||
PD13 I2C4_SDA_EXTERNAL I2C AF:I2C4_SDA
|
PD13 I2C4_SDA I2C AF:I2C4_SDA #External
|
||||||
PD15 LED1 LED
|
PD15 LED1 LED
|
||||||
|
|
||||||
PE00 RC1 UART AF:UART8_RX ()
|
PE00 RC1 UART AF:UART8_RX ()
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2012 Gautier Hattenberger
|
|
||||||
*
|
|
||||||
* This file is part of Paparazzi.
|
|
||||||
*
|
|
||||||
* Paparazzi is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* Paparazzi is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with Paparazzi; see the file COPYING. If not, write to
|
|
||||||
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
||||||
* Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ACTUATORS_PPM_H
|
|
||||||
#define ACTUATORS_PPM_H
|
|
||||||
|
|
||||||
#include "modules/actuators/servos_ppm_hw.h"
|
|
||||||
|
|
||||||
#endif /* ACTUATORS_PPM_H */
|
|
||||||
@@ -229,6 +229,18 @@ void ms45xx_i2c_event(void)
|
|||||||
/* 14bit raw pressure */
|
/* 14bit raw pressure */
|
||||||
uint16_t p_raw = 0x3FFF & (((uint16_t)(ms45xx_trans.buf[0]) << 8) | (uint16_t)(ms45xx_trans.buf[1]));
|
uint16_t p_raw = 0x3FFF & (((uint16_t)(ms45xx_trans.buf[0]) << 8) | (uint16_t)(ms45xx_trans.buf[1]));
|
||||||
|
|
||||||
|
/* 11bit raw temperature, 5 LSB bits not used */
|
||||||
|
uint16_t temp_raw = 0xFFE0 & (((uint16_t)(ms45xx_trans.buf[2]) << 8) |
|
||||||
|
(uint16_t)(ms45xx_trans.buf[3]));
|
||||||
|
temp_raw = temp_raw >> 5;
|
||||||
|
|
||||||
|
/* Reject any values that are the absolute minimum or maximums these
|
||||||
|
can happen due to gnd lifts or communication errors on the bus */
|
||||||
|
if(p_raw == 0x3FFF || p_raw == 0 || temp_raw == 0x7FF || temp_raw == 0) {
|
||||||
|
ms45xx_trans.status = I2CTransDone;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* For type Diff
|
/* For type Diff
|
||||||
* Output is proportional to the difference between Port 1 and Port 2. Output
|
* Output is proportional to the difference between Port 1 and Port 2. Output
|
||||||
* swings positive when Port 1> Port 2. Output is 50% of total counts
|
* swings positive when Port 1> Port 2. Output is 50% of total counts
|
||||||
@@ -256,10 +268,6 @@ void ms45xx_i2c_event(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 11bit raw temperature, 5 LSB bits not used */
|
|
||||||
uint16_t temp_raw = 0xFFE0 & (((uint16_t)(ms45xx_trans.buf[2]) << 8) |
|
|
||||||
(uint16_t)(ms45xx_trans.buf[3]));
|
|
||||||
temp_raw = temp_raw >> 5;
|
|
||||||
/* 0 = -50degC, 20147 = 150degC
|
/* 0 = -50degC, 20147 = 150degC
|
||||||
* ms45xx_temperature in 0.1 deg Celcius
|
* ms45xx_temperature in 0.1 deg Celcius
|
||||||
*/
|
*/
|
||||||
|
|||||||
+1
-1
Submodule sw/ext/chibios updated: b0ee54fbe8...5aa52cc1a4
@@ -1,34 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2012 Gautier Hattenberger
|
|
||||||
*
|
|
||||||
* This file is part of paparazzi.
|
|
||||||
*
|
|
||||||
* paparazzi is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* paparazzi is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with paparazzi; see the file COPYING. If not, write to
|
|
||||||
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
||||||
* Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SERVOS_PPM_HW_H
|
|
||||||
#define SERVOS_PPM_HW_H
|
|
||||||
|
|
||||||
#define SERVOS_TICS_OF_USEC(_v) (_v)
|
|
||||||
|
|
||||||
#define ActuatorPpmSet(_i, _v) {}
|
|
||||||
#define ActuatorsPpmInit() {}
|
|
||||||
#define ActuatorsPpmCommit() {}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user