代码拉取完成,页面将自动刷新
同步操作将从 肖昆/OmniCopter 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include <OmniCopter.h>
#include <Log.h>
#include <FailSafe.h>
OmniCopter omniCopter;
Log loger;
FailSafe failSafe;
int RC1[10]={1506,1506,1506,1506,1506,1506,1400};
void InterruptService()
{
static unsigned long int lastTime=0;
static int cursor=0;
if (digitalRead(PPM_SWITCH_PIN) == LOW)
{
unsigned long int now=micros();
unsigned long int thisTime=now-lastTime;
if(thisTime>3000)
{
cursor=0;
}else
{
RC1[cursor++]=thisTime;
}
lastTime=now;
}
}
//The setup function is called once at startup of the sketch
void setup()
{
omniCopter.init();
#ifdef DEBUG_MODE
loger.setDebugMode(true);
#endif
loger.init();
loger.setFreq(12);
attachInterrupt(PPM_INT,InterruptService,CHANGE);
}
// The loop function is called in an endless loop
void loop()
{
#ifdef DEBUG_MODE
loger.showFreq(omniCopter);
#endif
omniCopter.getCompleteInput(RC1);
#ifdef DEBUG_MODE
loger.showRcInput(omniCopter);
loger.showSensor(omniCopter);
#endif
omniCopter.attitudeProcess();
for(int i=0;i<INNER_OUTER_RATIO;i++)
{
omniCopter.bodyRateProcess();
omniCopter.positionProcess();
omniCopter.controlAllocateProcess();
omniCopter.excute();
}
failSafe.safeToArm(omniCopter);
#ifdef DEBUG_MODE
loger.showForce(omniCopter);
loger.showEscOutput(omniCopter);
loger.oneLoop();
#endif
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。