mFrame
載入中...
搜尋中...
無符合項目
SerialBus.h
1
7#ifndef MFRAME_A1AF0B90_C246_476C_9487_B0164A301552
8#define MFRAME_A1AF0B90_C246_476C_9487_B0164A301552
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15
16//----------------------------------------------------------------------------------------
17#include "./../../hal/serial/IICMaster.h"
18#include "./../../ufm/lang/Object.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace ufm::io {
24 class SerialBus;
25} // namespace ufm::io
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
30
45 /* *************************************************************************************
46 * Class/Interface/Struct/Enum
47 */
48 public:
49 struct Event;
51 /* *************************************************************************************
52 * Variable
53 */
54 private:
55 hal::serial::IICMaster& vIICMaster;
57 uint8* vBuffer;
58 uint16 vLength;
59 uint16 vIndex;
61 /* *************************************************************************************
62 * Abstract Method
63 */
64
65 /* *************************************************************************************
66 * Construct Method
67 */
68 public:
78
84 virtual ~SerialBus(void) override;
85
86 /* *************************************************************************************
87 * Operator Method
88 */
89
90 /* *************************************************************************************
91 * Override Method - hal::serial::IICEventTransfer
92 */
93 public:
103 virtual bool onTransfer(uint8& data) override;
104
105 /* *************************************************************************************
106 * Override Method - hal::serial::IICEventReceiver
107 */
108 public:
118 virtual bool onReceiver(const uint8 data) override;
119
120 /* *************************************************************************************
121 * Override Method - hal::serial::IICEventStop
122 */
123 public:
131 virtual void onStop(int queueRemainingCount) override;
132
133 /* *************************************************************************************
134 * Override Method - hal::serial::IICEventError
135 */
136 public:
144 virtual void onNanAcknowledgeEvent(int queueRemainingCount) override;
145
153 virtual void onBusBusyEvent(int queueRemainingCount) override;
154
155 /* *************************************************************************************
156 * Public Method
157 */
158 public:
165 virtual bool isBusy(void);
166
179 virtual bool write(uint16 address,
180 int length,
181 const void* source,
182 SerialBus::Event* event);
183
196 virtual bool read(uint16 address, int length, void* buffer, SerialBus::Event* event);
197
206 virtual bool cancel(void);
207
208 /* *************************************************************************************
209 * Protected Method
210 */
211
212 /* *************************************************************************************
213 * Private Method
214 */
215 private:
221 void flush(void);
222
223 /* *************************************************************************************
224 * Static Variable
225 */
226
227 /* *************************************************************************************
228 * Static Method
229 */
230};
231
249 virtual void onComplete(int completedQuantity) abstract;
250
259 virtual void onNoResponseEvent(int completedQuantity) abstract;
260
268 virtual void onBusErrorEvent(int completedQuantity) abstract;
269
277 virtual void onCancel(int completedQuantity) abstract;
278};
279
280/* ***************************************************************************************
281 * End of file
282 */
283
284#endif /* MFRAME_A1AF0B90_C246_476C_9487_B0164A301552 */
序列總線基礎類別
Definition SerialBus.h:44
virtual void onBusBusyEvent(int queueRemainingCount) override
IIC 總線忙碌錯誤事件處理
virtual bool cancel(void)
取消當前傳輸
virtual bool isBusy(void)
檢查總線是否忙碌
virtual ~SerialBus(void) override
解構SerialBus物件
virtual bool read(uint16 address, int length, void *buffer, SerialBus::Event *event)
從指定設備讀取資料
virtual void onStop(int queueRemainingCount) override
IIC 停止事件處理
virtual bool onReceiver(const uint8 data) override
IIC 接收事件處理
virtual void onNanAcknowledgeEvent(int queueRemainingCount) override
IIC 無回應錯誤事件處理
virtual bool onTransfer(uint8 &data) override
IIC 傳輸事件處理
virtual bool write(uint16 address, int length, const void *source, SerialBus::Event *event)
寫入資料到指定設備
SerialBus(hal::serial::IICMaster &iicMaster)
建構SerialBus物件
物件基底類別
Definition Object.h:63
輸入/輸出操作命名空間
Definition Buffer.h:24
[Interface] IIC接收事件處理器
Definition IIC.h:81
[Interface] IIC停止事件監聽器
Definition IIC.h:105
[Interface] IIC傳輸事件處理器
Definition IIC.h:127
[Interface] IIC錯誤事件處理器
Definition IICMaster.h:156
[Interface] IIC主端設備介面
Definition IICMaster.h:39
序列總線事件處理介面
Definition SerialBus.h:241
virtual void onBusErrorEvent(int completedQuantity) override
總線錯誤事件
virtual void onNoResponseEvent(int completedQuantity) override
無回應錯誤事件
virtual void onComplete(int completedQuantity) override
傳輸完成事件
virtual void onCancel(int completedQuantity) override
傳輸取消事件