Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

42 changes: 21 additions & 21 deletions Silverware/src/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
// *************uncomment BWHOOP define for bwhoop, bwhoop pro, E011C Santa Edition, and Beta FPV Lite Flight Controllers
// *************uncomment E011 define for E011 flight Controller
// *************uncomment H8mini_blue_board for the H8 mini flight controller with blue circuit board
//#define BWHOOP
#define BWHOOP
//#define E011
//#define H8mini_blue_board
//#define Silverlite_Brushless
#define Alienwhoop_ZERO
//#define Alienwhoop_ZERO



Expand Down Expand Up @@ -75,25 +75,25 @@

// *************Radio protocol selection
// *************select only one
#define RX_SBUS
//#define RX_SBUS
//#define RX_CRSF //Requires tbs firmware v2.88 or newer for failsafe to operate properly
//#define RX_DSMX_2048
//#define RX_DSM2_1024
//#define RX_IBUS
//#define RX_NRF24_BAYANG_TELEMETRY
//#define RX_BAYANG_BLE_APP
//#define RX_BAYANG_PROTOCOL_TELEMETRY_AUTOBIND
#define RX_BAYANG_PROTOCOL_TELEMETRY_AUTOBIND

// *************Transmitter Type Selection
//#define USE_STOCK_TX
#define USE_STOCK_TX
//#define USE_DEVO
#define USE_MULTI
//#define USE_MULTI

// *******************************SWITCH SELECTION*****************************
// *************CHAN_ON - on always ( all protocols)
// *************CHAN_OFF - off always ( all protocols)
// *************Aux channels are selectable as CHAN_5 through CHAN_12 for DEVO and through CHAN_13 (but no CHAN_11) for MULTIMODULE users
// *************Toy transmitter mapping is CHAN_5 (rates button), CHAN_6 (stick gestures RRD/LLD),
//*************Toy transmitter mapping is CHAN_5 (rates button), CHAN_6 (stick gestures RRD/LLD),
//**************CHAN_7 (headfree button), CHAN_8 (roll trim buttons), CHAN_9 (pitch trim buttons)

//*************Arm switch and Idle Up switch (idle up will behave like betaflight airmode)
Expand All @@ -106,11 +106,11 @@
#define ARMING CHAN_5
#define IDLE_UP CHAN_5
#define LEVELMODE CHAN_6
#define RACEMODE CHAN_7
#define HORIZON CHAN_8
#define PIDPROFILE CHAN_9 //For switching stickAccelerator & stickTransition profiles on pid.c page
#define RACEMODE CHAN_OFF
#define HORIZON CHAN_OFF
#define PIDPROFILE CHAN_OFF //For switching stickAccelerator & stickTransition profiles on pid.c page
#define RATES CHAN_ON
#define LEDS_ON CHAN_10
#define LEDS_ON CHAN_ON

// *************switch for fpv / other, requires fet
// *************comment out to disable
Expand All @@ -126,7 +126,7 @@
//#define AUX1_START_ON

// *************automatically remove center bias in toy tx ( needs throttle off for 1 second )
//#define STOCK_TX_AUTOCENTER
#define STOCK_TX_AUTOCENTER



Expand Down Expand Up @@ -204,14 +204,14 @@

//#define WEAK_FILTERING
//#define STRONG_FILTERING
//#define VERY_STRONG_FILTERING
#define VERY_STRONG_FILTERING
//#define ALIENWHOOP_ZERO_FILTERING
#define BETA_FILTERING
//#define BETA_FILTERING

#ifdef BETA_FILTERING //*** ABOVE 100 ADJUST IN INCRIMENTS OF 20, BELOW 100 ADJUST IN INCRIMENTS OF 10, nothing coded beyond 500hz
//#ifdef BETA_FILTERING //*** ABOVE 100 ADJUST IN INCRIMENTS OF 20, BELOW 100 ADJUST IN INCRIMENTS OF 10, nothing coded beyond 500hz

//Select Gyro Filter Type *** Select Only One type
#define KALMAN_GYRO
Select Gyro Filter Type *** Select Only One type
//#define KALMAN_GYRO
//#define PT1_GYRO

//Select Gyro Filter Cut Frequency
Expand All @@ -236,12 +236,12 @@
#define MOTOR_MIN_COMMAND 5.0

// *************invert yaw pid for "PROPS OUT" configuration - This feature is switchable to "PROPS IN" when active with stick gesture DOWN-UP-DOWN, Save selection with DOWN-DOWN-DOWN
#define INVERT_YAW_PID
//#define INVERT_YAW_PID

// *************pwm frequency for motor control
// *************a higher frequency makes the motors more linear
// *************in Hz
#define PWMFREQ 32000
//#define PWMFREQ 32000

// *************clip feedforward attempts to resolve issues that occur near full throttle by adding any clipped motor commands to the next loop output
//#define CLIP_FF
Expand Down Expand Up @@ -348,7 +348,7 @@


// *************DEFINE FLIGHT CONTROLLER HARDWARE HAS BEEN MODIFIED FOR BRUSHLESS CONVERSION **WARNING**DO NOT ENABLE DSHOT DMA ESC DRIVER WITH BRUSHED MOTORS ATTACHED**
//#define BRUSHLESS_CONVERSION
#define BRUSHLESS_CONVERSION

//enables use of stick accelerator and stick transition for d term lpf 1 & 2
#define ADVANCED_PID_CONTROLLER
Expand Down Expand Up @@ -382,7 +382,7 @@
//#define RXDEBUG

// debug things ( debug struct and other)
//#define DEBUG
//#define DEBUG



Expand Down
13 changes: 8 additions & 5 deletions Silverware/src/pid.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ float stickTransitionProfileB[3] = { 0.3 , 0.3 , 0.0}; //keep values

//6mm & 7mm Abduction Pids for whoops (Team Alienwhoop)- set filtering ALIENWHOOP_ZERO_FILTERING or default beta filters
// ROLL PITCH YAW
float pidkp[PIDNUMBER] = {21.5e-2 , 21.5e-2 , 10.5e-1 };
float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 15e-1 };
float pidkd[PIDNUMBER] = { 7.4e-1 , 7.4e-1 , 5.5e-1 };
//float pidkp[PIDNUMBER] = {21.5e-2 , 21.5e-2 , 10.5e-1 };
//float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 15e-1 };
//float pidkd[PIDNUMBER] = { 7.4e-1 , 7.4e-1 , 5.5e-1 };


//BOSS 7 with 716 motors and 46mm Props - set filtering to BETA_FILTERING and adjust pass 1 and pass 2 for KALMAN_GYRO both to 70hz, set DTERM_LPF_2ND_HZ to 120hz, disable motor filtering
Expand All @@ -85,12 +85,15 @@ float pidkd[PIDNUMBER] = { 7.4e-1 , 7.4e-1 , 5.5e-1 };
//float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 15e-1 };
//float pidkd[PIDNUMBER] = { 5.6e-1 , 6.7e-1 , 0.5e-1 };

//4in Brushless Pids - 1407 3600kv Motors, 4s - Gyro filters at 90hz, 1st order D at 70hz - PID_Vbat Comp seems ok here
//4in Brushless Pids - 2207 3600kv Motors, 2s - Gyro filters at 90hz, 1st order D at 70hz - PID_Vbat Comp seems ok here
// ROLL PITCH YAW
//float pidkp[PIDNUMBER] = {9.5e-2 , 12.5e-2 , 2.0e-1 };
//float pidki[PIDNUMBER] = { 14.0e-1 , 14.0e-1 , 14.0e-1 };
//float pidkd[PIDNUMBER] = { 2.3e-1 , 3.3e-1 , 0.5e-1 };

PID build 2S :
float pidkp[PIDNUMBER] = {11.2e-2 , 12.6e-2 , 1.8e-1 };
float pidki[PIDNUMBER] = { 14e-1 , 15e-1 , 15e-1 };
float pidkd[PIDNUMBER] = { 5.6e-1 , 6.7e-1 , 0.5e-1 };
//*************** The following tunes beyond this point are all pretty dated. I have not built/flown/tuned any of these in a long time and there have been alot of changes.
//*************** If your build best matches some of the specs below ... consider the tune a starting point and give me feedback/adjust as necessary.

Expand Down