teamALI / Mbed 2 deprecated HB2018

Dependencies:   mbed FreeRTOS

Committer:
MasashiNomura
Date:
Sun Feb 24 10:33:34 2019 +0000
Revision:
48:71aec693a7dc
Parent:
47:d3fa874f336e
Child:
50:76413e8e073d
20190224 add cmd pid mode etc.

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