MWC飛控config庫(kù)文件(帶漢化注釋?zhuān)?/h1>
#ifndef CONFIG_H_
#define CONFIG_H_
/*************************************************************************************************/
/**** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可配置參數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ****/
/*************************************************************************************************/
/* 本文件由幾部分組成
?* 用于創(chuàng)建一個(gè)可用的組合,你必須至少在第1部分做出你的選擇。
?* 1 - 基本設(shè)置 - 你必須在每個(gè)塊中選擇一個(gè)選項(xiàng)。
?* ? ? 這里假定你的板子連接了4個(gè)通道還有標(biāo)準(zhǔn)電調(diào)和舵機(jī)。
?* 2 - 飛行器分類(lèi)詳細(xì)選項(xiàng) - 你可能需要為你的飛行器分類(lèi)檢查選項(xiàng)
?* 3 - 遙控系統(tǒng)設(shè)置
?* 4 - 替代CPU和板子 - 如果你有
?* 5 - 替代設(shè)置 - 在此選擇替代發(fā)射機(jī)(SBUS,PPM等),替代電調(diào)范圍等
?* 6 - 可選特性 - 在此啟用錦上添花的特性(飛行模式,LCD,遙測(cè),電池監(jiān)控等)
?* 7 - 調(diào)試 & 開(kāi)發(fā)者 - 如果你知道你在做什么;已經(jīng)警告過(guò)你了
?* ? - (ESC的動(dòng)態(tài)校準(zhǔn),電機(jī)/支撐平衡,診斷,節(jié)省內(nèi)存.....)
?* 8 - 不推薦使用 - 這些功能將在將來(lái)的版本中刪除
?*/
/* Notes:
?* 1. 在注釋中用(*)標(biāo)記的參數(shù)被儲(chǔ)存在eeprom中,并且可以通過(guò)串口監(jiān)控器或LCD調(diào)節(jié)。
?* 2. 在注釋中用(**)標(biāo)記的參數(shù)被儲(chǔ)存在eeprom中,并且可以通過(guò)GUI調(diào)節(jié)
?*/
/*************************************************************************************************/
/**** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?漢化注釋說(shuō)明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ****/
/*************************************************************************************************/
/*multiwii2.3 config.h中文注釋由OYUZIQI@arduino吧(tieba.baidu.com)收集整理,校驗(yàn)by梓葉亭
? 未改變?cè)心J(rèn)設(shè)置,但未經(jīng)測(cè)試,建議此注釋僅作參考對(duì)照使用,下載程序時(shí)請(qǐng)使用原版英文注釋文件進(jìn)行設(shè)置
? *部分注釋來(lái)自MultiWii中文網(wǎng)翻譯組的2.2版,感謝bys_1123,1992liubo和tompsontan
? *以及jpno1@bbs.5imx.com
? *感謝他們的辛勞付出,減少了我大量的工作
? *歡迎轉(zhuǎn)載,但請(qǐng)載明出處
? *若有翻譯不當(dāng)之處,敬請(qǐng)?jiān)?/p>
? *期待更多朋友愛(ài)上mwc!
/*************************************************************************************************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/**************** ? ? ? ? ? ? ? ? ? 第 1 部分 - 基本設(shè)置 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *******/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
? /************************** ? ?多旋翼飛行器種類(lèi) ? ?****************************/
? ?//#define GIMBAL ? 自穩(wěn)云臺(tái)
? ? //#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直升機(jī)
? ? //#define HELI_90_DEG ? ? 90度斜盤(pán)直升機(jī)
? /**************************** ? ?電機(jī)最小油門(mén) ? ?*******************************/
? ? /* 設(shè)定發(fā)送至電調(diào)(ESC,Electronic Speed Controller)的最小油門(mén)命令
? ? ? ?該最小值允許電機(jī)運(yùn)行在怠速上 即維持電機(jī)怠速的最低油門(mén)值. ?*/
? ? //#define MINTHROTTLE 1300 // 用于Turnigy Plush ESCs 10A
? ? //#define MINTHROTTLE 1120 // 用于Super Simple ESCs 10A
? ? //#define MINTHROTTLE 1064 // 特殊的ESC (simonk蜘蛛電調(diào))
? ? //#define MINTHROTTLE 1050 // 用于brushed ESC比如ladybird
? ? #define MINTHROTTLE 1150 // (*)
? /**************************** ? ?電機(jī)最大油門(mén) ? ? *******************************/
? ? /* ESC全功率工作的最大值,該值最大可增至2000 */
? ? #define MAXTHROTTLE 1850
? /**************************** ? ?最小命令 ? ? ? ? ?*******************************/
? ? /* 該值用于未解鎖時(shí)的ESC
? ? ? ?在某些情況下,用于一些特殊的電調(diào)該值必須降至900,否則電調(diào)會(huì)初始化失敗
? ? ? ?OYUZIQI提示 用場(chǎng)效應(yīng)管驅(qū)動(dòng)空心杯時(shí)上電若微微轉(zhuǎn)動(dòng)可適當(dāng)降低此數(shù)值*/
? ? #define MINCOMMAND ?1000
? /********************************** ? ?I2C速度 ? ************************************/
? ? //#define I2C_SPEED 100000L ? ? //100kHz普通模式,正品WPM必須使用該值
? ? #define I2C_SPEED 400000L ? //400kHz快速模式,僅用于一些山寨WPM (可用于GY系列模塊)
? /*************************** ? ?內(nèi)部i2c上拉 ? ? ? ?********************************/
? ? /* 啟用內(nèi)部I2C上拉(在多數(shù)情況下,使用外部上拉更佳)(GY系列模塊自帶外部上拉) */
? ? //#define INTERNAL_I2C_PULLUPS
? /**************************************************************************************/
? /***************** ? ? ? ? ?主控板與傳感器定義 ? ? ? ? ? ? ? ? ? ? ? ? ******************/
? /**************************************************************************************/
? ? /*************************** ? ?Combined IMU Boards ? ?********************************/
? ? ? /* 如果你在使用特定的傳感器板:
? ? ? ? ?請(qǐng)?zhí)峤桓膭?dòng)到這個(gè)列表。
? ? ? ? ?來(lái)自Alex的提示:我只有其中一些板子,對(duì)于其他板子,我不能確保好用,信息由遙控論壇生成,請(qǐng)小心使用 *
? ? ? ? ?OYUZIQI提示 可支持 GY-87 GY-88等模塊 詳見(jiàn)本人帖子 http://tieba.baidu.com/p/3441325219?bd_source_light=1563095&pn=0&
? ? ? //#define GY_80 ? ? ? ? ? // Chinese 10 DOF with ?L3G4200D ADXL345 HMC5883L BMP085, LLC
? ? ? //#define GY_85 ? ? ? ? ? // Chinese 9 DOF with ?ITG3205 ADXL345 HMC5883L LLC
? ? ? //#define GY_86 ? ? ? ? ? // Chinese 10 DOF with ?MPU6050 HMC5883L MS5611, LLC
? ? ? //#define GY_521 ? ? ? ? ?// Chinese 6 ?DOF with ?MPU6050, LLC
? ? ? //#define FFIMUv1 ? ? ? ? // first 9DOF+baro board from Jussi, with HMC5843 ? ? ? ? ? ? ? ? ? <- confirmed by Alex
? ? ? //#define FFIMUv2 ? ? ? ? // second version of 9DOF+baro board from Jussi, with HMC5883 ? ? ? <- confirmed by Alex
? ? ? //#define FREEIMUv1 ? ? ? // v0.1 & v0.2 & v0.3 version of 9DOF board from Fabio
? ? ? //#define FREEIMUv03 ? ? ?// FreeIMU v0.3 and v0.3.1
? ? ? //#define FREEIMUv035 ? ? // FreeIMU v0.3.5 no baro
? ? ? //#define FREEIMUv035_MS ?// FreeIMU v0.3.5_MS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<- confirmed by Alex
? ? ? //#define FREEIMUv035_BMP // FreeIMU v0.3.5_BMP
? ? ? //#define FREEIMUv04 ? ? ?// FreeIMU v0.4 with MPU6050, HMC5883L, MS561101BA ? ? ? ? ? ? ? ? ?<- confirmed by Alex
? ? ? //#define FREEIMUv043 ? ? // same as FREEIMUv04 with final MPU6050 (with the right ACC scale)
? ? ? //#define NANOWII ? ? ? ? // the smallest multiwii FC based on MPU6050 + pro micro based proc <- confirmed by Alex
? ? ? //#define PIPO ? ? ? ? ? ?// 9DOF board from erazz
? ? ? //#define QUADRINO ? ? ? ?// full FC board 9DOF+baro board from witespy ?with BMP085 baro ? ? <- confirmed by Alex
? ? ? //#define QUADRINO_ZOOM ? // full FC board 9DOF+baro board from witespy ?second edition
? ? ? //#define QUADRINO_ZOOM_MS// full FC board 9DOF+baro board from witespy ?second edition ? ? ? <- confirmed by Alex
? ? ? //#define ALLINONE ? ? ? ?// full FC board or standalone 9DOF+baro board from CSG_EU
? ? ? //#define AEROQUADSHIELDv2
? ? ? //#define ATAVRSBIN1 ? ? ?// Atmel 9DOF (Contribution by EOSBandi). requires 3.3V power.
? ? ? //#define SIRIUS ? ? ? ? ?// Sirius Navigator IMU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <- confirmed by Alex
? ? ? //#define SIRIUSGPS ? ? ? // Sirius Navigator IMU ?using external MAG on GPS board ? ? ? ? ? ?<- confirmed by Alex
? ? ? //#define SIRIUS600 ? ? ? // Sirius Navigator IMU ?using the WMP for the gyro
? ? ? //#define SIRIUS_AIR ? ? ?// Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com ? ? ? ? ? <- confirmed by Alex
? ? ? //#define SIRIUS_AIR_GPS ?// Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com with GPS/MAG remote located
? ? ? //#define SIRIUS_MEGAV5_OSD // ?Paris_Sirius? ITG3050,BMA280,MS5611,HMC5883,uBlox ?http://www.Multiwiicopter.com <- confirmed by Alex
? ? ? //#define MINIWII ? ? ? ? // Jussi's MiniWii Flight Controller ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<- confirmed by Alex
? ? ? //#define MICROWII ? ? ? ?// MicroWii 10DOF with ATmega32u4, MPU6050, HMC5883L, MS561101BA from http://flyduino.net/
? ? ? //#define CITRUSv2_1 ? ? ?// CITRUS from qcrc.ca
? ? ? //#define CHERRY6DOFv1_0
? ? ? //#define DROTEK_10DOF ? ?// Drotek 10DOF with ITG3200, BMA180, HMC5883, BMP085, w or w/o LLC
? ? ? //#define DROTEK_10DOF_MS // Drotek 10DOF with ITG3200, BMA180, HMC5883, MS5611, LLC
? ? ? //#define DROTEK_6DOFv2 ? // Drotek 6DOF v2
? ? ? //#define DROTEK_6DOF_MPU // Drotek 6DOF with MPU6050
? ? ? //#define DROTEK_10DOF_MPU//
? ? ? //#define MONGOOSE1_0 ? ? // mongoose 1.0 ? ?http://store.ckdevices.com/
? ? ? //#define CRIUS_LITE ? ? ?// Crius MultiWii Lite
? ? ? //#define CRIUS_SE ? ? ? ?// Crius MultiWii SE
? ? ? //#define CRIUS_SE_v2_0 ? // Crius MultiWii SE 2.0 with MPU6050, HMC5883 and BMP085
? ? ? //#define OPENLRSv2MULTI ?// OpenLRS v2 Multi Rc Receiver board including ITG3205 and ADXL345
? ? ? //#define BOARD_PROTO_1 ? // with MPU6050 + HMC5883L + MS baro
? ? ? //#define BOARD_PROTO_2 ? // with MPU6050 + slave ?MAG3110 + MS baro
? ? ? //#define INNOVWORKS_10DOF // with ITG3200, BMA180, HMC5883, BMP085 available here http://www.diymulticopter.com
? ? ? //#define INNOVWORKS_6DOF // with ITG3200, BMA180 available here http://www.diymulticopter.com
? ? ? //#define MultiWiiMega ? ?// MEGA + MPU6050+HMC5883L+MS5611 available here http://www.diymulticopter.com
? ? ? //#define PROTO_DIY ? ? ? // 10DOF mega board
? ? ? //#define IOI_MINI_MULTIWII// www.bambucopter.com
? ? ? //#define Bobs_6DOF_V1 ? ? // BobsQuads 6DOF V1 with ITG3200 & BMA180
? ? ? //#define Bobs_9DOF_V1 ? ? // BobsQuads 9DOF V1 with ITG3200, BMA180 & HMC5883L
? ? ? //#define Bobs_10DOF_BMP_V1 // BobsQuads 10DOF V1 with ITG3200, BMA180, HMC5883L & BMP180 - BMP180 is software compatible with BMP085
? ? ? //#define FLYDUINO_MPU ? ? ? // MPU6050 Break Out onboard 3.3V reg
? ? ? //#define CRIUS_AIO_PRO_V1
? ? ? //#define DESQUARED6DOFV2GO ?// DEsquared V2 with ITG3200 only
? ? ? //#define DESQUARED6DOFV4 ? ?// DEsquared V4 with MPU6050
? ? ? //#define LADYBIRD
? ? ? //#define MEGAWAP_V2_STD ? ? // available here: http://www.multircshop.com ? ? ? ? ? ? ? ? ? ?<- confirmed by Alex
? ? ? //#define MEGAWAP_V2_ADV
? ? ? //#define HK_MultiWii_SE_V2 ?// Hobbyking board with MPU6050 + HMC5883L + BMP085
? ? ? //#define HK_MultiWii_328P ? // Also labeled "Hobbybro" on the back. ?ITG3205 + BMA180 + BMP085 + NMC5583L + DSM2 Connector (Spektrum Satellite) ?
? ? ? //#define RCNet_FC ? ? ? ? ? // RCNet FC with MPU6050 and MS561101BA ?http://www.rcnet.com
? ? ? //#define RCNet_FC_GPS ? ? ? // RCNet FC with MPU6050 + MS561101BA + HMC5883L + UBLOX GPS http://www.rcnet.com
? ? ? //#define FLYDU_ULTRA ? ? ? ?// MEGA+10DOF+MT3339 FC
? ? ? //#define DIYFLYING_MAGE_V1 ?// diyflying 10DOF mega board with MPU6050 + HMC5883L + BMP085 http://www.indoor-flying.hk
? ? ? //#define MultiWii_32U4_SE ? ? ? ? // Hextronik MultiWii_32U4_SE
? ? ? //#define MultiWii_32U4_SE_no_baro // Hextronik MultiWii_32U4_SE without the MS561101BA for more free flash-memory
? ? ? //#define Flyduino9DOF ? ? ? // Flyduino 9DOF IMU MPU6050+HMC5883l
? ? ? //#define Nano_Plane ? ? ? ? // Multiwii Plane version with tail-front LSM330 sensor http://www.radiosait.ru/en/page_5324.html
? ? ?
? ? /*************************** ? ?獨(dú)立的傳感器 ? ?********************************/
? ? ? /* 如果你已在上方選擇了相應(yīng)的板子,請(qǐng)?zhí)^(guò),保持以下注釋狀態(tài)即可 */
? ? ?
? ? ? /* I2C陀螺儀 */
? ? ? //#define WMP
? ? ? //#define ITG3200
? ? ? //#define MPU3050
? ? ? //#define L3G4200D
? ? ? //#define MPU6050 ? ? ? //combo + ACC
? ? ? //#define LSM330 ? ? ? ?//combo + ACC
? ? ?
? ? ? /* I2C加速度計(jì) */
? ? ? //#define NUNCHUCK ?// 如果你要將nunckuk連接到WMP使用
? ? ? //#define MMA7455
? ? ? //#define ADXL345
? ? ? //#define BMA020
? ? ? //#define BMA180
? ? ? //#define BMA280
? ? ? //#define NUNCHACK ?// 如果你要將nunckuk作為單獨(dú)的I2C加速度計(jì)使用,不連接到WMP
? ? ? //#define LIS3LV02
? ? ? //#define LSM303DLx_ACC
? ? ? //#define MMA8451Q
? ? ? /* I2C氣壓計(jì) */
? ? ? //#define BMP085
? ? ? //#define MS561101BA
? ? ? /* I2C磁力計(jì) */
? ? ? //#define HMC5843
? ? ? //#define HMC5883
? ? ? //#define AK8975
? ? ? //#define MAG3110
? ? ? /* 聲吶 */ // 目前用作顯示用途 - 無(wú)控制代碼支持
? ? ? /* OYUZIQI提示:貌似bbs.5imx.com上有大神完成了代碼,且國(guó)外論壇上有光流
? ? ? http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=726172&page=1
? ? ? http://www.multiwii.com/forum/viewtopic.php?f=7&t=1413
? ? ? //#define SRF02 // use the Devantech SRF i2c sensors
? ? ? //#define SRF08
? ? ? //#define SRF10
? ? ? //#define SRF23
? ? ? /* ADC加速度計(jì) */ // 用于來(lái)自sparkfun的5DOF,使用模擬針腳A1/A2/A3
? ? ? //#define ADCACC
? ? ? /* 強(qiáng)制你獨(dú)有的的傳感器方向 - 甚至覆蓋集成dof板子特定的默認(rèn)值 */
? ? ? //#define FORCE_ACC_ORIENTATION(X, Y, Z) ?{imu.accADC[ROLL] ?= ?Y; imu.accADC[PITCH] ?= -X; imu.accADC[YAW] ?= Z;}
? ? ? //#define FORCE_GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = -Y; imu.gyroADC[PITCH] = ?X; imu.gyroADC[YAW] = Z;}
? ? ? //#define FORCE_MAG_ORIENTATION(X, Y, Z) ?{imu.magADC[ROLL] ?= ?X; imu.magADC[PITCH] ?= ?Y; imu.magADC[YAW] ?= Z;}
? ? ? /* 板子方向轉(zhuǎn)移 */
? ? ? /* 如果你的機(jī)架設(shè)計(jì)僅用于+模式,并且你不能物理上將飛控旋轉(zhuǎn)至用于X模式飛行(反之亦然)
? ? ? ?* 你可以使用其中一個(gè)選項(xiàng)虛擬旋轉(zhuǎn)傳感器45度,然后通過(guò)飛行模式設(shè)定多旋翼飛行器的類(lèi)型。
? ? ? ?* 檢查電機(jī)順序與旋轉(zhuǎn)方向是否與新的“前方”匹配!僅使用其中一項(xiàng)注釋?zhuān)?*/
? ? ? //#define SENSORS_TILT_45DEG_RIGHT ? ? ? ?// 將“前方”順時(shí)針旋轉(zhuǎn)45度
? ? ? //#define SENSORS_TILT_45DEG_LEFT ? ? ? ? // 將“前方”逆時(shí)針旋轉(zhuǎn)45度
/*************************************************************************************************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/**************** ? ? ? ? ? ? 第 2 部分 - 飛行器類(lèi)型特定的選項(xiàng) ? ? ? ? ? ? ? ? ? ? ? ? ? ? *******/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
? /******************************** ?PID控制算法 ? ? ?*********************************/
? ? /* 單獨(dú)選擇一個(gè)PID控制算法
? ? ?* 1 = 演進(jìn) oldschool 算法(類(lèi)似于V2.2)
? ? ?* 2 = 新的實(shí)驗(yàn)算法 來(lái)自 Alex Khoroshko - unsupported - http://www.multiwii.com/forum/viewtopic.php?f=8&t=3671&start=10#p37387
? ? ?* */
? ? #define PID_CONTROLLER 1
? ? /* NEW: 不再使用伺服飛行器種類(lèi) (需要修復(fù))) ? <== NEEDS FIXING - MOVE TO WIKI */
? ? #define YAW_DIRECTION 1
? ? //#define YAW_DIRECTION -1 // 如果你想反向修正偏航方向
? ? #define ONLYARMWHENFLAT //阻止飛行器傾斜時(shí)解鎖
? ?/******************************** ? ?鎖定/解鎖 ? ?*********************************/
? ?/* 可以禁止使用搖桿組合進(jìn)行鎖定/解鎖電機(jī)。
? ? ?* 在多數(shù)情況下,選擇其中一種通過(guò)發(fā)射機(jī)搖桿鎖定/解鎖電機(jī)的選項(xiàng)即可 */
? ? #define ALLOW_ARM_DISARM_VIA_TX_YAW ? ?//通過(guò)轉(zhuǎn)向(尾舵)解鎖(默認(rèn))
? ? //#define ALLOW_ARM_DISARM_VIA_TX_ROLL ?//通過(guò)翻滾(副翼)解鎖
? ? /******************************** ? ?舵機(jī) ? ? ?*********************************/
? ? /* 舵機(jī)連接在哪里以及如何設(shè)置可以在這里找到
? ? ?* http://www.multiwii.com/wiki/index.php?title=Config.h#Servos_configuration
? ? ?*/
? ? /* 如果你想預(yù)定最小/中間/最大值為伺服正確后flashing,
? ? ?因?yàn)槲锢硪蛩叵拗扑欧谐痰脑O(shè)置,您必須啟用并設(shè)置所有三以下選項(xiàng)* /
? ? ?//#define SERVO_MIN ?{1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020} //舵機(jī)最小值(jpno1 注)
? ? ?//#define ?SERVO_MAX {2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000} //舵機(jī)最大值(jpno1 注)
? ? ?//#define ?SERVO_MID {1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500} // (*)舵機(jī)中立點(diǎn)(jpno1注)
? ? ?//#define FORCE_SERVO_RATES ? ? ?{30,30,100,100,100,100,100,100} // 0=正向 1=反向
? /*********************** ? ? ? ? ?相機(jī)穩(wěn)定 ? ? ? ? ? ? ***********************/
? ? /* 以下幾行僅用于pitch/roll傾斜穩(wěn)定系統(tǒng)。去除注釋第一或第二行來(lái)激活它 */
? ? //#define SERVO_MIX_TILT ?//混合模式(用于十字模式) (jpno1注)
? ? //#define SERVO_TILT ? ? ?// 普通x模式適用(jpno1注)
? ? /* 相機(jī)觸發(fā)設(shè)置 : 激發(fā)路徑顯示在GUI, 使用A2作為舵機(jī)輸出在promini */
? ? // 觸發(fā)路徑可以設(shè)置 (*GUI*) or 或者通過(guò)AUX鋪助通道
? ? //#define CAMTRIG
? ? #define CAM_TIME_HIGH 1000 ? // 高電平時(shí)間(毫秒)
? /*********************** ? ? ? ? ?飛機(jī) ? ? ? ? ? ? ? ? ? ? ? ***********************/
? ? //#define USE_THROTTLESERVO // 用于在油門(mén)上使用標(biāo)準(zhǔn)50Hz舵機(jī)。
? ? //#define FLAPPERONS ? ?AUX4 ? ? ? ? ?// 混合襟翼與副翼。
? ? #define FLAPPERON_EP ? { 1500, 1700 } // 用于襟翼雙向切換的端點(diǎn),另外可設(shè)為{1020,2000}并在遙控上編程。
? ? #define FLAPPERON_INVERT { -1, 1 } ? ?// 改變襟副翼的方向{ Wing1, Wing2 }
? ?
? ? //#define FLAPS ? ? ? ? ? ? ? ? ? ? ? // 傳統(tǒng)移動(dòng) SERVO3.
? ? //#define FLAPSPEED ? ? 3 ? ? ? ? ? ? //使襟翼移動(dòng)變慢,值越高速度越快。
? /*********************** ? ? ? ? ?直升機(jī)與飛機(jī)公用 ? ? ? ? ? ? ? ?***********************/
? ? /* 調(diào)節(jié)器:試圖通過(guò)螺距和電壓的改變維持轉(zhuǎn)速
? ? ?* 預(yù)測(cè)方法:觀察輸入信號(hào)與電壓并猜測(cè)適當(dāng)?shù)男拚?/p>
? ? ?* (油門(mén)曲線必須為調(diào)節(jié)器留有空間,所以0-50-75-80-80是可以的,不可以為0-50-95-100-100。
? ? ?* 可以通過(guò)aux開(kāi)關(guān)切換
? ? ?*/
? ? //#define GOVERNOR_P 7 ? ? // (*) 比例因子。更大的值 -> 更大的油門(mén)增量。必須>=1;0 = 關(guān)閉
? ? //#define GOVERNOR_D 4 ? ? // (*) 衰減時(shí)間。更大的值 -> 油門(mén)回到正常需要更長(zhǎng)時(shí)間。 必須>=1;
? ? //#define VOLTAGEDROP_COMPENSATION // 電壓影響校正
? /*********************** ? ? ? ? 直升機(jī) ? ? ? ? ? ? ? ? ? ? ? ? ?***********************/
? ? /* ?控制總距的通道 */
? ? #define COLLECTIVE_PITCH ? ? ?THROTTLE
? ? /* 限制總距的范圍。100%為每個(gè)方向的最大范圍,還有零螺距的位置 */
? ? #define COLLECTIVE_RANGE { 80, 0, 80 }// {最小%,從1500開(kāi)始的零螺距偏移,最大%}。
? ? #define YAWMOTOR ? ? ? ? ? ? ? ? 0 ? ? ? // 如果一個(gè)電機(jī)用作YAW則設(shè)為1,否則設(shè)為0。
? ? /* 用于120直升機(jī)的舵機(jī)混控,使用分?jǐn)?shù)1/10(例.5 = 5/10 = 1/2)
? ? ? ? ? ? ? ? ? ? ? ? ?{Coll,Nick,Roll} */
? ? #define SERVO_NICK ? { +10, -10, ?0 }
? ? #define SERVO_LEFT ? { +10, +5, +10 }
? ? #define SERVO_RIGHT ?{ +10, +5, -10 }
? ? /* 限制用于Roll & Nick最大控制,范圍0-100% */
? ? #define CONTROL_RANGE ? { 100, 100 } ? ? ?// ?{ ROLL,PITCH }
? ? /* 使用舵機(jī)代碼驅(qū)動(dòng)油門(mén)輸出。用模擬舵機(jī)驅(qū)動(dòng)IC引擎上的油門(mén)時(shí),你會(huì)需要此項(xiàng)。
? ? ? ?如果不啟用,油門(mén)輸出會(huì)被看做電機(jī)輸出,所以它可以驅(qū)動(dòng)電調(diào) */
? ? //#define HELI_USE_SERVO_FOR_THROTTLE
? /*********************** ? ? ?你的獨(dú)立混控 ? ? ? ? ? ? ?***********************/
? ? /* 如果你想要覆蓋一個(gè)選存的混合表中的條目,你可能想要避免
? ? ?* 在每個(gè)版本一遍又一遍的編輯mixTable()函數(shù)
? ? ?* 操作方式:http://www.multiwii.com/wiki/index.php?title=Config.h#Individual_Mixing
? ? ?*/
? ? //#define MY_PRIVATE_MIXING "filename.h" ? ?更改filename.h為你自己的默認(rèn)文件(jpno1注)
? /*********************** ? ? ?y你的默認(rèn)參數(shù) ? ?***********************/
? ? /* 如果你想要覆蓋一個(gè)選存的混合表中的條目,你可能想要避免
? ? ?* 在每個(gè)版本一遍又一遍的編輯 LoadDefaults() 函數(shù)
? ? ?* http://www.multiwii.com/wiki/index.php?title=Config.h#Individual_defaults
? ? ?*/
? ? //#define MY_PRIVATE_DEFAULTS "filename.h" ? 更改filename.h為你自己的默認(rèn)文件(jpno1注)
/*************************************************************************************************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/**************** ?第 3 部分 - 遙控系統(tǒng)設(shè)置 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *******/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
?/* 提示:如果你使用的是標(biāo)準(zhǔn)接收機(jī),不必解除本節(jié)的一些注釋 */
? /**************************************************************************************/
? /******** ? ? ? ? ? ? ? ? ? ? ? 特殊接收機(jī)類(lèi)型 ? ? ? ? ? ? ? ? ? ? ********************/
? /**************************************************************************************/
? ? /**************************** ? ?PPM Sum接收機(jī) ? ? ? ***********************************/
? ? ? /* 下列幾行僅用于特定的僅有一個(gè)PPM sum信號(hào)的接收機(jī),接在數(shù)字針腳2上
? ? ? ? ?根據(jù)你的遙控品牌選擇相應(yīng)的行。當(dāng)你的PPM順序不同時(shí),你可以隨意修改順序 */
? ? ? //#define SERIAL_SUM_PPM ? ? ? ? PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //用于Graupner/Spektrum
? ? ? //#define SERIAL_SUM_PPM ? ? ? ? ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //用于Robe/Hitec/Futaba
? ? ? //#define SERIAL_SUM_PPM ? ? ? ? ROLL,PITCH,YAW,THROTTLE,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //用于Multiplex
? ? ? //#define SERIAL_SUM_PPM ? ? ? ? PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //用于一些韓國(guó)的/日本三和/其它
? ? ? // 解除下面這行注釋以允許連接PPM_SUM接收機(jī)至MEGA板上的標(biāo)準(zhǔn)油門(mén)針腳(例.CRIUS AIO上的A8)
? ? ? //#define PPM_ON_THROTTLE
? ? /********************** ? ?Spektrum衛(wèi)星接收機(jī) ? ?*******************************/
? ? ? /* 以下幾行僅用于Spektrum衛(wèi)星接收機(jī)
? ? ? ? ?Spektrum衛(wèi)星系列是3V設(shè)備。不要連接至5V!
? ? ? ? ?對(duì)于MEGA板,將灰線連接到RX1,19針腳上。黑線接地。橙線連接到Mega板的3.3V上(或其他3V至3.3V的電源)。
? ? ? ? ?對(duì)于PROMINI,將灰線連接到RX0。黑線接地。 */
? ? ? //#define SPEKTRUM 1024
? ? ? //#define SPEKTRUM 2048
? ? ? //#define SPEK_SERIAL_PORT 1 ? ?// Pro Mini與其他單串口的板子上只能設(shè)為0;在所有基于Mega的板子上設(shè)為你選擇的0,1,2(在Mega上默認(rèn)為1)。
? ? ? //**************************
? ? ? // 定義此項(xiàng)允許Spektrum或兼容機(jī)遠(yuǎn)程接收機(jī)(也就是衛(wèi)星)通過(guò)配置GUI對(duì)頻。
? ? ? // ? 對(duì)頻模式與上述的相同,只要你的發(fā)射機(jī)支持。
? ? ? // ? 接地,電源,信號(hào)必須來(lái)自三個(gè)鄰近的針腳。
? ? ? // ? 默認(rèn)下,它們?yōu)榻拥?4,電源=5,信號(hào)=6。這些針腳在多數(shù)MultiWii擴(kuò)展板上都為一排??稍谙路礁采w針腳。
? ? ? // ? 通常需要在電源針腳上使用3.3V穩(wěn)壓器!!如果你的衛(wèi)星在對(duì)頻時(shí)停擺(閃爍,但不會(huì)常亮停止閃爍),將所有的針腳連接至5V。
? ? ? //**************************
? ? ? // ? 對(duì)于Pro Mini,用于衛(wèi)星的屬于FTDI的連接器可以拔掉,并移至那三個(gè)相鄰針腳。
? ? ? //#define SPEK_BIND ? ? ? ? ? ? //解除注釋以開(kāi)啟Spektrum衛(wèi)星對(duì)頻支持。沒(méi)有它代碼可節(jié)省約420字節(jié)。
? ? ? //#define SPEK_BIND_GROUND 4
? ? ? //#define SPEK_BIND_POWER ?5
? ? ? //#define SPEK_BIND_DATA ? 6
? ? /******************************* ? ?SBUS接收機(jī) ? ? ? ?************************************/
? ? ? /* 下面這行僅用于Futaba S-Bus接收機(jī)在MEGA板上的RX1的情況(串口1)。
? ? ? ? ?你必須反轉(zhuǎn)S-Bus-串口信號(hào),例如使用十六進(jìn)制反相器像是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 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*******/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
? /**************************************************************************************/
? /**************** ? ? ? ? ? ? ? 第 4 部分 - 替代CPU和板子 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *******/
? /**************************************************************************************/
?/**************************************************************************************/
? /******** ? ? ? ? ? ? ? ? ? ? ?Promini專(zhuān)用設(shè)置 ? ? ? ? ? ? ? ? ? ? ********************/
? /**************************************************************************************/
? ? /************************** ? ? ? 六軸電機(jī) 5 & 6 針腳 ? ?*******************************/
? ? ? /* 用A0與A1針腳代替D5與D6針腳,用于6個(gè)電機(jī)配置與promini配置
? ? ? ? ?該模式允許在promini上標(biāo)準(zhǔn)接收機(jī)的使用
? ? ? ? ?(不必使用PPM sum接收機(jī)) */
? ? ? //#define A0_A1_PIN_HEX
? ? /********************************* ? ?Aux 2 針腳 ? ? ***********************************/
? ? ? /* 讓你可以使用針腳8或針腳12作為遙控的AUX2輸入(只可啟用一個(gè),不可全部啟用)
? ? ? ? ?如果啟用它會(huì)使功率針腳(針腳12)或蜂鳴針腳(針腳8)失效 */
? ? ? //#define RCAUXPIN8
? ? ? //#define RCAUXPIN12
? /**************************************************************************************/
? /***************** ? ? ? ? ? ? Teensy 2.0 支持 ? ? ? ? ? ? ? ? ? ? ? ******************/
? /**************************************************************************************/
? ? /* 解除此項(xiàng)如果你使用的是使用teensyduino的teensy 2.0
? ? ? ?它需要運(yùn)行在16MHz */
? ? //#define TEENSY20
? /**************************************************************************************/
? /******** ? 用于ProMicro,Leonardo和其他Atmega32u4板子的設(shè)置 ? ? ? ? ? ? ? ?***********/
? /**************************************************************************************/
? ? /********************************* ? ?針腳布局 ? ? ? **********************************/
? ? ? /* 如果所有針腳都能使用,激活此項(xiàng)可獲得更好的針腳布局 => 在ProMicro上不可用 */
? ? ? //#define A32U4ALLPINS
? ? /********************************** ? ?PWM設(shè)置 ? ? ? **********************************/
? ? ? /* 激活全部6個(gè)硬件PWM輸出,電機(jī)5 = D11,電機(jī)6 = D13。
? ? ? ? ?提示:不可用于sparkfun promicro(針腳11 & 13未被引出)
? ? ? ? ?如果激活:
? ? ? ? ?電機(jī)1-6 = 10位硬件PWM
? ? ? ? ?電機(jī)7-8 = 8位軟件PWM
? ? ? ? ?舵機(jī) ? ?= 8位軟件PWM
? ? ? ? ?如果未激活:
? ? ? ? ?電機(jī)1-4 = 10位硬件PWM
? ? ? ? ?電機(jī)5-8 = 10位軟件PWM
? ? ? ? ?舵機(jī) ? ?= 10位軟件PWM */
? ? ? //#define HWPWM6
? ? /********************************** ? ?Aux 2 針腳 ? ?**********************************/
? ? ? /* AUX2針腳在RXO針腳上 */
? ? ? //#define RCAUX2PINRXO
? ? ? /* aux2針腳在D17針腳上(RXLED) */
? ? ? //#define RCAUX2PIND17
? ? /********************************** ? ?蜂鳴針腳 ? ? ?**********************************/
? ? ? /* 此項(xiàng)將蜂鳴針腳從TX0移動(dòng)至D8以使用ppm sum或spectrum sat.接收機(jī)(如果啟用了A32U4ALLPINS則不需此項(xiàng)) */
? ? ? //#define D8BUZZER
? ? /*********************** ? ? ?Promicro版本相關(guān) ? ? ? ? ? ? ****************************/
? ? ? /* 反轉(zhuǎn)狀態(tài)LED用于Promicro版本10 */
? ? ? //#define PROMICRO10
? /**************************************************************************************/
? /******** ? ? ? ? ? ? ? ? ? ? ?覆蓋默認(rèn)針腳分配 ? ? ? ? ? ? ? ? ? ?********************/
? /**************************************************************************************/
? /* 僅在你必須改變默認(rèn)針腳分配時(shí)才啟用其中一項(xiàng),例:你的板子沒(méi)有特定針腳 */
? /* 你可能需要依據(jù)期望的針腳給PINx與PORTx加上#移位! */
? //#define OVERRIDE_V_BATPIN ? ? ? ? ? ? ? ? ? A0 // 代替A3 ? ?// 模擬針腳3
? //#define OVERRIDE_LEDPIN_PINMODE ? ? ? ? ? ? pinMode (A1, OUTPUT); // 使用A1代替d13
? //#define OVERRIDE_LEDPIN_TOGGLE ? ? ? ? ? ? ?PINC |= 1<<1; // PINB |= 1<<5; ? ? //切換LED針腳狀態(tài)(數(shù)字針腳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); // 使用A2代替d8
? //#define OVERRIDE_BUZZERPIN_ON ? ? ? ? ? ? ? PORTC |= 1<<2 //PORTB |= 1;
? //#define OVERRIDE_BUZZERPIN_OFF ? ? ? ? ? ? ?PORTC &= ~(1<<2); //PORTB &= ~1;
/*************************************************************************************************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/**************** ?第 5 部分 - 替代設(shè)置 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*******/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
? /****** ? ? ? ? ? ? ? ?串行通訊速度 ? ?*********************************/
? ? /* 此為串行接口速度 */
? ? #define SERIAL0_COM_SPEED 115200
? ? #define SERIAL1_COM_SPEED 115200
? ? #define SERIAL2_COM_SPEED 115200
? ? #define SERIAL3_COM_SPEED 115200
? ? /* 在WMP+NK配置中讀取WMP/NK兩者之間的交錯(cuò)延遲以微秒為單位
? ? ? ?如果加速度計(jì)校準(zhǔn)時(shí)間非常長(zhǎng)(20或30秒),嘗試增大此延遲至4000
? ? ? ?它僅與有NK(雞腿柄)的配置相關(guān) */
? ? #define INTERLEAVING_DELAY 3000
? ? /* 當(dāng)I2C總線有錯(cuò)誤時(shí),我們可在很短的時(shí)間內(nèi)中立化相關(guān)值。用微秒表示
? ? ? ?它僅與至少有一個(gè)WMP的配置相關(guān) */
? ? #define NEUTRALIZE_DELAY 100000
? /**************************************************************************************/
? /******** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?陀螺儀濾波器 ? ? ? ? ? ? ? ?********************/
? /**************************************************************************************/
? ? /********************* ? ?一些陀螺儀的低通濾波器 ? ?****************************/
? ? ? /* ITG3200 & ITG3205 低通濾波器設(shè)置。假如你不能消除陀螺儀的所有震動(dòng),你可以嘗試
? ? ? ? ?減少低通濾波器(LPF)的頻率,每次只要減少一檔。一旦抽動(dòng)消失,就保持這個(gè)設(shè)置。
? ? ? ? ?它對(duì)回饋引起的擺動(dòng)不起作用,所以只在飛行器隨機(jī)抽動(dòng)并且所有抑制和
? ? ? ? ?平衡設(shè)置失效的時(shí)候才修改它。只取消注釋其中一項(xiàng)!
? ? ? ? ?重要!改變低通濾波器設(shè)置將會(huì)改變PID的行為,所以在改變LPF后重新調(diào)整你的PID。*/
? ? ? //#define ITG3200_LPF_256HZ ? ? // 此為默認(rèn)設(shè)置,不需要取消注釋?zhuān)蛔鳛閰⒖?/p>
? ? ? //#define ITG3200_LPF_188HZ
? ? ? //#define ITG3200_LPF_98HZ
? ? ? //#define ITG3200_LPF_42HZ
? ? ? //#define ITG3200_LPF_20HZ
? ? ? //#define ITG3200_LPF_10HZ ? ? ?// 只在極端情況下使用此項(xiàng),更應(yīng)該換電機(jī)和/或螺旋槳
? ? ? /* MPU6050 低通濾波器設(shè)置。假如你不能消除陀螺儀的所有震動(dòng),你可以嘗試
? ? ? ? ?減少低通濾波器(LPF)的頻率,每次只要減少一檔。一旦抽動(dòng)消失,就保持這個(gè)設(shè)置。
? ? ? ? ?它對(duì)回饋引起的擺動(dòng)不起作用,所以只在飛行器隨機(jī)抽動(dòng)并且所有抑制和
? ? ? ? ?平衡設(shè)置失效的時(shí)候才修改它。只取消注釋其中一項(xiàng)!
? ? ? ? ?重要!改變低通濾波器設(shè)置將會(huì)改變PID的行為,所以在改變LPF后重新調(diào)整你的PID。*/
? ? ? //#define MPU6050_LPF_256HZ ? ? // 此為默認(rèn)設(shè)置,不需要取消注釋?zhuān)蛔鳛閰⒖?/p>
? ? ? //#define MPU6050_LPF_188HZ
? ? ? //#define MPU6050_LPF_98HZ
? ? ? //#define MPU6050_LPF_42HZ
? ? ? //#define MPU6050_LPF_20HZ
? ? ? //#define MPU6050_LPF_10HZ
? ? ? //#define MPU6050_LPF_5HZ ? ? ? // 只在極端情況下使用此項(xiàng),更應(yīng)該換電機(jī)和/或螺旋槳
? ? /****** ? ? ? ? ? ? ? ?陀螺儀平滑化 ? ? ? ? ? ?**********************************/
? ? ? /* GYRO_SMOOTHING.在你不能消除振動(dòng)的情況下,_并且_是在嘗試了低通濾波器選項(xiàng)_之后_,你
? ? ? ? ?可嘗試此通過(guò)平均化的陀螺儀平滑化。不適用于多旋翼飛行器!
? ? ? ? ?在有很多振動(dòng)的直升機(jī),飛機(jī)和飛翼(泡沫的)上可獲得良好結(jié)果。*/
? ? ? //#define GYRO_SMOOTHING {20, 20, 3} ? ?// (*) 分別為roll, pitch, yaw的平均化范圍
? ? /************************ ? ?移動(dòng)平均陀螺儀 ? ?**********************************/
? ? ? //#define MMGYRO 10 ? ? ? ? ? ? ? ? ? ? ?// (*) 激活用于陀螺儀的移動(dòng)平均函數(shù)
? ? ? //#define MMGYROVECTORLENGTH 15 ? ? ? ? ?// 移動(dòng)平均向量的長(zhǎng)度(用于可調(diào)節(jié)的MMGYRO的最大值
? ? ? /* 移動(dòng)平均舵機(jī)云臺(tái)信號(hào)輸出 */
? ? ? //#define MMSERVOGIMBAL ? ? ? ? ? ? ? ? ?// 激活用于舵機(jī)云臺(tái)的輸出移動(dòng)平均函數(shù)
? ? ? //#define MMSERVOGIMBALVECTORLENGHT 32 ? // 移動(dòng)平均向量的長(zhǎng)度
? /************************ ? ?模擬讀取 ? ********************************** /
/*如果你想更快的模擬讀取,注釋它。它可能會(huì)導(dǎo)致不準(zhǔn)確的結(jié)果,特別是對(duì)多個(gè)模擬通道*/
? ? //#define FASTER_ANALOG_READS
/*************************************************************************************************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/**************** ?第 6 部分 - 可選特性 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*******/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
? /************************ ? ? ? ?油門(mén)隨著角度補(bǔ)償 ? ? ? ? ********************/
? /* 可以讓你飛機(jī)傾斜的時(shí)候不要掉高度。根據(jù)角度增加油門(mén),這是可以開(kāi)下來(lái)的,但是要根據(jù)飛機(jī)不同來(lái)調(diào)節(jié)。免得角度一傾斜,油門(mén)竄得太高。
? ? ?最初構(gòu)想 by Kraut Rob, first implementation HAdrian ? ? ? ? ? ? ?*/
? //#define THROTTLE_ANGLE_CORRECTION 40
?
?/************************* ? ? ? 高級(jí) Headfree 無(wú)頭模式 ? ? ? ? ? ? ********************/
?/* In Advanced Headfree mode when the copter is farther than ADV_HEADFREE_RANGE meters then
? ? the ?bearing between home and 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 and copter at the point where it crosses the ADV_HEADFREE_RANGE meter distance
? first implementation by HAdrian, mods by EOSBandi
? 在高級(jí)無(wú)頭模式下,當(dāng)飛行機(jī)超過(guò)ADV_HEADFREE_RANGE定義的范圍,
??起飛點(diǎn)和飛行器的連線將成為控制方向, 當(dāng)飛行器飛入ADV_HEADFREE_RANGE定義范圍,那么控制方向?qū)㈡i定為原點(diǎn)和飛行器飛入ADV_HEADFREE_RANGE
? 范圍內(nèi)時(shí)位置的連線,
?*/
? ?//#define ADVANCED_HEADFREE ? ? ? ? ? ? ? ? ?//去掉注釋開(kāi)啟高級(jí)無(wú)頭模式
? ?//#define ADV_HEADFREE_RANGE 15 ? ? ? ? ? ? ? ?//高級(jí)無(wú)頭模式范圍米.
? /************************ ? ? ? ?連續(xù)陀螺儀校準(zhǔn) ? ? ? ? ? ? ? ? ? ? ********************/
? /* 如果在校準(zhǔn)過(guò)程中飛行器被移動(dòng),陀螺儀校準(zhǔn)將會(huì)重復(fù)。 */
? ? //#define GYROCALIBRATIONFAILSAFE
? /************************ ? ? ? ?AP飛行模式 ? ? ? ? ? **********************************/
? ? /* 臨時(shí)禁用GPS_HOLD_MODE(GPS保持模式),讓移動(dòng)搖桿時(shí)可以調(diào)整定點(diǎn)位置。*/
? ? #define AP_MODE 40 ?// Create a deadspan for GPS.
? ? ? ?
? /************************ ? ?輔助特技練習(xí)器 ? ? ? ? ************************************/
? ? /* 在自動(dòng)復(fù)原輔助下訓(xùn)練特技。該值設(shè)定ANGLE_MODE接管的點(diǎn)。
? ? ? ?記住首先激活A(yù)NGLE_MODE!...
? ? ? ?值為200將會(huì)給你一個(gè)很明顯的轉(zhuǎn)換 */
? ? //#define ACROTRAINER_MODE 200 ? // http://www.multiwii.com/forum/viewtopic.php?f=16&t=1944#p17437
? /******** ? ? ? ? ? ? ? ? ? ? ? ? ?失控保護(hù)設(shè)置 ? ? ? ? ? ? ? ? ? ? ********************/
? ? /* 失控保護(hù)檢查四個(gè)控制通道CH1-CH4的脈沖。如果脈沖丟失或低于985us(在這四個(gè)通道的任意一個(gè)上)
? ? ? ?失控保護(hù)程序就會(huì)啟動(dòng)。從失控保護(hù)檢測(cè)到,再經(jīng)過(guò)FAILSAFE_DELAY的時(shí)間,自穩(wěn)模式就會(huì)開(kāi)啟(如果加速度或雞腿柄可用),
? ? ? ?PITCH,ROLL和YAW被置中,油門(mén)設(shè)為FAILSAFE_THR0TTLE的值。你必須設(shè)定該值使下降速度在1m/s左右
? ? ? ?以獲得最佳結(jié)果。該值取決于你的配置,總重量和一些其他參數(shù)。接下來(lái),在FAILSAFE_OFF_DELAY之后,飛行器會(huì)被鎖定,
? ? ? ?并且電機(jī)會(huì)停止。如果遙控脈沖在到達(dá)FAILSAFE_OFF_DELAY時(shí)間之前恢復(fù),在很短的保護(hù)時(shí)間之后遙控就會(huì)恢復(fù)正常。 */
? ? //#define FAILSAFE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 解除注釋以激活failsafe函數(shù)
? ? #define FAILSAFE_DELAY ? ? 10 ? ? ? ? ? ? ? ? ? ? // 用于丟失信號(hào)之后失控保護(hù)激活之前的保護(hù)時(shí)間。1步=0.1秒 - 示例中為1秒
? ? #define FAILSAFE_OFF_DELAY 200 ? ? ? ? ? ? ? ? ? ?// 用于電機(jī)停止前的著陸時(shí)間,以0.1秒為單位。1步=0.1秒 - 示例中為20秒
? ? #define FAILSAFE_THROTTLE ?(MINTHROTTLE + 200) ? ?// (*) 用于降落的油門(mén)級(jí)別 - 可與MINTHROTTLE相關(guān)聯(lián) - 如本例所示
? ?
? ? #define FAILSAFE_DETECT_TRESHOLD ?985
? /***************** ? ? ? ? ? ? ? ?DFRobot LED 光環(huán) ? ? *********************************/
? ? /* I2C DFRobot LED光環(huán)通訊 */
? ? //#define LED_RING
? /******************************** ? ?LED閃光燈 ? ? ?***********************************/
? ? //#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關(guān)閉
? ? //#define LED_FLASHER_SEQUENCE_ARMED ?0b00000101 ? ? ?// 創(chuàng)建雙閃
? ? //#define LED_FLASHER_SEQUENCE_MAX ? ?0b11111111 ? ? ?// 全照明
? ? //#define LED_FLASHER_SEQUENCE_LOW ? ?0b00000000 ? ? ?// 無(wú)照明
? /******************************* ? ?著陸燈 ? ? ? ? ? ?*********************************/
? /* 著陸燈
? ? ?使用一個(gè)輸出針腳控制著陸燈。
? ? ?它與從聲納獲得的高度數(shù)據(jù)結(jié)合時(shí)
? ? ?可以自動(dòng)開(kāi)關(guān)。 */
? ? //#define LANDING_LIGHTS_DDR DDRC
? ? //#define LANDING_LIGHTS_PORT PORTC
? ? //#define LANDING_LIGHTS_BIT PORTC0
? ? //#define LANDING_LIGHTS_INVERT
? ? /* 依據(jù)聲納傳來(lái)的數(shù)在地面之上的高度(以cm為單位) */
? ? //#define LANDING_LIGHTS_AUTO_ALTITUDE 50
? ? /* 讓閃光燈的樣式應(yīng)用于著陸燈LED */
? ? //#define LANDING_LIGHTS_ADOPT_LED_FLASHER_PATTERN
? /************************* ? ?飛行時(shí)加速度計(jì)校準(zhǔn) ? ? ? ? ? *****************************/
? ? /* 此項(xiàng)會(huì)激活加速度計(jì)飛行時(shí)校準(zhǔn) */
? ? //#define INFLIGHT_ACC_CALIBRATION
? /******************************* ? ?OSD切換 ? ? ? ?*************************************/
? ? // 此項(xiàng)會(huì)添加一個(gè)可被OSD解讀的激活狀態(tài)的選框(比如說(shuō)開(kāi)關(guān)覆蓋物)
? //#define OSD_SWITCH
? /**************************************************************************************/
? /*********************** ? ? ? ? ? ? ?發(fā)射機(jī)-相關(guān) ? ? ? ? ? ?**************************/
? /**************************************************************************************/
? ? /* 在搖桿中點(diǎn)周?chē)胍粋€(gè)死區(qū)(譯者注:無(wú)作用控制區(qū))
? ? ? ?必須大于零,如果你不需要在roll,pitch和yaw上的死區(qū)就注釋掉它 */
? ? //#define DEADBAND 6
? /**************************************************************************************/
? /*********************** ? ? ? ? ? ? ? ? ?GPS ? ? ? ? ? ? ? ?**************************/
? /**************************************************************************************/
? ? /* GPS使用一個(gè)串口
? ? ? ?如果啟用,在此定義Arduino串口號(hào)與UART速度
? ? ? ?注:如在NMEA模式只有RX針腳是被使用的,GPS不可被multiwii配置
? ? ? ?在NMEA模式下,GPS必須配置為輸出GGA與RMC NMEA語(yǔ)句(在大部分GPS設(shè)備中通常為默認(rèn)配置)
? ? ? ?至少為5Hz更新速率。解除第一行注釋來(lái)選擇用于GPS的arduino串口 */
? ? //#define GPS_SERIAL 2 // flyduino v2應(yīng)設(shè)為2。此為arduino MEGA上的串口號(hào)
? ? //#define GPS_PROMINI_SERIAL ? ?// ?當(dāng)ardu(ino)啟動(dòng)時(shí)如果已連接了GPS,將會(huì)自動(dòng)檢測(cè)
? ? // 避免使用115200波特因?yàn)?6MHz Arduino 115200波特率超過(guò)2%速度誤差(57600有0.8%的誤差)
? ? #define GPS_BAUD ? 57600
? /* GPS協(xié)議
? ? ? ?NMEA ?- 標(biāo)準(zhǔn)NMEA協(xié)議。需要GGA,GSA與RMC語(yǔ)句
? ? ? ?UBLOX - U-Blox二進(jìn)制協(xié)議,使用來(lái)自源碼樹(shù)的ublox配置文件(u-blox-config.ublox.txt)
? ? ? ?MTK_BINARY16 與 MTK_BINARY19 - 基于MTK3329芯片的GPS,使用DIYDrones二進(jìn)制固件(v1.6 或 v1.9)
? ? ? ?在使用UBLOX與MTK_BINARY時(shí)你不需要在multiwii代碼中使用GPS_FILTERING!!! */
? ?
? ? //#define NMEA
? ? //#define UBLOX
? ? //#define MTK_BINARY16
? ? //#define MTK_BINARY19
? ? //#define INIT_MTK_GPS ? ? ? ?// 初始化MTK GPS。使其使用選定的速度,5Hz更新速率與GGA & RMC語(yǔ)句或二進(jìn)制的設(shè)置
? ?
? ?/* I2C GPS設(shè)備,使用一個(gè)獨(dú)立的arduino + GPS設(shè)備制作
? ? ? ?包含一些導(dǎo)航函數(shù)
? ? ? ?由EOSBandi貢獻(xiàn) ? http://code.google.com/p/i2c-gps-nav/
? ? ? ?你必須使用I2CGpsNav r33以上版本 */
? ? //#define I2C_GPS
? ? // 如果你的I2C GPS板有聲納支持
? ? //#define I2C_GPS_SONAR
? ? /* 從Misio-OSD中讀取GPS數(shù)據(jù) - GPS模塊連接至OSD,然后MultiWii從OSD中讀取GPS數(shù)據(jù) - 已測(cè)試并且運(yùn)行正常! */
? ? //#define GPS_FROM_OSD
? ? /* 通過(guò)LED閃爍表明GPS搜到了至少5顆有效的衛(wèi)星 - 由MIS修改 - 使用常亮的LED(CRIUS AIO上為黃色)led作為星數(shù)指示器工作
? ? ? - GPS無(wú)定位 -> LED閃爍速度為收到GPS幀的速度
? ? ? - 定位并且星數(shù)小于5 -> LED關(guān)閉
? ? ? - 定位并且星數(shù) >= 5 -> LED閃爍,閃一下表示5顆星,閃兩下表示6顆星,三下表示7 ... */
? ? #define GPS_LED_INDICATOR
? ? //#define USE_MSP_WP ? ? ? ? ? ? ? ? ? ? ? ?// 啟用MSP_WP命令,用于WinGUI顯示與記錄家與定點(diǎn)的位置
? ? //#define DONT_RESET_HOME_AT_ARM ? ? ? ? ? ? // 家(HOME)的地點(diǎn)會(huì)在每次解鎖時(shí)重置,解除注釋此項(xiàng)來(lái)禁用它(你可以通過(guò)校準(zhǔn)陀螺儀來(lái)設(shè)置家的地點(diǎn))
? ? /* GPS navigation can control the heading */
? ?
? ? #define NAV_CONTROLS_HEADING ? ? ? true ? ? ?// 飛行器面對(duì)著航電飛行,磁場(chǎng)保持必須為此開(kāi)啟
? ? #define NAV_TAIL_FIRST ? ? ? ? ? ? false ? ? // true - 飛行器以尾部首先飛來(lái)
? ? #define NAV_SET_TAKEOFF_HEADING ? ?true ? ? ?// true - 當(dāng)飛行器到達(dá)家的位置時(shí)他會(huì)旋轉(zhuǎn)至起飛時(shí)的角度
? ?
? ?
? ? /* 從這里獲取你的磁偏角:http://magnetic-declination.com/
? ? ? ?轉(zhuǎn)換度+分至小數(shù)的角度,通過(guò) ==> 度+分*(1/60)
? ? ? ?注意磁偏角的符號(hào),它可為負(fù)或正(西或東) */
? ? //#define MAG_DECLINIATION ?3.96f ? ? ? ? ? ? ?// 用于匈牙利布達(dá)佩斯。
? ? #define MAG_DECLINIATION ?0.0f
? ? #define GPS_LEAD_FILTER ? ? ? ? ? ? ? ? ? ? ?// 添加向前預(yù)測(cè)濾波以補(bǔ)償GPS延遲。代碼基于Jason Short領(lǐng)導(dǎo)的濾波器實(shí)現(xiàn)
? ?
? ? //#define GPS_FILTERING ? ? ? ? ? ? ? ? ? ? ? ?// 添加5元素移動(dòng)平均濾波器至GPS坐標(biāo),幫助消除GPS噪波但會(huì)增加延時(shí),注釋以禁用
? ? #define GPS_WP_RADIUS ? ? ? ? ? ? ?200 ? ? ? // 如果我們與航點(diǎn)在此距離以?xún)?nèi),我們則認(rèn)為已到達(dá)航點(diǎn)(以cm為單位)
? ? #define NAV_SLEW_RATE ? ? ? ? ? ? ?30 ? ? ? ?// 將速率控制添加至導(dǎo)航輸出,可磨平導(dǎo)航角度毛刺
? /**************************************************************************************/
? /*********************** ? ? ? ?LCD/OLED - 顯示設(shè)置 ? ? ? *********************/
? /**************************************************************************************/
? ? /* http://www.multiwii.com/wiki/index.php?title=Extra_features#LCD_.2F_OLED */
? ? /***************************** ? ?LCD種類(lèi) ? ? ? ? ? ? ?**********************************/
? ? ? /* 選擇用于配置和遙測(cè)的LCD,見(jiàn)下方注解 */
? ? ? //#define LCD_DUMMY ? ? ? // 無(wú)物理LCD附加。通過(guò)定義此與LCD_CONF,發(fā)射機(jī)遙桿可用于設(shè)置增益,通過(guò)觀察LED閃爍。 ?
? ? ? //#define LCD_SERIAL3W ? ?// Alex的初始變體使用3條導(dǎo)線,使用rx針腳進(jìn)行傳輸@固定的9600波特率
? ? ? //#define LCD_TEXTSTAR ? ?// 串口LCD:Cat's Whisker品牌的LCD_TEXTSTAR模塊CW-LCD-02(擁有4個(gè)輸入按鍵用于選擇菜單)
? ? ? //#define LCD_VT100 ? ? ? // 串口LCD:vt100兼容終端仿真(blueterm,putty等)
? ? ? //#define LCD_TTY ? ? ? ? // 串口LCD:用于通過(guò)線纜與arduino IDE“串口監(jiān)視器”連接調(diào)整參數(shù)
? ? ? //#define LCD_ETPP ? ? ? ?// I2C LCD:Eagle Tree品牌的Power Panel LCD,使用i2c(非串口)
? ? ? //#define LCD_LCD03 ? ? ? // I2C LCD:LCD03,使用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
? ? /****************************** ?顯示設(shè)置 ? ? ? ? ? ?***********************************/
? ? ? #define LCD_SERIAL_PORT 0 ? ?// 在Pro Mini以及其他單串口板上只能設(shè)為0,在任何基于Mega的板子上可設(shè)置為你的選擇
? ? ? //#define SUPPRESS_OLED_I2C_128x64LOGO ?// 禁用OLED logo顯示來(lái)節(jié)省儲(chǔ)存
? ? /* 為獲得更好的可讀性,使用雙倍字體高度。減少一半可見(jiàn)#行。
? ? ?* 每個(gè)頁(yè)面的下半部分以按住shift的鍵盤(pán)文字作為名字:
? ? ?* 1 - ! , 2 - @ , 3 - # , 4 - $ , 5 - % , 6 - ^ , 7 - & , 8 - * , 9 - (
? ? ?* 你必須同時(shí)添加到你的lcd.遙測(cè).*序列中
? ? ?*/
? ? ? //#define DISPLAY_FONT_DSIZE //目前只能應(yīng)用于OLED_I2C_128x64 OLED_DIGOLE
? ? /* 顯示風(fēng)格 - 通過(guò)LCD_ setting自動(dòng)檢測(cè) - 僅在覆蓋默認(rèn)時(shí)激活 */
? ? ? //#define DISPLAY_2LINES
? ? ? //#define DISPLAY_MULTILINE
? ? ? //#define MULTILINE_PRE 2 ?// 多行配置菜單#之前的行
? ? ? //#define MULTILINE_POST 6 // 多行配置菜單#之后的行
? ? ? //#define DISPLAY_COLUMNS 16
? ? /******************************** ? ?導(dǎo)航 ? ? ? ? ? ? ***********************************/
? ? /* 用來(lái)導(dǎo)航LCD配置菜單的按鍵 */
? ? ? #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配置菜單 ? ? ? ? ? ? **************************/
? /**************************************************************************************/
? ? /* 如果你準(zhǔn)備將LCD或OLED用于調(diào)整參數(shù),那么解除本行注釋
? ? ?* http://www.multiwii.com/wiki/index.php?title=Extra_features#Configuration_Menu */
? ? ? //#define LCD_CONF
? ? /* 用于包含通過(guò)LCD進(jìn)行AUX1 -> AUX4輔助開(kāi)關(guān)切換的設(shè)置 */
? ? ? //#define LCD_CONF_AUX
? ? /* 可選排除一些功能 - 解除注釋以禁用一些不需要的遙測(cè)頁(yè)面或通道設(shè)置 */
? ? ? //#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 */
? ? /******************************** ? ?激活 ? ? ***********************************/
? ? //#define LCD_TELEMETRY
? ? /* 在解除注釋于此的一個(gè)遙測(cè)頁(yè)面組合中啟用自動(dòng)跳轉(zhuǎn)。 */
? ? //#define LCD_TELEMETRY_AUTO "123452679" // 升序顯示1至9頁(yè)
? ? //#define LCD_TELEMETRY_AUTO ?"212232425262729" // 著重顯示第2頁(yè)
? ? /* 手動(dòng)步進(jìn)序列;序列的第一頁(yè)在啟動(dòng)時(shí)加載以允許無(wú)交互時(shí)顯示 */
? ? //#define LCD_TELEMETRY_STEP "0123456789" // 應(yīng)包含一個(gè)0以允許關(guān)閉。
? ? /* 可選地排除一些功能 - 解除注釋以禁用一些不需要的遙測(cè)頁(yè)面 */
? ? //#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
? /********************************************************************/
? /**** ? ? ? ? ? ? ? ? ? ? ? ? ? ? 接收信號(hào)強(qiáng)度顯示(RSSI) ? ? ? ? ? ? ?****/
? /********************************************************************/
? ? //#define RX_RSSI
? ? //#define RX_RSSI_PIN A3
? /********************************************************************/
? /**** ? ? ? ? ? ? ? ? ? ? ? ? ? ? 蜂鳴器(BUZZER) ? ? ? ? ? ? ? ? ? ? ?****/
? /********************************************************************/
? ? //#define BUZZER
? ? //#define RCOPTIONSBEEP ? ? ? ? // 如果你想在遙控選項(xiàng)在通道Aux1至Aux4改變時(shí)讓蜂鳴器響起,解除注釋此項(xiàng)
? ? //#define ARMEDTIMEWARNING 330 ?// (*) 在解鎖一段時(shí)間[s]后觸發(fā)警報(bào)以保護(hù)鋰電。(如果你的發(fā)射機(jī)沒(méi)有倒計(jì)時(shí))
? ? //#define PILOTLAMP ? ? ? ? ? ? //如果你在使用X-Arcraft導(dǎo)航燈那么解除注釋
? /********************************************************************/
? /**** ? ? ? ? ? 電池電壓監(jiān)控 ? ? ? ? ? ? ? ? ? ? ? ? ?****/
? /********************************************************************/
? ? /* 用于V BAT(電池電壓)監(jiān)控
? ? ? ?在電阻分壓后,我們?cè)谀MV_BAT針腳上應(yīng)獲得[0V;5V]->[0;1023]
? ? ? ?通過(guò)R1=33k和R2=51k
? ? ? ?vbat = [0;1023]*16/VBATSCALE
? ? ? ?必須與#define BUZZER結(jié)合! */
? ? //#define VBAT ? ? ? ? ? ? ?// 解除注釋本行以激活vbat代碼
? ? #define VBATSCALE ? ? ? 131 // (*) 如果讀取到的電池電壓與真實(shí)電壓不同,修改該值
? ? #define VBATNOMINAL ? ? 126 // 12,6V滿電標(biāo)準(zhǔn)電壓 - 僅用于lcd.遙測(cè)
? ? #define VBATLEVEL_WARN1 107 // (*) 10,7V
? ? #define VBATLEVEL_WARN2 ?99 // (*) 9.9V
? ? #define VBATLEVEL_CRIT ? 93 // (*) 9.3V - 臨界情況:如果vbat持續(xù)低于該值,就會(huì)觸發(fā)警報(bào)長(zhǎng)響
? ? #define NO_VBAT ? ? ? ? ?16 ?// (*) 避免在沒(méi)有電池時(shí)響起
? /********************************************************************/
? /**** ? ? ? ? ? 功率計(jì)(電池容量監(jiān)控) ? ? ? ? ? ? ? ?****/
? /********************************************************************/
? ? /* 啟用電池能量消耗監(jiān)控(以mAh考慮)
? ? ? ?允許在GUI中或通過(guò)LCD設(shè)置警戒值
? ? ? ?全部描述與操作方法請(qǐng)見(jiàn)此 http://www.multiwii.com/wiki/index.php?title=Powermeter
? ? ? ?有兩個(gè)選項(xiàng):
? ? ? ?1 - 硬件: - (使用硬件傳感器,配置后將獲得相當(dāng)不錯(cuò)的結(jié)果)
? ? ? ?2 - 軟件: - (使用plush與mystery電調(diào)可獲得+-5%的料號(hào)結(jié)果,使用SuperSimple電調(diào)結(jié)果不佳) ? ?*/
? ? //#define POWERMETER_SOFT
? ? //#define POWERMETER_HARD
? ? #define PSENSORNULL 510 // (*) 設(shè)置0電流時(shí)analogRead()的值;I=0A時(shí),我的傳感器得到1/2 Vss;約為2.49伏;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? #define PINT2mA 132 // (*) 用于遙測(cè)顯示:一個(gè)用在arduino模擬轉(zhuǎn)換為mA時(shí)的整數(shù)(例4.9 / 37 * 100
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/*soft: use fictional value, start with 100.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?for hard and soft: larger PINT2mA will get you larger value for power (mAh equivalent) */
? /********************************************************************/
? /**** ? ? ? ? ? ? ? ? ? ? ?高度保持 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?****/
? /********************************************************************/
? ?/*定高模式(AltHold)是使用自動(dòng)油門(mén),試圖保持目前的高度的穩(wěn)定模式。
? ? ?定高模式時(shí)高度仍然可以通過(guò)提高或降低油門(mén)控制,但中間會(huì)有一個(gè)油門(mén)死區(qū),油門(mén)動(dòng)作幅度超過(guò)這個(gè)死區(qū)時(shí),飛行器才會(huì)響應(yīng)你的升降動(dòng)作
? ? ?當(dāng)進(jìn)入任何帶有自動(dòng)高度控制的模式,你目前的油門(mén)將被用來(lái)作為調(diào)整油門(mén)保持高度的基準(zhǔn)。
? ? ?在進(jìn)入高度保持前確保你在懸停在一個(gè)穩(wěn)定的高度。
? ? ?飛行器將隨著時(shí)間補(bǔ)償不良的數(shù)值。只要它不會(huì)下跌過(guò)快,就不會(huì)有什么問(wèn)題。
? ? ?離開(kāi)高度保持模式時(shí)請(qǐng)務(wù)必小心,油門(mén)位置將成為新的油門(mén),
? ? ?如果不是在飛行器的中性懸停位置,將會(huì)導(dǎo)致飛行器迅速下降或上升。默認(rèn)設(shè)置是 +/-50 uncommend and change the value below if you want to change it. */
? ? #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.
? ? /* 解除注釋以禁用高度保持特性。
? ? ?* 此項(xiàng)可用于所有下列應(yīng)用
? ? ?* + 你有一個(gè)氣壓傳感器
? ? ?* + 想要高度值輸出
? ? ?* + 不需要使用高度保持特性
? ? ?* + 想要節(jié)省儲(chǔ)存空間
? ? ?*/
? ? //#define SUPPRESS_BARO_ALTHOLD
? /********************************************************************/
? /**** ? ? ? ? ? 高度爬升率測(cè)定器 ? ? ? ? ? ? ?(高度儀) ? ? ? ? ? ****/
? /********************************************************************/
? ? /* 啟用以獲得來(lái)自上升/下降中的飛行器/飛機(jī)的聲頻反饋。
? ? ?* 需要工作中的氣壓計(jì)。
? ? ?* 目前,輸出會(huì)通過(guò)串行線發(fā)送至啟用中的vt100終端程序。
? ? ?* 有兩種方式可選(啟用其中一個(gè)或同時(shí)啟用)
? ? ?* 方式1:使用來(lái)自氣壓計(jì)的短期移動(dòng)(更大的代碼尺寸)
? ? ?* 方式2:使用來(lái)自氣壓計(jì)的長(zhǎng)期高度觀察(更小的代碼尺寸)
? ? ?*/
? ? //#define VARIOMETER 12 ? ? ? ? ? ?// 可用值:12 = 方式 1 & 2 ;1 = 方式 1;2 = 方式 2
? ? //#define SUPPRESS_VARIOMETER_UP ? // 如果不期望有用于向上移動(dòng)的信號(hào)
? ? //#define SUPPRESS_VARIOMETER_DOWN // 如果不期望有用于向下移動(dòng)的信號(hào)
? ? //#define VARIOMETER_SINGLE_TONE ? // 僅使用一個(gè)聲調(diào)(響鈴);對(duì)未打補(bǔ)丁的vt100終端是必需的
? /********************************************************************/
? /**** ? ? ? ? ? ? ? ? ? ? 板子命名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ****/
? /********************************************************************/
? ? /*
? ? ?* 這個(gè)名字會(huì)與MultiWii版本號(hào)共同顯示
? ? ?* 在打開(kāi)電源時(shí)顯示在LCD上。
? ? ?* 如果你沒(méi)有顯示設(shè)備那么你可以啟用LCD_TTY并
? ? ?* 使用arduino IDE的串口監(jiān)控器來(lái)查看此信息。
? ? ?*
? ? ?* 你必須保持此處文本的格式!
? ? ?* 它必須總共有16個(gè)字母,
? ? ?* 最后4個(gè)字母將會(huì)被版本號(hào)覆蓋。
? ? ?*/
? ? #define BOARD_NAME "MultiWii ? V-.--"
? ? // ? ? ? ? ? ? ? ? ?123456789.123456
? /************* ? ? ?在EEPROM中支持多個(gè)配置參數(shù)文件 ? ? ?************/
? ? //#define MULTIPLE_CONFIGURATION_PROFILES
? /************* ? ? ?do no reset constants when change of flashed program is detected ***********/
? ? #define NO_FLASH_CHECK
/*************************************************************************************************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/**************** ? ? ? ? ? ? ? 第 7 部分 - 調(diào)試 & 開(kāi)發(fā)者 ? ? ? ? ? ? ? ? ? ? ? ? ? **************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
? /**************************************************************************************/
? /******** ? 使用擴(kuò)展范圍[0-2000]微秒的特殊電調(diào) ? ? ? ? ? ? ?********************/
? /**************************************************************************************/
? ? //#define EXT_MOTOR_RANGE // 在用場(chǎng)效應(yīng)管驅(qū)動(dòng)空心杯時(shí)必須注釋它,否則電機(jī)上電就轉(zhuǎn)
? /**************************************************************************************/
? /*********************** ? ? 電機(jī),舵機(jī)和其他的預(yù)置 ? ? ? ? ? ? ***********************/
? /**************************************************************************************/
? ? /* 當(dāng)油門(mén)命令在低位時(shí)電機(jī)將不會(huì)旋轉(zhuǎn)
? ? ? ?這是立即停止電機(jī)的替代方案 */
? ? //#define MOTOR_STOP
? ? /* 一些遙控器的中立點(diǎn)不是1500??梢栽诖诵薷?*/
? ? #define MIDRC 1500
? /*********************** ? ? ? ?舵機(jī)刷新率 ? ? ? ? ? ? ? ? ? ***********************/
? ? /* 默認(rèn)50Hz舵機(jī)刷新率 */
? ? #define SERVO_RFR_50HZ
? ? /* 升至160Hz舵機(jī)刷新率 .. 用于多數(shù)模擬舵機(jī) */
? ? //#define SERVO_RFR_160HZ
? ? /* 升至300Hz刷新率,它越快越好(100-300Hz取決于使用的舵機(jī)和舵機(jī)狀態(tài))。
? ? ? ?用于數(shù)字舵機(jī)
? ? ? ?不要用于模擬舵機(jī)!它們可能遭到破壞。(一些可以使用,但請(qǐng)非常小心) */
? ? //#define SERVO_RFR_300HZ
? ?
? /*********************** ? ? ? ? ? ? 硬件PWM舵機(jī) ? ? ? ? ? ? ?***********************/
? ? /* 硬件PWM舵機(jī)輸出用于Arduino Mega..移動(dòng)至:
? ? ? 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) ? ? ? */
? ? ? /*此選項(xiàng)禁用其他用于舵機(jī)的軟件PWM - 僅有五個(gè)硬件控制舵機(jī)可用
? ? ? */
? ? #define MEGA_HW_PWM_SERVOS
? ? ?
? ? /* ps:以下真心不懂
? ? 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 and 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
? /********************************************************************/
? /**** ? ? ? ? ? ? ? ? ? ? ? ?節(jié)約記憶體空間 ? ? ? ? ? ? ? ? ? ? ?****/
? /********************************************************************/
? ? /* 針對(duì)Flash和RAM內(nèi)存的普遍短缺 leonardo m32u4 and others */
? ? /**** 可以通過(guò)禁用串口命令處理來(lái)實(shí)現(xiàn)。***
? ? ?* 它_不會(huì)_對(duì)RXserial,Spektrum,GPS的處理產(chǎn)生影響。這些不會(huì)受到影響,仍可以照常工作。
? ? ?* 啟用下列選項(xiàng)中其中一項(xiàng)或兩項(xiàng) ?*/
? ? /* 移除所有新MultiWii串行協(xié)議命令的處理。
? ? ?* 這將會(huì)禁用GUI,winGUI,android應(yīng)用以及其他所有使用MSP的程序。
? ? ?* 你必須找到其他調(diào)試參數(shù)的方法(如LCD_CONF)或保持默認(rèn)。
? ? ?* 如果你是通過(guò)i2c或串口/藍(lán)牙使用LCD/OLED,可以放心使用 */
? ? //#define SUPPRESS_ALL_SERIAL_MSP // 節(jié)省約2700字節(jié)
? ? /* 移除其他串行命令處理。
? ? ?* 包含通過(guò)串口操作lcd.配置菜單,lcd.遙測(cè)與永久.日志。
? ? ?* 通過(guò)在發(fā)射機(jī)上搖桿輸入進(jìn)行操作不會(huì)受到影響,操作起來(lái)是一樣的。 ?*/
? ? //#define SUPPRESS_OTHER_SERIAL_COMMANDS // 節(jié)省約0至100字節(jié),取決于啟用的特性
? ? /**** 保證代碼中無(wú)初始設(shè)置和復(fù)位的缺陷。
? ? ?這需要一個(gè)手動(dòng)初始設(shè)置的PID等手動(dòng)寫(xiě)defaults.mwi;
? ? ? reset in GUI will not work on PIDs
? ? ?*/
? ? //#define SUPPRESS_DEFAULTS_FROM_GUI
? ?
? ? //#define DISABLE_SETTINGS_TAB ?// Saves ~400bytes on ProMini
? /********************************************************************/
? /**** ? ? ? ? ?診斷 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?****/
? /********************************************************************/
? ? /* 記錄像最大周期時(shí)間與其他可能的值
? ? ? ?記錄值可通過(guò)LCD配置看到
? ? ? ?設(shè)為1,啟用'R'選項(xiàng)來(lái)重置值,最大電流,最大高度
? ? ? ?設(shè)為2,添加最大/最小周期時(shí)間
? ? ? ?設(shè)為3,以每個(gè)電機(jī)為單位添加額外的功耗(它使用一個(gè)很大的數(shù)組并且很吃?xún)?chǔ)存,如果POWERMETER <> PM_SOFT) */
? ? //#define LOG_VALUES 1
? ? /* 永久記錄至eeprom - 可在(多數(shù))升級(jí)與參數(shù)重置中保留下來(lái)。
? ? ?* 常用于追蹤控制板生命周期中的飛行次數(shù)等。
? ? ?* 寫(xiě)入至eeprom末端 - 不應(yīng)與已儲(chǔ)存的參數(shù)沖突。
? ? ?* 記錄的值:累積的生存時(shí)間,#重啟/重置/初始化事件,#解鎖事件,#鎖定事件,最后解鎖時(shí)間,
? ? ?* ? ? ? ? ? ? ? ?#失控保護(hù)@鎖定,#i2c_errs@鎖定
? ? ?* 設(shè)置你的mcu的eeprom的尺寸以激活:promini 328p:1023;2560:4095。
? ? ?* 啟用一項(xiàng)或更多選項(xiàng)以顯示記錄
? ? ?*/
? ? //#define LOG_PERMANENT_SHOW_AT_STARTUP // 啟用以在啟動(dòng)時(shí)顯示記錄
? ? //#define LOG_PERMANENT_SHOW_AT_L // 啟用以在接收到'L'時(shí)顯示記錄
? ? //#define LOG_PERMANENT_SHOW_AFTER_CONFIG // 啟用以在退出LCD配置菜單之后顯示記錄
? ? //#define LOG_PERMANENT_SERVICE_LIFETIME 36000 // 以秒為單位;在10小時(shí)的解鎖時(shí)間之后,在啟動(dòng)時(shí)響起服務(wù)警告
? ? /* 添加調(diào)試代碼
? ? ? ?不需要并且也不推薦在平常運(yùn)行時(shí)開(kāi)啟
? ? ? ?將會(huì)額外添加代碼,可能會(huì)使主循環(huán)變慢或使飛行器不可飛行 */
? ? //#define DEBUG
? ? //#define DEBUG_FREE // will add 'F' command to show free memory
? ? /* 使用此項(xiàng)在沒(méi)有發(fā)射機(jī)時(shí)觸發(fā)LCD配置 - 僅用于調(diào)試 - 不要在此項(xiàng)激活的情況下飛行 */
? ? //#define LCD_CONF_DEBUG
? ? /* 使用此項(xiàng)在沒(méi)有發(fā)射機(jī)時(shí)觸發(fā)遙測(cè) - 僅用于調(diào)試 - 不要在此項(xiàng)激活的情況下飛行 */
? ? //#define LCD_TELEMETRY_DEBUG ? ?//該形式在所有的屏幕間輪換,LCD_TELEMETRY_AUTO必須同時(shí)被定義。
? ? //#define LCD_TELEMETRY_DEBUG 6 ?//該形式停在特定的屏幕上。
? ? /* 啟用從飛行器到GUI的字符串傳送 */
? ? //#define DEBUGMSG
? /********************************************************************/
? /**** ? ? ? ? ? 電調(diào)校準(zhǔn) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ****/
? /********************************************************************/
? ? /* 同時(shí)校準(zhǔn)所有連接到MWii的電調(diào)(可以避免來(lái)回連接每一個(gè)電調(diào))
? ? ? ?警告:這將產(chǎn)生一個(gè)特別版本的MultiWii代碼
? ? ? ?這個(gè)特殊的版本是不可以用來(lái)飛行的。它只可以用來(lái)校準(zhǔn)電調(diào)
? ? ? ?使用方法詳見(jiàn) http://code.google.com/p/multiwii/wiki/ESCsCalibration */
? ? #define ESC_CALIB_LOW ?MINCOMMAND
? ? #define ESC_CALIB_HIGH 2000
? ? //#define ESC_CALIB_CANNOT_FLY ?// 解除注釋激活此項(xiàng)
? /**** ? ? ? ? ? 內(nèi)部頻率 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ****/
? ? /* 在主循環(huán)中的稀有循環(huán)操作的頻率,取決于周期時(shí)間
? ? ? ?時(shí)間基數(shù)為主循環(huán)周期時(shí)間 - 值為6意味著每六個(gè)主循環(huán)觸發(fā)一次操作
? ? ? ?示例:周期時(shí)間大約在3ms,執(zhí)行操作就在每 6*3ms=18ms
? ? ? ?取值范圍 [1; 65535] */
? ? #define LCD_TELEMETRY_FREQ 23 ? ? ? // 通過(guò)串口發(fā)送遙測(cè)數(shù)據(jù) 23 <=> 60ms <=> 16Hz (只發(fā)送隔行數(shù)據(jù),8Hz上傳速率)
? ? #define LCD_TELEMETRY_AUTO_FREQ 967 // 翻到下一個(gè)遙測(cè)頁(yè)面 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
? /********************************************************************/
? /**** ? ? ? ? ? ? ? ? ? ? ? ? ? ?槳/馬達(dá)動(dòng)平衡 ? ? ? ? ? ? ? ? ? ****/
? /********************************************************************/
? /* ? ? ? ? ? ? ? ? ? !!! No Fly Mode !!! ? ? ? ? ? ? ? ? ? ? ? ? ? ?*/
? ?
? ? //#define DYNBALANCE ? // (**) 用gui調(diào)整動(dòng)平衡
? /********************************************************************/
? /**** ? ? ? ? ?回歸測(cè)試 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?****/
? /********************************************************************/
? ? /* 只用作開(kāi)發(fā)用途:
? ? ? ?考慮到測(cè)試編譯時(shí),不同的config參數(shù)是保持在一起的,所以可以更簡(jiǎn)單地重復(fù)測(cè)試config設(shè)置,
? ? ? ?它的意義是可以幫助檢測(cè)編譯時(shí)的錯(cuò)誤,讓多種不同的特性以協(xié)調(diào)的方式運(yùn)作。
? ? ? ?這并不是用來(lái)制作你自己的飛行固件的。
? ? ? ?使用方法:
? ? ? ?- 不要在config.h中做任何設(shè)置,
? ? ? ?- 啟用#define COPTERTEST 1,然后編譯
? ? ? ?- 如果可能的話,檢查程序大小
? ? ? ?- 重復(fù)測(cè)試其他值2, 3, 4等。
? ? ? ? */
? ? //#define COPTERTEST 1
/*************************************************************************************************/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/**************** ? ?第 8 部分 - 不推薦使用 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*******/
/***************** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ***************/
/*************************************************************************************************/
? /*這些功能將在未來(lái)被移除的。不再更新
? ?*基于這樣的特點(diǎn)功能。所有這些功能默認(rèn)是關(guān)閉的。
? ?*/
? /************************** ? ?WMP的電源引腳 ? ?*******************************/
? //#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
/*************************************************************************************************/
/**** ? ? ? ? ? ? ? ? ? ? ? ? ? ?可配置參數(shù)結(jié)束 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ****/
/*************************************************************************************************/
#endif /* CONFIG_H_ */