Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 7.0.0 #9432

Merged
merged 83 commits into from
Dec 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
d186a8b
Create FLYWOOF405S_AIO
wchnflr Aug 19, 2023
56dc75b
Delete FLYWOOF405S_AIO
wchnflr Aug 19, 2023
2efa875
Create CMakeLists
wchnflr Aug 19, 2023
ac14e69
Add files via upload
wchnflr Aug 19, 2023
45b5c88
Update target.h
wchnflr Aug 19, 2023
437a805
Update target.h
wchnflr Aug 19, 2023
a19e2ba
Update target.h
wchnflr Aug 20, 2023
00bfca4
Update target.c
wchnflr Aug 21, 2023
3fe487d
Update target.c
wchnflr Aug 21, 2023
46bba40
Update target.h
wchnflr Aug 30, 2023
46d8e3c
Update target.c
wchnflr Aug 31, 2023
5f3aa7a
Update CMakeLists
wchnflr Sep 1, 2023
2d8908a
Changed TIM_USE_MC|FW_MOTOR to TIM_USE_OUTPUT_AUTO
wchnflr Sep 27, 2023
c2577e4
Put getConfigMixerProfile as the last byte in message
DzikuVx Oct 31, 2023
fdb61d3
Merge pull request #9431 from iNavFlight/fix-the-MSP2_INAV_STATUS-frame
DzikuVx Oct 31, 2023
fac64ce
Update navigation.c
breadoven Oct 31, 2023
24c24c4
Merge pull request #9435 from breadoven/abo_mc_nav_arm_safety_fix
breadoven Nov 2, 2023
52579eb
[GPS] fix GPS discovery for M6 and earlier
stronnag Nov 5, 2023
d135f3e
[GPS] update discovery fix for M7N as well
stronnag Nov 5, 2023
4f3b888
ATOMRCF405NAVI_DELUX first take
DzikuVx Nov 5, 2023
9dd85e2
Merge pull request #9446 from iNavFlight/jh_fix_Neo6N_recognition
DzikuVx Nov 5, 2023
50930ee
Add DPS310 and SPL06 to FLYWOOF745 target
mmosca Nov 6, 2023
f4003ae
Merge pull request #9448 from iNavFlight/mmosca-flywoo-add-baro-flywo…
mmosca Nov 6, 2023
9783a7b
Remove PPM entry with conflicting timer.
mmosca Nov 6, 2023
1f59708
cleanup
mmosca Nov 6, 2023
3ef172d
Various PWM output changes. Mainly to get rid of potential conflicts …
DzikuVx Nov 6, 2023
5cee2d4
Merge remote-tracking branch 'origin/release_7.0.0' into dzikuvx-vari…
DzikuVx Nov 6, 2023
a47afe2
Show system message when linear descent begins
MrD-RC Nov 6, 2023
62d78ae
Bug fix
MrD-RC Nov 7, 2023
c6d1573
change to ANYFCF7
DzikuVx Nov 7, 2023
168906c
Merge pull request #9452 from iNavFlight/dzikuvx-various-output-fixes
DzikuVx Nov 7, 2023
5cab1b1
Change the SPI of Mamba H743
DzikuVx Nov 8, 2023
a54849b
Merge pull request #9453 from iNavFlight/MrD_Add-message-when-transit…
MrD-RC Nov 8, 2023
5c0c3dd
Change 3d deadband check to use 3d deadband min and max from ui, inst…
mmosca Nov 8, 2023
27b0b49
remove unused variable
mmosca Nov 8, 2023
b41b057
Use correct method to read config
mmosca Nov 8, 2023
9c01d06
Update navigation_fixedwing.c
breadoven Nov 8, 2023
a0b2844
Merge pull request #9462 from breadoven/abo_circularloiter_fix
breadoven Nov 8, 2023
35bccf8
Merge pull request #9461 from iNavFlight/mmosca-3d-esc-arm-safety
DzikuVx Nov 9, 2023
3c2b27e
Merge remote-tracking branch 'origin/release_7.0.0' into dzikuvx-atom…
DzikuVx Nov 9, 2023
4df28d0
Fix gyro orientation
DzikuVx Nov 9, 2023
deb4389
Merge pull request #9464 from iNavFlight/dzikuvx-mambah743-updates
DzikuVx Nov 9, 2023
a8e090d
This board has an optional baro
mmosca Nov 9, 2023
297bded
Revert "Enable the virtual pitot by default"
DzikuVx Nov 10, 2023
1f3d41b
It looks like user actually had a v1 board
mmosca Nov 10, 2023
78ebfeb
Change timer allocation default to MOTORS
mmosca Nov 10, 2023
c1b8b5b
DAKEFPVF722 target
DzikuVx Nov 10, 2023
17150f7
Add missing #include
mmosca Nov 10, 2023
c8e383a
DAKEFPVF405 target
DzikuVx Nov 10, 2023
36fdb7e
Correct output order to match BF output order
mmosca Nov 11, 2023
434ab87
Flywoof745 of der commented motor numbers
sensei-hacker Nov 11, 2023
a7e2911
Fix motor labels on target.c and make sure M1-M4 land on S1-S4 by def…
mmosca Nov 11, 2023
06fb151
Merge pull request #9479 from sensei-hacker/patch-6
mmosca Nov 11, 2023
f5ccc75
Merge pull request #9475 from iNavFlight/mmosca-speedybeef7v3-bad-tim…
mmosca Nov 11, 2023
3087fe7
Merge remote-tracking branch 'origin/release_7.0.0' into dzikuvx-atom…
DzikuVx Nov 12, 2023
10226d2
Update output assignment
DzikuVx Nov 12, 2023
0be9c5d
Merge pull request #9478 from iNavFlight/mmosca-flywoof745-match-bf-o…
mmosca Nov 14, 2023
ad63ee3
Merge pull request #9465 from iNavFlight/mmosca-tmotorf7v2-all-baro-d…
mmosca Nov 14, 2023
9232768
Update current scale
DzikuVx Nov 15, 2023
db0f8c6
Merge remote-tracking branch 'origin/release_7.0.0' into dzikuvx-atom…
DzikuVx Nov 15, 2023
3012ee2
Merge pull request #9470 from iNavFlight/dzikuvx-disable-virtual-pitot
DzikuVx Nov 15, 2023
df543ff
Merge pull request #9472 from iNavFlight/dzikuvx-atomrc-f405-delux
DzikuVx Nov 15, 2023
a2a0562
fix hdzero channel settings over displayport
error414 Nov 13, 2023
886f412
Merge pull request #9251 from wchnflr/wchnflr-flywoof405s_aio
mmosca Nov 15, 2023
dce7388
FLYWOOF405S_AIO: rename CMakeLists
sensei-hacker Nov 15, 2023
828ae58
Merge pull request #9494 from sensei-hacker/flywoo_aio_release_7.0.0
mmosca Nov 15, 2023
1426b18
Merge pull request #9496 from iNavFlight/dzikuvx-dakefpv-f722
DzikuVx Nov 18, 2023
7b2b4d9
Merge pull request #9495 from iNavFlight/dzikuvx-dakefpv-f405
DzikuVx Nov 18, 2023
5b832e9
IFLIGHT_BLITZ_ATF435 initial commit
DzikuVx Nov 5, 2023
db7350e
Outputs update
DzikuVx Nov 14, 2023
2e9b1c7
Merge pull request #9486 from error414/hdzero-displayport-fix
DzikuVx Nov 19, 2023
dce9288
target: Add JHEMCU F722 targer board support
jhemcu Dec 4, 2023
93b82f8
target: Add JHEMCU F405 targer board support
jhemcu Dec 4, 2023
895a4f3
Merge pull request #9522 from jhemcu/JHEMCUF722
mmosca Dec 4, 2023
4788513
flashhobby targets
DzikuVx Dec 4, 2023
a26d954
Merge pull request #9437 from jhemcu/JHEMCUF405
mmosca Dec 5, 2023
39966a2
SPEDIXF722 and SPEDIXF405 targets
DzikuVx Dec 5, 2023
0af8705
Add ICM42688 to Kakutef7miniv3 target.h
vincentpoont2 Dec 4, 2023
f467fc2
Merge pull request #9536 from iNavFlight/dzikuvx-spedix-fcs
DzikuVx Dec 5, 2023
488c214
Merge pull request #9537 from iNavFlight/dzikuvx-flashhobby-fcs
DzikuVx Dec 5, 2023
01f9498
Merge pull request #9538 from iNavFlight/dzikuvx-kakutef7mini3-gyro
DzikuVx Dec 5, 2023
d1ac51f
Kakute F4 V2.4
DzikuVx Dec 6, 2023
118cd48
Merge pull request #9541 from iNavFlight/kakute-f405-v24
DzikuVx Dec 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
"files.associations": {
"chrono": "c",
"cmath": "c",
"ranges": "c"
"ranges": "c",
"platform.h": "c",
"timer.h": "c",
"bus.h": "c"
},
"editor.tabSize": 4,
"editor.insertSpaces": true,
Expand Down
2 changes: 1 addition & 1 deletion docs/Settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -5058,7 +5058,7 @@ Selection of pitot hardware.

| Default | Min | Max |
| --- | --- | --- |
| VIRTUAL | | |
| NONE | | |

---

Expand Down
25 changes: 24 additions & 1 deletion src/main/fc/fc_msp.c
Original file line number Diff line number Diff line change
Expand Up @@ -462,9 +462,9 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
sbufWriteU16(dst, packSensorStatus());
sbufWriteU16(dst, averageSystemLoadPercent);
sbufWriteU8(dst, (getConfigBatteryProfile() << 4) | getConfigProfile());
sbufWriteU8(dst, getConfigMixerProfile());
sbufWriteU32(dst, armingFlags);
sbufWriteData(dst, &mspBoxModeFlags, sizeof(mspBoxModeFlags));
sbufWriteU8(dst, getConfigMixerProfile());
}
break;

Expand Down Expand Up @@ -2581,6 +2581,29 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
if (sbufBytesRemaining(src) > 0) {
vtxSettingsConfigMutable()->lowPowerDisarm = sbufReadU8(src);
}

// //////////////////////////////////////////////////////////
// this code is taken from BF, it's hack for HDZERO VTX MSP frame
// API version 1.42 - this parameter kept separate since clients may already be supplying
if (sbufBytesRemaining(src) >= 2) {
sbufReadU16(src); //skip pitModeFreq
}

// API version 1.42 - extensions for non-encoded versions of the band, channel or frequency
if (sbufBytesRemaining(src) >= 4) {
uint8_t newBand = sbufReadU8(src);
const uint8_t newChannel = sbufReadU8(src);
vtxSettingsConfigMutable()->band = newBand;
vtxSettingsConfigMutable()->channel = newChannel;
}

/* if (sbufBytesRemaining(src) >= 4) {
sbufRead8(src); // freq_l
sbufRead8(src); // freq_h
sbufRead8(src); // band count
sbufRead8(src); // channel count
}*/
// //////////////////////////////////////////////////////////
}
}
}
Expand Down
3 changes: 1 addition & 2 deletions src/main/fc/rc_controls.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@ throttleStatus_e FAST_CODE NOINLINE calculateThrottleStatus(throttleStatusType_e
value = rcCommand[THROTTLE];
}

const uint16_t mid_throttle_deadband = rcControlsConfig()->mid_throttle_deadband;
bool midThrottle = value > (PWM_RANGE_MIDDLE - mid_throttle_deadband) && value < (PWM_RANGE_MIDDLE + mid_throttle_deadband);
bool midThrottle = value > (reversibleMotorsConfig()->deadband_low) && value < (reversibleMotorsConfig()->deadband_high);
if ((feature(FEATURE_REVERSIBLE_MOTORS) && midThrottle) || (!feature(FEATURE_REVERSIBLE_MOTORS) && (value < rxConfig()->mincheck))) {
return THROTTLE_LOW;
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/fc/settings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ groups:
members:
- name: pitot_hardware
description: "Selection of pitot hardware."
default_value: "VIRTUAL"
default_value: "NONE"
table: pitot_hardware
- name: pitot_lpf_milli_hz
min: 0
Expand Down
15 changes: 9 additions & 6 deletions src/main/io/gps_ublox.c
Original file line number Diff line number Diff line change
Expand Up @@ -1042,12 +1042,15 @@ STATIC_PROTOTHREAD(gpsProtocolStateThread)

gpsState.autoConfigStep = 0;
ubx_capabilities.supported = ubx_capabilities.enabledGnss = ubx_capabilities.defaultGnss = 0;
do {
pollGnssCapabilities();
gpsState.autoConfigStep++;
ptWaitTimeout((ubx_capabilities.capMaxGnss != 0), GPS_CFG_CMD_TIMEOUT_MS);
} while (gpsState.autoConfigStep < GPS_VERSION_RETRY_TIMES && ubx_capabilities.capMaxGnss == 0);

// M7 and earlier will never get pass this step, so skip it (#9440).
// UBLOX documents that this is M8N and later
if (gpsState.hwVersion > UBX_HW_VERSION_UBLOX7) {
do {
pollGnssCapabilities();
gpsState.autoConfigStep++;
ptWaitTimeout((ubx_capabilities.capMaxGnss != 0), GPS_CFG_CMD_TIMEOUT_MS);
} while (gpsState.autoConfigStep < GPS_VERSION_RETRY_TIMES && ubx_capabilities.capMaxGnss == 0);
}
// Configure GPS module if enabled
if (gpsState.gpsConfig->autoConfig) {
// Configure GPS
Expand Down
17 changes: 14 additions & 3 deletions src/main/io/osd.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,9 @@

#define OSD_MIN_FONT_VERSION 3

static timeMs_t notify_settings_saved = 0;
static bool savingSettings = false;
static timeMs_t linearDescentMessageMs = 0;
static timeMs_t notify_settings_saved = 0;
static bool savingSettings = false;

static unsigned currentLayout = 0;
static int layoutOverride = -1;
Expand Down Expand Up @@ -1000,6 +1001,9 @@ static const char * divertingToSafehomeMessage(void)

static const char * navigationStateMessage(void)
{
if (!posControl.rthState.rthLinearDescentActive && linearDescentMessageMs != 0)
linearDescentMessageMs = 0;

switch (NAV_Status.state) {
case MW_NAV_STATE_NONE:
break;
Expand All @@ -1011,7 +1015,13 @@ static const char * navigationStateMessage(void)
if (posControl.flags.rthTrackbackActive) {
return OSD_MESSAGE_STR(OSD_MSG_RTH_TRACKBACK);
} else {
return OSD_MESSAGE_STR(OSD_MSG_HEADING_HOME);
if (posControl.rthState.rthLinearDescentActive && (linearDescentMessageMs == 0 || linearDescentMessageMs > millis())) {
if (linearDescentMessageMs == 0)
linearDescentMessageMs = millis() + 5000; // Show message for 5 seconds.

return OSD_MESSAGE_STR(OSD_MSG_RTH_LINEAR_DESCENT);
} else
return OSD_MESSAGE_STR(OSD_MSG_HEADING_HOME);
}
case MW_NAV_STATE_HOLD_INFINIT:
// Used by HOLD flight modes. No information to add.
Expand Down Expand Up @@ -1052,6 +1062,7 @@ static const char * navigationStateMessage(void)
// Not used
break;
}

return NULL;
}

Expand Down
1 change: 1 addition & 0 deletions src/main/io/osd.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@
#define OSD_MSG_RTH_CLIMB "ADJUSTING RTH ALTITUDE"
#define OSD_MSG_RTH_TRACKBACK "RTH BACK TRACKING"
#define OSD_MSG_HEADING_HOME "EN ROUTE TO HOME"
#define OSD_MSG_RTH_LINEAR_DESCENT "BEGIN LINEAR DESCENT"
#define OSD_MSG_WP_FINISHED "WP END>HOLDING POSITION"
#define OSD_MSG_WP_LANDED "WP END>LANDED"
#define OSD_MSG_PREPARE_NEXT_WP "PREPARING FOR NEXT WAYPOINT"
Expand Down
11 changes: 10 additions & 1 deletion src/main/navigation/navigation.c
Original file line number Diff line number Diff line change
Expand Up @@ -1227,6 +1227,9 @@ static navigationFSMEvent_t navOnEnteringState_NAV_STATE_RTH_INITIALIZE(navigati
{
UNUSED(previousState);

if (navConfig()->general.flags.rth_use_linear_descent && posControl.rthState.rthLinearDescentActive)
posControl.rthState.rthLinearDescentActive = false;

if ((posControl.flags.estHeadingStatus == EST_NONE) || (posControl.flags.estAltStatus == EST_NONE) || !STATE(GPS_FIX_HOME)) {
// Heading sensor, altitude sensor and HOME fix are mandatory for RTH. If not satisfied - switch to emergency landing
// Relevant to failsafe forced RTH only. Switched RTH blocked in selectNavEventFromBoxModeInput if sensors unavailable.
Expand Down Expand Up @@ -1432,6 +1435,7 @@ static navigationFSMEvent_t navOnEnteringState_NAV_STATE_RTH_HEAD_HOME(navigatio

if (homeDistance <= METERS_TO_CENTIMETERS(navConfig()->general.rth_linear_descent_start_distance)) {
posControl.rthState.rthFinalAltitude = posControl.rthState.homePosition.pos.z + navConfig()->general.rth_home_altitude;
posControl.rthState.rthLinearDescentActive = true;
}
}

Expand All @@ -1442,6 +1446,10 @@ static navigationFSMEvent_t navOnEnteringState_NAV_STATE_RTH_HEAD_HOME(navigatio
if (isWaypointReached(tmpHomePos, 0)) {
// Successfully reached position target - update XYZ-position
setDesiredPosition(tmpHomePos, posControl.rthState.homePosition.heading, NAV_POS_UPDATE_XY | NAV_POS_UPDATE_Z | NAV_POS_UPDATE_HEADING);

if (navConfig()->general.flags.rth_use_linear_descent && posControl.rthState.rthLinearDescentActive)
posControl.rthState.rthLinearDescentActive = false;

return NAV_FSM_EVENT_SUCCESS; // NAV_STATE_RTH_HOVER_PRIOR_TO_LANDING
} else {
setDesiredPosition(tmpHomePos, 0, NAV_POS_UPDATE_Z | NAV_POS_UPDATE_XY);
Expand Down Expand Up @@ -4055,7 +4063,8 @@ bool navigationPositionEstimateIsHealthy(void)

navArmingBlocker_e navigationIsBlockingArming(bool *usedBypass)
{
const bool navBoxModesEnabled = IS_RC_MODE_ACTIVE(BOXNAVRTH) || IS_RC_MODE_ACTIVE(BOXNAVWP) || IS_RC_MODE_ACTIVE(BOXNAVPOSHOLD) || (STATE(FIXED_WING_LEGACY) && IS_RC_MODE_ACTIVE(BOXNAVALTHOLD)) || (STATE(FIXED_WING_LEGACY) && (IS_RC_MODE_ACTIVE(BOXNAVCOURSEHOLD) || IS_RC_MODE_ACTIVE(BOXNAVCRUISE)));
const bool navBoxModesEnabled = IS_RC_MODE_ACTIVE(BOXNAVRTH) || IS_RC_MODE_ACTIVE(BOXNAVWP) || IS_RC_MODE_ACTIVE(BOXNAVCOURSEHOLD) ||
IS_RC_MODE_ACTIVE(BOXNAVCRUISE) || IS_RC_MODE_ACTIVE(BOXNAVPOSHOLD) || (STATE(FIXED_WING_LEGACY) && IS_RC_MODE_ACTIVE(BOXNAVALTHOLD));

if (usedBypass) {
*usedBypass = false;
Expand Down
2 changes: 1 addition & 1 deletion src/main/navigation/navigation_fixedwing.c
Original file line number Diff line number Diff line change
Expand Up @@ -518,8 +518,8 @@ void applyFixedWingPositionController(timeUs_t currentTimeUs)
// POSITION_TARGET_UPDATE_RATE_HZ should be chosen keeping in mind that position target shouldn't be reached until next pos update occurs
// FIXME: verify the above
calculateVirtualPositionTarget_FW(HZ2S(MIN_POSITION_UPDATE_RATE_HZ) * 2);

updatePositionHeadingController_FW(currentTimeUs, deltaMicrosPositionUpdate);
needToCalculateCircularLoiter = false;
}
else {
// Position update has not occurred in time (first iteration or glitch), reset altitude controller
Expand Down
1 change: 1 addition & 0 deletions src/main/navigation/navigation_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,7 @@ typedef struct {
float rthInitialDistance; // Distance when starting flight home
fpVector3_t homeTmpWaypoint; // Temporary storage for home target
fpVector3_t originalHomePosition; // the original rth home - save it, since it could be replaced by safehome or HOME_RESET
bool rthLinearDescentActive; // Activation status of Linear Descent
} rthState_t;

typedef enum {
Expand Down
13 changes: 7 additions & 6 deletions src/main/target/AIRBOTF4/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,13 @@ timerHardware_t timerHardware[] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_OUTPUT_AUTO, 0, 0), // S6_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED | TIM_USE_ANY, 0, 0), // LED D1_ST0, n/a on older AIRBOTF4

DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM (5th pin on FlexiIO port)
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S3_IN
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S4_IN
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S5_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S6_IN
//Airbot F4 don't have those outputs, they exist only in the original Revo
// DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM (5th pin on FlexiIO port)
// DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0), // S2_IN
// DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S3_IN
// DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S4_IN
// DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S5_IN
// DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0), // S6_IN
};

const int timerHardwareCount = sizeof(timerHardware) / sizeof(timerHardware[0]);
10 changes: 5 additions & 5 deletions src/main/target/ALIENFLIGHTF4/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,10 @@
#include "drivers/timer.h"

timerHardware_t timerHardware[] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PWM | TIM_USE_PPM, 0, 1), // PWM1 - PA8 RC1 - DMA2_ST1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0, 0), // PWM2 - PB0 RC2 - DMA1_ST5
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0, 0), // PWM3 - PB1 RC3 - DMA1_ST7
DEF_TIM(TIM1, CH2, PB14, TIM_USE_PWM, 0, 1), // PWM4 - PA14 RC4 - DMA2_ST2
DEF_TIM(TIM1, CH3, PB15, TIM_USE_PWM | TIM_USE_LED, 0, 0), // PWM5 - PA15 RC5 - DMA2_ST6
// DEF_TIM(TIM1, CH1, PA8, TIM_USE_PWM | TIM_USE_PPM, 0, 1), // PWM1 - PA8 RC1 - DMA2_ST1
// DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0, 0), // PWM2 - PB0 RC2 - DMA1_ST5
// DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0, 0), // PWM3 - PB1 RC3 - DMA1_ST7
// DEF_TIM(TIM1, CH2, PB14, TIM_USE_PWM, 0, 1), // PWM4 - PA14 RC4 - DMA2_ST2
DEF_TIM(TIM4, CH3, PB8, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM6 - PB8 OUT1 - DMA1_ST7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM7 - PB9 OUT2 - DMA_NONE
DEF_TIM(TIM5, CH1, PA0, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM8 - PA0 OUT3 - DMA1_ST2
Expand All @@ -36,6 +35,7 @@ timerHardware_t timerHardware[] = {
DEF_TIM(TIM8, CH2, PC7, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM11 - PC7 OUT6 - DMA2_ST3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_OUTPUT_AUTO, 0, 1), // PWM13 - PC8 OUT7 - DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM13 - PC9 OUT8 - DMA2_ST7
DEF_TIM(TIM1, CH3, PB15, TIM_USE_LED, 0, 0), // PWM5 - PA15 RC5 - DMA2_ST6
};

const int timerHardwareCount = sizeof(timerHardware) / sizeof(timerHardware[0]);
2 changes: 1 addition & 1 deletion src/main/target/ALIENFLIGHTNGF7/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include "drivers/timer.h"

timerHardware_t timerHardware[] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM | TIM_USE_LED, 0, 1), // PPM - DMA2_ST1
DEF_TIM(TIM8, CH1, PC6, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM1 - DMA2_ST2
DEF_TIM(TIM3, CH2, PC7, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM2 - DMA1_ST5
DEF_TIM(TIM8, CH2N, PB14, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM3 - DMA2_ST3
Expand All @@ -36,6 +35,7 @@ timerHardware_t timerHardware[] = {
DEF_TIM(TIM1, CH3N, PB15, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM10 - DMA2_ST6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM11 - DMA1_ST7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_OUTPUT_AUTO, 0, 0), // PWM12 - DMA_NONE
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 1), // PPM - DMA2_ST1
};

const int timerHardwareCount = sizeof(timerHardware) / sizeof(timerHardware[0]);
12 changes: 6 additions & 6 deletions src/main/target/ANYFC/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
#include "drivers/timer.h"

timerHardware_t timerHardware[] = {
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // S1_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S5_IN
// DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // S1_IN
// DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0), // S2_IN
// DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN
// DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN
// DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S6_IN
// DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S5_IN

DEF_TIM(TIM2, CH2, PB3, TIM_USE_OUTPUT_AUTO, 0, 0), // S10_OUT 16
DEF_TIM(TIM5, CH1, PA0, TIM_USE_OUTPUT_AUTO, 0, 0), // S6_OUT 12
Expand Down
35 changes: 19 additions & 16 deletions src/main/target/ANYFCF7/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,26 @@
#include "drivers/timer.h"

timerHardware_t timerHardware[] = {
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0 ), // S1_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0 ), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0 ), // S3_IN DMA2_ST2 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0 ), // S4_IN DMA2_ST3 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0 ), // S5_IN DMA2_ST4 DMA2_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM | TIM_USE_OUTPUT_AUTO, 0, 0 ), // S6_IN DMA2_ST7
// DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0 ), // S1_IN
// DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0 ), // S2_IN

DEF_TIM(TIM8, CH1, PC6, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S3_IN DMA2_ST2 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S4_IN DMA2_ST3 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S5_IN DMA2_ST4 DMA2_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S6_IN DMA2_ST7

DEF_TIM(TIM4, CH3, PB8, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S10_OUT 1 DMA1_ST7
DEF_TIM(TIM5, CH3, PA2, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S6_OUT 2 DMA1_ST0
DEF_TIM(TIM4, CH4, PB9, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S5_OUT
DEF_TIM(TIM5, CH4, PA3, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S1_OUT 4 DMA1_ST1 DMA1_ST3
DEF_TIM(TIM5, CH2, PA1, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S2_OUT 3 DMA1_ST4
DEF_TIM(TIM9, CH2, PE6, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S3_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S4_OUT DMA1_ST5
DEF_TIM(TIM5, CH1, PA0, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S7_OUT DMA1_ST2
DEF_TIM(TIM2, CH2, PB3, TIM_USE_OUTPUT_AUTO | TIM_USE_LED, 0, 0 ), // S8_OUT DMA1_ST6
DEF_TIM(TIM3, CH1, PB4, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S9_OUT DMA1_ST4


DEF_TIM(TIM4, CH3, PB8, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S10_OUT 1 DMA1_ST7
DEF_TIM(TIM5, CH3, PA2, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S6_OUT 2 DMA1_ST0
DEF_TIM(TIM4, CH4, PB9, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S5_OUT
DEF_TIM(TIM5, CH4, PA3, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S1_OUT 4 DMA1_ST1 DMA1_ST3
DEF_TIM(TIM5, CH2, PA1, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S2_OUT 3 DMA1_ST4
DEF_TIM(TIM9, CH2, PE6, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S3_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S4_OUT DMA1_ST5
DEF_TIM(TIM5, CH1, PA0, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S7_OUT DMA1_ST2
DEF_TIM(TIM2, CH2, PB3, TIM_USE_OUTPUT_AUTO | TIM_USE_LED, 0, 0 ), // S8_OUT DMA1_ST6
DEF_TIM(TIM3, CH1, PB4, TIM_USE_OUTPUT_AUTO, 0, 0 ), // S9_OUT DMA1_ST4
};

const int timerHardwareCount = sizeof(timerHardware) / sizeof(timerHardware[0]);
Loading
Loading