multiwii 2.4配置頁面中文注釋


   1 #ifndef CONFIG_H_
   2  #define CONFIG_H_
   3 
   4  /* *********************************************************************************************** */
   5  /* ***           可配置參數                                                 *** */
   6  /* *********************************************************************************************** */
   7  /*
   8  這個文件由幾個部分組成
   9  * 要創建一個工作組合,您必須至少在1節中做出選擇。
  10  * 1 - 基本設置 - 您在基本設置中必須選擇一個選項。
  11  * 以你連接了4個通道的標准的電調和電機為例。
  12  * 2 - 飛行器類型特定的選項,你可能要檢查你的飛行器類型選項的設置
  13  * 3 - 無線遙控系統的設置
  14  * 4 - 替代的CPU和主板 - 如果你有
  15  * 5 - 替代設置 - 選擇替代的RX(SBU,PPM,等),替代ESC范圍,等在這里
  16  * 6 - 可選功能 - 這里有一些很好的功能可以啟用(飛行的模式,LCD,遙測,電池監控等)
  17  * 7 - 調試和開發 - 如果你知道你正在做什么,已經警告過你了。
  18  *(ESC的動態校准,電機/支撐平衡,診斷,節省內存.....)
  19  * 8 - 不推薦使用 - 這些功能將在將來的版本中刪除
  20  */
  21  /*  Notes:
  22  * 1. 在注釋中用(*)標記的參數被儲存在eeprom中,並且可以通過串口監控器或LCD調節。
  23  * 2. 在注釋中用(**)標記的參數被儲存在eeprom中,並且可以通過GUI調節
  24  */
  25 
  26 
  27  /* *********************************************************************************************** */
  28  /* ****************                                                                 ************** */
  29  /* ***************  SECTION  1 - 基本設置                                                ****** */
  30  /* ****************                                                                 ************** */
  31  /* *********************************************************************************************** */
  32 
  33  /* *************************    多旋翼飛行器種類    *************************** */
  34  // #define GIMBAL         // 自穩雲台
  35  // #define BI             // 兩軸
  36  // #define TRI             // 三軸
  37  // #define QUADP             // 四軸十字模式
  38  #define QUADX             // 四軸X模式
  39  // #define Y4             // 四軸Y模式
  40  // #define Y6             // 六軸Y模式
  41  // #define HEX6             // 六軸
  42  // #define HEX6X             // 六軸X模式
  43  // #define HEX6H             //  新類型 六軸H模式
  44  // #define OCTOX8         // 八軸
  45  // #define OCTOFLATP         // 八軸十字
  46  // #define OCTOFLATX         // 八軸X
  47  // #define FLYING_WING     // 飛翼
  48  // #define VTAIL4         // 四軸v尾
  49  // #define AIRPLANE         // 固定翼
  50  // #define SINGLECOPTER     // 單旋翼
  51  // #define DUALCOPTER     // 雙旋翼
  52  // #define HELI_120_CCPM     // 120度CCPM直升機
  53  // #define HELI_90_DEG     // 90度斜盤直升機
  54 
  55  /* ***************************    電機最小油門    ****************************** */
  56  /*  設定發送至電調(ESC,Electronic Speed Controller)的最小油門命令
  57  該最小值允許電機運行在怠速上 即維持電機怠速的最低油門值.   */
  58  // #define MINTHROTTLE 1300  //  用於Turnigy Plush ESCs 10A
  59  // #define MINTHROTTLE 1120  //  用於Super Simple ESCs 10A
  60  // #define MINTHROTTLE 1064  //  特殊的ESC (simonk蜘蛛電調)
  61  // #define MINTHROTTLE 1050  //  用於brushed ESC比如ladybird
  62  #define MINTHROTTLE 1150  //  (*)
  63 
  64  /* ***************************    電機最大油門     ****************************** */
  65  /*  ESC全功率工作的最大值,該值最大可增至2000  */
  66  #define MAXTHROTTLE 1850
  67 
  68  /* ***************************    最小命令          ****************************** */
  69  /*  該值用於未解鎖時的ESC
  70  在某些情況下,用於一些特殊的電調該值必須降至900,否則電調會初始化失敗
  71  OYUZIQI提示 用場效應管驅動空心杯時上電若微微轉動可適當降低此數值 */
  72  #define MINCOMMAND  1000
  73 
  74  /* *********************************    I2C速度   *********************************** */
  75  // #define I2C_SPEED 100000L      // 100kHz普通模式,正品WPM必須使用該值
  76  #define I2C_SPEED 400000L    // 400kHz快速模式,僅用於一些山寨WPM (可用於GY系列模塊)
  77 
  78  /* **************************    內部i2c上拉        ******************************* */
  79  /*  啟用內部I2C上拉(在多數情況下,使用外部上拉更佳)(GY系列模塊自帶外部上拉)  */
  80  // #define INTERNAL_I2C_PULLUPS
  81 
  82  /* *********************************  循環周期時間  ***************************** */
  83  #define LOOP_TIME 2800
  84 
  85  /* ************************************************************************************ */
  86  /* ****************          主控板與傳感器定義            ***************** */
  87  /* ************************************************************************************ */
  88 
  89  /* **************************    傳感器組合板(傳感器集成板)    ******************************* */
  90  /*  如果你在使用特定的傳感器板:
  91  請提交改動到這個列表。
  92  來自Alex的提示:我只有其中一些板子,對於其他板子,我不能確保好用,信息由遙控論壇生成,請小心使用 *
  93  /*=======================友情提示==========================
  94  下面有一些集成板子淘寶上可以淘到的,如GY_XX系列比較划算。
  95  推薦GY_86,MPU6050\HMC5883L\MS5611的組合挺划算。BMP的180,085氣壓計確實不怎么樣。
  96  */
  97 
  98 
  99  // #define FFIMUv1          //  first 9DOF+baro board from Jussi, with HMC5843                   <- confirmed by Alex
 100  // #define FFIMUv2          //  second version of 9DOF+baro board from Jussi, with HMC5883       <- confirmed by Alex
 101  // #define FREEIMUv1        //  v0.1 & v0.2 & v0.3 version of 9DOF board from Fabio
 102  // #define FREEIMUv03       //  FreeIMU v0.3 and v0.3.1
 103  // #define FREEIMUv035      //  FreeIMU v0.3.5 no baro
 104  // #define FREEIMUv035_MS   //  FreeIMU v0.3.5_MS                                                <- confirmed by Alex
 105  // #define FREEIMUv035_BMP  //  FreeIMU v0.3.5_BMP
 106  // #define FREEIMUv04       //  FreeIMU v0.4 with MPU6050, HMC5883L, MS561101BA                  <- confirmed by Alex
 107  // #define FREEIMUv043      //  same as FREEIMUv04 with final MPU6050 (with the right ACC scale)
 108  // #define NANOWII          //  the smallest multiwii FC based on MPU6050 + pro micro based proc <- confirmed by Alex
 109  // #define PIPO             //  9DOF board from erazz
 110  // #define QUADRINO         //  full FC board 9DOF+baro board from witespy  with BMP085 baro     <- confirmed by Alex
 111  // #define QUADRINO_ZOOM    //  full FC board 9DOF+baro board from witespy  second edition
 112  // #define QUADRINO_ZOOM_MS //  full FC board 9DOF+baro board from witespy  second edition       <- confirmed by Alex
 113  // #define ALLINONE         //  full FC board or standalone 9DOF+baro board from CSG_EU
 114  // #define AEROQUADSHIELDv2
 115  // #define ATAVRSBIN1       //  Atmel 9DOF (Contribution by EOSBandi). requires 3.3V power.
 116  // #define SIRIUS           //  Sirius Navigator IMU                                             <- confirmed by Alex
 117  // #define SIRIUSGPS        //  Sirius Navigator IMU  using external MAG on GPS board            <- confirmed by Alex
 118  // #define SIRIUS600        //  Sirius Navigator IMU  using the WMP for the gyro
 119  // #define SIRIUS_AIR       //  Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com           <- confirmed by Alex
 120  // #define SIRIUS_AIR_GPS   //  Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com with GPS/MAG remote located
 121  // #define SIRIUS_MEGAv5_OSD  //   Paris_Sirius™ ITG3050,BMA280,MS5611,HMC5883,uBlox   http://www.Multiwiicopter.com  <- confirmed by Alex
 122  // #define MINIWII          //  Jussi's MiniWii Flight Controller                                <- confirmed by Alex
 123  // #define MICROWII         //  MicroWii 10DOF with ATmega32u4, MPU6050, HMC5883L, MS561101BA from  http://flyduino.net/
 124  // #define CITRUSv2_1       //  CITRUS from qcrc.ca
 125  // #define CHERRY6DOFv1_0
 126  // #define DROTEK_10DOF     //  Drotek 10DOF with ITG3200, BMA180, HMC5883, BMP085, w or w/o LLC
 127  // #define DROTEK_10DOF_MS  //  Drotek 10DOF with ITG3200, BMA180, HMC5883, MS5611, LLC
 128  // #define DROTEK_6DOFv2    //  Drotek 6DOF v2
 129  // #define DROTEK_6DOF_MPU  //  Drotek 6DOF with MPU6050
 130  // #define DROTEK_10DOF_MPU //
 131  // #define MONGOOSE1_0      //  mongoose 1.0     http://store.ckdevices.com/
 132  // #define CRIUS_LITE       //  Crius MultiWii Lite
 133  // #define CRIUS_SE         //  Crius MultiWii SE
 134  // #define CRIUS_SE_v2_0    //  Crius MultiWii SE 2.0 with MPU6050, HMC5883 and BMP085
 135  // #define OPENLRSv2MULTI   //  OpenLRS v2 Multi Rc Receiver board including ITG3205 and ADXL345
 136  // #define BOARD_PROTO_1    //  with MPU6050 + HMC5883L + MS baro
 137  // #define BOARD_PROTO_2    //  with MPU6050 + slave  MAG3110 + MS baro
 138  // #define GY_80            //  Chinese 10 DOF with  L3G4200D ADXL345 HMC5883L BMP085, LLC
 139  // #define GY_85            //  Chinese 9 DOF with  ITG3205 ADXL345 HMC5883L LLC
 140  // #define GY_86            //  Chinese 10 DOF with  MPU6050 HMC5883L MS5611, LLC
 141  #define GY_88  //  Chinese 10 DOF with MPU6050 HMC5883L BMP085, LLC
 142  // #define GY_521           //  Chinese 6  DOF with  MPU6050, LLC
 143  // #define INNOVWORKS_10DOF  //  with ITG3200, BMA180, HMC5883, BMP085 available here  http://www.diymulticopter.com
 144  // #define INNOVWORKS_6DOF  //  with ITG3200, BMA180 available here  http://www.diymulticopter.com
 145  // #define MultiWiiMega     //  MEGA + MPU6050+HMC5883L+MS5611 available here  http://www.diymulticopter.com
 146  // #define PROTO_DIY        //  10DOF mega board
 147  // #define IOI_MINI_MULTIWII //  www.bambucopter.com
 148  // #define Bobs_6DOF_V1      //  BobsQuads 6DOF V1 with ITG3200 & BMA180
 149  // #define Bobs_9DOF_V1      //  BobsQuads 9DOF V1 with ITG3200, BMA180 & HMC5883L
 150  // #define Bobs_10DOF_BMP_V1  //  BobsQuads 10DOF V1 with ITG3200, BMA180, HMC5883L & BMP180 - BMP180 is software compatible with BMP085
 151  // #define FLYDUINO_MPU        //  MPU6050 Break Out onboard 3.3V reg
 152  // #define CRIUS_AIO_PRO
 153  // #define DESQUARED6DOFV2GO   //  DEsquared V2 with ITG3200 only
 154  // #define DESQUARED6DOFV4     //  DEsquared V4 with MPU6050
 155  // #define LADYBIRD
 156  // #define MEGAWAP_V2_STD      //  available here:  http://www.multircshop.com                     <- confirmed by Alex
 157  // #define MEGAWAP_V2_ADV
 158  // #define HK_MultiWii_SE_V2   //  Hobbyking board with MPU6050 + HMC5883L + BMP085
 159  // #define HK_MultiWii_328P    //  Also labeled "Hobbybro" on the back.  ITG3205 + BMA180 + BMP085 + NMC5583L + DSM2 Connector (Spektrum Satellite)
 160  // #define RCNet_FC            //  RCNet FC with MPU6050 and MS561101BA   http://www.rcnet.com
 161  // #define RCNet_FC_GPS        //  RCNet FC with MPU6050 + MS561101BA + HMC5883L + UBLOX GPS  http://www.rcnet.com
 162  // #define FLYDU_ULTRA         //  MEGA+10DOF+MT3339 FC
 163  // #define DIYFLYING_MAGE_V1   //  diyflying 10DOF mega board with MPU6050 + HMC5883L + BMP085  http://www.indoor-flying.hk
 164  // #define MultiWii_32U4_SE          //  Hextronik MultiWii_32U4_SE
 165  // #define MultiWii_32U4_SE_no_baro  //  Hextronik MultiWii_32U4_SE without the MS561101BA to free flash-memory for other functions
 166  // #define Flyduino9DOF        //  Flyduino 9DOF IMU MPU6050+HMC5883l
 167  // #define Nano_Plane          //  Multiwii Plane version with tail-front LSM330 sensor  http://www.radiosait.ru/en/page_5324.html
 168 
 169  /* **************************    獨立的傳感器    ******************************* */
 170  /*  
 171  如果你已在上方選擇了相應的組合板子,請跳過,保持以下注釋狀態即可 
 172  這里是用來設置你單獨連接在I2C上的傳感器模塊。當然每樣都單獨買價格會高一些,如果你是豪,當我沒說。
 173  */
 174  /*  I2C陀螺儀  */
 175  // #define WMP
 176  // #define ITG3050
 177  // #define ITG3200
 178  // #define MPU3050
 179  // #define L3G4200D
 180  // #define MPU6050        // 帶了加速度
 181  // #define LSM330         // 帶了加速度
 182 
 183  /*  I2C加速度計  */
 184  // #define MMA7455
 185  // #define ADXL345
 186  // #define BMA020
 187  // #define BMA180
 188  // #define BMA280
 189  // #define LIS3LV02
 190  // #define LSM303DLx_ACC
 191  // #define MMA8451Q
 192 
 193  /*  I2C氣壓計  */
 194  // #define BMP085
 195  // #define MS561101BA
 196 
 197  /*  I2C磁力計  */
 198  // #define HMC5843
 199  // #define HMC5883
 200  // #define AK8975
 201  // #define MAG3110
 202 
 203  /*  聲吶  */  //  目前用作顯示用途 - 無控制代碼支持 
 204  /*  OYUZIQI提示:貌似bbs.5imx.com上有大神完成了代碼,且國外論壇上有光流
 205  http://bbs.5imx.com/bbs/forum.php?mod=viewthread &tid=726172&page=1
 206  http://www.multiwii.com/forum/viewtopic.php?f=7 &t=1413
 207  */
 208  // #define SRF02  //  use the Devantech SRF i2c sensors
 209  // #define SRF08
 210  // #define SRF10
 211  // #define SRF235
 212 
 213  /*  ADC加速度計  */  //  用於來自sparkfun的5DOF,使用模擬針腳A1/A2/A3
 214  // #define ADCACC
 215 
 216  /*  強制你獨有的的傳感器方向 - 甚至覆蓋集成dof板子特定的默認值  */
 217  // #define FORCE_ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  =  Y; imu.accADC[PITCH]  = -X; imu.accADC[YAW]  = Z;}
 218  // #define FORCE_GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = -Y; imu.gyroADC[PITCH] =  X; imu.gyroADC[YAW] = Z;}
 219  // #define FORCE_MAG_ORIENTATION(X, Y, Z)  {imu.magADC[ROLL]  =  X; imu.magADC[PITCH]  =  Y; imu.magADC[YAW]  = Z;}
 220 
 221  /*  板子方向轉移  */
 222  /*  如果你的機架設計僅用於+模式,並且你不能物理上將飛控旋轉至用於X模式飛行(反之亦然)
 223  * 你可以使用其中一個選項虛擬旋轉傳感器45度,然后通過飛行模式設定多旋翼飛行器的類型。
 224  * 檢查電機順序與旋轉方向是否與新的“前方”匹配!僅使用其中一項注釋!  */
 225  // #define SENSORS_TILT_45DEG_RIGHT         //  將“前方”順時針旋轉45度
 226  // #define SENSORS_TILT_45DEG_LEFT          //  將“前方”逆時針旋轉45度
 227 
 228 
 229  /* *********************************************************************************************** */
 230  /* ****************                                                                 ************** */
 231  /* ***************  SECTION  2 - 飛行器類型特定的選項                               ****** */
 232  /* ****************                                                                 ************** */
 233  /* *********************************************************************************************** */
 234  /* *******************************  PID控制算法 ******************************** */
 235  /*  單獨選擇一個PID控制算法
 236  * 1 = 演進 oldschool 算法(類似於V2.2)
 237  * 2 = 新的實驗算法 來自 Alex Khoroshko - 無技術支持 -  http://www.multiwii.com/forum/viewtopic.php?f=8 &t=3671&start=10#p37387
 238  */
 239  #define PID_CONTROLLER 1
 240 
 241  /*  NEW: 不再使用伺服飛行器種類 (需要修復))   <== NEEDS FIXING - MOVE TO WIKI  */
 242  #define YAW_DIRECTION 1
 243  // #define YAW_DIRECTION -1  //  如果你想反向修正偏航方向
 244 
 245  #define ONLYARMWHENFLAT  // 阻止飛行器傾斜時解鎖
 246 
 247  /* *******************************    鎖定/解鎖    ******************************** */
 248  /*  可以禁止使用搖桿組合進行鎖定/解鎖電機。
 249  * 在多數情況下,選擇其中一種通過發射機搖桿鎖定/解鎖電機的選項即可  */
 250  #define ALLOW_ARM_DISARM_VIA_TX_ROLL  // 通過翻滾(副翼)解鎖
 251  // #define ALLOW_ARM_DISARM_VIA_TX_YAW     // 通過轉向(尾舵)解鎖(默認)
 252 
 253  /* *******************************    舵機      ******************************** */
 254  /*  舵機連接在哪里以及如何設置可以在這里找到
 255  http://www.multiwii.com/wiki/index.php?title=Config.h #Servos_configuration
 256  */
 257 
 258 
 259  /*  如果你想預定最小/中間/最大值為伺服正確后flashing,
 260  因為物理因素限制伺服行程的設置,您必須啟用並設置所有三以下選項* /
 261  //#define SERVO_MIN  {1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020} //舵機最小值(jpno1 注)
 262  //#define  SERVO_MAX {2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000} //舵機最大值(jpno1 注)
 263  //#define  SERVO_MID {1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500} // (*)舵機中立點(jpno1注)
 264  //#define FORCE_SERVO_RATES      {30,30,100,100,100,100,100,100} // 0=正向 1=反向
 265 
 266  /***********************          相機穩定             ********************** */
 267  /*  以下幾行僅用於pitch/roll傾斜穩定系統。去除注釋第一或第二行來激活它  */
 268  // #define SERVO_MIX_TILT   // 混合模式(用於十字模式) (jpno1注)
 269  // #define SERVO_TILT       //  普通x模式適用(jpno1注)
 270 
 271  /*  相機觸發設置 : 激發路徑顯示在GUI, 使用A2作為舵機輸出在promini  */
 272  //  觸發路徑可以設置 (*GUI*) or 或者通過AUX鋪助通道
 273  // #define CAMTRIG
 274  #define CAM_TIME_HIGH 1000    //  高電平時間(毫秒)
 275 
 276  /* **********************          飛機                       ********************** */
 277  // #define USE_THROTTLESERVO  //  用於在油門上使用標准50Hz舵機。
 278 
 279  // #define FLAPPERONS    AUX4           //  混合襟翼與副翼。
 280  #define FLAPPERON_EP   { 1500, 1700 }  //  用於襟翼雙向切換的端點,另外可設為{1020,2000}並在遙控上編程。
 281  #define FLAPPERON_INVERT { -1, 1 }     //  改變襟副翼的方向{ Wing1, Wing2 }
 282 
 283  // #define FLAPS                        //  傳統移動 SERVO3.
 284  // #define FLAPSPEED     3              // 使襟翼移動變慢,值越高速度越快。
 285 
 286  /* **********************          直升機與飛機通用                ********************** */
 287 
 288  /*  調節器:試圖通過螺距和電壓的改變維持轉速
 289  * 預測方法:觀察輸入信號與電壓並猜測適當的修正。
 290  * (油門曲線必須為調節器留有空間,所以0-50-75-80-80是可以的,不可以為0-50-95-100-100。
 291  * 可以通過aux開關切換
 292  */
 293  // #define GOVERNOR_P 7      //  (*) 比例因子。更大的值 -> 更大的油門增量。必須>=1;0 = 關閉
 294  // #define GOVERNOR_D 4      //  (*) 衰減時間。更大的值 -> 油門回到正常需要更長時間。 必須>=1;
 295  // #define VOLTAGEDROP_COMPENSATION  //  電壓影響校正
 296 
 297  /* **********************         直升機                          ********************** */
 298  /*   控制總距的通道  */
 299  #define COLLECTIVE_PITCH      THROTTLE
 300 
 301  /*  限制總距的范圍。100%為每個方向的最大范圍,還有零螺距的位置  */
 302  #define COLLECTIVE_RANGE { 80, 0, 80 } //  {最小%,從1500開始的零螺距偏移,最大%}。
 303  #define YAWMOTOR                 0        //  如果一個電機用作YAW則設為1,否則設為0。
 304 
 305  /*  用於120直升機的舵機混控,使用分數1/10(例.5 = 5/10 = 1/2)
 306  {Coll,Nick,Roll}  */
 307  #define SERVO_NICK   { +10, -10,  0 }
 308  #define SERVO_LEFT   { +10, +5, +10 } 
 309  #define SERVO_RIGHT  { +10, +5, -10 } 
 310 
 311  /*  限制用於Roll & Nick最大控制,范圍0-100%  */
 312  #define CONTROL_RANGE   { 100, 100 }       //   { ROLL,PITCH }
 313 
 314  /*  使用舵機代碼驅動油門輸出。用模擬舵機驅動IC引擎上的油門時,你會需要此項。
 315  如果不啟用,油門輸出會被看做電機輸出,所以它可以驅動電調  */
 316  // #define HELI_USE_SERVO_FOR_THROTTLE
 317 
 318  /* **********************      你的獨立混控              ********************** */
 319  /*  如果你想要覆蓋一個選存的混合表中的條目,你可能想要避免
 320  * 在每個版本一遍又一遍的編輯mixTable()函數
 321  * 操作方式: http://www.multiwii.com/wiki/index.php?title=Config.h #Individual_Mixing
 322  */
 323  // #define MY_PRIVATE_MIXING "filename.h"    更改filename.h為你自己的默認文件(jpno1注)
 324 
 325  /* **********************      y你的默認參數    ********************** */
 326  /*  如果你想要覆蓋一個選存的混合表中的條目,你可能想要避免
 327  * 在每個版本一遍又一遍的編輯 LoadDefaults() 函數
 328  http://www.multiwii.com/wiki/index.php?title=Config.h #Individual_defaults
 329  */
 330  // #define MY_PRIVATE_DEFAULTS "filename.h"   更改filename.h為你自己的默認文件(jpno1注)
 331 
 332 
 333  /* *********************************************************************************************** */
 334  /* ****************                                                                 ************** */
 335  /* ***************  SECTION  3 - 無線遙控系統設置                                           ****** */
 336  /* ****************                                                                 ************** */
 337  /* *********************************************************************************************** */
 338 
 339  /*  提示:如果你使用的是標准接收機,不必取消本節的一些注釋  */
 340 
 341  /* ***************************     擴展輔助狀態     ********************************** */
 342  /*  如果你啟用這個設置,在AUX通道(aux1-aux4)通道,你可以使用六個檔位。
 343  注意:能使用6個檔位的只有wingui 2.3或者更新的版本地面站。multiwiiconf還不支持
 344  檔位值
 345  1000-1230
 346  1231-1360
 347  1361-1490
 348  1491-1620
 349  1621-1749
 350  1750-
 351 
 352  */
 353 
 354  // #define EXTENDED_AUX_STATES
 355 
 356 
 357  /* ************************************************************************************ */
 358  /* *******                       特殊接收機類型                     ******************* */
 359  /* ************************************************************************************ */
 360 
 361  /* ***************************    PPM Sum接收機      ********************************** */
 362  /*  下列幾行僅用於特定的僅有一個PPM sum信號的接收機,接在數字針腳2上
 363  根據你的遙控品牌選擇相應的行。當你的PPM順序不同時,你可以隨意修改順序  */
 364  // #define SERIAL_SUM_PPM         PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4,8,9,10,11  // 用於Graupner/Spektrum
 365  // #define SERIAL_SUM_PPM         ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11  // 用於Robe/Hitec/Futaba
 366  // #define SERIAL_SUM_PPM         ROLL,PITCH,YAW,THROTTLE,AUX1,AUX2,AUX3,AUX4,8,9,10,11  // 用於Multiplex
 367  // #define SERIAL_SUM_PPM         PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11  // 用於一些韓國的/日本三和/其它
 368 
 369  //  解除下面這行注釋以允許連接PPM_SUM接收機至MEGA板上的標准油門針腳(例.CRIUS AIO上的A8)
 370  // #define PPM_ON_THROTTLE
 371 
 372  /* *********************    Spektrum衛星接收機    ****************************** */
 373  /*  以下幾行僅用於Spektrum衛星接收機
 374  Spektrum衛星系列是3V設備。不要連接至5V!
 375  對於MEGA板,將灰線連接到RX1,19針腳上。黑線接地。橙線連接到Mega板的3.3V上(或其他3V至3.3V的電源)。
 376  對於PROMINI,將灰線連接到RX0。黑線接地。  */
 377  // #define SPEKTRUM 1024
 378  // #define SPEKTRUM 2048
 379  // #define SPEK_SERIAL_PORT 1     //  Pro Mini與其他單串口的板子上只能設為0;在所有基於Mega的板子上設為你選擇的0,1,2(在Mega上默認為1)。
 380  // **************************
 381  //  定義此項允許Spektrum或兼容機遠程接收機(也就是衛星)通過配置GUI對頻。
 382  //    對頻模式與上述的相同,只要你的發射機支持。
 383  //    接地,電源,信號必須來自三個鄰近的針腳。
 384  //    默認下,它們為接地=4,電源=5,信號=6。這些針腳在多數MultiWii擴展板上都為一排。可在下方覆蓋針腳。
 385  //    通常需要在電源針腳上使用3.3V穩壓器!!如果你的衛星在對頻時停擺(閃爍,但不會常亮停止閃爍),將所有的針腳連接至5V。
 386  // **************************
 387  //    對於Pro Mini,用於衛星的屬於FTDI的連接器可以拔掉,並移至那三個相鄰針腳。
 388  // #define SPEK_BIND              // 解除注釋以開啟Spektrum衛星對頻支持。沒有它代碼可節省約420字節。
 389  // #define SPEK_BIND_GROUND 4
 390  // #define SPEK_BIND_POWER  5
 391  // #define SPEK_BIND_DATA   6
 392 
 393  /* ******************************    SBUS接收機        *********************************** */
 394  /*  下面這行僅用於Futaba S-Bus接收機在MEGA板上的RX1的情況(串口1)。
 395  你必須反轉S-Bus-串口信號,例如使用十六進制反相器像是IC SN74 LS 04  */
 396  // #define SBUS
 397  // #define SBUS_SERIAL_PORT 1
 398  #define SBUS_MID_OFFSET 988  // SBUS Mid-Point at 1500
 399 
 400  /* ****************************** HOTT 接收機 *********************************** */
 401  /*  Graupner Hott HD  */
 402  // #define SUMD PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4
 403  // #define RX_SERIAL_PORT 1
 404 
 405  /* *********************************************************************************************** */
 406  /* ****************                                                                 ************** */
 407  /* ***************  SECTION  4 - 替代的CPU和主板                                    ****** */
 408  /* ****************                                                                 ************** */
 409  /* *********************************************************************************************** */
 410 
 411  /* ************************************************************************************ */
 412  /* *******                      Promini板專用設置           ******************* */
 413  /* ************************************************************************************ */
 414 
 415  /* *************************       六軸電機 5 & 6 針腳    ****************************** */
 416  /*  用A0與A1針腳代替D5與D6針腳,用於6個電機配置與promini配置
 417  該模式允許在promini上標准接收機的使用
 418  (不必使用PPM sum接收機)  */
 419  // #define A0_A1_PIN_HEX
 420 
 421  /* ********************************    Aux 2 針腳     ********************************** */
 422  /*  讓你可以使用針腳8或針腳12作為遙控的AUX2輸入(只可啟用一個,不可全部啟用)
 423  如果啟用它會使功率針腳(針腳12)或蜂鳴針腳(針腳8)失效  */
 424  // #define RCAUXPIN8
 425  // #define RCAUXPIN12
 426 
 427 
 428  /* ************************************************************************************ */
 429  /* ****************             Teensy 2.0 支持                    ***************** */
 430  /* ************************************************************************************ */
 431  /*  解除此項如果你使用的是使用teensyduino的teensy 2.0
 432  它需要運行在16MHz  */
 433  // #define TEENSY20
 434 
 435 
 436  /* ************************************************************************************ */
 437  /* *******   用於ProMicro,Leonardo和其他Atmega32u4板子的設置                ********** */
 438  /* ************************************************************************************ */
 439 
 440  /* ********************************    針腳布局       ********************************* */
 441  /*  如果所有針腳都能使用,激活此項可獲得更好的針腳布局 => 在ProMicro上不可用  */
 442  // #define A32U4ALLPINS
 443 
 444  /* *********************************    PWM設置       ********************************* */
 445  /*  激活全部6個硬件PWM輸出,電機5 = D11,電機6 = D13。
 446  提示:不可用於sparkfun promicro(針腳11 & 13未被引出)
 447  如果激活:
 448  電機1-6 = 10位硬件PWM
 449  電機7-8 = 8位軟件PWM
 450  舵機    = 8位軟件PWM
 451  如果未激活:
 452  電機1-4 = 10位硬件PWM
 453  電機5-8 = 10位軟件PWM
 454  舵機    = 10位軟件PWM  */
 455  // #define HWPWM6
 456 
 457  /* *********************************    Aux 2 針腳    ********************************* */
 458  /*  AUX2針腳在RXO針腳上  */
 459  // #define RCAUX2PINRXO
 460 
 461  /*  aux2針腳在D17針腳上(RXLED)  */
 462  // #define RCAUX2PIND17
 463 
 464  /* *********************************    蜂鳴針腳      ********************************* */
 465  /*  此項將蜂鳴針腳從TX0移動至D8以使用ppm sum或spectrum sat.接收機(如果啟用了A32U4ALLPINS則不需此項)  */
 466  // #define D8BUZZER
 467 
 468  /* **********************      Promicro版本相關             *************************** */
 469  /*  反轉狀態LED用於Promicro版本10  */
 470  // #define PROMICRO10
 471 
 472 
 473  /* ************************************************************************************ */
 474  /* *******                      默認針腳分配調整    ******************* */
 475  /* ************************************************************************************ */
 476 
 477   /*  僅在你必須改變默認針腳分配時才啟用其中一項,例:你的板子沒有特定針腳  */
 478    /*  你可能需要依據期望的針腳給PINx與PORTx加上#移位!  */
 479 
 480  // #define OVERRIDE_V_BATPIN                   A0  //  代替A3     // 模擬針腳3
 481 
 482  // #define OVERRIDE_PSENSORPIN                 A1  //  代替A2     // 模擬針腳2
 483 
 484  // #define OVERRIDE_LEDPIN_PINMODE             pinMode (A1, OUTPUT);  //  使用A1代替d13
 485  // #define OVERRIDE_LEDPIN_TOGGLE              PINC |= 1<<1;  //  PINB |= 1<<5;      // 切換LED針腳狀態(數字針腳13)
 486  // #define OVERRIDE_LEDPIN_OFF                 PORTC &= ~(1<<1);  //  PORTB &= ~(1<<5);
 487  // #define OVERRIDE_LEDPIN_ON                  PORTC |= 1<<1;     //  was PORTB |= (1<<5);
 488 
 489  // #define OVERRIDE_BUZZERPIN_PINMODE          pinMode (A2, OUTPUT);  //  使用A2代替d8
 490  // #define OVERRIDE_BUZZERPIN_ON               PORTC |= 1<<2  // PORTB |= 1;
 491  // #define OVERRIDE_BUZZERPIN_OFF              PORTC &= ~(1<<2);  // PORTB &= ~1;
 492 
 493  /* *********************************************************************************************** */
 494  /* ****************                                                                 ************** */
 495  /* ***************  SECTION  5 - 替代設置                                                   ****** */
 496  /* ****************                                                                 ************** */
 497  /* *********************************************************************************************** */
 498 
 499  /* *****                串行速率    ******************************** */
 500  /*  此為每個串口的速率  */
 501  #define SERIAL0_COM_SPEED 115200
 502  #define SERIAL1_COM_SPEED 115200
 503  #define SERIAL2_COM_SPEED 115200
 504  #define SERIAL3_COM_SPEED 115200
 505 
 506  /*  當I2C總線有錯誤時,我們可在很短的時間內中立化相關值。用微秒表示
 507  它僅與至少有一個WMP的配置相關  */
 508  #define NEUTRALIZE_DELAY 100000
 509 
 510  /* ************************************************************************************ */
 511  /* *******                              陀螺儀濾波器                ******************* */
 512  /* ************************************************************************************ */
 513 
 514  /* ********************    特定的幾款陀螺儀的低通濾波器    *************************** */
 515  /*  ITG3200 & ITG3205 的低通濾波設置. 如果你不能減小飛行器震動,你可以嘗試
 516  逐步降低低通濾波器的頻率,一旦抖動消失就可以保持相應濾波設置
 517    它對回饋引起的擺動不起作用,所以只在飛行器隨機抽動並且所有抑制和平衡設置失效的時候才修改它。只取消注釋其中一項!
 518    重要!改變低通濾波器設置將會改變PID的行為,所以在改變LPF后重新調整你的PID。
 519    支持低通濾波的陀螺儀模塊:ITG3050, ITG3200, MPU3050, MPU6050 */
 520  // #define GYRO_LPF_256HZ       //  此為默認設置,不需要取消注釋,只作為參考
 521  // #define GYRO_LPF_188HZ
 522  // #define GYRO_LPF_98HZ
 523  // #define GYRO_LPF_42HZ
 524  #define GYRO_LPF_20HZ
 525  // #define GYRO_LPF_10HZ
 526  // #define GYRO_LPF_5HZ         //  只在極端情況下使用此項,更應該換電機和/或螺旋槳 -- 此設置不能在ITG3200陀螺儀上工作
 527 
 528  /* *****                陀螺儀平滑化    ********************************* */
 529  /*  GYRO_SMOOTHING.在你不能消除振動的情況下,_並且_是在嘗試了低通濾波器選項_之后_,你
 530  可嘗試此通過平均化的陀螺儀平滑化。不適用於多旋翼飛行器!
 531  在有很多振動的直升機,飛機和飛翼(泡沫的)上可獲得良好結果。 */
 532  // #define GYRO_SMOOTHING {20, 20, 3}     //  (*) 分別為roll, pitch, yaw的平均化范圍
 533 
 534  /* ***********************    移動平均陀螺儀    ********************************* */
 535  // #define MMGYRO 10                       //  (*) 激活用於陀螺儀的移動平均函數
 536  // #define MMGYROVECTORLENGTH 15           //  移動平均向量的長度(用於可調節的MMGYRO的最大值
 537  /*  移動平均舵機雲台信號輸出  */
 538  // #define MMSERVOGIMBAL                   //  激活用於舵機雲台的輸出移動平均函數
 539  // #define MMSERVOGIMBALVECTORLENGHT 32    //  移動平均向量的長度
 540 
 541  /* ***********************    模擬讀取   ********************************** /
 542  /*如果你想更快的模擬讀取,注釋它。它可能會導致不准確的結果,特別是對多個模擬通道 */
 543  // #define FASTER_ANALOG_READS
 544 
 545  /* *********************************************************************************************** */
 546  /* ****************                                                                 ************** */
 547  /* ***************  SECTION  6 - 可選功能                                                   ****** */
 548  /* ****************                                                                 ************** */
 549  /* *********************************************************************************************** */
 550 
 551  /* ***********************        解鎖后重置氣壓計高度         ******************* */
 552  /*  When unchecked a calibration of the baro altitude is preformed every time arming is activated  */
 553  #define ALTITUDE_RESET_ON_ARM
 554 
 555  /* ***********************        油門隨着角度補償         ******************* */
 556    /*  可以讓你飛機傾斜的時候不要掉高度。根據角度增加油門,這是可以開下來的,但是要根據飛機不同來調節。免得角度一傾斜,油門竄得太高。
 557       最初構想 by Kraut Rob, first implementation HAdrian                             */
 558 
 559    // #define THROTTLE_ANGLE_CORRECTION 40
 560 
 561  /* ** 無頭模式 : 起飛點和飛行器的連線將成為控制方向 ** */
 562  #define HEADFREE
 563 
 564   /* ************************       高級 Headfree 無頭模式             ******************* */
 565   /*  In Advanced Headfree mode when the copter is farther than ADV_HEADFREE_RANGE meters then 
 566      the  bearing between home and copter position will become the control direction 
 567      IF copter come closer than ADV_HEADFREE_RANGE meters, then the control direction freezed to the 
 568      bearing between home and copter at the point where it crosses the ADV_HEADFREE_RANGE meter distance
 569      first implementation by HAdrian, mods by EOSBandi
 570    在高級無頭模式下,當飛行機超過ADV_HEADFREE_RANGE定義的范圍, 
 571    起飛點和飛行器的連線將成為控制方向, 當飛行器飛入ADV_HEADFREE_RANGE定義范圍,那么控制方向將鎖定為原點和飛行器飛入ADV_HEADFREE_RANGE
 572    范圍內時位置的連線,
 573    */
 574 
 575     // #define ADVANCED_HEADFREE                                     // 去掉注釋開啟高級無頭模式
 576      // #define ADV_HEADFREE_RANGE 15                                 // 高級無頭模式范圍米.
 577 
 578 
 579  /* ***********************        連續的陀螺儀校准                     ******************* */
 580    /*  如果在校准過程中飛行器被移動,陀螺儀校准將會重復。  */
 581      // #define GYROCALIBRATIONFAILSAFE
 582 
 583  /* ***********************        AP飛行模式           ********************************* */
 584  /*  臨時禁用GPS_HOLD_MODE(GPS保持模式),讓移動搖桿時可以調整定點位置。 */
 585  #define AP_MODE 40   //  Create a deadspan for GPS.
 586 
 587  /* ***********************    輔助特技練習器         *********************************** */
 588  /*  在自動復原輔助下訓練特技。該值設定ANGLE_MODE接管的點。
 589  記住首先激活ANGLE_MODE!...
 590  值為200將會給你一個很明顯的轉換  */
 591  // #define ACROTRAINER_MODE 200    //   http://www.multiwii.com/forum/viewtopic.php?f=16 &t=1944#p17437
 592 
 593 
 594  /* *******                          失控保護設置                 ******************* */
 595  /*  失控保護檢查四個控制通道CH1-CH4的脈沖。如果脈沖丟失或低於985us(在這四個通道的任意一個上)
 596  失控保護程序就會啟動。從失控保護檢測到,再經過FAILSAFE_DELAY的時間,自穩模式就會開啟(如果加速度或雞腿柄可用),
 597  PITCH,ROLL和YAW被置中,油門設為FAILSAFE_THR0TTLE的值。你必須設定該值使下降速度在1m/s左右
 598  以獲得最佳結果。該值取決於你的配置,總重量和一些其他參數。接下來,在FAILSAFE_OFF_DELAY之后,飛行器會被鎖定,
 599  並且電機會停止。如果遙控脈沖在到達FAILSAFE_OFF_DELAY時間之前恢復,在很短的保護時間之后遙控就會恢復正常。  */
 600  // #define FAILSAFE                                 //  解除注釋以激活failsafe函數
 601  #define FAILSAFE_DELAY     10                      //  用於丟失信號之后失控保護激活之前的保護時間。1步=0.1秒 - 示例中為1秒
 602  #define FAILSAFE_OFF_DELAY 200                     //  用於電機停止前的着陸時間,以0.1秒為單位。1步=0.1秒 - 示例中為20秒
 603  #define FAILSAFE_THROTTLE  (MINTHROTTLE + 200)     //  (*) 用於降落的油門級別 - 可與MINTHROTTLE相關聯 - 如本例所示
 604 
 605  #define FAILSAFE_DETECT_TRESHOLD  985
 606 
 607 
 608  /* ****************                DFRobot LED 光環     ******************************** */
 609  /*  I2C DFRobot LED光環通訊  */
 610  // #define LED_RING
 611 
 612  /* *******************************    LED閃光燈      ********************************** */
 613  // #define LED_FLASHER
 614  // #define LED_FLASHER_DDR DDRB
 615  // #define LED_FLASHER_PORT PORTB
 616  // #define LED_FLASHER_BIT PORTB4
 617  // #define LED_FLASHER_INVERT
 618  // #define LED_FLASHER_SEQUENCE        0b00000000       //  leds關閉
 619  // #define LED_FLASHER_SEQUENCE_ARMED  0b00000101       //  創建雙閃
 620  // #define LED_FLASHER_SEQUENCE_MAX    0b11111111       //  全照明
 621  // #define LED_FLASHER_SEQUENCE_LOW    0b00000000       //  無照明
 622 
 623 
 624  /* ******************************    着陸燈            ******************************** */
 625  /*  着陸燈
 626  使用一個輸出針腳控制着陸燈。
 627  它與從聲納獲得的高度數據結合時
 628  可以自動開關。  */
 629  // #define LANDING_LIGHTS_DDR DDRC
 630  // #define LANDING_LIGHTS_PORT PORTC
 631  // #define LANDING_LIGHTS_BIT PORTC0
 632  // #define LANDING_LIGHTS_INVERT
 633 
 634  /*  依據聲納傳來的數在地面之上的高度(以cm為單位)  */
 635  // #define LANDING_LIGHTS_AUTO_ALTITUDE 50
 636 
 637  /*  讓閃光燈的樣式應用於着陸燈LED  */
 638  // #define LANDING_LIGHTS_ADOPT_LED_FLASHER_PATTERN
 639 
 640  /* ************************    飛行時加速度計校准           **************************** */
 641  /*  此項會激活加速度計飛行時校准  */
 642  // #define INFLIGHT_ACC_CALIBRATION
 643 
 644  /* ******************************    OSD切換        ************************************ */
 645  //  此項會添加一個可被OSD解讀的激活狀態的選框(比如說開關覆蓋物)
 646  // #define OSD_SWITCH
 647 
 648  /* ************************************************************************************ */
 649  /* **********************              發射機-相關            ************************* */
 650  /* ************************************************************************************ */
 651 
 652  /*  在搖桿中點周圍引入一個死區(譯者注:無作用控制區)
 653  必須大於零,如果你不需要在roll,pitch和yaw上的死區就注釋掉它  */
 654  #define DEADBAND 6
 655 
 656  /* ************************************************************************************ */
 657  /* **********************                  GPS                ************************* */
 658  /* ************************************************************************************ */
 659 
 660  /*  啟用GPS 模擬器 (只支持NMEA協議) */
 661  // #define GPS_SIMULATOR
 662 
 663  /*  GPS使用一個串口
 664  如果啟用,在此定義Arduino串口號與UART速度
 665  注:如在NMEA模式只有RX針腳是被使用的,GPS不可被multiwii配置
 666  在NMEA模式下,GPS必須配置為輸出GGA與RMC NMEA語句(在大部分GPS設備中通常為默認配置)
 667  至少為5Hz更新速率。解除第一行注釋來選擇用於GPS的arduino串口  */
 668 
 669  // #define GPS_SERIAL 2        
 670  //  flyduino v2應設為2。此為arduino MEGA上的串口號
 671  //  PRO_MINI(ex GPS_PRO_MINI)必須為0
 672  //  提示: 現在GPS可以共享同一端口的MSP。唯一的限制是不同時使用它,並使用相同的端口速度。
 673 
 674  //  避免使用115200波特因為16MHz Arduino 115200波特率超過2%速度誤差(57600有0.8%的誤差)
 675  // #define GPS_BAUD   38400        //  GPS_BAUD will override SERIALx_COM_SPEED for the selected port
 676 
 677  /*  GPS協議
 678  NMEA  - 標准NMEA協議。需要GGA,GSA與RMC語句
 679  UBLOX - U-Blox二進制協議,使用來自源碼樹的ublox配置文件(u-blox-config.ublox.txt)
 680  MTK_BINARY16 與 MTK_BINARY19 - 基於MTK3329芯片的GPS,使用DIYDrones二進制固件(v1.6 或 v1.9)
 681  在使用UBLOX與MTK_BINARY時你不需要在multiwii代碼中使用GPS_FILTERING!!!  */
 682 
 683 
 684  #define NMEA
 685  // #define UBLOX
 686  // #define MTK_BINARY16
 687  // #define MTK_BINARY19
 688  // #define INIT_MTK_GPS          //  初始化MTK GPS。使其使用選定的速度,5Hz更新速率與GGA & RMC語句或二進制的設置
 689 
 690 
 691  /*  I2C GPS設備,使用一個獨立的arduino + GPS設備制作
 692  包含一些導航函數
 693  由EOSBandi貢獻    http://code.google.com/p/i2c-gps-nav/
 694  你必須使用I2CGpsNav r33以上版本  */
 695  /*  all functionnalities allowed by SERIAL_GPS are now available for I2C_GPS: all relevant navigation computations are gathered in the main FC  */
 696 
 697  #define I2C_GPS
 698 
 699  //  如果你的I2C GPS板有聲納支持
 700  // #define I2C_GPS_SONAR
 701 
 702  /*  通過LED閃爍表明GPS搜到了至少5顆有效的衛星 - 由MIS修改 - 使用常亮的LED(CRIUS AIO上為黃色)led作為星數指示器工作
 703  - GPS無定位 -> LED閃爍速度為收到GPS幀的速度
 704  - 定位並且星數小於5 -> LED關閉
 705  - 定位並且星數 >= 5 -> LED閃爍,閃一下表示5顆星,閃兩下表示6顆星,三下表示7 ...  */
 706  #define GPS_LED_INDICATOR
 707 
 708  //  啟用MSP_WP命令,用於WinGUI顯示與記錄家與定點的位置
 709  #define USE_MSP_WP
 710 
 711  //  家的地點(HOME position)會在每次解鎖時重置,解除注釋此項來禁用它(你可以通過校准陀螺儀來設置家的地點)
 712  // #define DONT_RESET_HOME_AT_ARM
 713 
 714  /*  允許GPS導航控制頭部方向  */
 715 
 716  //  飛行器面對着航點飛行,磁場保持必須為此開啟
 717  #define NAV_CONTROLS_HEADING       1     // (**)
 718  //  true - 飛行器以尾部首先飛來
 719  #define NAV_TAIL_FIRST             0     // (**)
 720  //  true - 當飛行器到達家的位置時他會旋轉至起飛時的角度
 721  #define NAV_SET_TAKEOFF_HEADING    1     // (**)
 722 
 723  /*  從這里獲取你的磁偏角: http://magnetic-declination.com/
 724  轉換度+分至小數的角度,通過 ==> 度+分*(1/60)
 725  注意磁偏角的符號,它可為負或正(西或東)  */
 726  #define MAG_DECLINATION  -1.55f    // (中國廣西南寧市江南區)
 727 
 728  //  添加向前預測濾波以補償GPS延遲。代碼基於Jason Short領導的濾波器實現
 729  #define GPS_LEAD_FILTER                // (**)
 730 
 731  //  添加5元素移動平均濾波器至GPS坐標,幫助消除GPS噪波但會增加延時,注釋以禁用
 732  //  僅支持NMEA協議的GPS
 733  #define GPS_FILTERING                  // (**)
 734 
 735  //  如果我們與航點在此距離以內,我們則認為已到達航點(以cm為單位)
 736  #define GPS_WP_RADIUS              100       // (**)
 737 
 738  //  安全的航路點的距離,如果第一個航路點的距離大於這個數,將不執行任務(單位:米)
 739  // 同時,下一個航點間的距離大於這個數任務也會被終止(也就是兩個航點間距離不能大於這個數)
 740  #define SAFE_WP_DISTANCE           500       // (**)
 741 
 742  //  最大允許航行高度(米)高度自動控制不會超過這個高度
 743  #define MAX_NAV_ALTITUDE           100      // (**)
 744 
 745  // 接近航點時的最小速度
 746  #define NAV_SPEED_MIN              100     //  cm/sec //(**)
 747  // 最大速度達到之間的航點
 748  #define NAV_SPEED_MAX              400     //  cm/sec //(**)
 749  //  到達航點時減速到零(與nav_speed_min = 0類似)
 750  #define NAV_SLOW_NAV               0       // (**)
 751  //  在導航計算的偏航錯誤的權重因子(別改)
 752  #define CROSSTRACK_GAIN            .4      // (**)
 753  // 導航時的最大傾斜輸出
 754  #define NAV_BANK_MAX 3000                  // (**)
 755 
 756  // 定義返回點高度。0是在返回點保持當時高度(米)
 757  #define RTH_ALTITUDE               15         // (**)
 758  // 前往導航點前等待升高到預定高度(0-否,1-是)
 759  #define WAIT_FOR_RTH_ALT           1          // (**)
 760 
 761  // 導航引擎接管氣壓定高模式工作
 762  #define NAV_TAKEOVER_BARO          1          // (**)
 763 
 764  // 忽略油門桿的輸入(只在氣壓定高模式)
 765  #define IGNORE_THROTTLE            1          // (**)
 766 
 767  // 如果定義的范圍大於0,飛行器將在超出此距離是自動切換到自動返航模式返回定義的返回點。
 768  #define FENCE_DISTANCE      600
 769 
 770  // 這參數控制自動降落模式的降落速度. 100表示下降速度為50厘米/秒
 771  #define LAND_SPEED          100
 772 
 773 
 774  // #define ONLY_ALLOW_ARM_WITH_GPS_3DFIX       //  限制飛控只能在GPS獲取到三維定位數據后解鎖
 775 
 776  /* ************************************************************************************ */
 777  /* **********************        LCD/OLED - 顯示設置       ******************** */
 778  /* ************************************************************************************ */
 779 
 780  /*   http://www.multiwii.com/wiki/index.php?title=Extra_features #LCD_.2F_OLED  */
 781 
 782      /* ****************************    LCD種類              ********************************* */
 783        /*  選擇用於配置和遙測的LCD,見下方注解  */
 784  // #define LCD_DUMMY         //  無物理LCD附加。通過定義此與LCD_CONF,發射機遙桿可用於設置增益,通過觀察LED閃爍。  
 785  // #define LCD_SERIAL3W     //  Alex的初始變體使用3條導線,使用rx針腳進行傳輸@固定的9600波特率
 786  // #define LCD_TEXTSTAR     //  串口LCD:Cat's Whisker品牌的LCD_TEXTSTAR模塊CW-LCD-02(擁有4個輸入按鍵用於選擇菜單)
 787  // #define LCD_VT100        //  串口LCD:vt100兼容終端仿真(blueterm,putty等)
 788  // #define LCD_TTY          //  串口LCD:用於通過線纜與arduino IDE“串口監視器”連接調整參數
 789  // #define LCD_ETPP         //  I2C LCD:Eagle Tree品牌的Power Panel LCD,使用i2c(非串口)
 790  // #define LCD_LCD03        //  I2C LCD:LCD03,使用i2c
 791  // #define LCD_LCD03S       //  串口LCD:lcd03通過串口9600波特率通信。
 792  // #define OLED_I2C_128x64  //  I2C LCD: OLED  http://www.multiwii.com/forum/viewtopic.php?f=7 &t=1350
 793  // #define OLED_DIGOLE      //  I2C OLED from  http://www.digole.com/index.php?productID=550
 794 
 795  /* *****************************   顯示設置   ********************************** */
 796  // #define LCD_SERIAL_PORT 0      //  在Pro Mini以及其他單串口板上只能設為0,在任何基於Mega的板子上可設置為你的選擇
 797 
 798  // #define SUPPRESS_OLED_I2C_128x64LOGO   //  禁用OLED logo顯示來節省儲存
 799 
 800      /*  為獲得更好的可讀性,使用雙倍字體高度。減少一半可見#行。
 801       * 每個頁面的下半部分以按住shift的鍵盤文字作為名字:
 802       * 1 - ! , 2 - @ , 3 - # , 4 - $ , 5 - % , 6 - ^ , 7 - & , 8 - * , 9 - (
 803       * 你必須同時添加到你的lcd.遙測.*序列中
 804        */
 805  // #define DISPLAY_FONT_DSIZE  // 目前只能應用於OLED_I2C_128x64 OLED_DIGOLE
 806 
 807   /*  顯示風格 - 通過LCD_ setting自動檢測 - 僅在覆蓋默認時激活  */
 808  // #define DISPLAY_2LINES
 809  // #define DISPLAY_MULTILINE
 810  // #define MULTILINE_PRE 2   //  多行配置菜單#之前的行
 811  // #define MULTILINE_POST 6  //  多行配置菜單#之前的行
 812  // #define DISPLAY_COLUMNS 16
 813  /* *******************************    導航     ********************************** */
 814      /*  用來導航LCD配置菜單的按鍵  */
 815  #define LCD_MENU_PREV 'p'
 816  #define LCD_MENU_NEXT 'n'
 817  #define LCD_VALUE_UP 'u'
 818  #define LCD_VALUE_DOWN 'd'
 819 
 820  #define LCD_MENU_SAVE_EXIT 's'
 821  #define LCD_MENU_ABORT 'x'
 822 
 823  /* ************************************************************************************ */
 824  /* **********************      LCD配置菜單         ************************* */
 825  /* ************************************************************************************ */
 826 
 827      /*  如果你准備將LCD或OLED用於調整參數,那么解除本行注釋
 828       *  http://www.multiwii.com/wiki/index.php?title=Extra_features #Configuration_Menu  */
 829        // #define LCD_CONF
 830 
 831      /*  用於包含通過LCD進行AUX1 -> AUX4輔助開關切換的設置  */
 832        // #define LCD_CONF_AUX
 833 
 834      /*  可選排除一些功能 - 解除注釋以禁用一些不需要的遙測頁面或通道設置  */
 835        // #define SUPPRESS_LCD_CONF_AUX2
 836         // #define SUPPRESS_LCD_CONF_AUX34
 837 
 838  /* ************************************************************************************ */
 839  /* **********************      LCD       遙測            ************************* */
 840  /* ************************************************************************************ */
 841 
 842  /*  to monitor system values (battery level, loop time etc. with LCD
 843   *  http://www.multiwii.com/wiki/index.php?title=LCD_Telemetry   */
 844 
 845  /* *******************************   激活     ********************************** */
 846  // #define LCD_TELEMETRY
 847 
 848   /*  在解除注釋於此的一個遙測頁面組合中啟用自動跳轉。  */
 849  // #define LCD_TELEMETRY_AUTO "123452679"  //  升序顯示1至9頁
 850  // #define LCD_TELEMETRY_AUTO  "212232425262729"  //  着重顯示第2頁
 851 
 852      /*  手動步進序列;序列的第一頁在啟動時加載以允許無交互時顯示  */
 853      // #define LCD_TELEMETRY_STEP "0123456789"  //  應包含一個0以允許關閉。
 854 
 855      /*  可選地排除一些功能 - 解除注釋以禁用一些不需要的遙測頁面  */
 856  // #define SUPPRESS_TELEMETRY_PAGE_1
 857  // #define SUPPRESS_TELEMETRY_PAGE_2  //  傳感器讀數
 858  // #define SUPPRESS_TELEMETRY_PAGE_3  //  復選框項
 859  // #define SUPPRESS_TELEMETRY_PAGE_4  //  遙控輸入
 860  // #define SUPPRESS_TELEMETRY_PAGE_5  //  舵機和電機輸出
 861  // #define SUPPRESS_TELEMETRY_PAGE_6  //  電池電壓
 862  // #define SUPPRESS_TELEMETRY_PAGE_7  //  gps
 863  // #define SUPPRESS_TELEMETRY_PAGE_8  //  告警狀態
 864  // #define SUPPRESS_TELEMETRY_PAGE_9  //  循環和失敗
 865  // #define SUPPRESS_TELEMETRY_PAGE_R  //  重置
 866 
 867  /* 可選的默認項目的一些遙測頁面-完整的可用功能列表見LCD.h  */
 868  // #define LCD_TELEMETRY_PAGE1 { output_V, output_mAh, }
 869  // #define LCD_TELEMETRY_PAGE2 { output_gyroX, output_gyroY, output_accZ, }
 870  // #define LCD_TELEMETRY_PAGE9 { output_fails, output_annex, output_debug0, output_debug3, }
 871 
 872  /* ****************************************************************** */
 873  /* ***                             RSSI                           *** */
 874  /* ****************************************************************** */
 875  // #define RX_RSSI
 876  // #define RX_RSSI_PIN A3
 877  // #define RX_RSSI_CHAN 8    // RSSI 注入指定的通道 (for PPM, Olrs, SBUS, etc.) (Starts at 0)
 878 
 879   /* ****************************************************************** */
 880    /* ***                             蜂鳴器(BUZZER)                      *** */
 881    /* ****************************************************************** */
 882      #define BUZZER
 883      #define RCOPTIONSBEEP          //  如果你想在遙控選項在通道Aux1至Aux4改變時讓蜂鳴器響起,解除注釋此項
 884      #define ARMEDTIMEWARNING 480   //  (*) 在解鎖一段時間[s]后觸發警報以保護鋰電。(如果你的發射機沒有倒計時)
 885      // #define PILOTLAMP              // 如果你在使用X-Arcraft導航燈那么解除注釋
 886 
 887    /* ****************************************************************** */
 888    /* ***           電池電壓監控                                     *** */
 889    /* ****************************************************************** */
 890     /*  用於V BAT(電池電壓)監控
 891         在電阻分壓后,我們在模擬V_BAT針腳上應獲得[0V;5V]->[0;1023]
 892         通過R1=33k和R2=51k
 893         vbat = [0;1023]*16/VBATSCALE
 894         必須與#define BUZZER結合!  */
 895  #define TanVBAT            // 自己增加的建議的電壓測量功能,需要同時啟用VBAT(該模塊淘寶可以搜索arduino 電壓檢測模塊,就兩塊到七塊這樣,量程是最大25V的)
 896  #define VBAT               //  解除注釋本行以激活vbat代碼
 897  #define VBATSCALE       131  //  (*) 如果讀取到的電池電壓與真實電壓不同,修改該值
 898  #define VBATNOMINAL     126  //  12,6V滿電標准電壓 - 僅用於lcd.遙測
 899  #define VBATLEVEL_WARN1 110  //  (*) (**) 10,7V
 900  #define VBATLEVEL_WARN2  100  //  (*) (**) 9.9V
 901  #define VBATLEVEL_CRIT   99  //  (*) 9.3V - 臨界情況:如果vbat持續低於該值,就會觸發警報長響
 902  #define NO_VBAT          16  //  (*) 避免在沒有電池時響起
 903  #define VBAT_OFFSET       0  // 抵消0.1volts,加入有用的齊納二極管的電壓值
 904 
 905  /*  對多個電池進行監控
 906   * 必須同時啟用VBAT,VBAT_CELLS
 907    */
 908  // #define VBAT_CELLS
 909  #define VBAT_CELLS_NUM 0  //  設置連接在模擬陣腳pin上的電池數量
 910  #define VBAT_CELLS_PINS {A0, A1, A2, A3, A4, A5 }  //  將此設置為模擬引腳序列
 911  #define VBAT_CELLS_OFFSETS {0, 50, 83, 121, 149, 177 }  //  in 0.1 volts, gets added to voltage value  - useful for zener diodes
 912  #define VBAT_CELLS_DIVS { 75, 122,  98, 18, 30, 37 }  //  divisor for proportional part according to resistors - larger value here gives smaller voltage
 913 
 914    /* ****************************************************************** */
 915    /* ***           功率計(電池容量監控)                *** */
 916    /* ****************************************************************** */
 917 
 918     /*  啟用電池能量消耗監控(以mAh考慮)
 919         允許在GUI中或通過LCD設置警戒值
 920         全部描述與操作方法請見此  http://www.multiwii.com/wiki/index.php?title=Powermeter
 921         有兩個選項:
 922         1 - 硬件: - (使用硬件傳感器,配置后將獲得相當不錯的結果)
 923         2 - 軟件: - (使用plush與mystery電調可獲得+-5%的料號結果,使用SuperSimple電調結果不佳)     */
 924      // #define POWERMETER_SOFT
 925       // #define POWERMETER_HARD
 926       #define PSENSORNULL 510  //  (*) 設置0電流時analogRead()的值;I=0A時,我的傳感器得到1/2 Vss;約為2.49伏;
 927                                   
 928      #define PINT2mA 132  //  (*) 用於遙測顯示:一個用在arduino模擬轉換為mA時的整數(例4.9 / 37 * 100
 929                                     /* soft: use fictional value, start with 100.
 930                                     for hard and soft: larger PINT2mA will get you larger value for power (mAh equivalent)  */
 931  // #define WATTS  //  計算並顯示實際瓦(=伏特×安培)需要powermeter_hard和VBAT
 932 
 933    /* ****************************************************************** */
 934    /* ***                      高度保持                              *** */
 935    /* ****************************************************************** */
 936 
 937    /* 定高模式(AltHold)是使用自動油門,試圖保持目前的高度的穩定模式。
 938       定高模式時高度仍然可以通過提高或降低油門控制,但中間會有一個油門死區,油門動作幅度超過這個死區時,飛行器才會響應你的升降動作
 939       當進入任何帶有自動高度控制的模式,你目前的油門將被用來作為調整油門保持高度的基准。
 940       在進入高度保持前確保你在懸停在一個穩定的高度。
 941       飛行器將隨着時間補償不良的數值。只要它不會下跌過快,就不會有什么問題。
 942       離開高度保持模式時請務必小心,油門位置將成為新的油門,
 943       如果不是在飛行器的中性懸停位置,將會導致飛行器迅速下降或上升。默認設置是 +/-50 uncommend and change the value below if you want to change it.  */
 944      #define ALT_HOLD_THROTTLE_NEUTRAL_ZONE    50
 945      // #define ALT_HOLD_THROTTLE_MIDPOINT        1500   //  in us    - if uncommented, this value is used in ALT_HOLD for throttle stick middle point instead of initialThrottleHold parameter.
 946 
 947 
 948      /*  解除注釋以禁用高度保持特性。
 949       * 此項可用於所有下列應用
 950       * + 你有一個氣壓傳感器
 951       * + 想要高度值輸出
 952       * + 不需要使用高度保持特性
 953       * + 想要節省儲存空間
 954        */
 955      // #define SUPPRESS_BARO_ALTHOLD
 956 
 957    /* ****************************************************************** */
 958    /* ***           高度爬升率測定器              (高度儀)           *** */
 959    /* ****************************************************************** */
 960 
 961      /*  啟用以獲得來自上升/下降中的飛行器/飛機的聲頻反饋。
 962       * 需要工作中的氣壓計。
 963       * 目前,輸出會通過串行線發送至啟用中的vt100終端程序。
 964       * 有兩種方式可選(啟用其中一個或同時啟用)
 965       * 方式1:使用來自氣壓計的短期移動(更大的代碼尺寸)
 966       * 方式2:使用來自氣壓計的長期高度觀察(更小的代碼尺寸)
 967        */
 968      // #define VARIOMETER 12             //  可用值:12 = 方式 1 & 2 ;1 = 方式 1;2 = 方式 2
 969       // #define SUPPRESS_VARIOMETER_UP    //  如果不期望有用於向上移動的信號
 970       // #define SUPPRESS_VARIOMETER_DOWN  //  如果不期望有用於向下移動的信號
 971       // #define VARIOMETER_SINGLE_TONE    //  僅使用一個聲調(響鈴);對未打補丁的vt100終端是必需的
 972 
 973   /* ****************************************************************** */
 974    /* ***                     板子命名                               *** */
 975    /* ****************************************************************** */
 976 
 977      /*
 978       * 這個名字會與MultiWii版本號共同顯示
 979       * 在打開電源時顯示在LCD上。
 980       * 如果你沒有顯示設備那么你可以啟用LCD_TTY並
 981       * 使用arduino IDE的串口監控器來查看此信息。
 982       *
 983       * 你必須保持此處文本的格式!
 984       * 它必須總共有16個字母,
 985       * 最后4個字母將會被版本號覆蓋。
 986        */
 987      #define BOARD_NAME "MultiWii   V-.--"
 988      //                   123456789.123456
 989 
 990   /* ************      在EEPROM中支持多個配置參數文件      *********** */
 991      // #define MULTIPLE_CONFIGURATION_PROFILES
 992 
 993    /* ************      do no reset constants when change of flashed program is detected ********** */
 994      #define NO_FLASH_CHECK
 995 
 996  /* *********************************************************************************************** */
 997  /* ****************                                                                 ************** */
 998  /* ***************               第 7 部分 - 調試 & 開發者                           ************* */
 999  /* ****************                                                                 ************** */
1000  /* *********************************************************************************************** */
1001 
1002  #define VBAT_PRESCALER 16  // 設置為16,如果vbatscale將超過255
1003 
1004   /* ************************************************************************************ */
1005    /* *******   使用擴展范圍[0-2000]微秒的特殊電調              ******************* */
1006    /* ************************************************************************************ */
1007      // #define EXT_MOTOR_RANGE  //  在用場效應管驅動空心杯時必須注釋它,否則電機上電就轉
1008 
1009  /* ************************************************************************************ */
1010  /* *******  刷電調 *************************************************************** */
1011  /* ************************************************************************************ */
1012  //  for 328p proc
1013  // #define EXT_MOTOR_32KHZ
1014  // #define EXT_MOTOR_4KHZ
1015  // #define EXT_MOTOR_1KHZ
1016 
1017  //  for 32u4 proc
1018  // #define EXT_MOTOR_64KHZ
1019  // #define EXT_MOTOR_32KHZ
1020  // #define EXT_MOTOR_16KHZ
1021  // #define EXT_MOTOR_8KHZ
1022 
1023    /* ************************************************************************************ */
1024    /* **********************     電機,舵機和其他的預置             ********************** */
1025    /* ************************************************************************************ */
1026      /*  當油門命令在低位時電機將不會旋轉
1027         這是立即停止電機的替代方案  */
1028  #define MOTOR_STOP
1029 
1030    /*  一些遙控器的中立點不是1500。可以在此修改  */
1031  #define MIDRC 1500
1032 
1033   /* **********************        舵機刷新率                   ********************** */
1034      /*  默認50Hz舵機刷新率  */
1035  #define SERVO_RFR_50HZ
1036 
1037      /*  升至160Hz舵機刷新率 .. 用於多數模擬舵機  */
1038      // #define SERVO_RFR_160HZ
1039 
1040      /*  升至300Hz刷新率,它越快越好(100-300Hz取決於使用的舵機和舵機狀態)。
1041         用於數字舵機
1042         不要用於模擬舵機!它們可能遭到破壞。(一些可以使用,但請非常小心)  */
1043  // #define SERVO_RFR_300HZ
1044 
1045    /* **********************             硬件PWM舵機              ********************** */ 
1046      /*  硬件PWM舵機輸出用於Arduino Mega..移動至:
1047    Pitch   = pin 44
1048    Roll    = pin 45
1049    CamTrig = pin 46
1050    SERVO4  = pin 11 (aileron left for fixed wing or TRI YAW SERVO)
1051    SERVO5  = pin 12 (aileron right for fixed wing)
1052    SERVO6  = pin 6   (rudder for fixed wing)
1053    SERVO7  = pin 7   (elevator for fixed wing)
1054    SERVO8  = pin 8   (motor for fixed wing)        */
1055   
1056  /* 此選項禁用其他用於舵機的軟件PWM - 僅有五個硬件控制舵機可用       */ 
1057  #define MEGA_HW_PWM_SERVOS
1058 
1059  /*  HW PWM Servo outputs for 32u4 NanoWii, MicroWii etc. - works with either the variable SERVO_RFR_RATE or
1060   * one of the 3 fixed servo.refresh.rates *
1061   * Tested only for heli_120, i.e. 1 motor + 4 servos, moves..
1062   * motor[0] = motor       = pin  6
1063   * servo[3] = nick  servo = pin 11
1064   * servo[4] = left  servo = pin 10
1065   * servo[5] = yaw   servo = pin  5
1066   * servo[6]  = right servo= pin  9
1067    */
1068  // #define A32U4_4_HW_PWM_SERVOS
1069 
1070  #define SERVO_RFR_RATE  50     //  In Hz, you can set it from 20 to 400Hz, used only in HW PWM mode for mega and 32u4
1071  // #define SERVO_PIN5_RFR_RATE  200     //  separate yaw pwm rate.
1072  //  In Hz, you can set it from 20 to 400Hz, used only in HW PWM mode for 32u4
1073 
1074 
1075    /* ****************************************************************** */
1076    /* ***                        節約記憶體空間                      *** */
1077    /* ****************************************************************** */
1078 
1079      /*  針對Flash和RAM內存的普遍短缺 leonardo m32u4 and others  */
1080 
1081      /* *** 可以通過禁用串口命令處理來實現。***
1082       * 它_不會_對RXserial,Spektrum,GPS的處理產生影響。這些不會受到影響,仍可以照常工作。
1083       * 啟用下列選項中其中一項或兩項   */
1084 
1085      /*  移除所有新MultiWii串行協議命令的處理。
1086       * 這將會禁用GUI,winGUI,android應用以及其他所有使用MSP的程序。
1087       * 你必須找到其他調試參數的方法(如LCD_CONF)或保持默認。
1088       * 如果你是通過i2c或串口/藍牙使用LCD/OLED,可以放心使用  */
1089      // #define SUPPRESS_ALL_SERIAL_MSP  //  節省約2700字節
1090 
1091      /*  移除其他串行命令處理。
1092       * 包含通過串口操作lcd.配置菜單,lcd.遙測與永久.日志。
1093       * 通過在發射機上搖桿輸入進行操作不會受到影響,操作起來是一樣的。   */
1094      // #define SUPPRESS_OTHER_SERIAL_COMMANDS  //  節省約0至100字節,取決於啟用的特性
1095 
1096      /* *** 保證代碼中無初始設置和復位的缺陷。
1097       這需要一個手動初始設置的PID等手動寫defaults.mwi;
1098        reset in GUI will not work on PIDs
1099        */
1100      // #define SUPPRESS_DEFAULTS_FROM_GUI
1101      
1102       // #define DISABLE_SETTINGS_TAB   //  Saves ~400bytes on ProMini
1103 
1104    /* ****************************************************************** */
1105    /* ***          診斷                                              *** */
1106    /* ****************************************************************** */
1107 
1108      /*  記錄像最大周期時間與其他可能的值
1109         記錄值可通過LCD配置看到
1110         設為1,啟用'R'選項來重置值,最大電流,最大高度
1111         設為2,添加最大/最小周期時間
1112         設為3,以每個電機為單位添加額外的功耗(它使用一個很大的數組並且很吃儲存,如果POWERMETER <> PM_SOFT)  */
1113  // #define LOG_VALUES 1
1114 
1115      /*  永久記錄至eeprom - 可在(多數)升級與參數重置中保留下來。
1116       * 常用於追蹤控制板生命周期中的飛行次數等。
1117       * 寫入至eeprom末端 - 不應與已儲存的參數沖突。
1118       * 記錄的值:累積的生存時間,#重啟/重置/初始化事件,#解鎖事件,#鎖定事件,最后解鎖時間,
1119       *                #失控保護@鎖定,#i2c_errs@鎖定
1120       * 設置你的mcu的eeprom的尺寸以激活:promini 328p:1023;2560:4095。
1121       * 啟用一項或更多選項以顯示記錄
1122        */
1123      // #define LOG_PERMANENT_SHOW_AT_STARTUP  //  啟用以在啟動時顯示記錄
1124       // #define LOG_PERMANENT_SHOW_AT_L  //  啟用以在接收到'L'時顯示記錄
1125       // #define LOG_PERMANENT_SHOW_AFTER_CONFIG  //  啟用以在退出LCD配置菜單之后顯示記錄
1126       // #define LOG_PERMANENT_SERVICE_LIFETIME 36000  //  以秒為單位;在10小時的解鎖時間之后,在啟動時響起服務警告
1127 
1128      /*  添加調試代碼
1129         不需要並且也不推薦在平常運行時開啟
1130         將會額外添加代碼,可能會使主循環變慢或使飛行器不可飛行  */
1131      // #define DEBUG
1132       // #define DEBUG_FREE  //  will add 'F' command to show free memory
1133 
1134      /*  使用此項在沒有發射機時觸發LCD配置 - 僅用於調試 - 不要在此項激活的情況下飛行  */
1135      // #define LCD_CONF_DEBUG
1136 
1137      /*  使用此項在沒有發射機時觸發遙測 - 僅用於調試 - 不要在此項激活的情況下飛行  */
1138      // #define LCD_TELEMETRY_DEBUG     // 該形式在所有的屏幕間輪換,LCD_TELEMETRY_AUTO必須同時被定義。
1139       // #define LCD_TELEMETRY_DEBUG 6   // 該形式停在特定的屏幕上。
1140 
1141      /*  啟用從飛行器到GUI的字符串傳送  */
1142      // #define DEBUGMSG
1143 
1144 
1145    /* ****************************************************************** */
1146    /* ***           電調校准                                         *** */
1147    /* ****************************************************************** */
1148 
1149      /*  同時校准所有連接到MWii的電調(可以避免來回連接每一個電調)
1150         警告:這將產生一個特別版本的MultiWii代碼
1151         這個特殊的版本是不可以用來飛行的。它只可以用來校准電調
1152         使用方法詳見  http://code.google.com/p/multiwii/wiki/ESCsCalibration   */
1153      #define ESC_CALIB_LOW  MINCOMMAND
1154      #define ESC_CALIB_HIGH 2000
1155      // #define ESC_CALIB_CANNOT_FLY   //  解除注釋激活此項,千萬注意,校准電調時請拆卸下你的螺旋槳!
1156 
1157    /* ***           內部頻率                                         *** */
1158      /*  在主循環中的稀有循環操作的頻率,取決於周期時間
1159         時間基數為主循環周期時間 - 值為6意味着每六個主循環觸發一次操作
1160         示例:周期時間大約在3ms,執行操作就在每 6*3ms=18ms
1161         取值范圍 [1; 65535]  */
1162      #define LCD_TELEMETRY_FREQ 23        //  通過串口發送遙測數據 23 <=> 60ms <=> 16Hz (只發送隔行數據,8Hz上傳速率)
1163      #define LCD_TELEMETRY_AUTO_FREQ 967  //  翻到下一個遙測頁面 967 <=> 3s
1164      #define PSENSOR_SMOOTH 16            //  len of averaging vector for smoothing the PSENSOR readings; should be power of 2; set to 1 to disable
1165      #define VBAT_SMOOTH 16               //  len of averaging vector for smoothing the VBAT readings; should be power of 2; set to 1 to disable
1166      #define RSSI_SMOOTH 16               //  len of averaging vector for smoothing the RSSI readings; should be power of 2; set to 1 to disable
1167 
1168    /* ****************************************************************** */
1169    /* ***                            槳/馬達動平衡                   *** */
1170    /* ****************************************************************** */
1171    /*                    !!! No Fly Mode !!!                             */ 
1172         
1173      // #define DYNBALANCE    //  (**) 用gui調整動平衡
1174 
1175    /* ****************************************************************** */
1176    /* ***          回歸測試                                          *** */
1177    /* ****************************************************************** */
1178 
1179      /*  只用作開發用途:
1180         考慮到測試編譯時,不同的config參數是保持在一起的,所以可以更簡單地重復測試config設置,
1181         它的意義是可以幫助檢測編譯時的錯誤,讓多種不同的特性以協調的方式運作。
1182         這並不是用來制作你自己的飛行固件的。
1183         使用方法:
1184         - 不要在config.h中做任何設置,
1185         - 啟用#define COPTERTEST 1,然后編譯
1186         - 如果可能的話,檢查程序大小
1187         - 重復測試其他值2, 3, 4等。
1188           */
1189      // #define COPTERTEST 1
1190 
1191  /* *********************************************************************************************** */
1192  /* ****************                                                                 ************** */
1193  /* ***************    第 8 部分 - 不推薦使用                                                ****** */
1194  /* ****************                                                                 ************** */
1195  /* *********************************************************************************************** */
1196 
1197    /* 這些功能將在未來被移除的。不再更新
1198     *基於這樣的特點功能。所有這些功能默認是關閉的。
1199      */
1200 
1201    /* *************************    WMP的電源引腳    ****************************** */
1202    // #define D12_POWER       //  Use D12 on PROMINI to power sensors. Will disable servo[4] on D12
1203     /*  disable use of the POWER PIN (allready done if the option RCAUXPIN12 is selected)  */
1204    #define DISABLE_POWER_PIN
1205 
1206 
1207  /* *********************************************************************************************** */
1208  /* ***                            可配置參數結束                                               *** */
1209  /* *********************************************************************************************** */
1210 
1211  #endif /* CONFIG_H_ */

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM