ジャイロ追加前

Dependencies:   mbed FreeRTOS

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers HbUserOpe.h Source File

HbUserOpe.h

00001 #ifndef __HBUSER_OPE_H__
00002 #define __HBUSER_OPE_H__
00003 /////////////////////////////////////////////////////////////////////
00004 #include "typedef.h"
00005 #include "globalFlags.h"
00006 //#include "HbManager.h"
00007 
00008 
00009 class HbUserOpe{
00010 public:
00011     enum SW_TYPE{
00012         BRK_L = 0,// Front Left ブレーキ
00013         BRK_R,    // Front Right ブレーキ
00014         FLT_ON,    //エンジンスロットル開放(全開->規定値まで 浮上)
00015         FLT_OFF,    //エンジンスロットル閉鎖(アイドリング)
00016         F_ENG_UP,   //フロントエンジンスロットルをわずかに開く
00017         F_ENG_DOWN, //フロントエンジンスロットルをわずかに閉じる
00018         R_ENG_UP,   //リアエンジンスロットルをわずかに開く
00019         R_ENG_DOWN, //リアエンジンスロットルをわずかに閉じる
00020         CTRL_SW,        //Reserve 1 -> ヨー角制御ON/OFF Switch
00021         ALL_STOP,   //すべてのモーターストップ&エンジンスロットル閉鎖(アイドリング)
00022         MAX_SW_TYPE,
00023     };
00024     
00025 private:
00026     typUserSw oldOpe;
00027     typUserSw curOpe;
00028     typSwCounter counter[MAX_SW_TYPE];
00029 
00030     float     AinAxlVal;
00031     float     AinTrtlVal;
00032     #define MAX_RPM_USERSET     9000        // ユーザーに許容する最大RPM
00033     #define MIN_RPM_TOTAL       1500        // おおよその最低回転可能RPM
00034     #define MAX_ANA_VAL         1.0         // 最大アナログ読み込み値
00035     #define MIN_ANA_VAL         0.0         // 最小アナログ読み込み値
00036     #define MAX_EFF_ANA_VAL     0.98        // アナログ読み込み値の最大有効値
00037     #define MIN_EFF_ANA_VAL     0.01        // アナログ読み込み値の最小有効値
00038     //#define MAX_12BIT_DATA      4095        // FPGAに渡すデータ(値)の最大値 --> すでにglobalFlags.hで記述済みのためコメントアウト
00039     #define CNT_NUM_RE   20
00040 public:
00041 
00042     HbUserOpe();//コンストラクタ    
00043     ~HbUserOpe();//デストラクタ
00044 
00045     typUserSw GetUserOpe();//ボタンの現在状態取得(更新)
00046     float GetAinAccelRaw();
00047     INT16 GetAinAccel();//前進用モーター(後部)アクセル用アナログ入力値取得(更新)
00048     float GetAinThrottleRaw();
00049     INT16 GetAinThrottle();//エンジンスロットル用アナログ入力値取得(更新)
00050     bool ChkCtrlSW(SW_TYPE styp);
00051     bool ChkCtrlSwAny();
00052     bool ChkCtrlSwBoth(SW_TYPE styp1, SW_TYPE styp2);
00053     bool ChkCtrlSwRiseEdge(SW_TYPE styp);
00054 };
00055 
00056 /////////////////////////////////////////////////////////////////////
00057 #endif