ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
PCI-2826CV.hh
1
6//
7// Copyright (C) 2011-2020 Yuki YOKOKURA
8// This program is free software;
9// you can redistribute it and/or modify it under the terms of the BSD License.
10// For details, see the License.txt file.
11
12#ifndef PCI_2826CV
13#define PCI_2826CV
14
15namespace ARCS {
18 class PCI2826CV {
19 public:
20 PCI2826CV(unsigned int Addr, uint32_t GetDataMask, uint32_t SetDataMask);
21 PCI2826CV(unsigned int Addr);
22 PCI2826CV();
23 ~PCI2826CV();
24
25
26 uint32_t GetData(void);
27 uint8_t GetData(uint8_t PortNum);
28 bool GetData(uint8_t PortNum, uint8_t BitNum);
29
30 void SetData(uint32_t Data);
31 void SetData(uint8_t Data, uint8_t PortNum);
32 void SetData(uint8_t Data, uint8_t PortNum, uint8_t BitNum);
33
34 uint32_t InputData;
35 uint32_t OutputData;
36
37 private:
38 PCI2826CV(const PCI2826CV&) = delete;
39 const PCI2826CV& operator=(const PCI2826CV&) = delete;
40
41 const unsigned int ADDR_BASE;
42 const unsigned int ADDR_DIN0;
43 const unsigned int ADDR_DIN1;
44 const unsigned int ADDR_DIN2;
45 const unsigned int ADDR_DIN3;
46 const unsigned int ADDR_DOUT0;
47 const unsigned int ADDR_DOUT1;
48 const unsigned int ADDR_DOUT2;
49 const unsigned int ADDR_DOUT3;
50
51 const uint32_t GET_DATA_MASK;
52 const uint32_t SET_DATA_MASK;
53
54 //データ中任意のビットを更新する
55 uint32_t DataUpdate32(uint32_t NewData, uint32_t OrgData, uint32_t BitArray);
56 uint8_t DataUpdate8(uint8_t NewData, uint8_t OrgData, uint8_t BitArray);
57 };
58}
59
60# endif
PCI-2826入出力クラス Interface社製PCI-2826のための入出力機能を提供します。
Definition PCI-2826CV.hh:18
uint32_t InputData
入力データを保持(privateにすべき?)
Definition PCI-2826CV.hh:34
void SetData(uint32_t Data)
全出力の書き込み
Definition PCI-2826CV.cc:148
PCI2826CV()
空コンストラクタ
Definition PCI-2826CV.cc:67
uint32_t OutputData
出力データを保持(privateにすべき?)
Definition PCI-2826CV.hh:35
uint32_t GetData(void)
全入力の読み取り
Definition PCI-2826CV.cc:94
~PCI2826CV()
デストラクタ
Definition PCI-2826CV.cc:85