專利名稱:信號燈閃爍控制方法
技術領域:
本發明涉及一種信號燈閃爍控制方法。
背景技術:
信號燈被廣泛的用于各種終端設備作為信號質量、數據流量、開關機動作等過程的提示手段。例如,在各種手機上的信號指示燈,以周期性閃爍的方式提示用戶處于正常的工作狀態;而各種網絡設備如以太網卡在工作中往往在數據傳輸的同時快速閃爍其信號指示燈。
特別的,對于無線終端設備,由于設備可以具有諸如無服務、正在搜索信號、搜索到網絡、語音被叫或是進行數據傳輸等多個狀態,往往需要設計若干種閃爍類型予以提示用戶,如周期性單次閃爍、周期性雙次閃爍、周期性慢速閃爍(即亮滅狀態慢速交替的過程)或短時快速閃爍等。
目前,實現信號燈的閃爍控制有多種技術方案,例如一些手機開機后固定以一種閃爍方式提示用戶設備的工作狀態正常。而閃爍的控制則是通過程序語言實現的循環計數。
參考圖1,該圖是控制信號燈周期性單次閃爍的示意圖。
首先,在循環計數達到預計的M次后,由程序控制信號指示燈點亮;在繼續循環計數到N次時,熄滅信號指示燈,然后周期性重復執行,從而實現了單次閃爍的效果,如圖1中所示,一般一個閃爍周期的占空比為N∶M。
參考圖2,該圖是控制信號燈周期性雙次閃爍的示意圖。
與周期性單次閃爍類似,如果實現周期性雙次閃爍,則需在一個周期內執行如下的處理步驟首先,啟動循環計數M次時,由程序控制信號指示燈的點亮;在繼續循環N次后,熄滅信號指示燈;然后循環計數N1時,點亮指示燈;在持續循環N次后,熄滅指示燈,然后重新開始執行。
上述現有技術可以實現信號燈的閃爍控制,但是也有如下缺點1)上述循環計數控制信號燈閃爍的方案中,針對一種閃爍方式需要設計一種控制流程,因此當需要支持多種閃爍類型,且這些閃爍類型之間變更較大時,需要冗長的程序代碼描述各個閃爍流程;3)其次,采用循環計數實現信號燈閃爍控制的方案,只能通過計數的次數改變整個閃爍周期的時間和占空比,不夠靈活,而且由于多數信號燈所在的終端設備的軟件執行環境是多任務系統,循環計數需要占用微處理器的執行時間,不僅效率低,也可能影響其他任務的執行;3)如果應用于無線終端設備,上述現有技術支持的提示狀態有限,無法全面提示用戶當前無線終端設備的工作狀態如搜索網絡、無信號、測試模式、來電振鈴等。
發明內容
本發明解決的技術問題是提供一種信號燈閃爍控制方法,以便簡單高效的實現信號燈閃爍控制。
為解決上述問題,本發明的信號燈閃爍控制方法,包括A、將信號燈閃爍周期設置為熄滅階段時長和按亮滅時隙劃分的閃爍階段時長;B、確定對應信號燈閃爍階段時長中各個亮滅時隙信號燈亮滅狀態的比特序列的閃爍掩碼;C、在所述的閃爍階段時長,根據所述的閃爍掩碼的比特序列控制信號燈進行閃爍;
D、在所述的熄滅階段時長控制信號燈熄滅。
其中,步驟C包括C1、確定信號燈閃爍掩碼的有效比特數;C2、從閃爍掩碼中取一個比特值作為當前時隙信號燈亮滅取值;C3、根據所述的信號燈亮滅取值控制信號燈進行相應亮滅閃爍;C4、判斷所取的比特數是否達到有效比特數,若是,執行步驟D,否則,返回執行步驟C2。
其中,步驟C3還包括設置亮滅時隙定時器;在所述的亮滅時隙定時器沒有超時之前控制信號燈按照信號燈亮滅取值進行相應亮滅閃爍。
其中,步驟D包括設置熄滅時長定時器;在所述的熄滅時長定時器沒有超時前控制信號燈熄滅。
其中,步驟B還包括設置閃爍階段時長中信號燈閃爍顏色,步驟C2還包括在信號燈亮時控制信號燈顯示為所述的顏色。
另外,本發明中還將所述的信號燈的閃爍掩碼、熄滅階段時長、亮滅時隙寬度、掩碼有效比特數和信號燈閃爍顏色設置為對應一種閃爍方式的信號燈閃爍屬性集合,在信號燈閃爍方式改變時修改相應的屬性參數值。
另外,本發明中還設置信號燈狀態遷移的狀態機模型,該狀態機的每一個狀態對應一種閃爍方式,通過所述的狀態機的狀態轉移觸發實現信號燈閃爍方式的改變。
與現有技術相比,本發明具有以下有益效果首先,本發明中將所述的信號燈的閃爍階段時長、熄滅階段時長、閃爍掩碼、掩碼有效比特數和信號燈閃爍顏色設置為對應一種閃爍方式的信號燈閃爍屬性集合,在信號燈閃爍方式改變時修改相應的屬性參數值。在具體實現信號燈的各個閃爍控制流程時,只需修改上述的屬性參數值即可,不需要冗長的程序代碼描述各個閃爍流程;其次,本發明中可以使用軟件定時器或硬件電路控制亮滅時隙寬度和熄滅階段時長,而在時隙交替時,根據掩碼中的比特取值,決定下一個時隙信號指示燈的亮滅,相比現有技術,本發明處理信號燈閃爍控制更靈活,占用微處理器的執行時間更少,效率更高;再次,本發明中還設計了信號燈的狀態機模型可以方便的對多個終端設備狀態進行提示,并且可以增加和描述更多的狀態轉移關系。在信號燈的閃爍方式改變時通過所述的狀態機的狀態轉移觸發實現信號燈閃爍方式的改變,可全面提示用戶當前無線終端設備的工作狀態。
圖1是現有技術實現信號燈周期性單次閃爍控制的示意圖;圖2是現有技術實現信號燈周期性雙次閃爍控制的示意圖;圖3是本發明對信號燈閃爍方式建模的閃爍屬性參數示意圖;圖4是本發明信號燈閃爍控制的方法具體實施例流程圖;圖5是本發明信號燈閃爍方式的狀態機模型示意圖。
具體實施例方式
本發明的核心在于對各種信號指示燈閃爍方式進行統一的描述和建模,并設計了信號燈的狀態機模型控制實現信號燈各種閃爍方式的選擇切換。
參考圖3,該圖是本發明對信號燈閃爍方式建模的閃爍屬性參數示意圖。
本發明中引入下述幾個屬性定義信號燈閃爍方式,用于實現閃爍控制
1)閃爍階段,指信號燈的亮滅交替階段的時長;2)亮/滅時隙,指信號燈在亮滅交替時的每次亮或滅的持續時間;3)閃爍掩碼,指閃爍階段每次亮、滅時間到時點亮還是熄滅所依據的比特序列,其中,每一個比特代表本次的操作是點亮還是熄滅;4)熄滅階段,指一個閃爍周期中除閃爍階段后的剩余時間,信號指示燈處于熄滅的狀態。顯然,閃爍周期=閃爍階段+熄滅階段;5)指示燈顏色,指某一閃爍方式采用的信號燈顏色。
其中,上述閃爍階段的亮滅交替的具體情況使用閃爍掩碼描述,該掩碼可采用一個16進制數,該掩碼的每一個比特用于代表在閃爍階段的每一個時隙信號燈為亮還是滅,根據對閃爍階段時長的要求,亮滅時隙的單位可以是毫秒或是秒等時間單位。
另外,對于上述閃爍掩碼其位數可以是32比特或是64比特,主要由終端設備的軟件系統決定,而為了表示掩碼中的有效比特數,可以增加新的屬性即掩碼有效比特數,這樣,閃爍階段時長=亮滅時長×掩碼有效比特數。
基于上述提取的這幾種屬性,本發明中可以采用下面的屬性集合定義信號燈的各種周期性信號燈閃爍類型{閃爍掩碼,掩碼有效比特數,亮滅時隙寬度,熄滅階段,信號燈顏色},其中信號燈顏色屬性是可選的,在信號燈閃爍方式改變時修改相應的屬性參數值可實現信號燈閃爍方式改變。
借助于C語言,可以將上述屬性集合設計為一個數據結構體類型予以表述struct blink_pattern_type{uint32 blink_mask;/*閃爍掩碼,最大32比特*/intmask_len;/*掩碼的有效比特數*/intslot_width;/*亮滅的時隙寬度*/int2 off_len;/*熄滅時長*/
intcolor/*以取值分別代表信號燈顏色*/}以具體例子進行說明,例如一個信號燈的閃爍方式可這樣描述{0×AA000000,8,100,5000,1}。具體的,閃爍掩碼以二進制表示,有8個比特位,為10101010B,如果以1代表點亮,0代表熄滅,則為四次亮滅交替,共8個時隙,每個時隙100毫秒,然后持續5000毫秒的熄滅時間后,開始下一周期的閃爍,取值1可代表藍色燈(2表示綠色燈,依次類推)。
下面說明本發明進行信號燈閃爍控制的流程圖。
參考圖4,該圖是本發明基于掩碼和定時器進行信號燈閃爍控制的具體實施例流程圖,具體主要包括以下步驟步驟10,確定信號燈閃爍周期的熄滅階段時長和按亮滅時隙劃分的閃爍階段時長。
步驟11,確定對應信號燈閃爍階段時長中各個亮滅時隙信號燈亮滅狀態的比特序列的閃爍掩碼。
步驟12,在所述的閃爍階段時長,根據所述的閃爍掩碼的閃爍比特序列控制信號燈進行閃爍,在具體實現時,包括如下步驟步驟121、確定信號燈閃爍掩碼的有效比特數;步驟122、從閃爍掩碼中取一個比特值作為當前時隙信號燈亮滅取值;步驟123、根據所述的信號燈亮滅取值控制信號燈進行相應亮滅閃爍,本實施例中可通過一個定時器實現,即設置一個亮滅時隙定時器;在所述的亮滅時隙定時器沒有超時之前控制信號燈按照信號燈亮滅取值進行相應亮滅閃爍。
步驟124、判斷所取的比特數是否達到掩碼有效比特數,若是,執行步驟13,否則,返回執行步驟122。
步驟13,在所述的熄滅階段時長控制信號燈熄滅。具體實現時可通過一個定時器實現,即通過設置一個熄滅時長定時器,在所述的熄滅時長定時器沒有超時前控制信號燈熄滅。
需要說明的是,上述步驟11還包括設置閃爍階段時長中信號燈閃爍顏色,步驟123還包括在信號燈亮時控制信號燈顯示為所述的顏色。
下面以無線終端中信號燈閃爍控制的應用為例進行說明。
隨著移動通信技術的發展,各種無線終端設備集成了越來越多的功能,諸如支持無線上網、語音電話等業務,或是選擇支持多種制式如GSM或是WCDMA等。盡管涉及到的狀態多,但仍要求提供簡單一致的信號燈提示方式給終端用戶。
本實施例中設計了控制信號燈狀態的狀態機和對應狀態下信號燈閃爍的機制。該狀態機的每一個狀態對應一種閃爍方式,通過所述的狀態機的狀態轉移觸發實現信號燈閃爍方式的改變。
本實施例中無線終端設備狀態機模型定義了該設備的各種閃爍狀態,是信號燈閃爍方式切換的依據。
參考圖5,該狀態機涉及到但不限于以下5個狀態1)網絡丟失事件,即無線終端設備失去與移動網絡的聯系發生時;2)搜索到網絡事件,即無線終端設備接收到了有效的信號覆蓋時;3)進入測試模式事件,即終端設備從正常工作模式轉入測試模式,以便提供生產測試功能;4)來電事件,即無線終端設備接收到來自另一用戶的呼叫請求,需要振鈴提示用戶;5)數據傳輸檢測事件,即用戶正在通過無線終端進行無線上網的操作。
另外,還需要終端設備提供對于下述事件的報告機制(不在本發明的范疇內),以便觸發狀態機狀態的遷移。具體的,上述(信號指示燈)狀態之間的轉換關系可如下設計1)收到“搜索到網絡事件”,ST_A遷移到ST_B,此時檢測到信號,搜索到網絡服務,狀態從“無信號”遷移到“搜索到網絡”;2)收到“網絡丟失事件”,ST_B遷移到ST_A,此時信號強度減小或是因為其他原因無法獲得有效服務,狀態從“搜索到網絡”轉移到“無信號”;3)收到“進入測試模式事件”,ST_B/ST_A遷移到ST_C,此時終端設備按照控制命令切換到測試模式;4)收到“來電事件”,ST_B遷移到ST_D,使用對應于來電事件的閃爍方式提示用戶;6)收到“數據傳輸檢測事件”,ST_B遷移到ST_E,此時有數據通過無線終端設備傳輸。
另外,如圖5所示,在狀態遷移的過程中,可以提供當前無線終端設備的工作模式信息,如GSM或WCDMA,作為選擇信號指示燈閃爍方式,如指示燈顏色的依據。
綜上,本發明不論是對信號燈的周期性閃爍或是非周期性閃爍控制,都可可以用軟件代碼或是硬件電路進行一致化的實現。譬如使用軟件定時器控制亮滅時隙寬度和熄滅階段時長,而在時隙交替時,根據掩碼中的比特取值,決定下一個時隙信號指示燈的亮滅,可簡單高效的實現信號燈閃爍控制。
以上所述僅為本發明的優選實施方式,并不構成對本發明保護范圍的限定。任何在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的權利要求保護范圍之內。
權利要求
1.一種信號燈閃爍控制方法,其特征在于,包括A、將信號燈閃爍周期設置為熄滅階段時長和按亮滅時隙劃分的閃爍階段時長;B、確定對應信號燈閃爍階段時長中各個亮滅時隙信號燈亮滅狀態的比特序列的閃爍掩碼;C、在所述的閃爍階段時長,根據所述的閃爍掩碼的比特序列控制信號燈進行閃爍;D、在所述的熄滅階段時長控制信號燈熄滅。
2.根據權利要求1所述的信號燈閃爍控制方法,其特征在于,步驟C包括C1、確定信號燈閃爍掩碼的有效比特數;C2、從閃爍掩碼中取一個比特值作為當前時隙信號燈亮滅取值;C3、根據所述的信號燈亮滅取值控制信號燈進行相應亮滅閃爍;C4、判斷所取的比特數是否達到有效比特數,若是,執行步驟D,否則,返回執行步驟C2。
3.根據權利要求2所述的信號燈閃爍控制方法,其特征在于,步驟C3還包括設置亮滅時隙定時器;在所述的亮滅時隙定時器沒有超時之前控制信號燈按照信號燈亮滅取值進行相應亮滅閃爍。
4.根據權利要求1-3任一項所述的信號燈閃爍控制方法,其特征在于,步驟D包括設置熄滅時長定時器;在所述的熄滅時長定時器沒有超時前控制信號燈熄滅。
5.根據權利要求4所述的信號燈閃爍控制方法,其特征在于,步驟B還包括設置閃爍階段時長中信號燈閃爍顏色,步驟C3還包括在信號燈亮時控制信號燈顯示為所述的顏色。
6.根據權利要求5所述的信號燈閃爍控制方法,其特征在于,將所述的信號燈的閃爍掩碼、熄滅階段時長、亮滅時隙寬度、掩碼有效比特數和信號燈閃爍顏色設置為對應一種閃爍方式的信號燈閃爍屬性集合,在信號燈閃爍方式改變時修改相應的屬性參數值。
7.根據權利要求6所述的信號燈閃爍控制方法,其特征在于,設置信號燈狀態遷移的狀態機模型,該狀態機的每一個狀態對應一種閃爍方式,通過所述的狀態機的狀態轉移觸發實現信號燈閃爍方式的改變。
全文摘要
本發明公開一種信號燈閃爍控制方法,包括將信號燈閃爍周期設置為熄滅階段時長和按亮滅時隙劃分的閃爍階段時長;確定對應信號燈閃爍階段時長中各個亮滅時隙信號燈亮滅狀態的比特序列的閃爍掩碼;在所述的閃爍階段時長,根據所述的閃爍掩碼的比特序列控制信號燈進行閃爍;在所述的熄滅階段時長控制信號燈熄滅。本發明可簡單高效的實現信號燈閃爍控制。
文檔編號H05B41/36GK1842238SQ20051005987
公開日2006年10月4日 申請日期2005年3月31日 優先權日2005年3月31日
發明者何群峰, 張建春 申請人:華為技術有限公司