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.
Diff: globalFlags.h
- Revision:
- 19:4b0fe9a5ec38
- Parent:
- 18:5aa48aec9cae
- Child:
- 20:0394e15412c3
--- a/globalFlags.h Sat Dec 01 14:03:08 2018 +0000
+++ b/globalFlags.h Wed Dec 05 00:12:38 2018 +0000
@@ -4,6 +4,9 @@
#include "mbed.h"
#include "typedef.h"
+#define G_CMD_BUF_SIZ 32
+#define STATE_QUE_SIZ 8
+
typedef union{
UINT16 flg;
struct{
@@ -42,7 +45,6 @@
}bf;
}typCalFlag;
-
//チェックフラグ
typedef union{
UINT16 flg;
@@ -53,7 +55,7 @@
}bf;
}typChkFlag;
-
+//
typedef union{
UINT16 dt;
struct{
@@ -62,8 +64,30 @@
}bf;
}typAccel;
+//ステート定義
+enum enmHbState
+ {NONE //何もなし
+ ,WAKEUP //
+ ,CHECK_MOT //
+ ,IDLE //
+ ,TAKE_OFF //
+ ,GROUND //
+ };
+
/////////////////////////////////////////////////
-
+class GlobalFlags{
+private:
+ enmHbState state;//現在のステート
+ enmHbState stateQueue[STATE_QUE_SIZ];//ステート予約用のキューバッファ
+ int wp; //ライトポインタ
+ int rp; //リードポインタ
+ bool full; //フルフラグ
+ bool empty; //エンプティフラグ
+public:
+ GlobalFlags();
+ bool push(enmHbState iState);
+ bool pull();
+};
//モニタ用LED
extern DigitalOut led1;
@@ -71,14 +95,20 @@
extern DigitalOut led3;
extern DigitalOut led4;
-extern typPrintFlag gf_Print;
-extern typPrintFlag gf_Mon;
+extern GlobalFlags gf;
+
+extern char g_CmdBuf[G_CMD_BUF_SIZ] ;// コマンド受け渡しバッファ
+extern bool gf_CmdPrs; //コマンドパーサー実行要求フラグ
+
+extern typPrintFlag gf_Print; //デバッグプリントフラグ(1回表示)
+extern typPrintFlag gf_Mon; //デバッグモニタフラグ(繰り返し表示)
extern typCalFlag gf_Cal; //
extern typChkFlag gf_Chk; //チェックフラグ
-extern bool gf_CmdPrs; //コマンドパーサー実行要求フラグ
extern typAccel gf_AxReq[2]; //アクセル更新
extern typAccel gf_MtReq[4]; //モーター更新
extern bool gf_AttCntEna; //姿勢制御イネーブル
+
+
#endif
\ No newline at end of file