5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 30410|回复: 130
打印 上一主题 下一主题

【原创】 MWC2.3固件设置文件, 中文注释. 告别mwc了, 为其他人做点贡献吧.

  [复制链接]
跳转到指定楼层
楼主
发表于 2014-2-24 17:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jpno1 于 2014-2-25 03:19 编辑

换了别的飞控, mwc不再用了, 为了纪念强大好用的mwc, 花了好半天写了multiwii 2.3版本固件config.h的中文注释.  为别人做点贡献吧. 绝对原创, 未经允许请勿转载.

不足之处欢迎指正

文件里已经根据淘宝上买的mwc2.5板子设置好了(Amega328), 刷了就能用.其他版本请自行设置.
附件是带中文的config.h. 应该去掉CHN就能用. 下载前记得回复啊



-----------------------------------------------------------------分割线---------------------------------------------------------------------

#ifndef CONFIG_H_
#define CONFIG_H_

/*************************************************************************************************/
/****           CONFIGURABLE PARAMETERS   参数配置                                            ****/     翻译 by jpno1@5imx ,请勿转载 仅供模友交流
/*************************************************************************************************/

/* this file consists of several sections 本文件由多个部分组成
* to create a working combination you must at least make your choices in section                                                                 1. 要创建一个能够工作的组合,你必须要在第一部分中做好定义
* 1 - BASIC SETUP - you must select an option in every block.                                                                                                 1 - 基本设置 - 每一块都要定义。
*      this assumes you have 4 channels connected to your board with sta n dard ESCs a n d servos.                                 假设你有4个通道连接到您的设备(飞控)使用标准电调和舵机,
* 2 - COPTER TYPE SPECIFIC OPTIONS - you likely want to check for options for your copter type          2 - 飞行器类型的特殊选项 - 你可能要为你的飞行器类型设置相应的选项
* 3 - RC SYSTEM SETUP                                                                                                                                                                                                                                                                                                                3 - RC系统设置
* 4 - ALTERNATE CPUs & BOARDS - if you have                                                                                                                                                                                                                        4 - 备用的CPU和主板 - 如果你有
* 5 - ALTERNATE SETUP - select alternate RX (SBUS, PPM, etc.), alternate ESC-range, etc. here                 5 - 备用设置 - 选择替代接收器 ( SBUS , PPM等)备用电调,等等
* 6 - OPTIONAL FEATURES - enable nice to have features here (FlightModes, LCD, telemetry, battery monitor etc.) 6 - 可选功能 - 特色功能开关( 飞行方式 ,液晶,遥测,电池监控等)
* 7 - TUNING & DEVELOPER - if you know what you are doing; you have been warned                         7 - 调整和开发 - 警告!!! 不知道不要动!
*     - (ESCs calibration, Dynamic Motor/Prop Balancing, Diagnostics,Memory savings.....)                                        (电调的校准,动态电机/螺旋桨平衡,诊断,节省内存.....)
* 8 - DEPRECATED - these features will be removed in some future release                                                                                                        8 - 推荐 - 这些功能将在以后的一些版本中删除
*/

/* Notes:                                                                                                                                                                                                                                                                                                                                                                  注
* 1. parameters marked with (*) in the comment are stored in eeprom a n d can be changed via serial monitor or LCD.  1 .注释有( * )的参数都存储在EEPROM中,并可以通过串行显示器或LCD进行更改。
* 2. parameters marked with (**) in the comment are stored in eeprom a n d can be changed via the GUI                                                                         2 。注释( ** )的参数存储在EEPROM中,并可以通过调参软件GUI来更改
*/


/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  1 - BASIC SETUP            1. 基本设置                         *******/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /**************************    The type of multicopter  多旋翼类型  ****************************/
    //#define GIMBAL   自稳云台
    //#define BI        两轴
    //#define TRI                                三轴
    //#define QUADP                        四轴十字模式
     #define QUADX                        四轴X模式
    //#define Y4                                四轴Y模式
    //#define Y6                                六轴Y模式
    //#define HEX6                        六轴
    //#define HEX6X                        六轴X模式
    //#define HEX6H  // New Model   六轴H模式(新)
    //#define OCTOX8                八轴
    //#define OCTOFLATP  八轴十字
    //#define OCTOFLATX                八轴X
    //#define FLYING_WING                飞翼
    //#define VTAIL4       四轴v尾
    //#define AIRPLANE                        固定翼
    //#define SINGLECOPTER        单旋翼
    //#define DUALCOPTER    双旋翼
    //#define HELI_120_CCPM   120度CCPM直升机
    //#define HELI_90_DEG     90度斜盘直升机

  /****************************    Motor minthrottle   马达油门最小值 *******************************/   
    /* Set the minimum throttle comma n d sent to the ESC (Electronic Speed Controller)  设定发送到电调的最小油门指令,
       This is the minimum value that allow motors to run at a idle speed  */                                         即维持电机怠速的最低油门值.
    //#define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A                Turnigy Plush10A电调设定值1300                                                               
    //#define MINTHROTTLE 1120 // for Super Simple ESCs 10A      Supersimple 10A 电调设定值1120
    //#define MINTHROTTLE 1064 // special ESC (simonk)             Simonk特殊电调设定值1064
    //#define MINTHROTTLE 1050 // for brushed ESCs like ladybird       无刷电调(如ladybird)设定值1050
    #define MINTHROTTLE 1150 // (*) (**)

  /****************************    Motor maxthrottle  马达油门最大值  *******************************/
    /* this is the maximum value for the ESCs at full power, this value can be increased up to 2000 */ 发送到电调的油门最大值(最高为2000)
    #define MAXTHROTTLE 1850

  /****************************    Mincomma n d     电机锁最小值     *******************************/
    /* this is the value for the ESCs when they are not armed  电调锁定的最小值
       in some cases, this value must be lowered down to 900 for some specific ESCs, otherwise they failed to initiate */ 有些特殊电调必须减至900, 否则电调无法初始化.
    #define MINCOMMa n d  1000

  /**********************************    I2C speed  I2c接口速度  ************************************/
    //#define I2C_SPEED 100000L     //100kHz normal mode, this value must be used for a genuine WMP 原装wmp使用100khz普通模式
    #define I2C_SPEED 400000L   //400kHz fast mode, it works only with some WMP clones  山寨WMP使用400khz高速模式.

  /***************************    Internal i2c Pullups   内部i2c 提升 ********************************/
    /* enable internal I2C pull ups (in most cases it is better to use external pullups) */ 去掉注释打开内部i2c提升, 大多数情况最好使用外部i2c提升.
    //#define INTERNAL_I2C_PULLUPS

  /**************************************************************************************/
  /*****************          boards a n d sensor definitions     主板,传感器设置       ******************/
  /**************************************************************************************/
/***************************    Combined IMU Boards 组合传感器   ********************************/
      /* if you use a specific sensor board:  如果你使用特殊的传感器主板,
         please submit any correction to this list. 请提交数据用以修正此列表
      
      #define HK_MultiWii_SE_V2  // Hobbyking board with MPU6050 + HMC5883L + BMP085    ***本人使用淘宝上买的MWC2.5版本, 所以选了这项. 具体请咨询卖家 (by jpno1@5imx)
      
      
    /***************************    independent sensors  独立传感器  ********************************/
      /* leave it commented if you already checked a specific board above */  如果你在上面选了组合传感器, 不要注释掉这里的选项
      /* I2C gyroscope */
      //#define WMP
      //#define ITG3200
      //#define MPU3050
      //#define L3G4200D
      //#define MPU6050       //combo + ACC
      //#define LSM330        //combo + ACC
      
      /* I2C accelerometer */
      //#define NUNCHUCK   
      //#define MMA7455
      //#define ADXL345
      //#define BMA020
      //#define BMA180
      //#define BMA280
      //#define NUNCHACK  
      //#define LIS3LV02
      //#define LSM303DLx_ACC
      //#define MMA8451Q

      /* I2C barometer */
      //#define BMP085
      //#define MS561101BA

      /* I2C magnetometer */
      //#define HMC5843
      //#define HMC5883
      //#define AK8975
      //#define MAG3110

      /* Sonar */ // for visualization purpose currently - no control code behind  声呐, 目前只是个摆设, 没有控制代码.
      //#define SRF02 // use the Devantech SRF i2c sensors
      //#define SRF08
      //#define SRF10
      //#define SRF23

   














configCHN.rar

25.44 KB, 下载次数: 1682

评分

参与人数 3威望 +6 收起 理由
zkper + 2 赞一个!
maxmusic + 2 很给力!
abinge1010 + 2 虽然不懂~ 但是觉得很给力!

查看全部评分

欢迎继续阅读楼主其他信息

沙发
 楼主| 发表于 2014-2-24 17:37 | 只看该作者
本帖最后由 jpno1 于 2014-2-24 21:45 编辑

/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  2 - COPTER TYPE SPECIFIC OPTIONS   飞行器类型特殊选项           *******/
/*****************                                                                 ***************/
/*************************************************************************************************/
  /********************************  PID Controller PID控制 *********************************/
    /* choose one of the alternate PID control algorithms   从以下PID算法中选一种
     * 1 = evolved oldschool algorithm (similar to v2.2)     1=旧式算法, 和2.2版本一样
     * 2 = new experimental algorithm from Alex Khoroshko - unsupported - http://www.multiwii.com/forum/vi ... amp;start=10#p37387
     * */                                                                                                                                                                                                                 2=Alex Khoroshko的新式实验算法.
    #define PID_CONTROLLER 1

    /* NEW: not used anymore for servo coptertypes  <== NEEDS FIXING - MOVE TO WIKI */  飞行器舵机类型中以不在使用 (需要修复)
    #define YAW_DIRECTION 1
    //#define YAW_DIRECTION -1 // if you want to reverse the yaw correction direction     选择这项如果你想让转向反向

    #define ONLYARMWHENFLAT //prevent the copter from arming when the copter is tilted    此项为飞行器倾斜式无法解锁.

   /********************************    ARM/DISARM  解锁/上锁  *********************************/
   /* optionally disable stick combinations to arm/disarm the motors.                   可选禁用摇杆组合解锁/锁定马达
     * In most cases one of the two options to arm/disarm via TX stick is sufficient */     大多数情况下用这两项摇杆方式解锁/上锁就可以了.
    #define ALLOW_ARM_DISARM_VIA_TX_YAW                                                                                                                                                                                                                                通过转向(尾舵)解锁(默认)
    //#define ALLOW_ARM_DISARM_VIA_TX_ROLL                                                                                                                                                                                                                通过翻滚(副翼)解锁

    /********************************    SERVOS   舵机   *********************************/
    /* info on which servos connect where a n d how to setup can be found here                 哪个舵机接在哪里可以在下面链接里找到
     * http://www.multiwii.com/wiki/ind ... ervos_configuration
     */


    /* if you want to preset min/middle/max values for servos right after flashing, because of limited physical   如果你想预设闪灯后舵机的小/中/大值  (有些时候可供舵机的移动空间不足, 所以你必须在下面的选线中设置并开机)
     * room for servo travel, then you must enable a n d set all three following options */           
     //#define SERVO_MIN  {1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020}  //舵机最小值(jpno1 注)
     //#define  SERVO_MAX {2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000}   //舵机最大值(jpno1 注)
     //#define  SERVO_MID {1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500} // (*)  舵机中立点(jpno1注)
     //#define FORCE_SERVO_RATES      {30,30,100,100,100,100,100,100} // 0 = normal, 1= reverse   舵机力量 0=正向 1=反向

  /***********************          Cam Stabilisation    摄像机自稳         ***********************/
    /* The following lines apply only for a pitch/roll tilt stabilization system. Uncomment the first or second line to activate it */  以下选项仅适用于升降舵/副翼倾斜自稳系统(不带转向) 去掉注释激活 (jpno1注: 关于自稳云台的舵机行程等设置,mwc2.3以后都在GUI调参软件里设置)
    //#define SERVO_MIX_TILT   //混合模式(用于十字模式) (jpno1注)
    #define SERVO_TILT                                // 普通x模式适用(jpno1注)

    /* camera trigger function : activated via Rc Options in the GUI, servo output=A2 on promini */   相机快门 : 在GUI中激活. 使用A2作为舵机输出
    // trigger interval can be changed via (*GUI*) or via AUX channel   快门触发间隔可以通过GUI或者AUX通道改变
    //#define CAMTRIG   //去掉注释激活
    #define CAM_TIME_HIGH 1000   // the duration of HIGH state servo expressed in ms     快门按下的持续时间(以毫秒计数)

  /***********************          Airplane               固定翼        ***********************/
    //#define USE_THROTTLESERVO // For use of sta n dard 50Hz servo on throttle.

    //#define FLAPPERONS    AUX4          // Mix Flaps with Aileroins.
    #define FLAPPERON_EP   { 1500, 1700 } // Endpooints for flaps on a 2 way switch else set {1020,2000} a n d program in radio.
    #define FLAPPERON_INVERT { -1, 1 }    // Change direction om flapperons { Wing1, Wing2 }

    //#define FLAPS                       // Traditional Flaps on SERVO3.
    //#define FLAPSPEED     3             // Make flaps move slowm Higher value is Higher Speed.

  /***********************      Common for Heli & Airplane  直升机/固定翼通用设置        ***********************/

    /* Governor: attempts to maintain rpm through pitch a n d voltage changes
     * predictive approach: observe input signals a n d voltage a n d guess appropriate corrections.
     * (the throttle curve must leave room for the governor, so 0-50-75-80-80 is ok, 0-50-95-100-100 is _not_ ok.
     * Can be toggled via aux switch.
     */
    //#define GOVERNOR_P 7     // (*) proportional factor. Higher value -> higher throttle increase. Must be >=1; 0 = turn off
    //#define GOVERNOR_D 4     // (*) decay timing. Higher value -> takes longer to return throttle to normal. Must be >=1;

    //#define VOLTAGEDROP_COMPENSATION // voltage impact correction

  /***********************          Heli            直升机               ***********************/
    /* Channel to control CollectivePitch */
    #define COLLECTIVE_PITCH      THROTTLE

    /* Limit the range of Collective Pitch. 100% is Full Range each way a n d position for Zero Pitch */
    #define COLLECTIVE_RANGE { 80, 0, 80 }// {Min%, ZeroPitch offset from 1500, Max%}.
    #define YAWMOTOR                 0       // If a motor is used as YAW Set to 1 else set to 0.

    /* Servo mixing for heli 120
                         {Coll,Nick,Roll} */
    #define SERVO_NICK   { +10, -10,  0 }
    #define SERVO_LEFT   { +10, +5, +10 }
    #define SERVO_RIGHT  { +10, +5, -10 }

    /* Limit Maximum controll for Roll & Nick  in 0-100% */
    #define CONTROL_RANGE   { 100, 100 }      //  { ROLL,PITCH }

    /* use servo code to drive the throttle output. You want this for analog servo driving the throttle on IC engines.
       if inactive, throttle output will be treated as a motor output, so it can drive an ESC */
    //#define HELI_USE_SERVO_FOR_THROTTLE

  /***********************      your individual mixing  你的独立混控    ***********************/
    /* if you want to override an existing entry in the mixing table, you may want to avoid editing the
     * mixTable() function for every version again a n d again.
     * howto: http://www.multiwii.com/wiki/ind ... h#Individual_Mixing
     */
    //#define MY_PRIVATE_MIXING "filename.h"

  /***********************      your individual defaults   你的默认参数  ***********************/
    /* if you want to replace the hardcoded default values with your own (e.g. from a previous save to an .mwi file), 如果你想自己设置一个独立的默认参数供自己使用
     * you may want to avoid editing the LoadDefaults() function for every version again a n d again.    你可能想自己设定一套默认参数, 省的每次更换版本都要一个一个重新设定
     * http://www.multiwii.com/wiki/ind ... Individual_defaults
     */
    //#define MY_PRIVATE_DEFAULTS "filename.h"                     //更改filename.h为你自己的默认文件(jpno1注)


/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  3 - RC SYSTEM SETUP     遥控系统设置                           *******/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /* note: no need to uncomment something in this section if you use a sta n dard receiver */  注:如果你使用标准的接收器没有必要在本节中取消注释*/


3
 楼主| 发表于 2014-2-24 17:37 | 只看该作者

/**************************************************************************...

本帖最后由 jpno1 于 2014-2-24 21:50 编辑

  /**************************************************************************************/
  /********                       special receiver types     特殊接收类型 ********************/
  /**************************************************************************************/

    /****************************    PPM Sum Reciver   PPM总线接收 ***********************************/
      /* The following lines apply only for specific receiver with only one PPM sum signal, on digital PIN 2   以下选项仅适用于只有一个PPM总线信号的接收机  使用digital_pin 2
         Select the right line depending on your radio bra n d. Feel free to modify the order in your PPM order is different */   根据你的遥控器品牌选择合适的选项,随便更改你觉得合适的ppm先后顺序
      //#define SERIAL_SUM_PPM         PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Graupner/Spektrum 遥控设备      
      //#define SERIAL_SUM_PPM         ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Robe/Hitec/Futaba 遥控设备
      //#define SERIAL_SUM_PPM         ROLL,PITCH,YAW,THROTTLE,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Multiplex 遥控设备
      //#define SERIAL_SUM_PPM         PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For some Hitec/Sanwa/Others  遥控设备

      // Uncommenting following line allow to connect PPM_SUM receiver to sta n dard THROTTLE PIN on MEGA boards (eg. A8 in CRIUS AIO)  去掉下面的注释可以将ppm sum 信号连接到油门端 (mega版)
      //#define PPM_ON_THROTTLE

    /**********************    Spektrum Satellite Reciver  spektrum卫星接收  *******************************/
      /* The following lines apply only for Spektrum Satellite Receiver  仅用于spektrum卫星接收系统
         Spektrum Satellites are 3V devices.  DO NOT connect to 5V!     卫星接收为3v设备, 不要接到主板的5v接口上!!!!!!!
         For MEGA boards, attach sat grey wire to RX1, pin 19. Sat black wire to ground. Sat orange wire to Mega board's 3.3V (or any other 3V to 3.3V source).  对于mega版, 将灰线接到RX1, pin19, 黑线接地, 橙线接到3.3v输出或者任何3.3v电源.
         For PROMINI, attach sat grey to RX0.  Attach sat black to ground. */  Promini版, 灰线接到RX0
      //#define SPEKTRUM 1024
      //#define SPEKTRUM 2048
      //#define SPEK_SERIAL_PORT 1    // Forced to 0 on Pro Mini a n d single serial boards; Set to your choice of 0, 1, or 2 on any Mega based board (defaults to 1 on Mega).  串行端口选择
      //**************************
      // Defines that allow a "Bind" of a Spektrum or Compatible Remote Receiver (aka Satellite) via Configuration GUI. 定义为可通过gui绑定(必须设备支持)
      //   Bind mode will be same as declared above, if your TX is capable.  绑定方式和上面的一样, 如果你发射机兼容.
      //   Ground, Power, a n d Signal must come from three adjacent pins.  地线,电源,信号线必须来自3个相邻的引脚
      //   By default, these are Ground=4, Power=5, Signal=6.  These pins are in a row on most MultiWii shield boards. Pins can be overriden below.  默认的 地线=4 电源=5 信号=6
      //   Normally use 3.3V regulator is needed on the power pin!!  If your satellite hangs during bind (blinks, but won't complete bind with a solid light), go direct 5V on all pins.  正常情况电源输出需要3.3v变压, 如果你的卫星接收绑定时死机(闪烁,但是不常亮), 直接将所有端口接5v
      //**************************
      //   For Pro Mini, the connector for the Satellite that resides on the FTDI can be unplugged a n d moved to these three adjacent pins.
      //#define SPEK_BIND             //Un-Comment for Spektrum Satellie Bind Support.  Code is ~420 bytes smaller without it.
      //#define SPEK_BIND_GROUND 4
      //#define SPEK_BIND_POWER  5
      //#define SPEK_BIND_DATA   6

    /*******************************    SBUS RECIVER   SBUS接收  ************************************/
      /* The following line apply only for Futaba S-Bus Receiver on MEGA boards at RX1 only (Serial 1) or PROMICRO boards.  一下仅适用于futaba sbus系统(mega版 连rx1(串口1),
         You have to invert the S-Bus-Serial Signal e.g. with a Hex-Inverter like IC SN74 LS 04 */  sbus串行信号需要反向, 如使用六角逆变器 IC SN74 LS 04
      //#define SBUS
      //#define SBUS_SERIAL_PORT 1
      #define SBUS_MID_OFFSET 988 //SBUS Mid-Point at 1500

/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  4 - ALTERNATE CPUs & BOARDS    可选CPU,主板                     *******/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /**************************************************************************************/
  /********                      Promini Specifig Settings    Promini板特殊设置       ********************/
  /**************************************************************************************/

    /**************************    Hexa Motor 5 & 6 Pins    六轴电机 5,6脚 *******************************/
      /* PIN A0 a n d A1 instead of PIN D5 & D6 for 6 motors config a n d promini config  使用A0,A1脚替代 D5,D6脚
         This mod allow the use of a sta n dard receiver on a pro mini      以下更改允许在promini上使用普通接收器(不需要ppm总线接收)
         (no need to use a PPM sum receiver) */
      #define A0_A1_PIN_HEX

    /*********************************    Aux 2 Pin   辅助通道2   ***********************************/
      /* possibility to use PIN8 or PIN12 as the AUX2 RC input (only one, not both)  可选pin8或者pin12 作为aux2输入 (只能选一个)
         it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8) */  选了之后会禁用默认的pin12的电源输出和 pin8的蜂鸣器输出.
      #define RCAUXPIN8  
      //#define RCAUXPIN12


  /**************************************************************************************/
  /*****************             Teensy 2.0 Support                    ******************/
  /**************************************************************************************/
    /* uncomment this if you use a teensy 2.0 with teensyduino
       it needs to run at 16MHz */
    //#define TEENSY20


  /**************************************************************************************/
  /********   Settings for ProMicro, Leonardo a n d other Atmega32u4 Boards     ***********/
  /**************************************************************************************/

    /*********************************    pin Layout     **********************************/
      /* activate this for a better pinlayout if all pins can be used => not possible on ProMicro */
      //#define A32U4ALLPINS

    /**********************************    PWM Setup     **********************************/
      /* activate all 6 hardware PWM outputs Motor 5 = D11 a n d 6 = D13.
         note: not possible on the sparkfun promicro (pin 11 & 13 are not broken out there)
         if activated:
         Motor 1-6 = 10-bit hardware PWM
         Motor 7-8 = 8-bit Software PWM
         Servos    = 8-bit Software PWM
         if deactivated:
         Motor 1-4 = 10-bit hardware PWM
         Motor 5-8 = 10-bit Software PWM
         Servos    = 10-bit Software PWM */
      //#define HWPWM6

    /**********************************    Aux 2 Pin     **********************************/
      /* AUX2 pin on pin RXO */
      //#define RCAUX2PINRXO

      /* aux2 pin on pin D17 (RXLED) */
      //#define RCAUX2PIND17

    /**********************************    Buzzer Pin    **********************************/
      /* this moves the Buzzer pin from TXO to D8 for use with ppm sum or spectrum sat. RX (not needed if A32U4ALLPINS is active) */
      //#define D8BUZZER

    /***********************      Promicro version related     ****************************/
      /* Inverted status LED for Promicro ver 10 */
      //#define PROMICRO10


  /**************************************************************************************/
  /********override default pin assignments 覆盖默认的引脚分配       ********************/
  /**************************************************************************************/

  /* only enable any of this if you must change the default pin assignment, e.g. your board does not have a specific pin */ (如非必要请勿更改默认引脚分配(比如你主板上没有需要的引脚)
  /* you may need to change PINx a n d PORTx plus #shift according to the desired pin! */ 你可能为了改变一个引脚而必须变动其他的引脚/端口以及相应的参数)
  //#define OVERRIDE_V_BATPIN                   A0 // instead of A3    // Analog PIN 3

  //#define OVERRIDE_PSENSORPIN                 A1 // instead of A2    // Analog PIN 2

  //#define OVERRIDE_LEDPIN_PINMODE             pinMode (A1, OUTPUT); // use A1 instead of d13
  //#define OVERRIDE_LEDPIN_TOGGLE              PINC |= 1<<1; // PINB |= 1<<5;     //switch LEDPIN state (digital PIN 13)
  //#define OVERRIDE_LEDPIN_OFF                 PORTC &= ~(1<<1); // PORTB &= ~(1<<5);
  //#define OVERRIDE_LEDPIN_ON                  PORTC |= 1<<1;    // was PORTB |= (1<<5);

  //#define OVERRIDE_BUZZERPIN_PINMODE          pinMode (A2, OUTPUT); // use A2 instead of d8
  //#define OVERRIDE_BUZZERPIN_ON               PORTC |= 1<<2 //PORTB |= 1;
  //#define OVERRIDE_BUZZERPIN_OFF              PORTC &= ~(1<<2); //PORTB &= ~1;

4
 楼主| 发表于 2014-2-24 17:38 | 只看该作者
本帖最后由 jpno1 于 2014-2-24 21:55 编辑

/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  5 - ALTERNATE SETUP      可选设置                              *******/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /******                Serial com speed  串口速率  *********************************/
    /* This is the speed of the serial interfaces 此为串口界面的连接速率 */
    #define SERIAL0_COM_SPEED 115200
    #define SERIAL1_COM_SPEED 115200
    #define SERIAL2_COM_SPEED 115200
    #define SERIAL3_COM_SPEED 115200

    /* interleaving delay in micro seconds between 2 readings WMP/NK in a WMP+NK config    两次读取中的交叉延时(毫秒_)
       if the ACC calibration time is very long (20 or 30s), try to increase this delay up to 4000  如果加速计校准要花费很长时间(2,3十秒), 试着适当增加延迟(最大4000)
       it is relevent only for a conf with NK */
    #define INTERLEAVING_DELAY 3000

    /* when there is an error on I2C bus, we neutralize the values during a short time. expressed in microseconds  如果i2c总线汇总出现错误, 我们会在短时间内修正. 以毫秒计.
       it is relevent only for a conf with at least a WMP */      
    #define NEUTRALIZE_DELAY 100000


  /**************************************************************************************/
  /********                Gyro filters  陀螺仪滤波                  ********************/
  /**************************************************************************************/

    /*********************    Lowpass filter for some gyros  部分陀螺仪低通滤波  ****************************/
      /* ITG3200 & ITG3205 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try   
         to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting.
         It will not help on feedback wobbles, so change only when copter is ra n domly twiching a n d all dampening a n d
         balancing options ran out. Uncomment only one option!
         IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.
         ITG3200与ITG3205低通滤波器的设置。如果你不能为传感器消除所有的震动, 你可以试试
         减少低通滤波器的频率,每次请更改一个选项(去掉一个注释。只要抽动消失,就继续使用该设置。
         对于遥控指令发出后的反馈摇晃无效,所以请仅在飞行器是随机抖动而且所有阻尼和平衡的办法都已经试过还是无效的时候使用。一次取消一个注释!** jpno1@5imx,请勿转载*/
      //#define ITG3200_LPF_256HZ     // This is the default setting, no need to uncomment, just for reference  默认已经是这个设置了, 不需要注释掉这个.
      //#define ITG3200_LPF_188HZ
      //#define ITG3200_LPF_98HZ
      //#define ITG3200_LPF_42HZ
      //#define ITG3200_LPF_20HZ
      //#define ITG3200_LPF_10HZ      // Use this only in extreme cases, rather change motors a n d/or props  宁可换电机,换桨,也最好不要用这个选项

      /* MPU6050 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try
         to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting.
         It will not help on feedback wobbles, so change only when copter is ra n domly twiching a n d all dampening a n d
         balancing options ran out. Uncomment only one option!
         IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.
         MPU6050低通滤波器的设置。如果你不能为传感器消除所有的震动, 你可以试试
         减少低通滤波器的频率,每次请更改一个选项(去掉一个注释。只要抽动消失,就继续使用该设置。
         对于遥控指令发出后的反馈摇晃无效,所以请仅在飞行器是随机抖动而且所有阻尼和平衡的办法都已经试过还是无效的时候使用。一次取消一个注释!*/
      //#define MPU6050_LPF_256HZ     // This is the default setting, no need to uncomment, just for reference 默认已经是这个设置了, 不需要注释掉这个.
      //#define MPU6050_LPF_188HZ
      //#define MPU6050_LPF_98HZ
      #define MPU6050_LPF_42HZ   //我自己的四轴使用的是mpu6050陀螺仪, 使用这个之后飞行非常平稳, 不使用时会抖动 by jpno1@5imx
      //#define MPU6050_LPF_20HZ
      //#define MPU6050_LPF_10HZ
      //#define MPU6050_LPF_5HZ       // Use this only in extreme cases, rather change motors a n d/or props 宁可换电机,换桨,也最好不要用这个选项

    /******                Gyro smoothing  陀螺仪顺滑设置  **********************************/
      /* GYRO_SMOOTHING. In case you cannot reduce vibrations _a n d_ _after_ you have tried the low pass filter options, you
         may try this gyro smoothing via averaging. Not suitable for multicopters!
         Good results for helicopter, airplanes a n d flying wings (foamies) with lots of vibrations.陀螺仪柔顺选项, 如果你不能减少震动, 而且你已经试了低通滤波选项后还是无效,
         你可以试试这个选项 注意::!!!! 不适用于多旋翼.  
        对直升机,固定翼以及飞翼机减少机震非常有效. */
      //#define GYRO_SMOOTHING {20, 20, 3}    // (*) separate averaging ranges for roll, pitch, yaw  副翼/升降/转向舵 平均值

    /************************    Moving Average Gyros 陀螺仪移动平均值   **********************************/
      //#define MMGYRO 10                      // (*) Active Moving Average Function for Gyros  打开陀螺仪移动平均值功能
      //#define MMGYROVECTORLENGTH 15          // Length of Moving Average Vector (maximum value for tunable MMGYRO
      /* Moving Average ServoGimbal Signal Output */
      //#define MMSERVOGIMBAL                  // Active Output Moving Average Function for Servos Gimbal
      //#define MMSERVOGIMBALVECTORLENGHT 32   // Lenght of Moving Average Vector

  /************************    Analog Reads              **********************************/
    /* if you want faster analog Reads, enable this. It may result in less accurate results, especially for more than one analog channel */
    //#define FASTER_ANALOG_READS

/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  6 - OPTIONAL FEATURES     可选                                 *******/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /************************        Angele throttle correction   角度油门校正      ********************/
  /* Automatically increase throttle based on the angle of the copter 根据角度增加油门
     Original idea by Kraut Rob, first implementation HAdrian                                                        */

  //#define THROTTLE_ANGLE_CORRECTION 40

/*************************        Advanced Headfree Mode  高级无头模式           ********************/
/* In Advanced Headfree mode when the copter is farther than ADV_HEADFREE_RANGE meters then
    the  bearing between home a n d copter position will become the control direction
        IF copter come closer than ADV_HEADFREE_RANGE meters, then the control direction freezed to the
        bearing between home a n d copter at the point where it crosses the ADV_HEADFREE_RANGE meter distance
        first implementation by HAdrian, mods by EOSBa n di在高级无头e模式下,当飞行机超过ADV_HEADFREE_RANGE定义的范围,
    起飞点和飞行器的连线将成为控制方向, 当飞行器飞入ADV_HEADFREE_RANGE定义范围,那么控制方向将锁定为原点和飞行器飞入ADV_HEADFREE_RANGE
                                范围内时位置的连线,
*/

   //#define ADVANCED_HEADFREE                                                                        //Advanced headfree mode is enabled when this is uncommented 去掉注释开启高级无头模式
   //#define ADV_HEADFREE_RANGE 15                                                                //Range where advanced headfree mode activated  高级无头模式范围 米.


  /************************        continuous gyro calibration 连续陀螺仪校正       ********************/
  /* Gyrocalibration will be repeated if copter is moving during calibration. */ 如果陀螺仪矫正中出现移动就会重新校准陀螺仪
    //#define GYROCALIBRATIONFAILSAFE


5
 楼主| 发表于 2014-2-24 17:38 | 只看该作者
本帖最后由 jpno1 于 2014-2-24 21:56 编辑

  /************************        AP FlightMode AP飞行模式       **********************************/
    /* Temporarily Disables GPS_HOLD_MODE to be able to make it possible to adjust the Hold-position when moving the sticks.临时禁用GPS_hold_mode用以移动摇杆时改变定点,,*/
    #define AP_MODE 40  // Create a deadspan for GPS.

  /************************   Assisted AcroTrainer 辅助固定翼教练   ************************************/
    /* Train Acro with auto recovery. Value set the point where ANGLE_MODE takes over.
       Remember to activate ANGLE_MODE first!...
       A Value on 200 will give a very distinct transfer */
    //#define ACROTRAINER_MODE 200   //www.multiwii.com/forum/viewtopic.php?f=16&t=1944#p17437


  /********                          Failsafe settings  失控保护设置               ********************/
    /* Failsafe check pulses on four main control channels CH1-CH4. If the pulse is missing or bellow 985us (on any of these four channels)
       the failsafe procedure is initiated. After FAILSAFE_DELAY time from failsafe detection, the level mode is on (if ACC or nunchuk is avaliable),
       PITCH, ROLL a n d YAW is centered a n d THROTTLE is set to FAILSAFE_THROTTLE value. You must set this value to descending about 1m/s or so
       for best results. This value is depended from your configuration, AUW a n d some other params.  Next, after FAILSAFE_OFF_DELAY the copter is disarmed,
       a n d motors is stopped. If RC pulse coming back before reached FAILSAFE_OFF_DELAY time, after the small quard time the RC control is returned to normal.
       失控保护检查四个主要控制通道的脉冲信号(ch1-ch4). 如果任何一个通道的脉冲信号消失或者低于985us,失控保护就会启动. 在预设的失控保护延时(Failsafe_delay)过后,
       自稳模式开启, 升降,副翼,转向舵将被归中, 油门自动调整为预设的油门值(以 FAILSAFE_THROTTLE设定). 为获得最佳效果,您必须将此值降至1m/ s左右.这个值根据你的设定,AUW和
       其他参数改变. 接下来,经过FAILSAFE_OFF_DELAY设置的时间后飞行器会被上锁,并且电机会停转. 如果遥控信号在定义时间内恢复,遥控恢复正常. (PS by jpno1@5imx, 不要小看这个设置,
       这个失控保护会在误操作的情况下自动恢复四轴的飞行姿态, 很多时候能保证四轴水平落下, 大大减少炸机损失. )*/
    //#define FAILSAFE                                // uncomment  to activate the failsafe function 去掉注释开启失控保护
    #define FAILSAFE_DELAY     10                     // Guard time for failsafe activation after signal lost. 1 step = 0.1sec - 1sec in example 失去信号后开启失控保护延迟. 加1为0.1秒. 10为1秒.
    #define FAILSAFE_OFF_DELAY 200                    // Time for La n ding before motors stop in 0.1sec. 1 step = 0.1sec - 20sec in example  经过此时间后电机停转并降落  加1为0.1秒, 默认20秒.
    #define FAILSAFE_THROTTLE  (MINTHROTTLE + 200)    // (*) Throttle level used for la n ding - may be relative to MINTHROTTLE - as in this case   降落所需的油门大小. 可以相对于最小油门. 比如默认的设置为最小油门+200

    #define FAILSAFE_DETECT_TRESHOLD  985


  /*****************                DFRobot LED RING  灯环设置  *********************************/
    /* I2C DFRobot LED RING communication i2c DFRobot灯环通信. */
    //#define LED_RING

  /********************************    LED FLASHER 闪灯    ***********************************/
    //#define LED_FLASHER
    //#define LED_FLASHER_DDR DDRB
    //#define LED_FLASHER_PORT PORTB
    //#define LED_FLASHER_BIT PORTB4
    //#define LED_FLASHER_INVERT
    //#define LED_FLASHER_SEQUENCE        0b00000000      // leds OFF                关 0b00000000
    //#define LED_FLASHER_SEQUENCE_ARMED  0b00000101      // create double flashes   双闪0b00000101
    //#define LED_FLASHER_SEQUENCE_MAX    0b11111111      // full illumination       最大亮度0b11111111
    //#define LED_FLASHER_SEQUENCE_LOW    0b00000000      // no illumination                                        最小亮度0b00000000


  /*******************************    La n ding lights 着陆灯   *********************************/
  /* La n ding lights
     Use an output pin to control la n ding lights.
     They can be switched automatically when used in conjunction
     with altitude data from a sonar unit.使用其中一脚控制着陆灯, 如果和声呐同时使用, 会根据声呐数据自动控制 */
    //#define La n dING_LIGHTS_DDR DDRC
    //#define La n dING_LIGHTS_PORT PORTC
    //#define La n dING_LIGHTS_BIT PORTC0
    //#define La n dING_LIGHTS_INVERT

    /* altitude above ground (in cm) as reported by sonar 根据声呐离地高度 */
    //#define La n dING_LIGHTS_AUTO_ALTITUDE 50

    /* adopt the flasher pattern for la n ding light LEDs */
    //#define La n dING_LIGHTS_ADOPT_LED_FLASHER_PATTERN

  /*************************    INFLIGHT ACC Calibration 飞行中加速计校准   *****************************/
    /* This will activate the ACC-Inflight calibration if unchecked */
    //#define INFLIGHT_ACC_CALIBRATION

  /*******************************    OSD Switch    *************************************/
    // This adds a box that can be interpreted by OSD in activation status (to switch on/off the overlay for instance)
  //#define OSD_SWITCH

  /**************************************************************************************/
  /***********************                  TX-related         **************************/
  /**************************************************************************************/

    /* introduce a deadba n d around the stick center
       Must be greater than zero, comment if you dont want a deadba n d on roll, pitch a n d yaw */
    #define DEADBa n d 6

  /**************************************************************************************/
  /***********************                  GPS                **************************/
  /**************************************************************************************/

    /* GPS using a SERIAL port
       if enabled, define here the Arduino Serial port number a n d the UART speed
       note: only the RX PIN is used in case of NMEA mode, the GPS is not configured by multiwii
       in NMEA mode the GPS must be configured to output GGA a n d RMC NMEA sentences (which is generally the default conf for most GPS devices)
       at least 5Hz update rate. uncomment the first line to select the GPS serial port of the arduino
       使用串口GPS
       如果开启, 在这里定义arduino串口号和Uart速率.
       注意, 在MMEA模式下只使用RX引脚. Multiwii不能设置GPS
       NMEA模式中, GPS必须设定为输出 GGA和RMC NMEA语句(大多数GPS的默认设置)
       更新速率最少为5hz. 注释掉第一行用以选择gps串口. */

    //#define GPS_SERIAL 2         // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
    //#define GPS_PROMINI_SERIAL   // Will Autosense if GPS is connected when ardu boots.

    // avoid using 115200 baud because with 16MHz arduino the 115200 baudrate have more than 2% speed error (57600 have 0.8% error)不要使用115200, 因为错误率高.
    #define GPS_BAUD   57600

   /* GPS protocol
       NMEA  - Sta n dard NMEA protocol GGA, GSA a n d RMC  sentences are needed
       UBLOX - U-Blox binary protocol, use the ublox config file (u-blox-config.ublox.txt) from the source tree
       MTK_BINARY16 a n d MTK_BINARY19 - MTK3329 chipset based GPS with DIYDrones binary firmware (v1.6 or v1.9)
       With UBLOX a n d MTK_BINARY you don't have to use GPS_FILTERING in multiwii code !!!
       GPS协议
       NMEA - 标准NMEA协议 需要GGA,GSA和RMC语句支持
   UBLOX - U-blox的二进制协议,使用从源代码树中出来的UBLOX配置文件(了u-blox-config.ublox.txt)
   MTK_BINARY16和MTK_BINARY19 - MTK3329芯片组的GPS与DIYDrones二进制固件(V1.6或V1.9)
          对于UBLOX和MTK_BINARY协议, 你不必子在multiwii代码中使用GPS_FILTERING!

        */


    //#define NMEA
    //#define UBLOX
    //#define MTK_BINARY16
    //#define MTK_BINARY19
    //#define INIT_MTK_GPS        // initialize MTK GPS for using selected speed, 5Hz update rate a n d GGA & RMC sentence or binary settings


    /* I2C GPS device made with an independant arduino + GPS device
       including some navigation functions
       contribution from EOSBa n di   http://code.google.com/p/i2c-gps-nav/
       You have to use at least I2CGpsNav code r33
       I2C设备有一个独立的Arduino+ GPS卫星定位装置,包括一些导航功能.  */
    //#define I2C_GPS
    // If your I2C GPS board has Sonar support enabled 选这个如果你的i2cGPS有声呐
    //#define I2C_GPS_SONAR

    /* GPS data readed from Misio-OSD - GPS module connected to OSD, a n d MultiWii read GPS data from OSD - tested a n d working OK ! */
    //#define GPS_FROM_OSD

6
 楼主| 发表于 2014-2-24 17:39 | 只看该作者
本帖最后由 jpno1 于 2014-2-24 21:57 编辑

占位占位占位占位占位占位占位
    /* indicate a valid GPS fix with at least 5 satellites by flashing the LED  - Modified by MIS - Using stable LED (YELLOW on CRIUS AIO) led work as sat number indicator
      - No GPS FIX -> LED blink at speed of incoming GPS frames
      - Fix a n d sat no. bellow 5 -> LED off
      - Fix a n d sat no. >= 5 -> LED blinks, one blink for 5 sat, two blinks for 6 sat, three for 7 ... */
    #define GPS_LED_INDICATOR

    //#define USE_MSP_WP                        //Enables the MSP_WP comma n d, which is used by WinGUI to display a n d log Home a n d Poshold positions  /启用MSP_WP命令,这是由WinGUI显示和记录家和定点位置

    //#define DONT_RESET_HOME_AT_ARM             // HOME position is reset at every arm, uncomment it to prohibit it (you can set home position with GyroCalibration) 每次解锁后重置家的位置,取消注释可以禁用(你可以通过陀螺仪校准设置起始位置)

    /* GPS navigation can control the heading GPS导航和控制飞行方向 */
   
    #define NAV_CONTROLS_HEADING       true      // copter faces toward the navigation point, maghold must be enabled for it  飞行器面向导航方向, 定航线Maghold必须开启.
    #define NAV_TAIL_FIRST             false     // true - copter comes in with tail first  尾部进入,用true,
    #define NAV_SET_TAKEOFF_HEADING    true      // true - when copter arrives to home position it rotates it's head to takeoff direction  当返航到出发点是飞行器自动转向到出发的方向.
   
   
    /* Get your magnetic declination from here : http://magnetic-declination.com/
       Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
       Note the sign on declination it could be negative or positive (WEST or EAST)从所给地址找到你的磁偏角,把度分为10进制(度+分*(1/60)
       注意偏角信号正负 (+东,-西)  */
    //#define MAG_DECLINATION  3.96f              //For Budapest Hungary. 匈牙利布达佩斯(想起了陈佩斯by jpno1@5imx -_-....)
    #define MAG_DECLINATION  0.0f   //(**)

    #define GPS_LEAD_FILTER                      // Adds a forward predictive filterig to compensate gps lag. Code based on Jason Short's lead filter implementation增加了一个前导预测过滤以弥补GPS滞后。
   
    //#define GPS_FILTERING                        // add a 5 element moving average filter to GPS coordinates, helps eliminate gps noise but adds latency comment out to disable加五元移动平均滤波器到以GPS坐标,有助于消除全球定位系统噪音,但会增加延迟注释掉禁用
    #define GPS_WP_RADIUS              200       // if we are within this distance to a waypoint then we consider it reached (distance is in cm)如果我们在这个距离内,则我们认为它达到航点了(距离为厘米)
    #define NAV_SLEW_RATE              30        // Adds a rate control to nav output, will smoothen out nav angle spikes  增加了速率控制到导航输出,将减缓了导航尖峰角


  /**************************************************************************************/
  /***********************        LCD/OLED - display settings  显示设置 *********************/
  /**************************************************************************************/

    /* http://www.multiwii.com/wiki/ind ... atures#LCD_.2F_OLED */

    /*****************************   The type of LCD     **********************************/
      /* choice of LCD attached for configuration a n d telemetry, see notes below */
      //#define LCD_DUMMY       // No Physical LCD attached.  With this & LCD_CONF defined, TX sticks still work to set gains, by watching LED blink.  
      //#define LCD_SERIAL3W    // Alex' initial variant with 3 wires, using rx-pin for transmission @9600 baud fixed
      //#define LCD_TEXTSTAR    // SERIAL LCD: Cat's Whisker LCD_TEXTSTAR Module CW-LCD-02 (Which has 4 input keys for selecting menus)
      //#define LCD_VT100       // SERIAL LCD: vt100 compatible terminal emulation (blueterm, putty, etc.)
      //#define LCD_TTY         // SERIAL LCD: useful to tweak parameters over cable with arduino IDE 'serial monitor'
      //#define LCD_ETPP        // I2C LCD: Eagle Tree Power Panel LCD, which is i2c (not serial)
      //#define LCD_LCD03       // I2C LCD: LCD03, which is i2c
      //#define OLED_I2C_128x64 // I2C LCD: OLED http://www.multiwii.com/forum/viewtopic.php?f=7&t=1350
      //#define OLED_DIGOLE     // I2C OLED from http://www.digole.com/index.php?productID=550

    /******************************   Display settings   ***********************************/
      #define LCD_SERIAL_PORT 0    // must be 0 on Pro Mini a n d single serial boards; Set to your choice on any Mega based board

      //#define SUPPRESS_OLED_I2C_128x64LOGO  // suppress display of OLED logo to save memory

    /* double font height for better readability. Reduces visible #lines by half.
     * The lower part of each page is accessible under the name of shifted keyboard letter :
     * 1 - ! , 2 - @ , 3 - # , 4 - $ , 5 - % , 6 - ^ , 7 - & , 8 - * , 9 - (
     * You must add both to your lcd.telemetry.* sequences
     */
      //#define DISPLAY_FONT_DSIZE //currently only aplicable for OLED_I2C_128x64 a n d OLED_DIGOLE

    /* style of display - AUTODETECTED via LCD_ setting - only activate to override defaults */
      //#define DISPLAY_2LINES
      //#define DISPLAY_MULTILINE
      //#define MULTILINE_PRE 2  // multiline configMenu # pref lines
      //#define MULTILINE_POST 6 // multiline configMenu # post lines
      //#define DISPLAY_COLUMNS 16
    /********************************    Navigation     ***********************************/
    /* keys to navigate the LCD menu */
      #define LCD_MENU_PREV 'p'
      #define LCD_MENU_NEXT 'n'
      #define LCD_VALUE_UP 'u'
      #define LCD_VALUE_DOWN 'd'

      #define LCD_MENU_SAVE_EXIT 's'
      #define LCD_MENU_ABORT 'x'

  /**************************************************************************************/
  /***********************      LCD configuration menu         **************************/
  /**************************************************************************************/

    /* uncomment this line if you plan to use a LCD or OLED for tweaking parameters
     * http://www.multiwii.com/wiki/ind ... #Configuration_Menu */
      //#define LCD_CONF

    /* to include setting the aux switches for AUX1 -> AUX4 via LCD */
      //#define LCD_CONF_AUX

    /* optional exclude some functionality - uncomment to suppress unwanted aux channel configuration options */
      //#define SUPPRESS_LCD_CONF_AUX2
      //#define SUPPRESS_LCD_CONF_AUX34

  /**************************************************************************************/
  /***********************      LCD       telemetry            **************************/
  /**************************************************************************************/

    /* to monitor system values (battery level, loop time etc. with LCD
     * http://www.multiwii.com/wiki/index.php?title=LCD_Telemetry */

    /********************************    Activation     ***********************************/
    //#define LCD_TELEMETRY

    /* to enable automatic hopping between a choice of telemetry pages uncomment this. */
    //#define LCD_TELEMETRY_AUTO "123452679" // pages 1 to 9 in ascending order
    //#define LCD_TELEMETRY_AUTO  "212232425262729" // strong emphasis on page 2

    /* manual stepping sequence; first page of the sequence gets loaded at startup to allow non-interactive display */
    //#define LCD_TELEMETRY_STEP "0123456789" // should contain a 0 to allow switching off.

    /* optional exclude some functionality - uncomment to suppress some unwanted telemetry pages */
    //#define SUPPRESS_TELEMETRY_PAGE_1
    //#define SUPPRESS_TELEMETRY_PAGE_2
    //#define SUPPRESS_TELEMETRY_PAGE_3
    //#define SUPPRESS_TELEMETRY_PAGE_4
    //#define SUPPRESS_TELEMETRY_PAGE_5
    //#define SUPPRESS_TELEMETRY_PAGE_6
    //#define SUPPRESS_TELEMETRY_PAGE_7
    //#define SUPPRESS_TELEMETRY_PAGE_8
    //#define SUPPRESS_TELEMETRY_PAGE_9
    //#define SUPPRESS_TELEMETRY_PAGE_R

  /********************************************************************/
  /****                             RSSI                           ****/
  /********************************************************************/
    //#define RX_RSSI
    //#define RX_RSSI_PIN A3

  /********************************************************************/
  /****                             Buzzer  蜂鸣器                 ****/
  /********************************************************************/
    //#define BUZZER
    //#define RCOPTIONSBEEP         // uncomment this if you want the buzzer to beep at any rcOptions change on channel Aux1 to Aux4 如果你想让蜂鸣器响就开这个. AUX1-AUX4
    //#define ARMEDTIMEWARNING 330  // (*) Trigger an alarm after a certain time of being armed to save you lipo (if your TX does not have a countdown) 解锁后一定时间触发警报.(如果你的发射机没有倒计时)
    //#define PILOTLAMP             //Uncomment if you are using a X-Arcraft Pilot Lamp

7
 楼主| 发表于 2014-2-24 17:39 | 只看该作者
本帖最后由 jpno1 于 2014-2-24 21:58 编辑

/********************************************************************/
  /****           battery voltage monitoring  电压监视              ****/
  /********************************************************************/
    /* for V BAT monitoring
       after the resistor divisor we should get [0V;5V]->[0;1023] on analog V_BATPIN
       with R1=33k a n d R2=51k
       vbat = [0;1023]*16/VBATSCALE
       must be associated with #define BUZZER ! */
    //#define VBAT              // uncomment this line to activate the vbat code
    #define VBATSCALE       131 // (*) (**) change this value if readed Battery voltage is different than real voltage
    #define VBATNOMINAL     126 // 12,6V full battery nominal voltage - only used for lcd.telemetry
    #define VBATLEVEL_WARN1 107 // (*) (**) 10,7V
    #define VBATLEVEL_WARN2  99 // (*) (**) 9.9V
    #define VBATLEVEL_CRIT   93 // (*) (**) 9.3V - critical condition: if vbat ever goes below this value, permanent alarm is triggered
    #define NO_VBAT          16 // Avoid beeping without any battery


  /********************************************************************/
  /**** powermeter (battery capacity monitoring) 电表(电池容量监视)****/
  /********************************************************************/

    /* enable monitoring of the power consumption from battery (think of mAh)
       allows to set alarm value in GUI or via LCD
      Full description a n d howto here http://www.multiwii.com/wiki/index.php?title=Powermeter
       Two options:
       1 - hard: - (uses hardware sensor, after configuration gives very good results)
       2 - soft: - (good results +-5% for plush a n d mystery ESCs @ 2S a n d 3S, not good with SuperSimple ESC)    */
    //#define POWERMETER_SOFT
    //#define POWERMETER_HARD
    #define PSENSORNULL 510 /* (*) hard only: set to analogRead() value for zero current; for I=0A my sensor
                                   gives 1/2 Vss; that is approx 2.49Volt; */
    #define PINT2mA 132     /* (*) hard: one integer step on arduino analog translates to mA (example 4.9 / 37 * 1000) ;
                                   soft: use fictional value, start with 100.
                                   for hard a n d soft: larger PINT2mA will get you larger value for power (mAh equivalent) */

  /********************************************************************/
  /****           altitude hold  定高                             ****/
  /********************************************************************/

    /* defines the neutral zone of throttle stick during altitude hold, default setting is
       +/-50 uncommend a n d change the value below if you want to change it. 定高时油门摇杆的中立区,默认+/-50. 如果想更改,在下面更改*/
    #define ALT_HOLD_THROTTLE_NEUTRAL_ZONE    50
    //#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.


    /* uncomment to disable the altitude hold feature. 关闭定高模式
     * This is useful if all of the following apply 很有用如果你
     * + you have a baro    有baro
     * + want altitude readout a n d/or variometer 想读出高度
     * + do not use altitude hold feature 不想用定高
     * + want to save memory space想节约记忆体空间 */
    //#define SUPPRESS_BARO_ALTHOLD

  /********************************************************************/
  /****           altitude variometer  高度仪                      ****/
  /********************************************************************/

    /* enable to get audio feedback upon rising/falling copter/plane.
     * Requires a working baro.
     * For now, Output gets sent to an enabled vt100 terminal program over the serial line.
     * choice of two methods (enable either one or both)
     * method 1 : use short term movement from baro ( bigger code size)
     * method 2 : use long term observation of altitude from baro (smaller code size)
     */
    //#define VARIOMETER 12            // possible values: 12 = methods 1 & 2 ; 1 = method 1 ; 2 = method 2
    //#define SUPPRESS_VARIOMETER_UP   // if no signaling for up movement is desired
    //#define SUPPRESS_VARIOMETER_DOWN // if no signaling for down movement is desired
    //#define VARIOMETER_SINGLE_TONE   // use only one tone (BEL); neccessary for non-patched vt100 terminals

  /********************************************************************/
  /****           baord naming   主板命名                          ****/
  /********************************************************************/

    /*
     * this name is displayed together with the MultiWii version number
     * upon powerup on the LCD.
     * If you are without a DISPLAYD then You may enable LCD_TTY a n d
     * use arduino IDE's serial monitor to view the info.
     *
     * You must preserve the format of this string!
     * It must be 16 characters total,
     * The last 4 characters will be overwritten with the version number.
     */
    #define BOARD_NAME "MultiWii   V-.--"
    //                  123456789.123456

  /*************      Support multiple configuration profiles in EEPROM     ************/
    //#define MULTIPLE_CONFIGURATION_PROFILES

  /*************      do no reset constants when change of flashed program is detected ***********/
    #define NO_FLASH_CHECK

/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  7 - TUNING & DEVELOPER   调试和开发选项                 **************/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /**************************************************************************************/
  /********   special ESC with extended range [0-2000] microseconds  ********************/
  /**************************************************************************************/
    //#define EXT_MOTOR_RANGE // using this with wii-esc requires to change MINCOMMa n d to 1008 for promini a n d mega

  /**************************************************************************************/
  /******motor, servo a n d other presets   马达,舵机和其他         ***********************/
  /**************************************************************************************/
    /* motors will not spin when the throttle comma n d is in low position
       this is an alternative method to stop immediately the motors
       油门低位时马达停转,这是立即停止电机的一种替代方法*/
    #define MOTOR_STOP

    /* some radios have not a neutral point centered on 1500. can be changed here 一些遥控设备的中点不是1500, 可以在这里设定*/
    #define MIDRC 1500

  /*********************** Servo Refreshrates   舵机刷新率           ***********************/
    /* Default 50Hz Servo refresh rate 定义50hz舵机刷新率 (我的自稳云台使用老式的低速舵机, 如果刷新率过高,会导致舵机吱吱响, 或者移动不正常 by jpno1@5imx. 请勿转载)*/
    #define SERVO_RFR_50HZ

    /* up to 160Hz servo refreshrate .. works with the most analog servos  160hz刷新率, 支持大多模拟舵机(此为默认值 by jpno1@5imx)*/
    //#define SERVO_RFR_160HZ

    /* up to 300Hz refreshrate it is as fast as possible (100-300Hz depending on the cound of used servos a n d the servos state).
       for use with digital servos
       dont use it with analog servos! thay may get damage. (some will work but be careful)300hz刷新率.尽可能快. 只用于数字舵机, 使用此选项会损坏模拟舵机!!!!!注意!!! */
    //#define SERVO_RFR_300HZ
   
  /***********************             HW PWM Servos    HW PWM信号舵机.          ***********************/
    /* HW PWM Servo outputs for Arduino Mega.. moves:
      Pitch   = pin 44
      Roll    = pin 45
      CamTrig = pin 46
      SERVO4  = pin 11 (aileron left for fixed wing or TRI YAW SERVO)
      SERVO5  = pin 12 (aileron right for fixed wing)
      SERVO6  = pin 6   (rudder for fixed wing)
      SERVO7  = pin 7   (elevator for fixed wing)
      SERVO8  = pin 8   (motor for fixed wing)       */

    //#define MEGA_HW_PWM_SERVOS

    /* HW PWM Servo outputs for 32u4 NanoWii, MicroWii etc. - works with either the variable SERVO_RFR_RATE or
     * one of the 3 fixed servo.refresh.rates *
     * Tested only for heli_120, i.e. 1 motor + 4 servos, moves..
     * motor[0] = motor       = pin  6
     * servo[3] = nick  servo = pin 11
     * servo[4] = left  servo = pin 10
     * servo[5] = yaw   servo = pin  5
     * servo[6]  = right servo= pin  9
     */
    //#define A32U4_4_HW_PWM_SERVOS

    #define SERVO_RFR_RATE  50    // In Hz, you can set it from 20 to 400Hz, used only in HW PWM mode for mega a n d 32u4
    //#define SERVO_PIN5_RFR_RATE  200    // separate yaw pwm rate.
                                          // In Hz, you can set it from 20 to 400Hz, used only in HW PWM mode for 32u4


  /********************************************************************/
  /****           Memory savings  节约记忆体空间                   ****/
  /********************************************************************/

    /* options to counter the general shortage of both flash a n d ram memory, like with leonardo m32u4 a n d others */

    /**** suppress ha n dling of serial comma n ds.***
     * This does _not_ affect ha n dling of RXserial, Spektrum or GPS. Those will not be affected a n d still work the same.
     * Enable either one or both of the following options  */

  
8
发表于 2014-2-24 17:54 | 只看该作者
感谢楼主为大家做的贡献 楼主辛苦了
9
 楼主| 发表于 2014-2-24 17:58 | 只看该作者
      /* Remove ha n dling of all comma n ds of the New MultiWii Serial Protocol.
       * This will disable use of the GUI, winGUI, a n droid apps a n d any other program that makes use of the MSP.
       * You must find another way (like LCD_CONF) to tune the parameters or live with the defaults.
       * If you run a LCD/OLED via i2c or serial/Bluetooth, this is safe to use */
      //#define SUPPRESS_ALL_SERIAL_MSP // saves approx 2700 bytes

      /* Remove ha n dling of other serial comma n ds.
       * This includes navigating via serial the lcd.configuration menu, lcd.telemetry a n d permanent.log .
       * Navigating via stick inputs on tx is not affected a n d will work the same.  */
      //#define SUPPRESS_OTHER_SERIAL_COMMa n dS // saves  approx 0 to 100 bytes, depending on features enabled

    /**** suppress keeping the defaults for initial setup a n d reset in the code.
     * This requires a manual initial setup of the PIDs etc. or load a n d write from defaults.mwi;
     * reset in GUI will not work on PIDs
     */
    //#define SUPPRESS_DEFAULTS_FROM_GUI
   
    //#define DISABLE_SETTINGS_TAB  // Saves ~400bytes on ProMini

  /********************************************************************/
  /****           diagnostics      诊断                            ****/
  /********************************************************************/

    /* to log values like max loop time a n d others to come
       logging values are visible via LCD config
       set to 1, enable 'R' option to reset values, max current, max altitude
       set to 2, adds min/max cycleTimes
       set to 3, adds additional powerconsumption on a per motor basis (this uses the big array a n d is a memory hog, if POWERMETER <> PM_SOFT) */
    //#define LOG_VALUES 1

    /* Permanent logging to eeprom - survives (most) upgrades a n d parameter resets.
     * used to track number of flights etc. over lifetime of controller board.
     * Writes to end of eeprom - should not conflict with stored parameters yet.
     * Logged values: accumulated lifetime, #powercycle/reset/initialize events, #arm events, #disarm events, last armedTime,
     *                #failsafe@disarm, #i2c_errs@disarm
     * Enable one or more options to show the log
     */
    //#define LOG_PERMANENT
    //#define LOG_PERMANENT_SHOW_AT_STARTUP // enable to display log at startup
    //#define LOG_PERMANENT_SHOW_AT_L // enable to display log when receiving 'L'
    //#define LOG_PERMANENT_SHOW_AFTER_CONFIG // enable to display log after exiting LCD config menu
    //#define LOG_PERMANENT_SERVICE_LIFETIME 36000 // in seconds; service alert at startup after 10 hours of armed time

    /* to add debugging code
       not needed a n d not recommended for normal operation
       will add extra code that may slow down the main loop or make copter non-flyable */
    //#define DEBUG
    //#define DEBUG_FREE // will add 'F' comma n d to show free memory

    /* Use this to trigger LCD configuration without a TX - only for debugging - do NOT fly with this activated */
    //#define LCD_CONF_DEBUG

    /* Use this to trigger telemetry without a TX - only for debugging - do NOT fly with this activated */
    //#define LCD_TELEMETRY_DEBUG    //This form rolls between all screens, LCD_TELEMETRY_AUTO must also be defined.
    //#define LCD_TELEMETRY_DEBUG 6  //This form stays on the screen specified.

    /* Enable string transmissions from copter to GUI */
    //#define DEBUGMSG


  /********************************************************************/
  /****           ESCs calibration  电调行程校准                    ****/
  /********************************************************************/

    /* to calibrate all ESCs connected to MWii at the same time (useful to avoid unplugging/re-plugging each ESC)
       Warning: this creates a special version of MultiWii Code
       You cannot fly with this special version. It is only to be used for calibrating ESCs
       Read How To at http://code.google.com/p/multiwii/wiki/ESCsCalibration
       同时校准连接到MWii的所有电调行程(用来避免一个一个调整电调,减少反复拔插)
昀告:这将创建MultiWii代码的一个特殊版本
仅用于校正电调行程, 你不能用这个特殊版本飞行!!!!!!!
方法可以在这里看http://code.google.com/p/multiwii/wiki/ESCsCalibraton
                         注意 by jpno1@5imx,一定要拆掉所有的桨叶再使用这功能, 否则必有血光之灾. 切记切记!!!!!!!!!!!!!*/
    #define ESC_CALIB_LOW  MINCOMMa n d
    #define ESC_CALIB_HIGH 2000
    //#define ESC_CALIB_CANNOT_FLY  // uncomment to activate 用这个开启

  /****           internal frequencies                             ****/
    /* frequenies for rare cyclic actions in the main loop, depend on cycle time
       time base is main loop cycle time - a value of 6 means to trigger the action every 6th run through the main loop
       example: with cycle time of approx 3ms, do action every 6*3ms=18ms
       value must be [1; 65535] */
    #define LCD_TELEMETRY_FREQ 23       // to send telemetry data over serial 23 <=> 60ms <=> 16Hz (only sending interlaced, so 8Hz update rate)
    #define LCD_TELEMETRY_AUTO_FREQ  967// to step to next telemetry page 967 <=> 3s
    #define PSENSOR_SMOOTH 16           // len of averaging vector for smoothing the PSENSOR readings; should be power of 2; set to 1 to disable
    #define VBAT_SMOOTH 16              // len of averaging vector for smoothing the VBAT readings; should be power of 2; set to 1 to disable
    #define RSSI_SMOOTH 16              // len of averaging vector for smoothing the RSSI readings; should be power of 2; set to 1 to disable

  /********************************************************************/
  /****           Dynamic Motor/Prop Balancing  桨/马达动平衡      ****/
  /********************************************************************/
  /*                   !!! No Fly Mode 非飞行模式!!!!!                            */
               
    //#define DYNBALANCE   // (**) Dynamic balancing controlled from Gui 用gui调整动平衡

  /********************************************************************/
  /****           Regression testing                               ****/
  /********************************************************************/

    /* for development only:
       to allow for easier a n d reproducable config sets for test compiling, different sets of config parameters are kept
       together. This is meant to help detecting compile time errors for various features in a coordinated way.
       It is not meant to produce your flying firmware
       To use:
       - do not set any options in config.h,
       - enable with #define COPTERTEST 1, then compile
       - if possible, check for the size
       - repeat with other values of 2, 3, 4 etc.
        */
    //#define COPTERTEST 1

/*************************************************************************************************/
/*****************                                                                 ***************/
/****************  SECTION  8 - DEPRECATED                                                 *******/
/*****************                                                                 ***************/
/*************************************************************************************************/

  /* these features will be removed in the unforseeable future. Do not build new products or
   * functionality based on such features. The default for all such features is OFF.
   */

  /**************************    WMP power pin     *******************************/
  //#define D12_POWER      // Use D12 on PROMINI to power sensors. Will disable servo[4] on D12
  /* disable use of the POWER PIN (allready done if the option RCAUXPIN12 is selected) */
  #define DISABLE_POWER_PIN


/*************************************************************************************************/
/****           END OF CONFIGURABLE PARAMETERS                                                ****/
/*************************************************************************************************/

#endif /* CONFIG_H_ */

10
发表于 2014-2-24 18:01 | 只看该作者
好贴,学习
11
发表于 2014-2-24 18:41 | 只看该作者
好贴,造福魔友
12
发表于 2014-2-24 19:31 | 只看该作者
LZ 能整理一个文档 发个附件吗
13
发表于 2014-2-24 19:33 | 只看该作者
不错!这个要顶下
14
 楼主| 发表于 2014-2-24 19:45 | 只看该作者
luoxin1984 发表于 2014-2-24 23:31
LZ 能整理一个文档 发个附件吗

已编辑.

15
发表于 2014-2-24 19:47 | 只看该作者
感谢楼主,好贴,造福模友。
16
发表于 2014-2-24 20:02 | 只看该作者
期待楼主,发个附件吧。
17
 楼主| 发表于 2014-2-24 21:44 | 只看该作者
xukeyi888 发表于 2014-2-25 00:02
期待楼主,发个附件吧。

已经发了.

18
发表于 2014-2-24 22:03 | 只看该作者
谢谢楼主!!
19
发表于 2014-2-24 22:08 | 只看该作者
这个好东西一定要收下了

20
发表于 2014-2-24 22:14 | 只看该作者
强帖留名!谢谢分享
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表