本發明涉及駕駛輔助技術領域,尤其涉及一種車機啟動過程中倒車軌跡線實現方法。
背景技術:
隨著車載信息系統(簡稱“車機”)的逐漸普及,越來越多的車型開始配置倒車影像功能。其中,倒車軌跡線作為輔助駕駛員進行倒車的功能受到廣大駕駛者的歡迎,這個功能大大簡化了倒車入庫的難度。
目前,大部分車機的倒車軌跡線功能只能在車機啟動完成后才能使用,也就是說,如果在車機啟動完成之前進行倒車的話,則無法使用倒車軌跡線功能,駕駛員只能等待車機完成啟動或者憑借經驗進行倒車,而車機啟動的時間往往較長,導致用戶體驗不佳。所以,目前大多數車機的做法是盡量縮短啟動時間,以便減少用戶的等待,然而,這種方法顯然是治標不治本的權宜之計,用戶迫切需要一種能在車機開機過程中也能實現倒車軌跡線的功能。
因此,現有技術有待進一步改進。
技術實現要素:
本發明提供一種車機啟動過程中倒車軌跡線實現方法,旨在解決現有技術中的缺陷,實現在車機啟動過程的任意階段都可以使用倒車軌跡線。
為達到上述目的,本發明所采取的技術方案為:
本發明提供一種車機啟動過程中倒車軌跡線實現方法,包括:
步驟1、定義主表面顯示區域、存儲主表面顯示圖片的地址空間;
步驟2、檢測是否存在倒車信號,是則進入下一步;
步驟3、檢測系統是否正在啟動過程中,是則進入下一步;
步驟4、顯示倒車畫面;
步驟5、在倒車畫面上疊加顯示倒車軌跡;
步驟6、描繪倒車軌跡線。
具體地,所述檢測系統是否正在啟動過程中包括:通過檢測共享內存的方式來判斷系統是否已完成啟動。
具體地,所述步驟6包括如下步驟:
步驟601、將軌跡線的緩沖數據填入所述主表面顯示圖片的地址空間;
步驟602、將軌跡線填充到預設的矩形區域;
步驟603、使用預設函數根據角度值在預設的矩形區域上描繪軌跡線;
步驟604、軌跡線描繪完成后,將所述主表面顯示圖片的地址空間的緩存數據拷貝到疊加顯示層進行顯示。
具體地,所述步驟603包括如下步驟:
步驟6031、描繪警戒線;
步驟6032、描繪左右軌跡線;
步驟6033、使用預設填充函數將所述軌跡線填充成預定顏色。
進一步地,在步驟3之后、步驟4之前還包括如下步驟:
步驟31、關閉顯示屏背光;
步驟32、檢測獲取到的角度值是否正確,是則打開背光,進入步驟4,否則進入下一步;
步驟33、判斷是否還在倒車狀態,是則返回步驟31,否則返回步驟2。
具體地,所述檢測獲取到的角度值是否正確,包括如下步驟:
步驟321、判斷獲取到的角度值是否在正常角度范圍內,是則進入下一步;
步驟322、對獲取到的角度值數據進行校驗。
具體地,所述正常角度范圍為±40°。
進一步地,在步驟6之后還包括:
步驟7、檢測倒車畫面是否消失,在檢測到倒車畫面消失的同時清空軌跡線的疊加顯示層的緩存。
具體地,所述檢測倒車畫面是否消失的步驟包括:通過查詢倒車畫面的視頻信號監測寄存器來判斷倒車畫面是否消失。
本發明的有益效果在于:本發明通過定義主表面顯示區域、存儲主表面顯示圖片的地址空間,直接操作顯示芯片的寄存器實現在車機啟動過程的任意階段都可以使用倒車軌跡線,提高了用戶體驗。
附圖說明
圖1是本發明的車機啟動過程中倒車軌跡線實現方法的流程示意圖。
具體實施方式
下面結合附圖具體闡明本發明的實施方式,附圖僅供參考和說明使用,不構成對本發明專利保護范圍的限制。
如圖1所示,本發明的實施例提供一種車機啟動過程中倒車軌跡線實現方法,包括:
s1、定義主表面顯示區域、存儲主表面顯示圖片的地址空間。
在本實施例中,倒車軌跡線通過疊加在倒車畫面上來顯示,因此倒車畫面定義為主表面顯示層,倒車軌跡線為疊加顯示層(overlay)。
在本實施例中,所述主表面顯示區域為1024*600像素的矩形顯示區域,可以理解的是,對于不同形狀、分辨率的顯示器,所述主表面顯示區域也不相同。
s2、檢測是否存在倒車信號,是則進入下一步。
倒車信號可以通過檢測車輛倒車信號線來獲取,也可以通過汽車總線信號(例如can、lin等)來獲取。
s3、檢測系統是否正在啟動過程中,是則進入下一步。
在本實施例中,所述檢測系統是否正在啟動過程中包括:通過檢測共享內存的方式來判斷系統是否已完成啟動。具體而言,如果系統對共享內存寫入數據,則表示系統已經啟動完成。
s4、顯示倒車畫面。
在檢測到倒車信號后,系統將視頻通道切換到倒車畫面,通過顯示芯片處理后在顯示屏上進行顯示。
s5、在倒車畫面上疊加顯示倒車軌跡。
s6、描繪倒車軌跡線。
當系統完成啟動后,顯示驅動已經實現了drirectdraw架構,系統可以直接調用其中的疊加顯示層(overlay)相關的api(applicationprogramminginterface,應用程序編程接口)來實現軌跡線的顯示,而在系統啟動過程中,顯示驅動還未加載,實現疊加顯示層則需要系統直接操作相關的寄存器來完成。
車輛方向盤左右轉動一圈,可以分為若干個角度(本實施例為81個:0-80),每個角度對應左右兩條軌跡線,而每條軌跡線需要填充若干個(本實施例為48個)像素點,所述像素點的坐標的計算為現有技術,在此不再贅述。在本實施例中使用系統已經標定好的坐標點。
s601、將軌跡線的緩沖數據填入所述主表面顯示圖片的地址空間。
s602、將軌跡線填充到預設的矩形區域。
s603、使用預設函數根據角度值在預設的矩形區域上描繪軌跡線。
具體地,所述s603包括如下步驟:
s6031、描繪警戒線。
一般,軌跡線分為3個部分:警戒線、左右軌跡線。在描繪軌跡線時,首先描繪警戒線。在本實施例中,警戒線共4條,通過預設的警戒線描繪函數來實現。
在具體實施時,每個角度有p0~p47共48個坐標點,4條警戒線就是在p15、p27、p37、p47處繪制所需要的短線。
s6032、描繪左右軌跡線。
描繪左右軌跡線是取出預設數組中定義的每個角度的若干個(本實施例中為48個)坐標點進行填充。
s6033、使用預設填充函數將所述軌跡線填充成預定顏色。
在本實施例中,所述預定顏色為黃色。
s604、軌跡線描繪完成后,將所述主表面顯示圖片的地址空間的緩存數據拷貝到疊加顯示層進行顯示。
在s3之后、s4之前還包括如下步驟:
s31、關閉顯示屏背光。
s32、檢測獲取到的角度值是否正確,是則打開背光,進入s4,否則進入下一步。
所述檢測獲取到的角度值是否正確,包括如下步驟:
s321、判斷獲取到的角度值是否在正常角度范圍內,是則進入下一步。
所述正常范圍可根據實際情況進行設定,在本實施例中,所述正常角度范圍為±40°。
s322、對獲取到的角度值數據進行校驗。
s33、判斷是否還在倒車狀態,是則返回s31,否則返回s2。
通過設置上述步驟,可以改善第一次倒車時方向盤不在正中時軌跡線閃動的問題,進一步提高用戶體驗。
在s6之后還包括:
s7、檢測倒車畫面是否消失,在檢測到倒車畫面消失的同時清空軌跡線的疊加顯示層的緩存。
具體地,所述檢測倒車畫面是否消失的步驟包括:通過查詢倒車畫面的視頻信號監測寄存器來判斷倒車畫面是否消失。
通常,對于倒車畫面消失的檢測是通過檢測是否退出倒檔來判斷的,但是在退出倒檔時,攝像頭電源同時也會斷開,攝像頭圖像輸出關閉,而程序對退出倒檔的處理需要時間,從而導致不同步,出現殘影現象。
在本實施中,通過查詢倒車畫面的視頻信號監測寄存器來判斷倒車畫面是否消失,當實施倒車畫面查詢函數查詢到倒車畫面消失時,立刻清空軌跡線的疊加顯示層的緩存,省卻了程序對退出倒檔的處理時間,避免了殘影現象,提高了用戶體驗。
以上所揭露的僅為本發明的較佳實施例,不能以此來限定本發明的權利保護范圍,因此依本發明申請專利范圍所作的等同變化,仍屬本發明所涵蓋的范圍。