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.
Global.cpp@6:0d9fa7152934, 2015-10-10 (annotated)
- Committer:
- shimogamo
- Date:
- Sat Oct 10 20:16:31 2015 +0000
- Revision:
- 6:0d9fa7152934
- Parent:
- 5:9a1ec02229dd
- Child:
- 7:6f7bd18ce796
??????????????csv????????????????????????????????????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shimogamo | 0:2a15bd367891 | 1 | #include "mbed.h" |
shimogamo | 0:2a15bd367891 | 2 | #include "Global.h" |
shimogamo | 3:e3c41153e5fe | 3 | |
shimogamo | 3:e3c41153e5fe | 4 | //トリムはGlobalで足したほうがいいかも |
shimogamo | 3:e3c41153e5fe | 5 | |
shimogamo | 3:e3c41153e5fe | 6 | |
shimogamo | 3:e3c41153e5fe | 7 | //----------------普段は変動しない変数(定数)------------------------------------------------------ |
shimogamo | 4:650af94bf062 | 8 | //サーボのパラメータ(角度(deg)で設定) |
shimogamo | 4:650af94bf062 | 9 | double Global::maxpitch = 5.0; |
shimogamo | 4:650af94bf062 | 10 | double Global::minpitch = -5.0; |
shimogamo | 4:650af94bf062 | 11 | double Global::neutralpitch = 0; |
shimogamo | 4:650af94bf062 | 12 | double Global::maxyaw = 30.0; |
shimogamo | 4:650af94bf062 | 13 | double Global::minyaw = -30.0; |
shimogamo | 4:650af94bf062 | 14 | double Global::neutralyaw = 0; |
shimogamo | 4:650af94bf062 | 15 | //ジョイスティックのパラメータ(mbedのAnalogIn値[0,1]) |
shimogamo | 4:650af94bf062 | 16 | double Global::maxpitchdegree = 1.0; |
shimogamo | 4:650af94bf062 | 17 | double Global::minpitchdegree = 0; |
shimogamo | 4:650af94bf062 | 18 | double Global::neutralpitchdegree = 0.5; |
shimogamo | 4:650af94bf062 | 19 | double Global::maxyawdegree = 1.0; |
shimogamo | 4:650af94bf062 | 20 | double Global::minyawdegree = 0; |
shimogamo | 4:650af94bf062 | 21 | double Global::neutralyawdegree = 0.5; |
shimogamo | 3:e3c41153e5fe | 22 | |
shimogamo | 3:e3c41153e5fe | 23 | //----------------周期的に変動する変数------------------------------------------------------ |
shimogamo | 0:2a15bd367891 | 24 | double Global::trimpitch; |
shimogamo | 0:2a15bd367891 | 25 | double Global::trimyaw; |
shimogamo | 0:2a15bd367891 | 26 | double Global::inttrimpitch; |
shimogamo | 0:2a15bd367891 | 27 | double Global::inttrimyaw; |
shimogamo | 1:3f857674a290 | 28 | double Global::pitch; |
shimogamo | 1:3f857674a290 | 29 | double Global::yaw; |
shimogamo | 1:3f857674a290 | 30 | double Global::airspeed; |
shimogamo | 1:3f857674a290 | 31 | double Global::cadence; |
shimogamo | 1:3f857674a290 | 32 | double Global::altitude; |
shimogamo | 0:2a15bd367891 | 33 | |
shimogamo | 4:650af94bf062 | 34 | //----------------どこからでも使えるled,スイッチ,タイマーの一括管理----------------------------- |
shimogamo | 0:2a15bd367891 | 35 | Timer Global::timer; |
shimogamo | 0:2a15bd367891 | 36 | DigitalIn Global::initializeswitch(p23,PullUp);//否定で押しているとき |
shimogamo | 0:2a15bd367891 | 37 | DigitalOut Global::led1(LED1); |
shimogamo | 0:2a15bd367891 | 38 | DigitalOut Global::led2(LED2); |
shimogamo | 0:2a15bd367891 | 39 | DigitalOut Global::led3(LED3); |
shimogamo | 0:2a15bd367891 | 40 | DigitalOut Global::led4(LED4); |
shimogamo | 6:0d9fa7152934 | 41 | LocalFileSystem Global::local("local"); |
shimogamo | 6:0d9fa7152934 | 42 | |
shimogamo | 0:2a15bd367891 | 43 | |
shimogamo | 5:9a1ec02229dd | 44 | void Global::initialize(){ |
shimogamo | 6:0d9fa7152934 | 45 | timer.start(); |
shimogamo | 6:0d9fa7152934 | 46 | fileread(); |
shimogamo | 6:0d9fa7152934 | 47 | } |
shimogamo | 6:0d9fa7152934 | 48 | |
shimogamo | 6:0d9fa7152934 | 49 | void Global::fileread(){ |
shimogamo | 6:0d9fa7152934 | 50 | float a, b, c, d, e, f; |
shimogamo | 6:0d9fa7152934 | 51 | |
shimogamo | 6:0d9fa7152934 | 52 | FILE* fp = fopen("/local/init.csv", "r"); |
shimogamo | 6:0d9fa7152934 | 53 | if(fp == NULL) { |
shimogamo | 6:0d9fa7152934 | 54 | filewrite(); |
shimogamo | 6:0d9fa7152934 | 55 | return; |
shimogamo | 6:0d9fa7152934 | 56 | } |
shimogamo | 6:0d9fa7152934 | 57 | //1行目 |
shimogamo | 6:0d9fa7152934 | 58 | fscanf( fp, "%f,%f,%f,%f,%f,%f",&a, &b, &c, &d, &e, &f); |
shimogamo | 6:0d9fa7152934 | 59 | setneutralpitch(a); |
shimogamo | 6:0d9fa7152934 | 60 | setmaxpitch(b); |
shimogamo | 6:0d9fa7152934 | 61 | setminpitch(c); |
shimogamo | 6:0d9fa7152934 | 62 | setneutralyaw(d); |
shimogamo | 6:0d9fa7152934 | 63 | setmaxyaw(e); |
shimogamo | 6:0d9fa7152934 | 64 | setminyaw(f); |
shimogamo | 6:0d9fa7152934 | 65 | fclose(fp); |
shimogamo | 6:0d9fa7152934 | 66 | } |
shimogamo | 6:0d9fa7152934 | 67 | |
shimogamo | 6:0d9fa7152934 | 68 | void Global::filewrite(){ |
shimogamo | 6:0d9fa7152934 | 69 | FILE* fp = fopen("/local/init.csv", "w"); |
shimogamo | 6:0d9fa7152934 | 70 | if(fp == NULL) { |
shimogamo | 6:0d9fa7152934 | 71 | error("Could not open file for write\n"); |
shimogamo | 6:0d9fa7152934 | 72 | } |
shimogamo | 6:0d9fa7152934 | 73 | fprintf(fp, "%f,%f,%f,%f,%f,%f\n", |
shimogamo | 6:0d9fa7152934 | 74 | getneutralpitch(), |
shimogamo | 6:0d9fa7152934 | 75 | getmaxpitch(), |
shimogamo | 6:0d9fa7152934 | 76 | getminpitch(), |
shimogamo | 6:0d9fa7152934 | 77 | getneutralyaw(), |
shimogamo | 6:0d9fa7152934 | 78 | getmaxyaw(), |
shimogamo | 6:0d9fa7152934 | 79 | getminyaw()); |
shimogamo | 6:0d9fa7152934 | 80 | fclose(fp); |
shimogamo | 5:9a1ec02229dd | 81 | } |
shimogamo | 5:9a1ec02229dd | 82 | |
shimogamo | 1:3f857674a290 | 83 | |
shimogamo | 4:650af94bf062 | 84 | //定数チックな変数 |
shimogamo | 4:650af94bf062 | 85 | double Global::getmaxpitch(){return maxpitch;} |
shimogamo | 4:650af94bf062 | 86 | double Global::getminpitch(){return minpitch;} |
shimogamo | 4:650af94bf062 | 87 | double Global::getneutralpitch(){return neutralpitch;} |
shimogamo | 4:650af94bf062 | 88 | double Global::getmaxyaw(){return maxyaw;} |
shimogamo | 4:650af94bf062 | 89 | double Global::getminyaw(){return minyaw;} |
shimogamo | 4:650af94bf062 | 90 | double Global::getneutralyaw(){return neutralyaw;} |
shimogamo | 4:650af94bf062 | 91 | |
shimogamo | 4:650af94bf062 | 92 | void Global::setmaxpitch(double _maxpitch){maxpitch = _maxpitch;} |
shimogamo | 4:650af94bf062 | 93 | void Global::setminpitch(double _minpitch){minpitch = _minpitch;} |
shimogamo | 4:650af94bf062 | 94 | void Global::setneutralpitch(double _neutralpitch){neutralpitch = _neutralpitch;} |
shimogamo | 4:650af94bf062 | 95 | void Global::setmaxyaw(double _maxyaw){maxyaw = _maxyaw;} |
shimogamo | 4:650af94bf062 | 96 | void Global::setminyaw(double _minyaw){minyaw = _minyaw;} |
shimogamo | 4:650af94bf062 | 97 | void Global::setneutralyaw(double _neutralyaw){neutralyaw = _neutralyaw;} |
shimogamo | 4:650af94bf062 | 98 | |
shimogamo | 4:650af94bf062 | 99 | double Global::getmaxpitchdegree(){return maxpitchdegree;} |
shimogamo | 4:650af94bf062 | 100 | double Global::getneutralpitchdegree(){return neutralpitchdegree;} |
shimogamo | 4:650af94bf062 | 101 | double Global::getminpitchdegree(){return minpitchdegree;} |
shimogamo | 4:650af94bf062 | 102 | double Global::getmaxyawdegree(){return maxyawdegree;} |
shimogamo | 4:650af94bf062 | 103 | double Global::getneutralyawdegree(){return neutralyawdegree;} |
shimogamo | 4:650af94bf062 | 104 | double Global::getminyawdegree(){return minyawdegree;} |
shimogamo | 4:650af94bf062 | 105 | |
shimogamo | 0:2a15bd367891 | 106 | void Global::setmaxpitchdegree(double _maxpitchdegree){maxpitchdegree=_maxpitchdegree;} |
shimogamo | 0:2a15bd367891 | 107 | void Global::setneutralpitchdegree(double _neutralpitchdegree){neutralpitchdegree=_neutralpitchdegree;} |
shimogamo | 0:2a15bd367891 | 108 | void Global::setminpitchdegree(double _minpitchdegree){minpitchdegree=_minpitchdegree;} |
shimogamo | 0:2a15bd367891 | 109 | void Global::setmaxyawdegree(double _maxyawdegree){maxyawdegree=_maxyawdegree;} |
shimogamo | 0:2a15bd367891 | 110 | void Global::setneutralyawdegree(double _neutralyawdegree){neutralyawdegree=_neutralyawdegree;} |
shimogamo | 0:2a15bd367891 | 111 | void Global::setminyawdegree(double _minyawdegree){minyawdegree=_minyawdegree;} |
shimogamo | 4:650af94bf062 | 112 | |
shimogamo | 4:650af94bf062 | 113 | |
shimogamo | 1:3f857674a290 | 114 | |
shimogamo | 1:3f857674a290 | 115 | |
shimogamo | 1:3f857674a290 | 116 | |
shimogamo | 0:2a15bd367891 | 117 | //変数 |
shimogamo | 1:3f857674a290 | 118 | double Global::getpitch(){return pitch;} |
shimogamo | 1:3f857674a290 | 119 | double Global::gettrimpitch(){return trimpitch;} |
shimogamo | 1:3f857674a290 | 120 | double Global::getinttrimpitch(){return inttrimpitch;} |
shimogamo | 1:3f857674a290 | 121 | double Global::getyaw(){return yaw;} |
shimogamo | 1:3f857674a290 | 122 | double Global::gettrimyaw(){return trimyaw;} |
shimogamo | 1:3f857674a290 | 123 | double Global::getinttrimyaw(){return inttrimyaw;} |
shimogamo | 1:3f857674a290 | 124 | double Global::getairspeed(){return airspeed;} |
shimogamo | 1:3f857674a290 | 125 | double Global::getcadence(){return cadence;} |
shimogamo | 1:3f857674a290 | 126 | double Global::getaltitude(){return altitude;} |
shimogamo | 0:2a15bd367891 | 127 | |
shimogamo | 1:3f857674a290 | 128 | void Global::setpitch(double _pitch){pitch = _pitch;} |
shimogamo | 1:3f857674a290 | 129 | void Global::settrimpitch(double _trimpitch){trimpitch = _trimpitch;} |
shimogamo | 1:3f857674a290 | 130 | void Global::setinttrimpitch(double _inttrimpitch){inttrimpitch = _inttrimpitch;} |
shimogamo | 1:3f857674a290 | 131 | void Global::setyaw(double _yaw){yaw = _yaw;} |
shimogamo | 1:3f857674a290 | 132 | void Global::settrimyaw(double _trimyaw){trimyaw = _trimyaw;} |
shimogamo | 1:3f857674a290 | 133 | void Global::setinttrimyaw(double _inttrimyaw){inttrimyaw = _inttrimyaw;} |
shimogamo | 1:3f857674a290 | 134 | void Global::setairspeed(double _airspeed){airspeed = _airspeed;} |
shimogamo | 1:3f857674a290 | 135 | void Global::setcadence(double _cadence){cadence = _cadence;} |
shimogamo | 1:3f857674a290 | 136 | void Global::setaltitude(double _altitude){altitude = _altitude;} |
shimogamo | 4:650af94bf062 | 137 |