mFrame
載入中...
搜尋中...
無符合項目
ufm::io::SerialBusQueue 類別 參考文件

SerialBus佇列管理器 更多...

#include <SerialBusQueue.h>

類別ufm::io::SerialBusQueue的繼承圖:
ufm::io::SerialBus ufm::io::SerialBus::Event ufm::lang::Object hal::serial::IIC::EventTransfer hal::serial::IIC::EventReceiver hal::serial::IIC::EventStop hal::serial::IICMaster::EventError ufm::lang::Interface

複合項目

struct  Block
 SerialBus佇列區塊結構 更多...
 

公開方法(Public Methods)

 SerialBusQueue (hal::serial::IICMaster &iicMaster, int queueSize)
 建構一個新的SerialBusQueue物件
 
 SerialBusQueue (hal::serial::IICMaster &iicMaster, ufm::lang::Memory queueBuffer) noexcept
 建構一個新的SerialBusQueue物件
 
virtual ~SerialBusQueue (void) override
 解構SerialBusQueue物件
 
virtual bool isBusy (void) override
 
virtual bool write (uint16 address, int length, const void *source, SerialBus::Event *event) override
 
virtual bool read (uint16 address, int length, void *buffer, SerialBus::Event *event) override
 
virtual void onComplete (void) override
 當傳輸完成時調用
 
virtual void onNoResponseEvent (int completedQuantity) override
 當發生無回應事件時調用
 
virtual void onBusErrorEvent (int completedQuantity) override
 當發生總線忙碌事件時調用
 
virtual void onCancel (int completedQuantity) override
 當傳輸被取消時調用
 
void cancelAll (void)
 取消所有佇列中的傳輸請求
 
bool isEmpty (void)
 檢查佇列是否為空
 
- 公開方法(Public Methods) 繼承自 ufm::io::SerialBus
 SerialBus (hal::serial::IICMaster &iicMaster)
 建構SerialBus物件
 
virtual ~SerialBus (void) override
 解構SerialBus物件
 
virtual bool onTransfer (uint8 &data) override
 當需要傳輸資料時調用此方法
 
virtual bool onReceiver (const uint8 data) override
 當接收到資料時調用此方法
 
virtual void onStop (void) override
 當IIC通訊停止時調用此方法
 
virtual void onNanAcknowledgeEvent (int queueRemainingCount) override
 當發生無回應(NAK)事件時調用
 
virtual void onBusBusyEvent (void) override
 當發生總線忙碌事件時調用
 
virtual bool cancel (void)
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (void) override
 取得對應的 Object 物件
 
void delay (int milliseconds) const
 延遲指定的毫秒數進行執行緒等待
 
bool equals (Object *object) const
 判斷與另一物件是否為相同參照(指標型態比較)
 
bool equals (Object &object) const
 判斷與另一物件是否為相同參照(參照型態比較)
 
void wait (void) const
 使當前線程等待直到被通知
 
bool wait (int timeout) const
 等待通知或超時
 
bool yield (void) const
 讓執行緒讓渡控制權給同優先權的下一個執行緒
 
int lock (void) const
 核心鎖定,鎖定期間禁止線程切換
 
int unlock (void) const
 核心解鎖
 
ufm::sys::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 

詳細描述

SerialBus佇列管理器

1.0.0

建構子與解構子說明文件

◆ SerialBusQueue() [1/2]

ufm::io::SerialBusQueue::SerialBusQueue ( hal::serial::IICMaster & iicMaster,
int queueSize )

建構一個新的SerialBusQueue物件

參數
iicMasterIIC主設備參考
queueSize佇列大小

◆ SerialBusQueue() [2/2]

ufm::io::SerialBusQueue::SerialBusQueue ( hal::serial::IICMaster & iicMaster,
ufm::lang::Memory queueBuffer )
noexcept

建構一個新的SerialBusQueue物件

參數
iicMasterIIC主設備參考
queueBuffer佇列緩衝區記憶體

函式成員說明文件

◆ isBusy()

virtual bool ufm::io::SerialBusQueue::isBusy ( void )
overridevirtual

依據ufm::io::SerialBus重新實作.

◆ isEmpty()

bool ufm::io::SerialBusQueue::isEmpty ( void )

檢查佇列是否為空

傳回值
true 佇列為空
false 佇列非空

◆ onBusErrorEvent()

virtual void ufm::io::SerialBusQueue::onBusErrorEvent ( int completedQuantity)
overridevirtual

當發生總線忙碌事件時調用

參數
completedQuantity已完成的傳輸數量

實作 ufm::io::SerialBus::Event.

◆ onCancel()

virtual void ufm::io::SerialBusQueue::onCancel ( int completedQuantity)
overridevirtual

當傳輸被取消時調用

參數
completedQuantity已完成的傳輸數量

實作 ufm::io::SerialBus::Event.

◆ onComplete()

virtual void ufm::io::SerialBusQueue::onComplete ( void )
overridevirtual

當傳輸完成時調用

實作 ufm::io::SerialBus::Event.

◆ onNoResponseEvent()

virtual void ufm::io::SerialBusQueue::onNoResponseEvent ( int completedQuantity)
overridevirtual

當發生無回應事件時調用

參數
completedQuantity已完成的傳輸數量

實作 ufm::io::SerialBus::Event.

◆ read()

virtual bool ufm::io::SerialBusQueue::read ( uint16 address,
int length,
void * buffer,
SerialBus::Event * event )
overridevirtual

依據ufm::io::SerialBus重新實作.

◆ write()

virtual bool ufm::io::SerialBusQueue::write ( uint16 address,
int length,
const void * source,
SerialBus::Event * event )
overridevirtual

依據ufm::io::SerialBus重新實作.


此類別(class) 文件是由下列檔案中產生: