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: mbed Servo BMP180
Diff: main.cpp
- Revision:
- 2:d2cb6b50a8c4
- Parent:
- 1:bb89b58cfa0e
- Child:
- 3:a583276d9fef
--- a/main.cpp Wed Oct 27 19:11:01 2021 +0000
+++ b/main.cpp Wed Oct 27 20:59:02 2021 +0000
@@ -1,106 +1,14 @@
#include "mbed.h"
#include "BMP180.h"
-#include "getGPS.h"
-#include "Servo.h"
-#include "Movement.h"
#include "direction.h"
+#include "math.h"
#define PIN_SDA D4
#define PIN_SCL D5
-GPS gps(D1,D0);
+GPS gps(D1, D0);
DigitalOut Nichrome(A6);
BMP180 bmp180(PIN_SDA,PIN_SCL);
double bias_la=0,bias_lo=0;
-
-//nの階乗を計算する関数
-int fact(int n)
-{
- int i, result = 1;
-
- if(n == 0)
- return 1;
- else
- {
- for(i = 1;i <= n;i++)
- {
- result *= i;
- }
- return result;
- }
-}
-
-float my_pow(float x, int n)
-{
- int i;
- float pow_result = 1;
-
- if(n == 0)
- return 1;
- else
- {
- for(i = 0;i < n;i++)
- {
- pow_result *= x;
- }
- return pow_result;
- }
-}
-
-float my_exp(float x)
-{
- int i;
- float result = 0;
-
-
- for(i = 1;i <= 25; i++)
- {
- result += my_pow(x, i) / fact(i);
- }
-
- return result + 1;
-}
-
-float my_log(float x)
-{
- int i;
- float result1, result2;
-
- x -= 1;
- result1 = 0;
- result2 = 0;
-
- for(i = 1;i <= 40;i++)
- {
- if(i % 2 == 1)
- result1 += my_pow(x, i) / i;
- else
-
- result2 += my_pow(x, i) / i;
- }
-
- return result1 - result2;
-}
-
-//累乗
-float mypow(float x, float y)
-{
- return my_exp(y * my_log(x));
-}
-
-//高度計算
-float calculate_h(float dP0FIX,float dp,float dt){
- float dpow = 1.0/5.256;
- float dP0 = 1013.25;
- float a = (dt+(float)273.15)/(float)0.0065;
- float s = (mypow(dP0/dp,dpow)- mypow(dP0/dP0FIX,dpow))*a - 27;
- return s;
- }
-
-//海面気圧計算
-float calculate_dp0(float dp,float dt){
- float s = dp*mypow(1 - (0.0065*27)/(dt+0.0065*27+273.15),-5.257);
- return s;
- }
int landing_judgement(){