teamALI / Mbed 2 deprecated HB2018

Dependencies:   mbed FreeRTOS

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