1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-15 04:15:44 +03:00

Whitespace tidy

This commit is contained in:
Martin Budden 2018-01-10 16:56:54 +00:00
parent 940d85e20b
commit 3747d6742b
50 changed files with 584 additions and 583 deletions

View file

@ -455,10 +455,10 @@ static long cmsx_CopyControlRateProfile(displayPort_t *pDisplay, const void *ptr
return 0;
}
static OSD_Entry cmsx_menuCopyProfileEntries[] =
static OSD_Entry cmsx_menuCopyProfileEntries[] =
{
{ "-- COPY PROFILE --", OME_Label, NULL, NULL, 0},
{ "CPY PID PROF TO", OME_TAB, NULL, &cmsx_PidProfileTable, 0 },
{ "COPY PP", OME_Funcall, cmsx_CopyPidProfile, NULL, 0 },
{ "CPY RATE PROF TO", OME_TAB, NULL, &cmsx_ControlRateProfileTable, 0 },

View file

@ -14,7 +14,7 @@
#include "drivers/io.h"
#include "drivers/time.h"
//====================================Registers Addresses=========================================//
//====================================Registers Addresses=========================================//
#define LPS_REF_P_XL 0x08
#define LPS_REF_P_L 0x09
#define LPS_REF_P_H 0x0A
@ -134,7 +134,7 @@
#define LPS_THS_PH 0x31
#define LPS_RPDS_L 0x39
#define LPS_RPDS_H 0x3A
//=======================================Constants=============================================//
//=======================================Constants=============================================//
#define LPS22_ID 0xB1
#define LPS25_ID 0xBD
#define LPS33_ID 0xB1

View file

@ -188,7 +188,7 @@ static void hmc5883lConfigureDataReadyInterruptHandling(magDev_t* mag)
#ifdef USE_MAG_SPI_HMC5883
static void hmc5883SpiInit(busDevice_t *busdev)
{
{
IOHi(busdev->busdev_u.spi.csnPin); // Disable
IOInit(busdev->busdev_u.spi.csnPin, OWNER_COMPASS_CS, 0);

View file

@ -140,7 +140,7 @@ static void pwmWriteDshot(uint8_t index, float value)
static uint8_t loadDmaBufferDshot(uint32_t *dmaBuffer, int stride, uint16_t packet)
{
for (int i = 0; i < 16; i++) {
dmaBuffer[i * stride] = (packet & 0x8000) ? MOTOR_BIT_1 : MOTOR_BIT_0; // MSB first
dmaBuffer[i * stride] = (packet & 0x8000) ? MOTOR_BIT_1 : MOTOR_BIT_0; // MSB first
packet <<= 1;
}

View file

@ -85,7 +85,7 @@ typedef enum {
A7105_32_FILTER_TEST = 0x32,
} A7105Reg_t;
/* Register: A7105_00_MODE */
/* Register: A7105_00_MODE */
#define A7105_MODE_FECF 0x40 // [0]: FEC pass. [1]: FEC error. (FECF is read only, it is updated internally while receiving every packet.)
#define A7105_MODE_CRCF 0x20 // [0]: CRC pass. [1]: CRC error. (CRCF is read only, it is updated internally while receiving every packet.)
#define A7105_MODE_CER 0x10 // [0]: RF chip is disabled. [1]: RF chip is enabled.

File diff suppressed because it is too large Load diff

View file

@ -4,7 +4,7 @@
* @author MCD Application Team
* @version V1.0.3
* @date 13-November-2013
* @brief This file contains all the functions prototypes for the SD Card
* @brief This file contains all the functions prototypes for the SD Card
* stm324x9i_eval_sdio_sd driver firmware library.
******************************************************************************
* @attention
@ -17,14 +17,14 @@
*
* http://www.st.com/software_license_agreement_liberty_v2
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************
*/
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __SD_STDLIB_DRV
@ -43,9 +43,9 @@
typedef enum
{
/**
* @brief SDIO specific error defines
*/
/**
* @brief SDIO specific error defines
*/
SD_CMD_CRC_FAIL = (1), /*!< Command response received (but CRC check failed) */
SD_DATA_CRC_FAIL = (2), /*!< Data bock sent/received (CRC check Failed) */
SD_CMD_RSP_TIMEOUT = (3), /*!< Command response timeout */
@ -80,23 +80,23 @@ typedef enum
SD_SDIO_FUNCTION_FAILED = (32),
SD_SDIO_UNKNOWN_FUNCTION = (33),
/**
* @brief Standard error defines
*/
SD_INTERNAL_ERROR,
/**
* @brief Standard error defines
*/
SD_INTERNAL_ERROR,
SD_NOT_CONFIGURED,
SD_REQUEST_PENDING,
SD_REQUEST_NOT_APPLICABLE,
SD_INVALID_PARAMETER,
SD_UNSUPPORTED_FEATURE,
SD_UNSUPPORTED_HW,
SD_ERROR,
SD_OK = 0
SD_REQUEST_PENDING,
SD_REQUEST_NOT_APPLICABLE,
SD_INVALID_PARAMETER,
SD_UNSUPPORTED_FEATURE,
SD_UNSUPPORTED_HW,
SD_ERROR,
SD_OK = 0
} SD_Error;
/**
* @brief SDIO Transfer state
*/
/**
* @brief SDIO Transfer state
*/
typedef enum
{
SD_TRANSFER_OK = 0,
@ -104,9 +104,9 @@ typedef enum
SD_TRANSFER_ERROR
} SDTransferState;
/**
* @brief SD Card States
*/
/**
* @brief SD Card States
*/
typedef enum
{
SD_CARD_READY = ((uint32_t)0x00000001),
@ -121,9 +121,9 @@ typedef enum
}SDCardState;
/**
* @brief Card Specific Data: CSD Register
*/
/**
* @brief Card Specific Data: CSD Register
*/
typedef struct
{
__IO uint8_t CSDStruct; /*!< CSD structure */
@ -165,8 +165,8 @@ typedef struct
__IO uint8_t Reserved4; /*!< always 1*/
} SD_CSD;
/**
* @brief Card Identification Data: CID Register
/**
* @brief Card Identification Data: CID Register
*/
typedef struct
{
@ -182,8 +182,8 @@ typedef struct
__IO uint8_t Reserved2; /*!< always 1 */
} SD_CID;
/**
* @brief SD Card Status
/**
* @brief SD Card Status
*/
typedef struct
{
@ -200,8 +200,8 @@ typedef struct
} SD_CardStatus;
/**
* @brief SD Card information
/**
* @brief SD Card information
*/
typedef struct
{
@ -213,8 +213,8 @@ typedef struct
uint8_t CardType;
} SD_CardInfo;
/**
* @brief SDIO Commands Index
/**
* @brief SDIO Commands Index
*/
#define SD_CMD_GO_IDLE_STATE ((uint8_t)0)
#define SD_CMD_SEND_OP_COND ((uint8_t)1)
@ -263,9 +263,9 @@ typedef struct
#define SD_CMD_GEN_CMD ((uint8_t)56)
#define SD_CMD_NO_CMD ((uint8_t)64)
/**
/**
* @brief Following commands are SD Card Specific commands.
* SDIO_APP_CMD should be sent before sending these commands.
* SDIO_APP_CMD should be sent before sending these commands.
*/
#define SD_CMD_APP_SD_SET_BUSWIDTH ((uint8_t)6) /*!< For SD Card only */
#define SD_CMD_SD_APP_STAUS ((uint8_t)13) /*!< For SD Card only */
@ -276,9 +276,9 @@ typedef struct
#define SD_CMD_SDIO_RW_DIRECT ((uint8_t)52) /*!< For SD I/O Card only */
#define SD_CMD_SDIO_RW_EXTENDED ((uint8_t)53) /*!< For SD I/O Card only */
/**
/**
* @brief Following commands are SD Card Specific security commands.
* SDIO_APP_CMD should be sent before sending these commands.
* SDIO_APP_CMD should be sent before sending these commands.
*/
#define SD_CMD_SD_APP_GET_MKB ((uint8_t)43) /*!< For SD Card only */
#define SD_CMD_SD_APP_GET_MID ((uint8_t)44) /*!< For SD Card only */
@ -291,8 +291,8 @@ typedef struct
#define SD_CMD_SD_APP_SECURE_ERASE ((uint8_t)38) /*!< For SD Card only */
#define SD_CMD_SD_APP_CHANGE_SECURE_AREA ((uint8_t)49) /*!< For SD Card only */
#define SD_CMD_SD_APP_SECURE_WRITE_MKB ((uint8_t)48) /*!< For SD Card only */
/* Uncomment the following line to select the SDIO Data transfer mode */
/* Uncomment the following line to select the SDIO Data transfer mode */
#if !defined (SD_DMA_MODE) && !defined (SD_POLLING_MODE)
#define SD_DMA_MODE ((uint32_t)0x00000000)
/*#define SD_POLLING_MODE ((uint32_t)0x00000002)*/
@ -309,8 +309,8 @@ typedef struct
*/
#define SD_DETECT_PIN IO16_Pin_15
/**
* @brief Supported SD Memory Cards
/**
* @brief Supported SD Memory Cards
*/
#define SDIO_STD_CAPACITY_SD_CARD_V1_1 ((uint32_t)0x00000000)
#define SDIO_STD_CAPACITY_SD_CARD_V2_0 ((uint32_t)0x00000001)
@ -338,7 +338,7 @@ typedef struct
#define SD_SDIO_DMA DMA2
#define SD_SDIO_DMA_CLK RCC_AHB1Periph_DMA2
#define SD_SDIO_DMA_STREAM3 3
#define SD_SDIO_DMA_STREAM3 3
#ifdef SD_SDIO_DMA_STREAM3
#define SD_SDIO_DMA_STREAM DMA2_Stream3

View file

@ -543,5 +543,5 @@ void pidController(const pidProfile_t *pidProfile, const rollAndPitchTrims_t *an
bool crashRecoveryModeActive(void)
{
return inCrashRecoveryMode;
return inCrashRecoveryMode;
}

View file

@ -2998,7 +2998,7 @@ static void cliStatus(char *cmdline)
UNUSED(cmdline);
cliPrintLinef("System Uptime: %d seconds", millis() / 1000);
#ifdef USE_RTC_TIME
char buf[FORMATTED_DATE_TIME_BUFSIZE];
dateTime_t dt;

View file

@ -458,7 +458,7 @@ static void applyLedFixedLayers(void)
hsvColor_t previousColor = ledStripConfig()->colors[(ledGetColor(ledConfig) - 1 + LED_CONFIGURABLE_COLOR_COUNT) % LED_CONFIGURABLE_COLOR_COUNT];
if (ledGetOverlayBit(ledConfig, LED_OVERLAY_THROTTLE)) { //smooth fade with selected Aux channel of all HSV values from previousColor through color to nextColor
int centerPWM = (PWM_RANGE_MIN + PWM_RANGE_MAX) / 2;
int centerPWM = (PWM_RANGE_MIN + PWM_RANGE_MAX) / 2;
if (auxInput < centerPWM) {
color.h = scaleRange(auxInput, PWM_RANGE_MIN, centerPWM, previousColor.h, color.h);
color.s = scaleRange(auxInput, PWM_RANGE_MIN, centerPWM, previousColor.s, color.s);

View file

@ -118,7 +118,7 @@ static uint8_t runcamDeviceReceivePacket(runcamDevice_t *device, uint8_t command
if (!runcamDeviceIsResponseReceiveDone(command, data, dataPos, &isDone)) {
return 0;
}
if (isDone) {
responseDataLen = dataPos;
break;
@ -180,11 +180,11 @@ static void runcamDeviceSendPacket(runcamDevice_t *device, uint8_t command, uint
static bool runcamDeviceSendRequestAndWaitingResp(runcamDevice_t *device, uint8_t commandID, uint8_t *paramData, uint8_t paramDataLen, uint8_t *outputBuffer, uint8_t *outputBufferLen)
{
int max_retries = 1;
// here using 1000ms as timeout, because the response from 5 key simulation command need a long time about >= 600ms,
// here using 1000ms as timeout, because the response from 5 key simulation command need a long time about >= 600ms,
// so set a max value to ensure we can receive the response
int timeoutMs = 1000;
int timeoutMs = 1000;
// only the command sending on initializing step need retry logic,
// only the command sending on initializing step need retry logic,
// otherwise, the timeout of 1000 ms is enough for the response from device
if (commandID == RCDEVICE_PROTOCOL_COMMAND_GET_DEVICE_INFO) {
max_retries = 5;
@ -254,7 +254,7 @@ static void sendCtrlCommand(runcamDevice_t *device, rcsplit_ctrl_argument_e argu
// get the device info(firmware version, protocol version and features, see the
// definition of runcamDeviceInfo_t to know more)
static bool runcamDeviceGetDeviceInfo(runcamDevice_t *device, uint8_t *outputBuffer)
static bool runcamDeviceGetDeviceInfo(runcamDevice_t *device, uint8_t *outputBuffer)
{
// Send "who are you" command to device to detect the device whether is running RCSplit FW1.0 or RCSplit FW1.1
int max_retries = 2;
@ -301,7 +301,7 @@ static bool runcamDeviceGetDeviceInfo(runcamDevice_t *device, uint8_t *outputBuf
}
}
return runcamDeviceSendRequestAndWaitingResp(device, RCDEVICE_PROTOCOL_COMMAND_GET_DEVICE_INFO, NULL, 0, outputBuffer, NULL);
return runcamDeviceSendRequestAndWaitingResp(device, RCDEVICE_PROTOCOL_COMMAND_GET_DEVICE_INFO, NULL, 0, outputBuffer, NULL);
}
static bool runcamDeviceSend5KeyOSDCableConnectionEvent(runcamDevice_t *device, uint8_t operation, uint8_t *outActionID, uint8_t *outErrorCode)
@ -514,7 +514,7 @@ static bool runcamDeviceDecodeSettings(sbuf_t *buf, runcamDeviceSetting_t *outSe
case RCDP_SETTING_PARSE_WAITING_ID: {
settingIterator->id = sbufReadU8(buf);
parseStep = RCDP_SETTING_PARSE_WAITING_NAME;
}
}
break;
case RCDP_SETTING_PARSE_WAITING_NAME: {
const char *str = (const char *)sbufConstPtr(buf);
@ -522,9 +522,9 @@ static bool runcamDeviceDecodeSettings(sbuf_t *buf, runcamDeviceSetting_t *outSe
memset(settingIterator->name, 0, RCDEVICE_PROTOCOL_MAX_SETTING_NAME_LENGTH);
strncpy(settingIterator->name, str, RCDEVICE_PROTOCOL_MAX_SETTING_NAME_LENGTH);
sbufAdvance(buf, nameLen);
parseStep = RCDP_SETTING_PARSE_WAITING_VALUE;
}
}
break;
case RCDP_SETTING_PARSE_WAITING_VALUE: {
const char *str = (const char *)sbufConstPtr(buf);
@ -535,7 +535,7 @@ static bool runcamDeviceDecodeSettings(sbuf_t *buf, runcamDeviceSetting_t *outSe
parseStep = RCDP_SETTING_PARSE_WAITING_ID;
settingIterator++;
}
}
break;
}
}
@ -627,7 +627,7 @@ bool runcamDeviceGetSettings(runcamDevice_t *device, uint8_t parentSettingID, ru
if (!runcamDeviceDecodeSettings(&dataBuf, outSettingList, maxSettingItemCount)) {
return false;
}
return true;
}
@ -648,13 +648,13 @@ static bool runcamDeviceDecodeSettingDetail(sbuf_t *buf, runcamDeviceSettingDeta
outSettingDetail->stepSize = sbufReadU8(buf);
break;
case RCDEVICE_PROTOCOL_SETTINGTYPE_UINT16:
case RCDEVICE_PROTOCOL_SETTINGTYPE_INT16:
case RCDEVICE_PROTOCOL_SETTINGTYPE_INT16:
outSettingDetail->value = sbufReadU16(buf);
outSettingDetail->minValue = sbufReadU16(buf);
outSettingDetail->maxValue = sbufReadU16(buf);
outSettingDetail->stepSize = sbufReadU8(buf);
break;
case RCDEVICE_PROTOCOL_SETTINGTYPE_FLOAT:
case RCDEVICE_PROTOCOL_SETTINGTYPE_FLOAT:
outSettingDetail->value = sbufReadU32(buf);
outSettingDetail->minValue = sbufReadU32(buf);
outSettingDetail->maxValue = sbufReadU32(buf);
@ -684,7 +684,7 @@ static bool runcamDeviceDecodeSettingDetail(sbuf_t *buf, runcamDeviceSettingDeta
result = strtok(NULL, delims);
i++;
}
}
}
break;
case RCDEVICE_PROTOCOL_SETTINGTYPE_STRING: {
const char *tmp = (const char *)sbufConstPtr(buf);
@ -692,7 +692,7 @@ static bool runcamDeviceDecodeSettingDetail(sbuf_t *buf, runcamDeviceSettingDeta
sbufAdvance(buf, strlen(tmp) + 1);
outSettingDetail->maxStringSize = sbufReadU8(buf);
}
}
break;
case RCDEVICE_PROTOCOL_SETTINGTYPE_FOLDER:
break;
@ -743,7 +743,7 @@ bool runcamDeviceWriteSetting(runcamDevice_t *device, uint8_t settingID, uint8_t
}
memset(response, 0, sizeof(runcamDeviceWriteSettingResponse_t));
response->resultCode = 1; // initialize the result code to failed
response->resultCode = 1; // initialize the result code to failed
uint8_t paramsBufLen = sizeof(uint8_t) + paramDataLen;
uint8_t paramsBuf[RCDEVICE_PROTOCOL_MAX_DATA_SIZE];

View file

@ -88,9 +88,9 @@ typedef enum {
} rcdevice_5key_simulation_operation_e;
// Operation of RCDEVICE_PROTOCOL_COMMAND_5KEY_CONNECTION
typedef enum {
RCDEVICE_PROTOCOL_5KEY_CONNECTION_OPEN = 0x01,
RCDEVICE_PROTOCOL_5KEY_CONNECTION_CLOSE = 0x02
typedef enum {
RCDEVICE_PROTOCOL_5KEY_CONNECTION_OPEN = 0x01,
RCDEVICE_PROTOCOL_5KEY_CONNECTION_CLOSE = 0x02
} RCDEVICE_5key_connection_event_e;
typedef enum {

View file

@ -239,7 +239,7 @@ static void rcdevice5KeySimulationProcess(timeUs_t currentTimeUs)
needRelease = false;
} else {
rcdeviceInMenu = false;
}
}
}
}
return;

View file

@ -230,9 +230,9 @@ uint32_t rcdeviceOSDTxBytesFree(const displayPort_t *displayPort)
return INT32_MAX;
}
int rcdeviceScreenSize(const displayPort_t *displayPort)
{
return displayPort->rows * displayPort->cols;
int rcdeviceScreenSize(const displayPort_t *displayPort)
{
return displayPort->rows * displayPort->cols;
}
#endif

View file

@ -17,7 +17,7 @@
#include "platform.h"
#ifdef USE_SERIAL_RX
#if defined(USE_SPEKTRUM_REAL_RSSI) || defined(USE_SPEKTRUM_FAKE_RSSI)
#if defined(USE_SPEKTRUM_REAL_RSSI) || defined(USE_SPEKTRUM_FAKE_RSSI)
#include "config/feature.h"
#include "common/utils.h"
@ -189,5 +189,5 @@ void spektrumHandleRSSI(volatile uint8_t spekFrame[]) {
}
#endif // USE_SPEKTRUM_FAKE_RSSI
}
#endif // USE_SPEKTRUM_REAL_RSSI || USE_SPEKTRUM_FAKE_RSSI
#endif // USE_SPEKTRUM_REAL_RSSI || USE_SPEKTRUM_FAKE_RSSI
#endif // USE_SERIAL_RX

View file

@ -761,16 +761,16 @@ void vtxSAProcess(timeUs_t currentTimeUs)
// dprintf(("process: resending 0x%x\r\n", sa_outstanding));
// XXX Todo: Resend termination and possible offline transition
saResendCmd();
lastCommandSentMs = nowMs;
lastCommandSentMs = nowMs;
} else if (!saQueueEmpty()) {
// Command pending. Send it.
// dprintf(("process: sending queue\r\n"));
saSendQueue();
lastCommandSentMs = nowMs;
lastCommandSentMs = nowMs;
} else if ((nowMs - lastCommandSentMs < SMARTAUDIO_POLLING_WINDOW) && (nowMs - sa_lastTransmissionMs >= SMARTAUDIO_POLLING_INTERVAL)) {
//dprintf(("process: sending status change polling\r\n"));
saGetSettings();
saSendQueue();
//dprintf(("process: sending status change polling\r\n"));
saGetSettings();
saSendQueue();
}
}
@ -779,123 +779,123 @@ void vtxSAProcess(timeUs_t currentTimeUs)
vtxDevType_e vtxSAGetDeviceType(void)
{
return VTXDEV_SMARTAUDIO;
return VTXDEV_SMARTAUDIO;
}
bool vtxSAIsReady(void)
{
return !(saDevice.version == 0);
return !(saDevice.version == 0);
}
void vtxSASetBandAndChannel(uint8_t band, uint8_t channel)
{
if (saValidateBandAndChannel(band, channel)) {
saSetBandAndChannel(band - 1, channel - 1);
}
if (saValidateBandAndChannel(band, channel)) {
saSetBandAndChannel(band - 1, channel - 1);
}
}
void vtxSASetPowerByIndex(uint8_t index)
{
if (index == 0) {
// SmartAudio doesn't support power off.
return;
}
if (index == 0) {
// SmartAudio doesn't support power off.
return;
}
saSetPowerByIndex(index - 1);
saSetPowerByIndex(index - 1);
}
void vtxSASetPitMode(uint8_t onoff)
{
if (!(vtxSAIsReady() && (saDevice.version == 2))) {
return;
}
if (!(vtxSAIsReady() && (saDevice.version == 2))) {
return;
}
if (onoff) {
// SmartAudio can not turn pit mode on by software.
return;
}
if (onoff) {
// SmartAudio can not turn pit mode on by software.
return;
}
uint8_t newmode = SA_MODE_CLR_PITMODE;
uint8_t newmode = SA_MODE_CLR_PITMODE;
if (saDevice.mode & SA_MODE_GET_IN_RANGE_PITMODE) {
newmode |= SA_MODE_SET_IN_RANGE_PITMODE;
}
if (saDevice.mode & SA_MODE_GET_IN_RANGE_PITMODE) {
newmode |= SA_MODE_SET_IN_RANGE_PITMODE;
}
if (saDevice.mode & SA_MODE_GET_OUT_RANGE_PITMODE) {
newmode |= SA_MODE_SET_OUT_RANGE_PITMODE;
}
if (saDevice.mode & SA_MODE_GET_OUT_RANGE_PITMODE) {
newmode |= SA_MODE_SET_OUT_RANGE_PITMODE;
}
saSetMode(newmode);
saSetMode(newmode);
return;
return;
}
void vtxSASetFreq(uint16_t freq)
{
if (saValidateFreq(freq)) {
saSetMode(0); //need to be in FREE mode to set freq
saSetFreq(freq);
}
if (saValidateFreq(freq)) {
saSetMode(0); //need to be in FREE mode to set freq
saSetFreq(freq);
}
}
bool vtxSAGetBandAndChannel(uint8_t *pBand, uint8_t *pChannel)
{
if (!vtxSAIsReady()) {
return false;
}
if (!vtxSAIsReady()) {
return false;
}
// if in user-freq mode then report band as zero
*pBand = (saDevice.mode & SA_MODE_GET_FREQ_BY_FREQ) ? 0 :
(SA_DEVICE_CHVAL_TO_BAND(saDevice.channel) + 1);
*pChannel = SA_DEVICE_CHVAL_TO_CHANNEL(saDevice.channel) + 1;
return true;
// if in user-freq mode then report band as zero
*pBand = (saDevice.mode & SA_MODE_GET_FREQ_BY_FREQ) ? 0 :
(SA_DEVICE_CHVAL_TO_BAND(saDevice.channel) + 1);
*pChannel = SA_DEVICE_CHVAL_TO_CHANNEL(saDevice.channel) + 1;
return true;
}
bool vtxSAGetPowerIndex(uint8_t *pIndex)
{
if (!vtxSAIsReady()) {
return false;
}
if (!vtxSAIsReady()) {
return false;
}
*pIndex = ((saDevice.version == 1) ? saDacToPowerIndex(saDevice.power) : saDevice.power) + 1;
return true;
*pIndex = ((saDevice.version == 1) ? saDacToPowerIndex(saDevice.power) : saDevice.power) + 1;
return true;
}
bool vtxSAGetPitMode(uint8_t *pOnOff)
{
if (!(vtxSAIsReady() && (saDevice.version == 2))) {
return false;
}
if (!(vtxSAIsReady() && (saDevice.version == 2))) {
return false;
}
*pOnOff = (saDevice.mode & SA_MODE_GET_PITMODE) ? 1 : 0;
return true;
*pOnOff = (saDevice.mode & SA_MODE_GET_PITMODE) ? 1 : 0;
return true;
}
bool vtxSAGetFreq(uint16_t *pFreq)
{
if (!vtxSAIsReady()) {
return false;
}
if (!vtxSAIsReady()) {
return false;
}
// if not in user-freq mode then convert band/chan to frequency
*pFreq = (saDevice.mode & SA_MODE_GET_FREQ_BY_FREQ) ? saDevice.freq :
// if not in user-freq mode then convert band/chan to frequency
*pFreq = (saDevice.mode & SA_MODE_GET_FREQ_BY_FREQ) ? saDevice.freq :
vtx58_Bandchan2Freq(SA_DEVICE_CHVAL_TO_BAND(saDevice.channel) + 1,
SA_DEVICE_CHVAL_TO_CHANNEL(saDevice.channel) + 1);
return true;
return true;
}
static const vtxVTable_t saVTable = {
.process = vtxSAProcess,
.getDeviceType = vtxSAGetDeviceType,
.isReady = vtxSAIsReady,
.setBandAndChannel = vtxSASetBandAndChannel,
.setPowerByIndex = vtxSASetPowerByIndex,
.setPitMode = vtxSASetPitMode,
.setFrequency = vtxSASetFreq,
.getBandAndChannel = vtxSAGetBandAndChannel,
.getPowerIndex = vtxSAGetPowerIndex,
.getPitMode = vtxSAGetPitMode,
.getFrequency = vtxSAGetFreq,
.process = vtxSAProcess,
.getDeviceType = vtxSAGetDeviceType,
.isReady = vtxSAIsReady,
.setBandAndChannel = vtxSASetBandAndChannel,
.setPowerByIndex = vtxSASetPowerByIndex,
.setPitMode = vtxSASetPitMode,
.setFrequency = vtxSASetFreq,
.getBandAndChannel = vtxSAGetBandAndChannel,
.getPowerIndex = vtxSAGetPowerIndex,
.getPitMode = vtxSAGetPitMode,
.getFrequency = vtxSAGetFreq,
};
#endif // VTX_COMMON

View file

@ -333,7 +333,7 @@ rx_spi_received_e frSkyXHandlePacket(uint8_t * const packet, uint8_t * const pro
FALLTHROUGH;
// here FS code could be
case STATE_DATA:
case STATE_DATA:
if (IORead(gdoPin) && (frameReceived == false)){
uint8_t ccLen = cc2500ReadReg(CC2500_3B_RXBYTES | CC2500_READ_BURST) & 0x7F;
ccLen = cc2500ReadReg(CC2500_3B_RXBYTES | CC2500_READ_BURST) & 0x7F; // read 2 times to avoid reading errors
@ -341,7 +341,7 @@ rx_spi_received_e frSkyXHandlePacket(uint8_t * const packet, uint8_t * const pro
ccLen = 32;
}
if (ccLen) {
cc2500ReadFifo(packet, ccLen);
cc2500ReadFifo(packet, ccLen);
uint16_t lcrc= calculateCrc(&packet[3], (ccLen - 7));
if((lcrc >> 8) == packet[ccLen-4] && (lcrc&0x00FF) == packet[ccLen - 3]){ // check calculateCrc
if (packet[0] == 0x1D) {
@ -419,7 +419,7 @@ rx_spi_received_e frSkyXHandlePacket(uint8_t * const packet, uint8_t * const pro
packetTimerUs = micros();
frameReceived = true; // no need to process frame again.
}
}
}
}
}
}

View file

@ -64,7 +64,7 @@ rangefinder_t rangefinder;
#define RANGEFINDER_HARDWARE_TIMEOUT_MS 500 // Accept 500ms of non-responsive sensor, report HW failure otherwise
#define RANGEFINDER_DYNAMIC_THRESHOLD 600 //Used to determine max. usable rangefinder disatance
#define RANGEFINDER_DYNAMIC_FACTOR 75
#define RANGEFINDER_DYNAMIC_FACTOR 75
PG_REGISTER_WITH_RESET_TEMPLATE(rangefinderConfig_t, rangefinderConfig, PG_RANGEFINDER_CONFIG, 0);
@ -274,7 +274,7 @@ bool isSurfaceAltitudeValid() {
/*
* Preconditions: raw and calculated altidude > 0
* SNR lower than threshold
*/
*/
if (
rangefinder.calculatedAltitude > 0 &&
rangefinder.rawAltitude > 0 &&

View file

@ -47,7 +47,7 @@ typedef struct rangefinder_s {
int32_t rawAltitude;
int32_t calculatedAltitude;
timeMs_t lastValidResponseTimeMs;
bool snrThresholdReached;
int32_t dynamicDistanceThreshold;
int16_t snr;

View file

@ -41,14 +41,14 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM4, IO_TAG(PB8), TIM_Channel_3, TIM_USE_MOTOR, 1, GPIO_AF_2, NULL, 0}, // PWM13 - OUT5
{ TIM4, IO_TAG(PB9), TIM_Channel_4, TIM_USE_MOTOR, 1, GPIO_AF_2, NULL, 0} // PWM14 - OUT6
*/
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM | TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM | TIM_USE_LED, 0),
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM | TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM | TIM_USE_LED, 0),
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // DMA1_CH2
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 0), // DMA1_CH1
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0), // DMA2_CH3

View file

@ -100,7 +100,7 @@ void targetConfiguration(void)
featureSet((FEATURE_DYNAMIC_FILTER | FEATURE_AIRMODE | FEATURE_ANTI_GRAVITY) ^ FEATURE_RX_PARALLEL_PWM);
/* AlienWhoop PIDs based on Ole Gravy Leg (aka Matt Williamson's) PIDs
/* AlienWhoop PIDs based on Ole Gravy Leg (aka Matt Williamson's) PIDs
*/
for (uint8_t pidProfileIndex = 0; pidProfileIndex < MAX_PROFILE_COUNT; pidProfileIndex++) {
pidProfile_t *pidProfile = pidProfilesMutable(pidProfileIndex);

View file

@ -45,10 +45,10 @@
* taken to ensure functionality on both F4 and F7 (STM32F405RGT and STM32F722RET)
*/
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH3, PC8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH3, PC8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, 0, 0),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, 0, 0),
};

View file

@ -29,5 +29,5 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 0), // PWM2 - PB14 - DMA1_CH5 - TIM1_CH2N, *TIM15_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM3 - PA8 - DMA1_CH2 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0), // PWM4 - PB0 - DMA2_CH5 - TIM3_CH3, TIM1_CH2N, *TIM8_CH2N
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, 0),
};

View file

@ -38,7 +38,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // S3_OUT
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // S4_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // S1_IN/
// DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 1), // S5_OUT <--Moved to allow Parallel PWM with proper ESC
// DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 1), // S5_OUT <--Moved to allow Parallel PWM with proper ESC
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // S6_OUT
};

View file

@ -64,7 +64,7 @@ void targetBusInit(void)
i2cHardwareConfigure(i2cConfig());
i2cInit(I2CDEV_2);
bstInit(BST_DEVICE);
}
#endif

View file

@ -25,10 +25,10 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0),
DEF_TIM(TIM17, CH1N, PB7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0),
DEF_TIM(TIM17, CH1N, PB7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0),
};

View file

@ -33,7 +33,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_PPM, 0), // PPM - PA4
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0), // TRANSPONDER - PA8
#else
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0), // PWM1 - PA4 - *TIM3_CH2
@ -43,7 +43,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PPM, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0), // TRANSPONDER - PA8
#endif
};

View file

@ -31,7 +31,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 0, 1), // M4 , DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // M5 , DMA2_ST7
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0), // M6 , DMA1_ST1
DEF_TIM(TIM4, CH1, PD12, TIM_USE_LED, 0, 0), // LED_TRIP , DMA1_ST0
};

View file

@ -147,8 +147,8 @@
#define USE_I2C
#define USE_I2C_DEVICE_1
#define I2C_DEVICE (I2CDEV_1)
#define I2C1_SCL PB6
#define I2C1_SDA PB7
#define I2C1_SCL PB6
#define I2C1_SDA PB7
#define USE_BARO
#define USE_BARO_BMP280

View file

@ -26,24 +26,24 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#ifdef KISSCC
DEF_TIM(TIM1, CH2N, PB14, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0),
DEF_TIM(TIM15, CH1N, PB15, TIM_USE_MOTOR, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM16, CH1N, PA13, TIM_USE_PWM, 0),
DEF_TIM(TIM1, CH2N, PB14, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0),
DEF_TIM(TIM15, CH1N, PB15, TIM_USE_MOTOR, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM16, CH1N, PA13, TIM_USE_PWM, 0),
#else
DEF_TIM(TIM1, CH2N, PB14, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM15, CH1N, PB15, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM1, CH2N, PB14, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM15, CH1N, PB15, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM4, CH3, PA13, TIM_USE_PWM, 0), // On KISSFC TIM16 did not work, using TIM4 works
#endif
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM | TIM_USE_PPM, 0),
DEF_TIM(TIM2, CH1, PA15, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM | TIM_USE_PPM, 0),
DEF_TIM(TIM2, CH1, PA15, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PWM, 0),
};

View file

@ -29,8 +29,9 @@
#ifdef USE_TARGET_CONFIG
void targetConfiguration(void){
rxConfigMutable()->halfDuplex = true;
serialConfigMutable()->portConfigs[findSerialPortIndexByIdentifier(SERIAL_PORT_UART4)].functionMask = FUNCTION_MSP;
void targetConfiguration(void)
{
rxConfigMutable()->halfDuplex = true;
serialConfigMutable()->portConfigs[findSerialPortIndexByIdentifier(SERIAL_PORT_UART4)].functionMask = FUNCTION_MSP;
}
#endif

View file

@ -26,17 +26,17 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM9, CH1, PA2, TIM_USE_PWM | TIM_USE_PPM, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH2, PB3, TIM_USE_LED, 0, 0)
DEF_TIM(TIM9, CH1, PA2, TIM_USE_PWM | TIM_USE_PPM, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH2, PB3, TIM_USE_LED, 0, 0)
};

View file

@ -25,10 +25,10 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0),
#if defined(PLUMF4) || defined(KIWIF4V2)
// DEF_TIM(TIM4, CH1, PA0, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), //LED
//Switch LED_STRIP back to VTX.DTA, since the LED pad does not seem to be working:

View file

@ -39,6 +39,6 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 0), // PWM10 - PB14
DEF_TIM(TIM15, CH2, PB15, TIM_USE_MOTOR, 0), // PWM11 - PB15
#endif
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0),
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0),
};

View file

@ -25,17 +25,17 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM, 0, 0), // PPM IN
DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM, 0, 0), // PPM IN
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // S1_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // S2_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // S1_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // S2_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR, 0, 0), // S5
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0, 0), // S6
DEF_TIM(TIM5, CH1, PA0, TIM_USE_ANY, 0, 0), // RSSI pad
DEF_TIM(TIM5, CH3, PA2, TIM_USE_ANY, 0, 0), // TX2
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR, 0, 0), // S5
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0, 0), // S6
DEF_TIM(TIM5, CH1, PA0, TIM_USE_ANY, 0, 0), // RSSI pad
DEF_TIM(TIM5, CH3, PA2, TIM_USE_ANY, 0, 0), // TX2
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 0), // LED
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 0), // LED
};

View file

@ -31,8 +31,8 @@
#define USE_SPI_DEVICE_1
#define SPI1_SCK_PIN PA5
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define MPU6000_CS_PIN PA4
#define MPU6000_SPI_INSTANCE SPI1
@ -95,8 +95,8 @@
// *************** OSD *****************************
#define USE_SPI_DEVICE_2
#define SPI2_SCK_PIN PB13
#define SPI2_MISO_PIN PB14
#define SPI2_MOSI_PIN PB15
#define SPI2_MISO_PIN PB14
#define SPI2_MOSI_PIN PB15
#define USE_OSD
#define USE_MAX7456

View file

@ -73,9 +73,9 @@
#define USE_BARO_MS5611
#define USE_BARO_BMP085
//*********** Magnetometer / Compass *************
#define USE_MAG
#define USE_MAG_HMC5883
//*********** Magnetometer / Compass *************
#define USE_MAG
#define USE_MAG_HMC5883
// *************** SD Card **************************
#define USE_SDCARD

View file

@ -102,7 +102,7 @@
#define USE_RX_FRSKY_SPI_D
#define USE_RX_FRSKY_SPI_X
#define DEFAULT_RX_FEATURE FEATURE_RX_SPI
#define DEFAULT_RX_FEATURE FEATURE_RX_SPI
#define RX_SPI_DEFAULT_PROTOCOL RX_SPI_FRSKY_X
#define USE_RX_FRSKY_SPI_TELEMETRY

View file

@ -26,16 +26,16 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM | TIM_USE_PPM, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM | TIM_USE_PPM, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1),
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1),
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0),
};

View file

@ -87,7 +87,7 @@
#define ACC_MPU6000_ALIGN CW270_DEG
#elif defined(XRACERF4) || defined(EXUAVF4PRO)
#define GYRO_MPU6000_ALIGN CW90_DEG
#define ACC_MPU6000_ALIGN CW90_DEG
#define ACC_MPU6000_ALIGN CW90_DEG
#else
#define GYRO_MPU6000_ALIGN CW180_DEG
#define ACC_MPU6000_ALIGN CW180_DEG

View file

@ -25,7 +25,7 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM, 0),
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM, 0),
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0), // PWM1 - DMA2 CH3
DEF_TIM(TIM3, CH4, PB7, TIM_USE_MOTOR, 0), // PWM2 - DMA1 CH3
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // PMW3 - DMA2 CH5

View file

@ -26,11 +26,11 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PPM, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PPM, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
};

View file

@ -9,15 +9,15 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0),
// Main outputs 6 PWM
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0),
// Additional outputs
DEF_TIM(TIM16, CH1, PA6, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM1 , CH1N, PA7, TIM_USE_LED, 0),
DEF_TIM(TIM16, CH1, PA6, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM1 , CH1N, PA7, TIM_USE_LED, 0),
};

View file

@ -54,7 +54,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0), // PWM4 - PB11 - *TIM2_CH4, UART3_RX (AF7)
// with DSHOT DMA1-CH3 conflicts with TIM3_CH4 / ESC1.
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0),
};

View file

@ -31,5 +31,5 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, 0), // DMA1_Channel3 or DMA1_Channel6 with Remap (need remap to free SPI1_TX for Flash)
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, 0), // DMA1_Channel1 or DMA1_Channel7 with Remap (need remap, ADC1 is on DMA1_Channel1)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0),
};

View file

@ -26,19 +26,19 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM16, CH1, PB8, TIM_USE_PPM | TIM_USE_LED, 0),
DEF_TIM(TIM17, CH1, PB9, 0, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH4, PB1, 0, 0),
DEF_TIM(TIM3, CH2, PA4, 0, 0),
DEF_TIM(TIM4, CH1, PD12, TIM_USE_BEEPER, 0),
DEF_TIM(TIM4, CH2, PD13, 0, 0),
DEF_TIM(TIM4, CH3, PD14, 0, 0),
DEF_TIM(TIM4, CH4, PD15, 0, 0),
DEF_TIM(TIM2, CH2, PA1, 0, 0),
DEF_TIM(TIM2, CH3, PA2, 0, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_PPM | TIM_USE_LED, 0),
DEF_TIM(TIM17, CH1, PB9, 0, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH4, PB1, 0, 0),
DEF_TIM(TIM3, CH2, PA4, 0, 0),
DEF_TIM(TIM4, CH1, PD12, TIM_USE_BEEPER, 0),
DEF_TIM(TIM4, CH2, PD13, 0, 0),
DEF_TIM(TIM4, CH3, PD14, 0, 0),
DEF_TIM(TIM4, CH4, PD15, 0, 0),
DEF_TIM(TIM2, CH2, PA1, 0, 0),
DEF_TIM(TIM2, CH3, PA2, 0, 0),
};

View file

@ -125,7 +125,7 @@
#define USE_RESOURCE_MGMT
#define USE_SERVOS
#endif
#if (FLASH_SIZE > 128)
#define USE_CMS
#define USE_TELEMETRY_CRSF

View file

@ -172,15 +172,15 @@
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 9;
#else
/* Enable HSE Oscillator and activate PLL with HSE as source */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = PLL_M;
RCC_OscInitStruct.PLL.PLLN = PLL_N;
RCC_OscInitStruct.PLL.PLLP = PLL_P;
RCC_OscInitStruct.PLL.PLLQ = PLL_Q;
/* Enable HSE Oscillator and activate PLL with HSE as source */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = PLL_M;
RCC_OscInitStruct.PLL.PLLN = PLL_N;
RCC_OscInitStruct.PLL.PLLP = PLL_P;
RCC_OscInitStruct.PLL.PLLQ = PLL_Q;
#endif
ret = HAL_RCC_OscConfig(&RCC_OscInitStruct);

View file

@ -185,7 +185,7 @@ smartPortPayload_t *smartPortDataReceive(uint16_t c, bool *clearToSend, smartPor
} else {
if (c == FSSP_DLE) {
byteStuffing = true;
return NULL;
} else if (byteStuffing) {
c ^= FSSP_DLE_XOR;

View file

@ -209,10 +209,10 @@ bool srxlFrameFlightPackCurrent(sbuf_t *dst, timeUs_t currentTimeUs)
/*
typedef struct
{
UINT8 identifier;
UINT8 sID; // Secondary ID
UINT8 lineNumber; // Line number to display (0 = title, 1-8 for general, 254 = Refresh backlight, 255 = Erase all text on screen)
char text[13]; // 0-terminated text when < 13 chars
UINT8 identifier;
UINT8 sID; // Secondary ID
UINT8 lineNumber; // Line number to display (0 = title, 1-8 for general, 254 = Refresh backlight, 255 = Erase all text on screen)
char text[13]; // 0-terminated text when < 13 chars
} STRU_SPEKTRUM_SRXL_TEXTGEN;
*/
@ -225,7 +225,7 @@ static bool lineSent[SPEKTRUM_SRXL_DEVICE_TEXTGEN_ROWS];
#endif
//**************************************************************************
// API Running in external client task context. E.g. in the CMS task
// API Running in external client task context. E.g. in the CMS task
int spektrumTmTextGenPutChar(uint8_t col, uint8_t row, char c)
{
if (row < SPEKTRUM_SRXL_TEXTGEN_BUFFER_ROWS && col < SPEKTRUM_SRXL_TEXTGEN_BUFFER_COLS) {