mFrame
載入中...
搜尋中...
無符合項目
VirtualGeneralPin.h
1
8#ifndef A136C030_5E69_4038_9BEE_7D0CD8903BEE
9#define A136C030_5E69_4038_9BEE_7D0CD8903BEE
10#ifndef MFRAME_422910B3_C829_4F28_9F7E_4A928F53DA5A
11#define MFRAME_422910B3_C829_4F28_9F7E_4A928F53DA5A
12
13/* ***************************************************************************************
14 * Include
15 */
16
17//----------------------------------------------------------------------------------------
18#include "./../../ufm/lang/Object.h"
19
20//----------------------------------------------------------------------------------------
21#include "./../../hal/digital/GeneralPin.h"
22
23/* ***************************************************************************************
24 * Namespace
25 */
26namespace ufm::hw {
27 class VirtualGeneralPin;
28} // namespace ufm::hw
29
30/* ***************************************************************************************
31 * Class/Interface/Struct/Enum
32 */
33
46 /* *************************************************************************************
47 * Variable
48 */
49 private:
50 uint8 vDir;
51 uint8 vValue;
52 hal::digital::GeneralPin::Mode vGeneralPinMode;
53
54 /* *************************************************************************************
55 * Abstract Method
56 */
57
58 /* *************************************************************************************
59 * Construct Method
60 */
61 public:
71
75 virtual ~VirtualGeneralPin(void) override;
76
77 /* *************************************************************************************
78 * Operator Method
79 */
80
81 /* *************************************************************************************
82 * Override Method - hal::digital::GeneralPin
83 */
84 public:
100 virtual GeneralPin::Mode getPinMode(void) override;
101
120 virtual GeneralPin::Mode setPinMode(GeneralPin::Mode mode) override;
121
130 virtual bool getDir(void) override;
131
141 virtual hal::digital::GeneralPin& setDir(bool dir) override;
142
150 virtual hal::digital::GeneralPin& setInput(void) override;
151
159 virtual hal::digital::GeneralPin& setOutput(void) override;
160
161 /* *************************************************************************************
162 * Override Method - hal::digital::GeneralOutput
163 */
164 public:
172 virtual hal::digital::GeneralOutput& setHigh(void) override;
173
181 virtual hal::digital::GeneralOutput& setLow(void) override;
182
190 virtual hal::digital::GeneralOutput& setToggle(void) override;
191
198 virtual hal::digital::GeneralOutput& setValue(bool level) override;
199
200 /* *************************************************************************************
201 * Override Method - hal::digital::GeneralInput
202 */
203 public:
213 virtual bool getValue(void) override;
214
215 /* *************************************************************************************
216 * Public Method
217 */
218 public:
229 virtual bool setInputValue(bool level);
230
231 /* *************************************************************************************
232 * Protected Method
233 */
234
235 /* *************************************************************************************
236 * Private Method
237 */
238
239 /* *************************************************************************************
240 * Static Variable
241 */
242
243 /* *************************************************************************************
244 * Static Method
245 */
246};
247
248/* ***************************************************************************************
249 * End of file
250 */
251
252#endif /* MFRAME_422910B3_C829_4F28_9F7E_4A928F53DA5A */
253
254#endif /* A136C030_5E69_4038_9BEE_7D0CD8903BEE */
虛擬GPIO引腳類別。
Definition VirtualGeneralPin.h:45
virtual hal::digital::GeneralPin & setOutput(void) override
將引腳模式設定為輸出模式。
virtual hal::digital::GeneralOutput & setToggle(void) override
設定引腳輸出反向電平。
virtual hal::digital::GeneralPin & setInput(void) override
將引腳模式設定為輸入模式。
virtual hal::digital::GeneralOutput & setValue(bool level) override
設定引腳輸出電平。
virtual ~VirtualGeneralPin(void) override
解構虛擬通用引腳物件。
virtual GeneralPin::Mode setPinMode(GeneralPin::Mode mode) override
設定引腳的工作模式。
virtual bool getDir(void) override
取得引腳的方向。
virtual bool setInputValue(bool level)
模擬輸入訊號。
virtual GeneralPin::Mode getPinMode(void) override
取得引腳目前的工作模式。
VirtualGeneralPin(void)
建構虛擬GPIO引腳。
virtual hal::digital::GeneralOutput & setHigh(void) override
設定輸出為高電平。
virtual bool getValue(void) override
讀取引腳輸入電平。
virtual hal::digital::GeneralOutput & setLow(void) override
設定輸出為低電平。
virtual hal::digital::GeneralPin & setDir(bool dir) override
設定引腳的方向。
物件基底類別
Definition Object.h:63
Definition Ammeter.h:22
[Interface] GPIO輸出控制介面。
Definition GeneralOutput.h:40
[Interface] GPIO引腳基礎介面。
Definition GeneralPin.h:44
Mode
GPIO引腳電氣特性模式。
Definition GeneralPin.h:141