Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HCSR04_2 MPU6050_2 mbed SDFileSystem3
Fork of Autoflight2018_61 by
Diff: main.cpp
- Revision:
- 27:61876b34ded4
- Parent:
- 26:bc185a3d16b6
- Child:
- 28:aa44903a01e1
diff -r bc185a3d16b6 -r 61876b34ded4 main.cpp
--- a/main.cpp Fri Sep 21 04:26:30 2018 +0000
+++ b/main.cpp Fri Sep 21 13:11:19 2018 +0000
@@ -50,6 +50,8 @@
#define LEFT_ROLL_SHORT 12.0
#define LEFT_PITCH_SHORT -5.0
+#define rightloopROLL2 -10.0
+
/*#define rightloopRUD 1300 //1250
#define rightloopshortRUD 1250
#define leftloopRUD 1500
@@ -185,6 +187,7 @@
float g_SerialTargetYAW;
Timer t;
+Timer t2;
Timeout RerurnChickenServo1;
Timeout RerurnChickenServo2;
@@ -1442,16 +1445,33 @@
//右旋回
void UpdateTargetAngle_Rightloop(float targetAngle[3]){ //右旋回
- targetAngle[ROLL] = g_rightloopROLL;
targetAngle[PITCH] = g_rightloopPITCH ;
autopwm[RUD]=g_rightloopRUD; //RUD固定
autopwm[THR] = SetTHRinRatio(0.5); //手動スロットル記憶
+
+
+ if (nowAngle[ROLL]>20.0||nowAngle[ROLL]<-20.0){
+ t2.start();
+ pc.printf("Timer start.");
+ }
+ if(0.0<t2.read()<5.0){
+ pc.printf("tagetAngle is changed.");
+ targetAngle[ROLL] = rightloopROLL2;
+ }
+ else {
+ t2.stop();
+ t2.reset();
+ pc.printf("Timer stopped.");
+ targetAngle[ROLL] = g_rightloopROLL;
+ }
+
if(autopwm[AIL_R]<trimpwm[AIL_R]){ //エルロン上がりやすさ調節
autopwm[AIL_L]=trimpwm[AIL_L]+AIL_L_correctionrightloop+(autopwm[AIL_R]-trimpwm[AIL_R])*AIL_L_RatioRising;
}
else autopwm[AIL_L]=trimpwm[AIL_L]+AIL_L_correctionrightloop+(autopwm[AIL_R]-trimpwm[AIL_R])*AIL_L_RatioDescent;
autopwm[AIL_R]=autopwm[AIL_R]+AIL_R_correctionrightloop;
+
//checkHeight(targetAngle);
//pc.printf("Roll = %f, PITCH = %f, THR = %d \r\n", targetAngle[ROLL], targetAngle[PITCH], autopwm[THR]);
}
@@ -1553,12 +1573,12 @@
//for(uint8_t i=0; i<8; i++) pc.printf("%d ",sbus.manualpwm[i]);
//for(uint8_t i=1; i<4; i++) pc.printf("%d ",sbus.manualpwm[i]);
//pc.printf("\r\n");
- //for(uint8_t i=0; i<3; i++) pc.printf("%3.2f\t",nowAngle[i]);
+ for(uint8_t i=0; i<3; i++) pc.printf("%3.2f\t",nowAngle[i]);
//for(uint8_t i=0; i<2; i++) pc.printf("%3.2f\t",nowAngle[i]); //ロール、ピッチのみ 小数点以下2ケタ
//pc.printf("%d\t",autopwm[AIL_L]); // pc.printf("%d\t",autopwm[RUD]);
//pc.printf("%d",g_distance);
//pc.printf("Mode: %c: ",g_buf[0]);
//if(g_buf[0] == 'Y') pc.printf(" %3.1f",g_SerialTargetYAW);
- //pc.printf("\r\n");
+ pc.printf("\r\n");
}
\ No newline at end of file
