mFrame
載入中...
搜尋中...
無符合項目
CorePulseWidth.h
1
7#ifndef CORE_2C777839_642E_455E_B7C5_25AAAAAF0857
8#define CORE_2C777839_642E_455E_B7C5_25AAAAAF0857
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "hal.h"
16#include "mframe.h"
17
18//----------------------------------------------------------------------------------------
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace core {
24 class CorePulseWidth;
25} // namespace core
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
32 /* *************************************************************************************
33 * Enum - Select
34 */
35 public:
36 enum struct Select : unsigned char {
37 CTIMER0 = 0,
38 CTIMER1 = 1,
39 CTIMER2 = 2
40 };
41
42 /* *************************************************************************************
43 * Enum - Channel
44 */
45 public:
46 enum struct Channel : unsigned char {
47 MAT0 = 0,
48 MAT1 = 1,
49 MAT2 = 2,
50 MAT3 = 3
51 };
52
53 /* *************************************************************************************
54 * Variable
55 */
56 public:
57 void* const vBase;
58 const Channel vPeriodChannel;
59
60 /* *************************************************************************************
61 * Abstract Method
62 */
63
64 /* *************************************************************************************
65 * Construct Method
66 */
67 public:
72 CorePulseWidth(Select select, Channel periodChannel);
73
78 virtual ~CorePulseWidth(void) override;
79
80 /* *************************************************************************************
81 * Operator Method
82 */
83
84 /* *************************************************************************************
85 * Public Method <Override> - hal::Base
86 */
87 public:
88 virtual bool deinit(void) override;
89
90 virtual bool init(void) override;
91
92 virtual bool isInit(void) override;
93
94 /* *************************************************************************************
95 * Public Method <Override> - hal::counter::PulseWidth
96 */
97 public:
98 virtual int setPeriod(float hz) override;
99
100 virtual bool setPercent(int channel, float percent) override;
101
102 virtual bool getPercent(int channel, float& result) override;
103
104 virtual bool start(bool enable) override;
105
106 /* *************************************************************************************
107 * Public Method
108 */
109
110 /* *************************************************************************************
111 * Protected Method
112 */
113
114 /* *************************************************************************************
115 * Private Method
116 */
117
118 /* *************************************************************************************
119 * Static Variable
120 */
121
122 /* *************************************************************************************
123 * Static Method
124 */
125};
126
127/* ***************************************************************************************
128 * End of file
129 */
130
131#endif /* CORE_2C777839_642E_455E_B7C5_25AAAAAF0857 */
Definition CorePulseWidth.h:31
virtual int setPeriod(float hz) override
設定計數器週期
CorePulseWidth(Select select, Channel periodChannel)
Construct a new object.
virtual bool isInit(void) override
取得硬體是否已初始化。
virtual bool getPercent(int channel, float &result) override
取得指定通道的脈寬百分比
virtual ~CorePulseWidth(void) override
Destroy the object.
virtual bool init(void) override
硬體初始化。
virtual bool start(bool enable) override
啟動或停止計數器
virtual bool deinit(void) override
硬體去初始化。
virtual bool setPercent(int channel, float percent) override
設定指定通道的脈寬百分比
Definition Object.h:34
Definition glikey/Mask.h:22
[Interface] 脈寬計數器介面定義
Definition PulseWidth.h:31