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

序列總線裝置類別 更多...

#include <SerialBusDevice.h>

類別ufm::io::SerialBusDevice的繼承圖:
ufm::lang::Object ufm::io::SerialBus::Event ufm::lang::Interface

公開型態

enum struct  State : uint8_t {
  IDLE = 0 , COMPLETE = 1 , NO_RESPONSE = 2 , BUS_ERROR = 3 ,
  CANCEL = 4
}
 序列總線裝置狀態列舉 更多...
 

公開方法(Public Methods)

 SerialBusDevice (void)
 建構序列總線裝置物件
 
virtual ~SerialBusDevice (void) override
 解構序列總線裝置物件
 
virtual void onComplete (int completedQuantity) override
 通訊完成事件處理
 
virtual void onNoResponseEvent (int completedQuantity) override
 無回應事件處理
 
virtual void onBusErrorEvent (int completedQuantity) override
 總線錯誤事件處理
 
virtual void onCancel (int completedQuantity) override
 取消事件處理
 
void flush (void)
 清除裝置狀態
 
int getCompletedQuantity (void) const
 取得已完成傳輸的資料量
 
State getStatus (void) const
 取得目前裝置狀態
 
bool isIdle (void) const
 檢查裝置是否為閒置狀態
 
bool isComplete (void) const
 檢查通訊是否已完成
 
bool isNoResponse (void) const
 檢查是否發生無回應錯誤
 
bool isBusError (void) const
 檢查是否發生總線錯誤
 
bool isCancel (void) const
 檢查通訊是否被取消
 
- 公開方法(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
 虛擬析構函式
 

詳細描述

序列總線裝置類別

此類別實現了序列總線裝置的基本功能,並處理通訊完成、無回應、總線錯誤和取消事件。 提供狀態管理和完成數量查詢功能。

1.0.0

列舉型態成員說明文件

◆ State

enum struct ufm::io::SerialBusDevice::State : uint8_t
strong

序列總線裝置狀態列舉

定義序列總線裝置在不同通訊階段的狀態。

列舉值
IDLE 

閒置狀態,沒有進行中的通訊

COMPLETE 

完成狀態,通訊成功完成

NO_RESPONSE 

無回應狀態,設備未回應通訊請求

BUS_ERROR 

總線錯誤狀態,通訊過程中發生錯誤

CANCEL 

取消狀態,通訊被中止或取消

建構子與解構子說明文件

◆ SerialBusDevice()

ufm::io::SerialBusDevice::SerialBusDevice ( void )

建構序列總線裝置物件

初始化裝置狀態為閒置,完成數量為0。

◆ ~SerialBusDevice()

virtual ufm::io::SerialBusDevice::~SerialBusDevice ( void )
overridevirtual

解構序列總線裝置物件

清理裝置資源。

函式成員說明文件

◆ flush()

void ufm::io::SerialBusDevice::flush ( void )

清除裝置狀態

重置裝置狀態為閒置,清除已完成數量記錄。用於準備新的通訊操作。

◆ getCompletedQuantity()

int ufm::io::SerialBusDevice::getCompletedQuantity ( void ) const
inline

取得已完成傳輸的資料量

傳回值
int 已完成傳輸的資料量(位元組數)

◆ getStatus()

State ufm::io::SerialBusDevice::getStatus ( void ) const
inline

取得目前裝置狀態

傳回值
State 目前的裝置通訊狀態

◆ isBusError()

bool ufm::io::SerialBusDevice::isBusError ( void ) const
inline

檢查是否發生總線錯誤

傳回值
true 發生總線錯誤
false 無總線錯誤或非此狀態

◆ isCancel()

bool ufm::io::SerialBusDevice::isCancel ( void ) const
inline

檢查通訊是否被取消

傳回值
true 通訊已被取消
false 通訊未被取消或非此狀態

◆ isComplete()

bool ufm::io::SerialBusDevice::isComplete ( void ) const
inline

檢查通訊是否已完成

傳回值
true 通訊成功完成
false 通訊未完成或失敗

◆ isIdle()

bool ufm::io::SerialBusDevice::isIdle ( void ) const
inline

檢查裝置是否為閒置狀態

傳回值
true 裝置處於閒置狀態
false 裝置非閒置狀態

◆ isNoResponse()

bool ufm::io::SerialBusDevice::isNoResponse ( void ) const
inline

檢查是否發生無回應錯誤

傳回值
true 裝置無回應
false 裝置有回應或非此狀態

◆ onBusErrorEvent()

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

總線錯誤事件處理

當序列總線發生錯誤時被呼叫,記錄已完成的資料量並設置狀態為總線錯誤。

參數
completedQuantity發生錯誤前已成功傳輸的資料量

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

◆ onCancel()

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

取消事件處理

當通訊被取消時被呼叫,記錄已完成的資料量並設置狀態為取消。

參數
completedQuantity取消前已成功傳輸的資料量

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

◆ onComplete()

virtual void ufm::io::SerialBusDevice::onComplete ( int completedQuantity)
overridevirtual

通訊完成事件處理

當序列總線通訊成功完成時被呼叫,記錄完成的資料量並將裝置狀態設置為完成。

參數
completedQuantity成功完成的資料量(位元組數)

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

◆ onNoResponseEvent()

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

無回應事件處理

當目標裝置無回應時被呼叫,記錄已完成的資料量並設置狀態為無回應。

參數
completedQuantity發生無回應前已成功傳輸的資料量

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


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