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: SDFileSystem mbed
Fork of keiki2016verRtos by
Revision 4:a863a092141c, committed 2016-03-24
- Comitter:
- taurin
- Date:
- Thu Mar 24 09:50:51 2016 +0000
- Parent:
- 3:8dc516be2e7e
- Child:
- 5:1b3c8e5ee99e
- Commit message:
- 3/24 ??
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Mar 24 06:42:22 2016 +0000
+++ b/main.cpp Thu Mar 24 09:50:51 2016 +0000
@@ -15,6 +15,7 @@
#define ROLL_L_MAX_DEG 2
#define MPU_DELT_MIN 500
#define SD_WRITE_NUM 10
+#define INIT_SERVO_PERIOD_MS 20
Serial pc(USBTX,USBRX);
Serial soudaSerial(p13,p14);
@@ -46,6 +47,9 @@
SDFileSystem sd(p5, p6, p7, p8, "sd");
FILE* fp;
+PwmOut drugServo(p22);
+PwmOut eruronServo(p23);
+
char soudaDatas[SOUDA_DATAS_NUM];
float writeDatas[SD_WRITE_NUM][WRITE_DATAS_NUM];
volatile int write_datas_index = 0;
@@ -74,6 +78,8 @@
void init(){
twe.baud(115200);
writeTimer.start();
+ drugServo.period_ms(INIT_SERVO_PERIOD_MS);
+ eruronServo.period_ms(INIT_SERVO_PERIOD_MS);
FusokukeiInit();
MpuInit();
SdInit();
@@ -106,6 +112,11 @@
}
}
+double calcPulse(int deg){
+ return (0.0006+(deg/180.0)*(0.00235-0.00045));
+
+}
+
void mpuProcessing(){
if(mpu6050.readByte(MPU6050_ADDRESS, INT_STATUS) & 0x01) { // check if data ready interrupt
mpu6050.readAccelData(accelCount); // Read the x/y/z adc values
@@ -189,6 +200,7 @@
void WriteDatas(){
int i;
+ pc.printf("testw\n\r");
for(i = 0; i < SOUDA_DATAS_NUM; i++){
writeDatas[write_datas_index][i] = (float)soudaDatas[i];
}
@@ -208,7 +220,7 @@
twe.printf("\n\r");
}
}
- if(write_datas_index == SD_WRITE_NUM){
+ if(write_datas_index == SD_WRITE_NUM-1){
SDprintf();
write_datas_index=0;
}
@@ -254,6 +266,11 @@
}
}
+void WriteServo(){
+ eruronServo.pulsewidth(calcPulse(airSpeed*10));
+ drugServo.pulsewidth(calcPulse());
+}
+
int main(){
init();
while(1){
@@ -261,5 +278,6 @@
RollAlarm();
DataReceiveFromSouda();
WriteDatas();
+ WriteServo();
}
}
\ No newline at end of file
