mFrame
載入中...
搜尋中...
無符合項目
SerialBusQueue.h
1
7#ifndef HAL_1571B467_887D_4AC9_A803_148C427F0C68
8#define HAL_1571B467_887D_4AC9_A803_148C427F0C68
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "mframe.h"
16
17//----------------------------------------------------------------------------------------
18#include "./SerialBus.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace hal::serial {
24 class SerialBusQueue;
25} // namespace hal::serial
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
32 /* *************************************************************************************
33 * Struct
34 */
35 public:
36 struct Block {
38 uint8* vBuffer;
39 uint16 vLength;
40 uint16 vAddress;
41 };
42
43 /* *************************************************************************************
44 * Variable
45 */
46 private:
49
50 /* *************************************************************************************
51 * Abstract Method
52 */
53
54 /* *************************************************************************************
55 * Construct Method
56 */
57 public:
62 SerialBusQueue(hal::serial::IICMaster& iicMaster, int queueSize);
63
69 const mframe::lang::Memory& queueBuffer);
70
75 virtual ~SerialBusQueue(void) override;
76
77 /* *************************************************************************************
78 * Operator Method
79 */
80 public:
81 /* *************************************************************************************
82 * Public Method <Override> - hal::serial::SerialBus
83 */
84 virtual bool isBusy(void) override;
85
86 virtual bool write(uint16 address, int length, const void* source,
87 hal::serial::SerialBusEvent* event) override;
88
89 virtual bool read(uint16 address, int length, void* buffer,
90 hal::serial::SerialBusEvent* event) override;
91
92 /* *************************************************************************************
93 * Public Method <Override> - hal::serial::SerialBusEvent
94 */
95 public:
96 virtual void onComplete(void) override;
97
98 virtual void onNanAcknowledgeEvent(int completedQuantity) override;
99
100 virtual void onBusBusyEvent(int completedQuantity) override;
101
102 virtual void onCancel(int completedQuantity) override;
103
106
107 /* *************************************************************************************
108 * Public Method
109 */
110 public:
115 void cancelAll(void);
116
123 bool isEmpty(void);
124
125 /* *************************************************************************************
126 * Protected Method
127 */
128
129 /* *************************************************************************************
130 * Private Method
131 */
132 private:
133 bool pushBlock(uint16 address, int length, void* buffer,
135
136 void pollBlock(void);
137
138 /* *************************************************************************************
139 * Static Variable
140 */
141
142 /* *************************************************************************************
143 * Static Method
144 */
145};
146
147/* ***************************************************************************************
148 * End of file
149 */
150
151#endif /* HAL_1571B467_887D_4AC9_A803_148C427F0C68 */
Definition SerialBus.h:37
virtual void onNanAcknowledgeEvent(void) override
當發生未回應事件時將調用
virtual void onBusBusyEvent(void) override
當發生總線忙碌時將調用
Definition SerialBusQueue.h:31
virtual bool write(uint16 address, int length, const void *source, hal::serial::SerialBusEvent *event) override
virtual void onComplete(void) override
完成傳輸
SerialBusQueue(hal::serial::IICMaster &iicMaster, const mframe::lang::Memory &queueBuffer)
Construct a new object.
virtual bool read(uint16 address, int length, void *buffer, hal::serial::SerialBusEvent *event) override
virtual bool isBusy(void) override
virtual void onNanAcknowledgeEvent(int completedQuantity) override
virtual void onBusBusyEvent(int completedQuantity) override
virtual void onCancel(int completedQuantity) override
SerialBusQueue(hal::serial::IICMaster &iicMaster, int queueSize)
Construct a new object.
virtual ~SerialBusQueue(void) override
Destroy the object.
Definition Memory.h:29
Definition PArrayQueue.h:33
Definition IIC.h:25
Definition IICMaster.h:31
Definition SerialBusEvent.h:29
Definition SerialBusQueue.h:36