Hello大家好!眼見著國內(nèi)的疫情越發(fā)的好轉(zhuǎn)了,然而大家還是不要掉以輕心,也希望早一天我們能夠面對面的相互交流和智能駕駛相關(guān)的技術(shù),為我國的汽車強國之路增磚添瓦。
在此前的一系列的ViCANdo智能駕駛開發(fā)、測試平臺功能介紹中,我們介紹了以下方面(點擊下方標題直接查看):
那么今天我們繼續(xù)給大家?guī)恚篤iCANdo的JavaScript 集成功能!
JavaScript
JavaScript是一種函數(shù)優(yōu)先的輕量級的,解釋型或即時編譯型的編程語言。不同于C、C++等語言需要先編譯后執(zhí)行,JavaScript是在程序的運行過程中逐行進行解釋并執(zhí)行的。
而且不同于C、C++等語言,JavaScript實際上是面向非程序人員的腳本語言,當然JavaScript同樣具有豐富的特性。
ViCANdo-JavaScript
ViCANdo可以通過自定義腳本進行擴展。腳本組件是用 JavaScript 編寫的,腳本可以按需啟動,也可以由配置為啟動腳本的觸發(fā)器啟動。
之所以采用JavaScript,而不采用其他的自定義的語言,也正是因為ViCANdo本質(zhì)上希望能夠搭建一個盡可能方便易用的平臺,使用者可以從廣泛的資源中獲知JavaScript或者前面我們所說的QML語言的使用方式。
示例:在ViCANdo中加載的JS腳本文件Hello.js。而在Hello.js調(diào)用了Hello_inc.js文件。
除了JavaScript的通用功能之外,在ViCANdo的應用環(huán)境中,我們還提供了一系列的ViCANdo項目的資源接入方式。
下面簡單的介紹一些在ViCANdo中用到的對象,有對細節(jié)關(guān)注的讀者,可以聯(lián)系我們,我們會提供詳細的JavaScript腳本使用手冊和相關(guān)的demo程序。
? 全局對象
使用ViCANdo的時候我們會創(chuàng)建一個Project,對應的這個Project下面的資源均可以被JS腳本調(diào)用。
? 全局函數(shù)
? 項目對象
基于不同的應用場景,在每一個ViCANdo項目下面,我們會添加一系列的Source和presenter,并添加trigger和dbc文件等。
Source即為我們需要接入的數(shù)據(jù),如CAN、lin、Flexray、camera等。
Presenter即為我們在項目中添加的一系列的展示界面。
示例:通過ViCANdo項目中的CAN總線接口發(fā)送一幀擴展幀報文。
? 定時器對象
在總線相關(guān)的應用中,經(jīng)常要用到的自然少不了定時器,通過定時器我們可以實現(xiàn)報文的周期發(fā)送,應答的定時處理等等操作。
Class Timer()
通過定時器啟動JavaScript_function。
? 文件操作
在ViCANdo的JavaScript腳本中我們還可以很方便的實現(xiàn)對于文件的讀寫操作,以此可以自定義一些信息的記錄等。
示例:創(chuàng)建一個TXT文件并寫入數(shù)據(jù)
示例:從一個TXT文件中讀取數(shù)據(jù)
? 支持CAN總線操作
示例:通過Source[0]發(fā)送報文
示例:接收到CAN報文后進行操作
? 支持J1939協(xié)議
示例:通過SAE J1939協(xié)議發(fā)送多幀報文
? 支持lin總線
示例:創(chuàng)建Lin的主從節(jié)點網(wǎng)絡(luò)
“ 通過ViCANdo的JavaScript腳本擴展,應用工程師可以簡單快捷的創(chuàng)建一些自動化的腳本應用,提高工作效率。更多的JavaScript可用資源就不再這里一一介紹了。歡迎留言交流!”
彩蛋
現(xiàn)在ViCANdo支持對采集的數(shù)據(jù)進行任意位置的截取,可以從原始的數(shù)據(jù)中基于應用需求截取單個場景的數(shù)據(jù)。
而經(jīng)緯恒潤更是在數(shù)據(jù)截取功能的基礎(chǔ)上根據(jù)客戶的實際應用需求定制了專門的數(shù)據(jù)截取模塊,支持自動或者手動的場景數(shù)據(jù)截取。
定制的場景截取界面
以上這些也只是ViCANdo工具的一小部分功能,而ViCANdo更是經(jīng)緯恒潤關(guān)于智能駕駛的開發(fā)、測試平臺解決方案的前端組成,在這個方案中我們還是強大的后端數(shù)據(jù)分析處理、云端數(shù)據(jù)監(jiān)控、大數(shù)據(jù)分析等一系列的模塊構(gòu)成。整個方案既可以滿足小型的單車的應用,又可以針對大數(shù)量的車隊級應用。以期為汽車界的客戶提供能夠應對未來的智能駕駛發(fā)展的相關(guān)解決方案。
關(guān)于整體的解決方案以及更多ViCANdo相關(guān)功能內(nèi)容介紹,我們將在后續(xù)的文章中發(fā)布,敬請關(guān)注微信公眾號。亦可以聯(lián)系我們相關(guān)的客戶經(jīng)理獲取新的方案介紹,期待與您的交流。