0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Lua ADK配置CANBridge?

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-06-16 11:07 ? 次閱讀

IXXAT CANBridge產(chǎn)品是一款性能優(yōu)異的CAN網(wǎng)橋/路由器設(shè)備,支持CAN網(wǎng)絡(luò)耦合,可以實現(xiàn)強大的過濾,ID轉(zhuǎn)換、數(shù)據(jù)映射和多路復(fù)用,使用事件觸發(fā)的方式執(zhí)行預(yù)定義的操作。除通過CAN-Gateway Configurator工具的圖形菜單配置不同CAN網(wǎng)絡(luò)之間的數(shù)據(jù)映射外,CANBridge NT還支持使用Lua編寫操作規(guī)則,方便實現(xiàn)不同CAN網(wǎng)絡(luò)之間的數(shù)據(jù)轉(zhuǎn)換。

1. 創(chuàng)建lua腳本

Ixxat Lua ADK基于標(biāo)準(zhǔn)的Lua 5.3.5發(fā)行版,針對嵌入式系統(tǒng)開發(fā)和執(zhí)行進行了優(yōu)化,以提供可以在資源有限的嵌入式處理器上運行的腳本框架。

IXXAT Lua ADK使用3中類型的回調(diào)函數(shù):initialize, on_...和loop。Initialize在系統(tǒng)初始化時被調(diào)用,用于注冊事件和設(shè)置CAN消息過濾。loop在初始化之后,啟動并運行設(shè)備時,每100毫秒調(diào)用一次,用于觸發(fā)循環(huán)任務(wù)。on_can和on_mqtt函數(shù)用于處理來自CAN和MQTT的事件。

安裝配置工具CAN-Gateway Configurator后,在C:UsersPublicDocumentsHMSIxxat CAN-Gateway ConfiguratorExamplesLua examples目錄中,提供了lua示例腳本。

9df1d7be-0bf2-11ee-962d-dac502259ad0.png

can_demo.lua文件,展示如何通過Lua處理(發(fā)送和接收)CAN報文。

-最大頻率50赫茲(20毫秒)

-修改字節(jié)7和8的數(shù)據(jù)

并在CAN1上循環(huán)發(fā)送ID為0x300的消息。

1.1.1 initialize

在固件初始化時調(diào)用一次。它用于注冊需接收的CAN和MQTT消息,初始化變量。本例中,initialize調(diào)用can_register_msg注冊需處理的報文。

function initialize()
  print("initialize")
  can.register_msg({         
    format = "std", 
    data_as = "array",
    ident = 0x200,
    topic = 1,
    port = 1,
    max_frequency = 20,
  })
end

1.1.2on_can

處理設(shè)備收到的CAN消息,本例中,處理接收到ID 0x200的報文,修改字節(jié)7和8的數(shù)據(jù)后,發(fā)送到CAN2。

function on_can(topic, port, format, ident, data)
  data[7] = data[7] << 1
 ? ?data[8] = cnt
 ? ?cnt = cnt + 1
 ? ?can_send(2, format, 0x201, data)
end

1.1.3 loop

本例中,通過loop實現(xiàn)在CAN1上循環(huán)發(fā)送ID為0x300的消息。

function loop(ticks, elapsed)
  can_send(1, "csd", 0x300, payload)
end

2. 使用Lua ADK

為了能夠在CANBridge設(shè)備上使用Lua ADK,必須使用Lua framework更新設(shè)備,并在CAN-Gateway Configurator中啟用Lua。具體步驟如下:

1、連接CANBridge設(shè)備到PC,并上電。

2、啟動安裝的最新版本CAN-GatewayConfigurator工具,并connect到設(shè)備。

9e172d8e-0bf2-11ee-962d-dac502259ad0.png

3、配置設(shè)備的操作模式和CAN端口的波特率

9e3a408a-0bf2-11ee-962d-dac502259ad0.png

9e627a96-0bf2-11ee-962d-dac502259ad0.png

4、在工具欄中打開Lua ADK菜單并選擇update Lua ADK。選擇C:Program FilesHMSIxxat CAN-Gateway Configurator V6下的lua_framework_vx文件更新Lua ADK。

5、在配置樹中選擇General,在其下拉列表中選擇use of Lua as ADK,選擇target 模式。

9e83eb18-0bf2-11ee-962d-dac502259ad0.png

6、在Target菜單中,選擇Write configuration to target,將配置寫入連接的CAN設(shè)備。

7、在Lua ADK菜單,選擇Write Lua script to target,將創(chuàng)建好的lua腳本寫入CANBridge設(shè)備,在設(shè)備啟動后,Lua腳本將自動運行。

使用Lua ADK 可以為IXXAT 的CAN@net N及 CANBridge NT設(shè)備開發(fā)Lua應(yīng)用,方便的實現(xiàn)不同網(wǎng)絡(luò)直接的數(shù)據(jù)映射。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5052

    文章

    18909

    瀏覽量

    300710
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2686

    瀏覽量

    462906
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3679

    瀏覽量

    113268
  • 回調(diào)函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

    11521
  • ADK
    ADK
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    4961

原文標(biāo)題:如何使用Lua ADK配置CANBridge?

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    初識lua--openwrt

    Lua是一個小巧的腳本語言,很容易嵌入其它語言。輕量級 LUA語言的官方版本只包括一個精簡的核心和最基本的庫。OpenWrt路由的界面配置使用LuCI系統(tǒng)管理,但是很多時候我們在玩openwrt
    發(fā)表于 12-15 23:19

    淺析ADK Google fast pair功能

    Google account。但對海外市場來說這是一個很亮很亮的亮點,大部分出口耳機都想要這個功能。最新ADK集成了這個功能,但是默認的是沒有打開的,下面我們來打開這個功能。1.配置工程,打開宏定義2.
    發(fā)表于 09-20 09:05

    FLIR第二代熱像儀ADK有哪些特點?

    FLIR第二代熱像儀ADK有哪些特點?FLIR第二代熱像儀ADK有哪些功能?
    發(fā)表于 07-11 07:27

    Lua腳本簡單介紹

    反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用程序中能夠被廣泛應(yīng)用。不只作為擴展腳本,也能夠作為普通的配置文件,取代XML,Ini等文件格式,而且更easy理解和維護。Lua的目標(biāo)是成為
    發(fā)表于 08-20 06:37

    android支持lua語言開發(fā)

    因為我們產(chǎn)品的需要滿足不同行業(yè)需求,所以一直在尋找一個腳本語言,以便靈活配置。前段時間還自己花時間去實現(xiàn)一個C語言解釋器,看了一堆編譯原理的東西,以及虛擬機等,頭都搞大了,把基本功能實現(xiàn)了,但總是
    發(fā)表于 08-20 07:50

    Lua腳本簡單介紹

    反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用程序中能夠被廣泛應(yīng)用。不只作為擴展腳本,也能夠作為普通的配置文件,取代XML,Ini等文件格式,而且更easy理解和維護。Lua的目...
    發(fā)表于 08-20 08:06

    ISELED_ADK_EXT_D沒有管腳定義嗎?

    ISELED_ADK_EXT_D沒有管腳定義,是ISELED ADK顯性產(chǎn)生的。 任何 8 針定義文檔?
    發(fā)表于 04-14 07:48

    Programming in Lua 3ed

    可以作為普通的配置文件,代替xmlini等文件格式,并且更容易理解和維護。Lua由標(biāo)準(zhǔn)C編寫而成,代碼簡潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺上都可以編譯,運行?!獊碜园俣劝倏?/div>
    發(fā)表于 10-26 17:21 ?11次下載

    QCC302x ADK Configuration Tool的使用入門

    初體驗》中講到的方法燒錄默認sink工程到板子中。 打開ADK Configuration tool。 打開后可以看到以下界面。 選擇HID設(shè)備然后點擊Goconfigurable 點擊read device。 可以看到從QCC3026讀取的配置信息。 我們這里可以嘗試修
    的頭像 發(fā)表于 06-16 17:25 ?4666次閱讀

    基于ADK-1590射頻收發(fā)器的

    View the reference design for ADK-1590. http://srfitnesspt.com/soft/ has thousands of reference designs to help bring your project to life.
    發(fā)表于 09-10 09:56 ?9次下載

    stm32應(yīng)用:lua在Keil上的移植和使用

    stm32應(yīng)用:lua在Keil上的移植和使用Lua的簡介Lua的移植關(guān)于Lua的應(yīng)用舉例Lua 是一種輕量小巧的腳本語言,用標(biāo)準(zhǔn)C語言編寫
    發(fā)表于 12-20 18:51 ?16次下載
    stm32應(yīng)用:<b class='flag-5'>lua</b>在Keil上的移植和使用

    CANBridge EMC證書

    電子發(fā)燒友網(wǎng)站提供《CANBridge EMC證書.pdf》資料免費下載
    發(fā)表于 10-14 10:03 ?0次下載
    <b class='flag-5'>CANBridge</b> EMC證書

    CANBridge+產(chǎn)品數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《CANBridge+產(chǎn)品數(shù)據(jù)手冊.pdf》資料免費下載
    發(fā)表于 10-17 10:55 ?0次下載
    <b class='flag-5'>CANBridge</b>+產(chǎn)品數(shù)據(jù)手冊

    【串口屏LUA教程】lua基礎(chǔ)學(xué)習(xí)(借鑒)

    【串口屏LUA教程】lua基礎(chǔ)學(xué)習(xí)(借鑒)
    發(fā)表于 04-29 13:02 ?4次下載

    【串口屏LUA教程】Lua腳本語言中文教程

    【串口屏LUA教程】Lua腳本語言中文教程
    發(fā)表于 04-29 13:03 ?26次下載