zoukankan      html  css  js  c++  java
  • 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,MPU6050HMC5883LMS5611的组合挺划算。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_ */
  • 相关阅读:
    在navgationController中添加UISegmentedControl
    Static Const
    .pch头文件的添加
    数据库设计一对一多对多
    数据库链接
    File增删改查
    线程
    售票情景解读synchronized和Lock两种锁的区别
    [Spring Boot]使用自定义注解统一请求返回值
    JAVA希尔排序代码
  • 原文地址:https://www.cnblogs.com/Tranquilty/p/4848853.html
Copyright © 2011-2022 走看看