27 PCI6205C(
const unsigned int Addr0,
const unsigned int Addr1,
const unsigned int Addr2,
const unsigned int Addr3,
28 unsigned int NumOfChannel,
bool Mult4Mode);
31 static const unsigned int MAX_CH = 8;
35 void GetCount(std::array<long, MAX_CH>& count);
42 const unsigned int NUM_CH;
43 const unsigned int ADDR_BASE0;
44 const unsigned int ADDR_BASE1;
45 const unsigned int ADDR_BASE2;
46 const unsigned int ADDR_BASE3;
47 unsigned int ADDR_COUNTER_LO[
MAX_CH];
48 unsigned int ADDR_COUNTER_MD[
MAX_CH];
49 unsigned int ADDR_COUNTER_HI[
MAX_CH];
50 unsigned int ADDR_WRITEREG[
MAX_CH];
51 unsigned int ADDR_STATUS[
MAX_CH];
57 void Settings(
bool Mult4Mode);
58 long GetEncData(
unsigned int ch);
59 void SetEncData(
long count,
unsigned int ch);
60 void SetCompData(
long count,
unsigned int ch);
61 void ReadStatusReg(
void);
62 bool GetDirectionFlag(
unsigned int ch);
63 bool GetCarryBorrowFlag(
unsigned int ch);
64 bool GetEquDetectionFlag(
unsigned int ch);
65 void LatchCounter(
void);
66 void SelectCounter(
unsigned int ch);
67 void SelectComparator(
unsigned int ch);
68 static long ProcessCounterSign(
long count);
69 long ProcessUpperCount(
long count,
unsigned int ch);
70 static unsigned long IIIbyteCat(
unsigned short High,
unsigned short Middle,
unsigned short Low);
71 static uint8_t Get4byteHiHi(uint32_t in);
72 static uint8_t Get4byteHiLo(uint32_t in);
73 static uint8_t Get4byteLoHi(uint32_t in);
74 static uint8_t Get4byteLoLo(uint32_t in);
75 static bool GetBitStatus(uint8_t in, uint8_t bit);
PCI-6205C入出力クラス
Definition PCI-6205C.hh:25
void ClearUpperCounter(void)
上位カウンタをクリアする関数
Definition PCI-6205C.cc:195
void ClearAllCounter(void)
エンコーダカウンタの値を零(0x000000)にする関数
Definition PCI-6205C.cc:189
void GetCount(long count[MAX_CH])
エンコーダカウンタからカウント値を読み込む関数(生配列版)
Definition PCI-6205C.cc:169
void ZpulseClear(bool flag)
Z相クリア設定
Definition PCI-6205C.cc:144
PCI6205C()
空コンストラクタ
Definition PCI-6205C.cc:86
~PCI6205C()
デストラクタ(ENC終了処理)
Definition PCI-6205C.cc:95
static const unsigned int MAX_CH
チャネル最大値
Definition PCI-6205C.hh:31