teamALI / Mbed 2 deprecated HB2018

Dependencies:   mbed FreeRTOS

Committer:
YutakaTakagi
Date:
Fri Mar 08 02:30:49 2019 +0000
Revision:
59:6b4dcd964d0f
Parent:
56:f363a6877c6a
Child:
61:49254cc00d08
if mode PID_0_ON, change target yaw angle from brake button

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MasashiNomura 45:3b51dd26b579 1 /**
MasashiNomura 45:3b51dd26b579 2 * @file globalFlags.h
MasashiNomura 45:3b51dd26b579 3 * @brief コマンド解析<-->ホバーバイク制御タスク間及びホバーバイク制御タスク内で使用する共用フラグ定義と宣言
MasashiNomura 45:3b51dd26b579 4 * @author Shirota, Nomura
MasashiNomura 45:3b51dd26b579 5 * @date 2018/10/01 ?
MasashiNomura 45:3b51dd26b579 6 */
MasashiNomura 45:3b51dd26b579 7
MasashiNomura 45:3b51dd26b579 8
takeru0x1103 8:1ca49cb18290 9 #ifndef __GLOBALFLAGS_H__
takeru0x1103 8:1ca49cb18290 10 #define __GLOBALFLAGS_H__
takeru0x1103 8:1ca49cb18290 11
takeru0x1103 16:05b9e44889f1 12 #include "mbed.h"
takeru0x1103 17:f9610f3cfa1b 13 #include "typedef.h"
takeru0x1103 17:f9610f3cfa1b 14
YutakaTakagi 59:6b4dcd964d0f 15 #ifndef M_PI
YutakaTakagi 59:6b4dcd964d0f 16 #define M_PI 3.14159265358979
YutakaTakagi 59:6b4dcd964d0f 17 #endif
YutakaTakagi 59:6b4dcd964d0f 18
YutakaTakagi 59:6b4dcd964d0f 19 #define deg_to_rad(deg) (((deg)/360)*2*M_PI)
YutakaTakagi 59:6b4dcd964d0f 20 #define rad_to_deg(rad) (((rad)/2/M_PI)*360)
YutakaTakagi 59:6b4dcd964d0f 21
MasashiNomura 45:3b51dd26b579 22 /**
MasashiNomura 45:3b51dd26b579 23 * @def G_CMD_BUF_SIZ
MasashiNomura 45:3b51dd26b579 24 * @brief コマンド受け渡しバッファサイズ
MasashiNomura 45:3b51dd26b579 25 * @details コマンド解析タスクで使用するコマンド受け渡しバッファサイズの定義
MasashiNomura 45:3b51dd26b579 26 */
takeru0x1103 19:4b0fe9a5ec38 27 #define G_CMD_BUF_SIZ 32
MasashiNomura 22:24c9c2dedca9 28
MasashiNomura 45:3b51dd26b579 29 /**
MasashiNomura 45:3b51dd26b579 30 * @def MAX_VAL_12BIT
MasashiNomura 45:3b51dd26b579 31 * @brief FPGAに渡す12BitDataで表現できる最大値
MasashiNomura 45:3b51dd26b579 32 */
MasashiNomura 45:3b51dd26b579 33 #define MAX_VAL_12BIT 4095
MasashiNomura 25:f3a6e7eec9c3 34
MasashiNomura 45:3b51dd26b579 35 /**
MasashiNomura 45:3b51dd26b579 36 * @def BRK_RPM
MasashiNomura 45:3b51dd26b579 37 * @brief 前部サブプロペラのブレーキ用途で使用する回転数
MasashiNomura 45:3b51dd26b579 38 */
MasashiNomura 56:f363a6877c6a 39 //#define BRK_RPM 9000
MasashiNomura 56:f363a6877c6a 40 #define DEF_BRK_RPM 5000
MasashiNomura 48:71aec693a7dc 41
MasashiNomura 48:71aec693a7dc 42 /**
YutakaTakagi 59:6b4dcd964d0f 43 * @def BRK_ANG
YutakaTakagi 59:6b4dcd964d0f 44 * @brief ブレーキボタンを押した場合の1秒間の目標角度変化量[deg]
YutakaTakagi 59:6b4dcd964d0f 45 */
YutakaTakagi 59:6b4dcd964d0f 46 #define DEF_BRK_ANG 5
YutakaTakagi 59:6b4dcd964d0f 47
YutakaTakagi 59:6b4dcd964d0f 48 /**
MasashiNomura 48:71aec693a7dc 49 * @def UPDATE_RATE
MasashiNomura 48:71aec693a7dc 50 * @brief タスクのアップデートレート 50Hz
MasashiNomura 48:71aec693a7dc 51 */
MasashiNomura 48:71aec693a7dc 52 #define UPDATE_RATE 50
MasashiNomura 48:71aec693a7dc 53
MasashiNomura 35:3779201b4c73 54
MasashiNomura 45:3b51dd26b579 55 /**
MasashiNomura 45:3b51dd26b579 56 * @typedef typPrintFlg
MasashiNomura 45:3b51dd26b579 57 * @brief debug printさせるデータのフラグを収めた構造体(内部共用体)
MasashiNomura 45:3b51dd26b579 58 */
MasashiNomura 39:1b76f7df8804 59 typedef struct {
MasashiNomura 39:1b76f7df8804 60 union{
MasashiNomura 45:3b51dd26b579 61 UINT16 flg; //!< フラグデータの型(大きさ)
MasashiNomura 39:1b76f7df8804 62 struct{
MasashiNomura 45:3b51dd26b579 63 bool e1 : 1;//!< 前エンジン回転数
MasashiNomura 45:3b51dd26b579 64 bool e2 : 1;//!< 後ろエンジン回転数
MasashiNomura 45:3b51dd26b579 65 bool m1 : 1;//!< サブモーター回転数
MasashiNomura 45:3b51dd26b579 66 bool m2 : 1;//!< サブモーター回転数
MasashiNomura 45:3b51dd26b579 67 bool m3 : 1;//!< サブモーター回転数
MasashiNomura 45:3b51dd26b579 68 bool m4 : 1;//!< サブモーター回転数
MasashiNomura 45:3b51dd26b579 69 bool gy : 1;//!< ジャイロ
MasashiNomura 45:3b51dd26b579 70 bool yaw : 1;//!< ヨー角
MasashiNomura 45:3b51dd26b579 71 bool fb : 1;//!< PID制御feedback結果
MasashiNomura 45:3b51dd26b579 72 bool pp : 1;//!< P制御ゲイン(アウターループ)
MasashiNomura 45:3b51dd26b579 73 bool p : 1;//!< P制御ゲイン
MasashiNomura 45:3b51dd26b579 74 bool i : 1;//!< I制御ゲイン
MasashiNomura 45:3b51dd26b579 75 bool d : 1;//!< D制御ゲイン
MasashiNomura 45:3b51dd26b579 76 bool v : 1;//!< PID2(torgue)角速度feedback制御用ゲイン
MasashiNomura 45:3b51dd26b579 77 bool stat : 1;//!< ステート表示
MasashiNomura 40:debe99e228d3 78 }bf;
MasashiNomura 40:debe99e228d3 79 }d1;
MasashiNomura 40:debe99e228d3 80 union{
MasashiNomura 45:3b51dd26b579 81 UINT16 flg; //!< フラグデータの型(大きさ)
MasashiNomura 40:debe99e228d3 82 struct{
MasashiNomura 45:3b51dd26b579 83 bool ain : 1;//!< アナログ入力値
MasashiNomura 45:3b51dd26b579 84 bool sw : 1;//!< User Ope Switch
MasashiNomura 45:3b51dd26b579 85 bool mo1 : 1;//!< Motor1 Offset val
MasashiNomura 45:3b51dd26b579 86 bool mo2 : 1;//!< Motor2 Offset val
MasashiNomura 45:3b51dd26b579 87 bool mo3 : 1;//!< Motor3 Offset val
MasashiNomura 45:3b51dd26b579 88 bool mo4 : 1;//!< Motor4 Offset val
MasashiNomura 45:3b51dd26b579 89 bool ep1 : 1;//!< 前エンジンにセットされたパラメータ値
MasashiNomura 45:3b51dd26b579 90 bool ep2 : 1;//!< 後エンジンにセットされたパラメータ値
MasashiNomura 48:71aec693a7dc 91 bool mrpm :1;//!< Motor RPM
MasashiNomura 45:3b51dd26b579 92 bool rsv_01 : 1;//!< reserve 01
MasashiNomura 45:3b51dd26b579 93 bool rsv_02 : 1;//!< reserve 02
MasashiNomura 45:3b51dd26b579 94 bool rsv_03 : 1;//!< reserve 03
MasashiNomura 45:3b51dd26b579 95 bool rsv_04 : 1;//!< reserve 04
MasashiNomura 45:3b51dd26b579 96 bool rsv_05 : 1;//!< reserve 05
MasashiNomura 45:3b51dd26b579 97 bool rsv_06 : 1;//!< reserve 06
MasashiNomura 45:3b51dd26b579 98 bool rsv_07 : 1;//!< reserve 07
MasashiNomura 39:1b76f7df8804 99 }bf;
MasashiNomura 39:1b76f7df8804 100 }d2;
MasashiNomura 39:1b76f7df8804 101 }typPrintFlg;
MasashiNomura 39:1b76f7df8804 102
MasashiNomura 45:3b51dd26b579 103 /**
MasashiNomura 45:3b51dd26b579 104 * @typedef typCalFlag
MasashiNomura 45:3b51dd26b579 105 * @brief コマンドにより、キャリブレートするデータのフラグを収めた共用体
MasashiNomura 45:3b51dd26b579 106 */
takeru0x1103 17:f9610f3cfa1b 107 typedef union{
MasashiNomura 45:3b51dd26b579 108 UINT16 flg; //!< フラグデータの型(大きさ)
takeru0x1103 17:f9610f3cfa1b 109 struct{
MasashiNomura 45:3b51dd26b579 110 bool e1 : 1;//!< 前エンジン回転数
MasashiNomura 45:3b51dd26b579 111 bool e2 : 1;//!< 後ろエンジン回転数
MasashiNomura 45:3b51dd26b579 112 bool m1 : 1;//!< サブモーター回転数1
MasashiNomura 45:3b51dd26b579 113 bool m2 : 1;//!< サブモーター回転数2
MasashiNomura 45:3b51dd26b579 114 bool m3 : 1;//!< サブモーター回転数3
MasashiNomura 45:3b51dd26b579 115 bool m4 : 1;//!< サブモーター回転数4
MasashiNomura 45:3b51dd26b579 116 bool gy : 1;//!< ジャイロ
MasashiNomura 45:3b51dd26b579 117 bool yaw : 1;//!< ヨー角
MasashiNomura 45:3b51dd26b579 118 bool fb : 1;//!< PID制御feedback結果
MasashiNomura 45:3b51dd26b579 119 bool pp : 1;//!< P制御ゲイン(アウターループ)
MasashiNomura 45:3b51dd26b579 120 bool p : 1;//!< P制御ゲイン
MasashiNomura 45:3b51dd26b579 121 bool i : 1;//!< I制御ゲイン
MasashiNomura 45:3b51dd26b579 122 bool d : 1;//!< D制御ゲイン
takeru0x1103 17:f9610f3cfa1b 123 }bf;
takeru0x1103 17:f9610f3cfa1b 124 }typCalFlag;
takeru0x1103 17:f9610f3cfa1b 125
MasashiNomura 45:3b51dd26b579 126
MasashiNomura 45:3b51dd26b579 127 /**
MasashiNomura 45:3b51dd26b579 128 * @typedef typSWCmd
MasashiNomura 45:3b51dd26b579 129 * @brief コマンドにより、スイッチが押されたことを模擬するフラグをまとめた共用体
MasashiNomura 45:3b51dd26b579 130 */
MasashiNomura 42:cc8501b824ba 131 typedef union{
MasashiNomura 45:3b51dd26b579 132 UINT16 dt; //!< フラグデータの型(大きさ)
MasashiNomura 42:cc8501b824ba 133 struct{
MasashiNomura 45:3b51dd26b579 134 UINT16 val : 15;//!< 立てたいbit番号(現状0~10)
MasashiNomura 45:3b51dd26b579 135 bool req : 1;//!< コマンド要求フラグ
MasashiNomura 42:cc8501b824ba 136 }bf;
MasashiNomura 42:cc8501b824ba 137 }typSWCmd;
MasashiNomura 42:cc8501b824ba 138
MasashiNomura 45:3b51dd26b579 139 /**
MasashiNomura 45:3b51dd26b579 140 * @typedef typAccel
MasashiNomura 45:3b51dd26b579 141 * @brief アクセル更新要求と設定値をまとめた共用体
MasashiNomura 45:3b51dd26b579 142 */
takeru0x1103 17:f9610f3cfa1b 143 typedef union{
MasashiNomura 45:3b51dd26b579 144 UINT16 dt; //!< フラグデータの型(大きさ)
takeru0x1103 17:f9610f3cfa1b 145 struct{
MasashiNomura 45:3b51dd26b579 146 UINT16 val : 12;//!< アクセル設定値
MasashiNomura 45:3b51dd26b579 147 bool req : 1;//!< アクセル更新要求
takeru0x1103 17:f9610f3cfa1b 148 }bf;
takeru0x1103 17:f9610f3cfa1b 149 }typAccel;
takeru0x1103 17:f9610f3cfa1b 150
MasashiNomura 45:3b51dd26b579 151 /**
MasashiNomura 45:3b51dd26b579 152 * @typedef typAxlRpm
MasashiNomura 45:3b51dd26b579 153 * @brief モーター回転数更新要求と設定値をまとめた構造体
MasashiNomura 45:3b51dd26b579 154 */
MasashiNomura 32:7f4145cc3551 155 typedef struct{
MasashiNomura 45:3b51dd26b579 156 INT16 val; //!< モーター回転数設定値
MasashiNomura 45:3b51dd26b579 157 bool req; //!< モーター回転数更新要求
MasashiNomura 29:eb3d72dd94aa 158 }typAxlRpm;
MasashiNomura 29:eb3d72dd94aa 159
MasashiNomura 32:7f4145cc3551 160
MasashiNomura 45:3b51dd26b579 161 /**
MasashiNomura 45:3b51dd26b579 162 * @enum enmHbState
MasashiNomura 45:3b51dd26b579 163 * @brief ホバーバイク制御タスクのステート定義
MasashiNomura 45:3b51dd26b579 164 */
takeru0x1103 19:4b0fe9a5ec38 165 enum enmHbState
MasashiNomura 45:3b51dd26b579 166 {
MasashiNomura 45:3b51dd26b579 167 NONE = 0 //!< 何もなし
MasashiNomura 45:3b51dd26b579 168 ,SLEEP //!< スリープモード(最初ここ)
MasashiNomura 45:3b51dd26b579 169 ,WAKEUP //!< 起動処理
MasashiNomura 45:3b51dd26b579 170 ,STANDBY //!< スタンバイ(エンジンかかるの待ち)
MasashiNomura 53:b09c062cc31c 171 ,IDLE //!< アイドル(エンジンがかかった状態+サブプロペラ使用可能)
MasashiNomura 47:d3fa874f336e 172 ,UPPER_IDLE //!< 離陸用既定値の半分までエンジン用スロットルを開く
MasashiNomura 45:3b51dd26b579 173 ,TAKE_OFF //!< 離陸(エンジン回転数上昇 規定値まで)
MasashiNomura 45:3b51dd26b579 174 ,HOVER //!< ホバリング
MasashiNomura 45:3b51dd26b579 175 ,DRIVE //!< 運転
MasashiNomura 45:3b51dd26b579 176 ,GROUND //!< 着陸(エンジン同時下げ)
MasashiNomura 53:b09c062cc31c 177 ,EMGGND //!< 緊急着陸(後ろエンジンを先に下げる予定)
MasashiNomura 45:3b51dd26b579 178 ,CHK_EG_ENT //!< SLEEPからエンジン調整モードへ(フラグリセット、アナログ入力が下がっていること、ボタンが押されいないことの確認State)
MasashiNomura 45:3b51dd26b579 179 ,CHK_EG_F //!< フロントエンジン調整
MasashiNomura 45:3b51dd26b579 180 ,CHK_EG_MID //!< アナログ入力が下がっていること、ボタンが押されていないことを確認するState
MasashiNomura 45:3b51dd26b579 181 ,CHK_EG_R //!< リアエンジン調整
MasashiNomura 45:3b51dd26b579 182 ,CHK_EG_EXIT //!< アナログ入力が下がっていること、他のボタンが押されていないことを確認してSLEEPへ
MasashiNomura 45:3b51dd26b579 183 ,CHK_ENT //!< チェックエンター
MasashiNomura 45:3b51dd26b579 184 ,CHK_MOT //!< モーターチェック
MasashiNomura 45:3b51dd26b579 185 ,CHK_AXL //!< アクセルサーボチェック
MasashiNomura 45:3b51dd26b579 186 ,CHK_ATT //!< 姿勢制御チェック
MasashiNomura 45:3b51dd26b579 187 ,CHK_EXIT //!< チェックステート脱出
MasashiNomura 45:3b51dd26b579 188 ,MOT_STOP //!< モーター停止用
MasashiNomura 41:45c982b1c5b6 189 };
MasashiNomura 41:45c982b1c5b6 190
MasashiNomura 45:3b51dd26b579 191
MasashiNomura 45:3b51dd26b579 192 /**
MasashiNomura 45:3b51dd26b579 193 * @enum eLedCol
MasashiNomura 45:3b51dd26b579 194 * @brief 状態表示用LEDカラーを表すENUM
MasashiNomura 45:3b51dd26b579 195 */
MasashiNomura 41:45c982b1c5b6 196 enum eLedCol{
MasashiNomura 41:45c982b1c5b6 197 OFF = 0,
MasashiNomura 41:45c982b1c5b6 198 WHITE,
MasashiNomura 41:45c982b1c5b6 199 RED,
MasashiNomura 41:45c982b1c5b6 200 GREEN,
MasashiNomura 41:45c982b1c5b6 201 BLUE,
MasashiNomura 41:45c982b1c5b6 202 YELLOW,
MasashiNomura 41:45c982b1c5b6 203 PURPLE,
MasashiNomura 41:45c982b1c5b6 204 LIGHT_BLUE,
MasashiNomura 45:3b51dd26b579 205 BLK_WHITE,
MasashiNomura 42:cc8501b824ba 206 BLK_RED,
MasashiNomura 42:cc8501b824ba 207 BLK_GREEN,
MasashiNomura 42:cc8501b824ba 208 BLK_BLUE,
MasashiNomura 42:cc8501b824ba 209 BLK_YELLOW,
MasashiNomura 42:cc8501b824ba 210 BLK_PURPLE,
MasashiNomura 42:cc8501b824ba 211 BLK_LIGHT_BLUE,
MasashiNomura 41:45c982b1c5b6 212 };
takeru0x1103 19:4b0fe9a5ec38 213
MasashiNomura 45:3b51dd26b579 214 /**
MasashiNomura 45:3b51dd26b579 215 * @enum eMotPos
MasashiNomura 45:3b51dd26b579 216 * @brief サブプロペラ(モーター)の位置を表すENUM
MasashiNomura 45:3b51dd26b579 217 */
MasashiNomura 28:fdb3b144e342 218 enum eMotPos{
MasashiNomura 45:3b51dd26b579 219 F_L = 0, //!< 前 左
MasashiNomura 45:3b51dd26b579 220 F_R, //!< 前 右
MasashiNomura 45:3b51dd26b579 221 R_L, //!< 後 左
MasashiNomura 45:3b51dd26b579 222 R_R, //!< 後 右
MasashiNomura 28:fdb3b144e342 223 };
MasashiNomura 45:3b51dd26b579 224
MasashiNomura 45:3b51dd26b579 225 /**
MasashiNomura 45:3b51dd26b579 226 * @enum eMotType
MasashiNomura 45:3b51dd26b579 227 * @brief 個別サブプロペラ(モーター)のINSIDE,OUTSIDE位置を表すENUM
MasashiNomura 45:3b51dd26b579 228 */
MasashiNomura 28:fdb3b144e342 229 enum eMotType{
MasashiNomura 28:fdb3b144e342 230 IN = 0,
MasashiNomura 28:fdb3b144e342 231 OUT,
MasashiNomura 28:fdb3b144e342 232 };
MasashiNomura 45:3b51dd26b579 233
MasashiNomura 45:3b51dd26b579 234 /**
MasashiNomura 45:3b51dd26b579 235 * @enum eMotInType
MasashiNomura 45:3b51dd26b579 236 * @brief サブプロペラ(モーター)へ設定する回転数のタイプを表すENUM
MasashiNomura 45:3b51dd26b579 237 */
MasashiNomura 32:7f4145cc3551 238 enum eMotInType{
MasashiNomura 45:3b51dd26b579 239 OFS = 0, //!< オフセット回転数(この値で制御関係なく回る)
MasashiNomura 45:3b51dd26b579 240 ATT, //!< 姿勢制御のために算出された要求回転数
MasashiNomura 45:3b51dd26b579 241 USER, //!< ユーザー操作により要求される回転数
MasashiNomura 32:7f4145cc3551 242 };
MasashiNomura 45:3b51dd26b579 243
MasashiNomura 45:3b51dd26b579 244 /**
MasashiNomura 45:3b51dd26b579 245 * @enum eEgPos
MasashiNomura 45:3b51dd26b579 246 * @brief エンジンの位置を表すENUM
MasashiNomura 45:3b51dd26b579 247 */
MasashiNomura 36:2cc739c7e4cb 248 enum eEgPos{
MasashiNomura 45:3b51dd26b579 249 FRONT = 0, //!< 前部エンジン
MasashiNomura 45:3b51dd26b579 250 REAR, //!< 後部エンジン
MasashiNomura 36:2cc739c7e4cb 251 };
MasashiNomura 45:3b51dd26b579 252
MasashiNomura 48:71aec693a7dc 253
takeru0x1103 17:f9610f3cfa1b 254 /////////////////////////////////////////////////
takeru0x1103 21:78302ecdb661 255
MasashiNomura 45:3b51dd26b579 256 /**
MasashiNomura 45:3b51dd26b579 257 * 共用フラグを初期化する関数
MasashiNomura 45:3b51dd26b579 258 */
MasashiNomura 22:24c9c2dedca9 259 void initFlags();
MasashiNomura 22:24c9c2dedca9 260
MasashiNomura 45:3b51dd26b579 261 /**
MasashiNomura 45:3b51dd26b579 262 * DigitalOutを利用してLEDの色を指定する関数
MasashiNomura 45:3b51dd26b579 263 */
MasashiNomura 41:45c982b1c5b6 264 void setDOCol(eLedCol col);
MasashiNomura 45:3b51dd26b579 265
MasashiNomura 45:3b51dd26b579 266 /**
MasashiNomura 45:3b51dd26b579 267 * ホバーバイク制御タスクのステートによって、DigitalOutを利用してLEDの色を変える関数
MasashiNomura 45:3b51dd26b579 268 */
MasashiNomura 41:45c982b1c5b6 269 void setDO4LED(enmHbState stat);
MasashiNomura 43:156199c2f9b6 270
MasashiNomura 45:3b51dd26b579 271 /**
MasashiNomura 45:3b51dd26b579 272 * ホバーバイク制御タスクのステートを変更する関数
MasashiNomura 45:3b51dd26b579 273 */
MasashiNomura 22:24c9c2dedca9 274 void setState(enmHbState stat);
MasashiNomura 45:3b51dd26b579 275
MasashiNomura 45:3b51dd26b579 276 /**
MasashiNomura 45:3b51dd26b579 277 * ホバーバイク制御タスクのステートを強制的に変更する関数
MasashiNomura 45:3b51dd26b579 278 */
MasashiNomura 23:79e20be4bc5b 279 void setStateF(enmHbState stat);
MasashiNomura 22:24c9c2dedca9 280
MasashiNomura 45:3b51dd26b579 281 /**
MasashiNomura 45:3b51dd26b579 282 * ホバーバイク制御タスクのステートで飛行若しくは準備状態か否かを返す関数
MasashiNomura 45:3b51dd26b579 283 */
MasashiNomura 37:d51dacb4c30f 284 bool isActiveState();
MasashiNomura 22:24c9c2dedca9 285
takeru0x1103 21:78302ecdb661 286
MasashiNomura 45:3b51dd26b579 287 extern DigitalOut led1; //!< モニタ用LED1用変数
MasashiNomura 45:3b51dd26b579 288 extern DigitalOut led2; //!< モニタ用LED2用変数
MasashiNomura 45:3b51dd26b579 289 extern DigitalOut led3; //!< モニタ用LED3用変数
MasashiNomura 45:3b51dd26b579 290 extern DigitalOut led4; //!< モニタ用LED4用変数
takeru0x1103 8:1ca49cb18290 291
MasashiNomura 45:3b51dd26b579 292 extern DigitalOut DO_01; //!< 状態表示用LED1(R)用変数
MasashiNomura 45:3b51dd26b579 293 extern DigitalOut DO_02; //!< 状態表示用LED2(G)用変数
MasashiNomura 45:3b51dd26b579 294 extern DigitalOut DO_03; //!< 状態表示用LED3(B)用変数
MasashiNomura 40:debe99e228d3 295
MasashiNomura 45:3b51dd26b579 296 extern AnalogIn AinAxl; //!< モーターアクセル用アナログ入力
MasashiNomura 33:eb260dbfc22a 297
MasashiNomura 36:2cc739c7e4cb 298
MasashiNomura 45:3b51dd26b579 299 extern char g_CmdBuf[G_CMD_BUF_SIZ]; //!< コマンド受け渡しバッファ
MasashiNomura 45:3b51dd26b579 300 extern bool gf_CmdPrs; //!< コマンドパーサー実行要求フラグ
takeru0x1103 19:4b0fe9a5ec38 301
MasashiNomura 45:3b51dd26b579 302 extern bool gf_Armed; //!< アーミングフラグ
MasashiNomura 45:3b51dd26b579 303 extern bool gf_Dbg; //!< デバッグフラグ
MasashiNomura 45:3b51dd26b579 304 extern bool gf_StopMot; //!< モーターの強制停止 サーボ全閉
MasashiNomura 45:3b51dd26b579 305 extern bool gf_FromActiveStat; //!< モーターの強制停止 サーボ全閉が動作時に発生したかどうか
takeru0x1103 19:4b0fe9a5ec38 306
MasashiNomura 45:3b51dd26b579 307 extern bool gf_BlinkLED; //!< ステート表示LEDをブリンクさせるフラグ
MasashiNomura 43:156199c2f9b6 308
MasashiNomura 43:156199c2f9b6 309
MasashiNomura 45:3b51dd26b579 310 extern typPrintFlg gf_Print; //!< デバッグプリントフラグ(1回表示)
MasashiNomura 45:3b51dd26b579 311 extern typPrintFlg gf_Mon; //!< デバッグモニタフラグ(繰り返し表示)
MasashiNomura 45:3b51dd26b579 312 extern typCalFlag gf_Cal; //!< キャリブレーションフラグ
MasashiNomura 26:732bc37fbefd 313
MasashiNomura 45:3b51dd26b579 314 extern typAccel gf_AxReq[2]; //!< エンジンアクセル値更新フラグ
MasashiNomura 45:3b51dd26b579 315 extern typAccel gf_AxReqH[2]; //!< 浮上時エンジンアクセル値更新フラグ
MasashiNomura 45:3b51dd26b579 316 extern typAccel gf_AxStepReq[2]; //!< エンジンアクセル用サーボ動作ステップ値更新フラグ
MasashiNomura 53:b09c062cc31c 317 extern typAccel gf_AxAdjStepReq[2]; //!< エンジンアクセル調整用サーボ動作ステップ値更新フラグ
MasashiNomura 43:156199c2f9b6 318
MasashiNomura 45:3b51dd26b579 319 extern typAxlRpm gf_MtReq[4]; //!< モーター姿勢制御値更新
MasashiNomura 50:76413e8e073d 320 extern typAxlRpm gf_MtAttOfs[4]; //!< モーター姿勢制御オフセット値更新
MasashiNomura 45:3b51dd26b579 321 extern typAxlRpm gf_MtReqOfs[4]; //!< モーターオフセット値更新
MasashiNomura 45:3b51dd26b579 322 extern typAxlRpm gf_MtReqU[4]; //!< モーターユーザー値更新
MasashiNomura 56:f363a6877c6a 323 extern typAxlRpm gf_MtBrk; //!< モーターブレーキ時のRPM値更新
MasashiNomura 45:3b51dd26b579 324 extern typAxlRpm gf_MtReqDct[8]; //!< ダイレクト(FPGA関数直接呼び出し)モーター値更新フラグ
MasashiNomura 42:cc8501b824ba 325
YutakaTakagi 59:6b4dcd964d0f 326 extern typAxlRpm gf_AngBrk; //!< ブレーキ時の1秒間の目標角度変化値[deg]更新
YutakaTakagi 59:6b4dcd964d0f 327
MasashiNomura 45:3b51dd26b579 328 extern typSWCmd gf_SwCmd; //!< スイッチが押されたことを模擬するフラグ
takeru0x1103 19:4b0fe9a5ec38 329
MasashiNomura 45:3b51dd26b579 330 extern enmHbState gf_State; //!< 現在のステートを格納する変数
MasashiNomura 45:3b51dd26b579 331 extern bool gf_StateEnt; //!< 状態遷移後、最初であることを示すフラグ
takeru0x1103 19:4b0fe9a5ec38 332
MasashiNomura 45:3b51dd26b579 333 extern bool gf_PidParaUpdate; //!< PID Pp,P,I,Dの係数アップデートフラグ
MasashiNomura 45:3b51dd26b579 334 extern typPidPara g_PidPara; //!< PID Pp,P,I,Dの係数の外部設定用
MasashiNomura 25:f3a6e7eec9c3 335
takeru0x1103 18:5aa48aec9cae 336 #endif