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@0:2a15bd367891, 2015-09-07 (annotated)
- Committer:
- shimogamo
- Date:
- Mon Sep 07 01:19:55 2015 +0000
- Revision:
- 0:2a15bd367891
- Child:
- 1:3f857674a290
main?????
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 | 0:2a15bd367891 | 3 | int Global::maxpitch = 10;// |
shimogamo | 0:2a15bd367891 | 4 | int Global::minpitch = -10;// |
shimogamo | 0:2a15bd367891 | 5 | int Global::Global::maxyaw = 10;// |
shimogamo | 0:2a15bd367891 | 6 | int Global::minyaw = -10;// |
shimogamo | 0:2a15bd367891 | 7 | float Global::maxrudderangle = 600.0;//係数変更でサーボ稼働幅調整 |
shimogamo | 0:2a15bd367891 | 8 | float Global::minrudderangle = -maxrudderangle;//別の値を入れたら非対称にしたりもできる |
shimogamo | 0:2a15bd367891 | 9 | float Global::maxelevatorangle = 900.0;//係数変更でサーボ稼働幅調整 |
shimogamo | 0:2a15bd367891 | 10 | float Global::minelevatorangle = -maxelevatorangle;//別の値を入れたら非対称にしたりもできる |
shimogamo | 0:2a15bd367891 | 11 | double Global::neutralpitchdegree; |
shimogamo | 0:2a15bd367891 | 12 | double Global::neutralyawdegree; |
shimogamo | 0:2a15bd367891 | 13 | double Global::maxpitchdegree; |
shimogamo | 0:2a15bd367891 | 14 | double Global::minpitchdegree; |
shimogamo | 0:2a15bd367891 | 15 | double Global::maxyawdegree; |
shimogamo | 0:2a15bd367891 | 16 | double Global::minyawdegree; |
shimogamo | 0:2a15bd367891 | 17 | double Global::neutralrudderangle; |
shimogamo | 0:2a15bd367891 | 18 | double Global::neutralelevatorangle; |
shimogamo | 0:2a15bd367891 | 19 | double Global::trimpitch; |
shimogamo | 0:2a15bd367891 | 20 | double Global::trimyaw; |
shimogamo | 0:2a15bd367891 | 21 | double Global::inttrimpitch; |
shimogamo | 0:2a15bd367891 | 22 | double Global::inttrimyaw; |
shimogamo | 0:2a15bd367891 | 23 | std::vector<double> Global::_pitch; |
shimogamo | 0:2a15bd367891 | 24 | std::vector<double> Global::_yaw; |
shimogamo | 0:2a15bd367891 | 25 | std::vector<double> Global::_airspeed; |
shimogamo | 0:2a15bd367891 | 26 | std::vector<double> Global::_cadence; |
shimogamo | 0:2a15bd367891 | 27 | std::vector<double> Global::_altitude; |
shimogamo | 0:2a15bd367891 | 28 | //double Global::_pitch; |
shimogamo | 0:2a15bd367891 | 29 | //double Global::_yaw; |
shimogamo | 0:2a15bd367891 | 30 | |
shimogamo | 0:2a15bd367891 | 31 | void Global::initialize(){ |
shimogamo | 0:2a15bd367891 | 32 | } |
shimogamo | 0:2a15bd367891 | 33 | |
shimogamo | 0:2a15bd367891 | 34 | Timer Global::timer; |
shimogamo | 0:2a15bd367891 | 35 | DigitalIn Global::initializeswitch(p23,PullUp);//否定で押しているとき |
shimogamo | 0:2a15bd367891 | 36 | DigitalOut Global::led1(LED1); |
shimogamo | 0:2a15bd367891 | 37 | DigitalOut Global::led2(LED2); |
shimogamo | 0:2a15bd367891 | 38 | DigitalOut Global::led3(LED3); |
shimogamo | 0:2a15bd367891 | 39 | DigitalOut Global::led4(LED4); |
shimogamo | 0:2a15bd367891 | 40 | |
shimogamo | 0:2a15bd367891 | 41 | //固定定数 |
shimogamo | 0:2a15bd367891 | 42 | int Global::getmaxpitch(){return maxpitch;} |
shimogamo | 0:2a15bd367891 | 43 | int Global::getminpitch(){return minpitch;} |
shimogamo | 0:2a15bd367891 | 44 | int Global::getmaxyaw(){return maxyaw;} |
shimogamo | 0:2a15bd367891 | 45 | int Global::getminyaw(){return minyaw;} |
shimogamo | 0:2a15bd367891 | 46 | float Global::getmaxrudderangle(){return maxrudderangle;} |
shimogamo | 0:2a15bd367891 | 47 | float Global::getminrudderangle(){return minrudderangle;} |
shimogamo | 0:2a15bd367891 | 48 | float Global::getmaxelevatorangle(){return maxelevatorangle;} |
shimogamo | 0:2a15bd367891 | 49 | float Global::getminelevatorangle(){return minelevatorangle;} |
shimogamo | 0:2a15bd367891 | 50 | double Global::gettrimpitch(){return trimpitch;} |
shimogamo | 0:2a15bd367891 | 51 | double Global::gettrimyaw(){return trimyaw;} |
shimogamo | 0:2a15bd367891 | 52 | double Global::getinttrimpitch(){return inttrimpitch;} |
shimogamo | 0:2a15bd367891 | 53 | double Global::getinttrimyaw(){return inttrimyaw;} |
shimogamo | 0:2a15bd367891 | 54 | //初期化される定数 |
shimogamo | 0:2a15bd367891 | 55 | void Global::setmaxpitchdegree(double _maxpitchdegree){maxpitchdegree=_maxpitchdegree;} |
shimogamo | 0:2a15bd367891 | 56 | void Global::setneutralpitchdegree(double _neutralpitchdegree){neutralpitchdegree=_neutralpitchdegree;} |
shimogamo | 0:2a15bd367891 | 57 | void Global::setminpitchdegree(double _minpitchdegree){minpitchdegree=_minpitchdegree;} |
shimogamo | 0:2a15bd367891 | 58 | void Global::setmaxyawdegree(double _maxyawdegree){maxyawdegree=_maxyawdegree;} |
shimogamo | 0:2a15bd367891 | 59 | void Global::setneutralyawdegree(double _neutralyawdegree){neutralyawdegree=_neutralyawdegree;} |
shimogamo | 0:2a15bd367891 | 60 | void Global::setminyawdegree(double _minyawdegree){minyawdegree=_minyawdegree;} |
shimogamo | 0:2a15bd367891 | 61 | void Global::setneutralrudderangle(double _neutralrudderangle){neutralrudderangle=_neutralrudderangle;} |
shimogamo | 0:2a15bd367891 | 62 | void Global::setneutralelevatorangle(double _neutralelevatorangle){neutralelevatorangle=_neutralelevatorangle;} |
shimogamo | 0:2a15bd367891 | 63 | void Global::settrimpitch(double _trimpitch){trimpitch = _trimpitch;} |
shimogamo | 0:2a15bd367891 | 64 | void Global::settrimyaw(double _trimyaw){trimyaw = _trimyaw;} |
shimogamo | 0:2a15bd367891 | 65 | void Global::setinttrimpitch(double _inttrimpitch){inttrimpitch = _inttrimpitch;} |
shimogamo | 0:2a15bd367891 | 66 | void Global::setinttrimyaw(double _inttrimyaw){inttrimyaw = _inttrimyaw;} |
shimogamo | 0:2a15bd367891 | 67 | //変数 |
shimogamo | 0:2a15bd367891 | 68 | void Global::setpitch(double pitch){ |
shimogamo | 0:2a15bd367891 | 69 | if(_pitch.size()>100)_pitch.clear(); |
shimogamo | 0:2a15bd367891 | 70 | _pitch.push_back(pitch); |
shimogamo | 0:2a15bd367891 | 71 | } |
shimogamo | 0:2a15bd367891 | 72 | void Global::setyaw(double yaw){ |
shimogamo | 0:2a15bd367891 | 73 | if(_yaw.size()>100)_yaw.clear(); |
shimogamo | 0:2a15bd367891 | 74 | _yaw.push_back(yaw); |
shimogamo | 0:2a15bd367891 | 75 | } |
shimogamo | 0:2a15bd367891 | 76 | void Global::setairspeed(double airspeed){ |
shimogamo | 0:2a15bd367891 | 77 | if(_airspeed.size()>100)_airspeed.clear(); |
shimogamo | 0:2a15bd367891 | 78 | _airspeed.push_back(airspeed); |
shimogamo | 0:2a15bd367891 | 79 | } |
shimogamo | 0:2a15bd367891 | 80 | void Global::setcadence(double cadence){ |
shimogamo | 0:2a15bd367891 | 81 | if(_cadence.size()>100)_cadence.clear(); |
shimogamo | 0:2a15bd367891 | 82 | _cadence.push_back(cadence); |
shimogamo | 0:2a15bd367891 | 83 | } |
shimogamo | 0:2a15bd367891 | 84 | void Global::setaltitude(double altitude){ |
shimogamo | 0:2a15bd367891 | 85 | if(_altitude.size()>100)_altitude.clear(); |
shimogamo | 0:2a15bd367891 | 86 | _altitude.push_back(altitude); |
shimogamo | 0:2a15bd367891 | 87 | } |
shimogamo | 0:2a15bd367891 | 88 | double Global::getpitch(){ |
shimogamo | 0:2a15bd367891 | 89 | // writeonpc("pitch=%f\t",_pitch.back()); |
shimogamo | 0:2a15bd367891 | 90 | return _pitch.back(); |
shimogamo | 0:2a15bd367891 | 91 | } |
shimogamo | 0:2a15bd367891 | 92 | double Global::getyaw(){ |
shimogamo | 0:2a15bd367891 | 93 | // writeonpc("yaw=%f\r\n",_yaw.back()); |
shimogamo | 0:2a15bd367891 | 94 | return _yaw.back(); |
shimogamo | 0:2a15bd367891 | 95 | } |
shimogamo | 0:2a15bd367891 | 96 | double Global::getairspeed(){ |
shimogamo | 0:2a15bd367891 | 97 | // writeonpc("airspeed=%f\r\n",_airspeed.back()); |
shimogamo | 0:2a15bd367891 | 98 | return _airspeed.back(); |
shimogamo | 0:2a15bd367891 | 99 | } |
shimogamo | 0:2a15bd367891 | 100 | double Global::getcadence(){ |
shimogamo | 0:2a15bd367891 | 101 | // writeonpc("cadence=%f\r\n",_cadence.back()); |
shimogamo | 0:2a15bd367891 | 102 | return _cadence.back(); |
shimogamo | 0:2a15bd367891 | 103 | } |
shimogamo | 0:2a15bd367891 | 104 | double Global::getaltitude(){ |
shimogamo | 0:2a15bd367891 | 105 | // writeonpc("altitude=%f\r\n",_altitude.back()); |
shimogamo | 0:2a15bd367891 | 106 | return _altitude.back(); |
shimogamo | 0:2a15bd367891 | 107 | } |
shimogamo | 0:2a15bd367891 | 108 | |
shimogamo | 0:2a15bd367891 | 109 | void Global::store(std::vector<double> &pitch, std::vector<double> &yaw, |
shimogamo | 0:2a15bd367891 | 110 | std::vector<double> &airspeed, std::vector<double> &cadence, std::vector<double> &altitude){ |
shimogamo | 0:2a15bd367891 | 111 | copy(_pitch.begin(), _pitch.end(), back_inserter(pitch)); |
shimogamo | 0:2a15bd367891 | 112 | copy(_yaw.begin(), _yaw.end(), back_inserter(yaw)); |
shimogamo | 0:2a15bd367891 | 113 | copy(_airspeed.begin(), _airspeed.end(), back_inserter(airspeed)); |
shimogamo | 0:2a15bd367891 | 114 | copy(_cadence.begin(), _cadence.end(), back_inserter(cadence)); |
shimogamo | 0:2a15bd367891 | 115 | copy(_altitude.begin(), _altitude.end(), back_inserter(altitude)); |
shimogamo | 0:2a15bd367891 | 116 | |
shimogamo | 0:2a15bd367891 | 117 | _pitch.clear(); |
shimogamo | 0:2a15bd367891 | 118 | _yaw.clear(); |
shimogamo | 0:2a15bd367891 | 119 | _airspeed.clear(); |
shimogamo | 0:2a15bd367891 | 120 | _cadence.clear(); |
shimogamo | 0:2a15bd367891 | 121 | _altitude.clear(); |
shimogamo | 0:2a15bd367891 | 122 | } |