作者:Henry Chen LINE&Github&Discord ID:henryccy 版次:20220513

改造發想

在還沒有C3與openpilot前,已經習慣使用ACC的設定時速來控制車子,開了兩年後方向盤上的ACC按鈕被我按壞了,而且隨著年紀增長,左手一整天在方向盤上按鈕也會不舒服,早就想用外接的設備來控制ACC的設定時速,但苦於對CAN的不瞭解一直無法下手。

有了C3與OPENPILOT的開源,終於可以實現這夢想。

由於完全不懂Python跟cc+所以很多寫法都是參考高手或是用很笨的方法,若有先進願意指導,歡迎提出。

以下修改尚未完整驗證,欲比照修改者須自負風險。

所需條件與設備

  1. Comma 3(以下簡稱C3)
  2. C3已安裝於車(我的車是VW PASSAT 2019 MQB)上並可正確運作openpilot Longitudinal Control(以下簡稱 OP Long)。
  3. 自己喜歡的USB鍵盤,只要可以在桌機上正確輸入英文字母或數字的鍵盤均可。
  4. openpilot v0.9.2版本或其他同版本custom fork(需要有提供完整程式碼的fork才可修改,且修改時需比照內文修改的程式部分上下是否一致),以下程式修改採用https://github.com/FrogAi/FrogPilot 3f6ca0d UPDATED at 2023/05/10 。
  5. 要會從Github下載程式,SFTP傳檔至C3跟SSH TELNET連線至C3(如果會在Github上建立自己Branch就不用這麼麻煩,我不會所以用笨方法),SFTP傳檔及SSH TELNET請參考Saber大的文章https://saber422.blogspot.com/search/label/樂活興趣-Openpilot教學

改造步驟

硬體準備

  1. 選擇好自己要使用的鍵盤裝置,設定好每個按鈕要輸出的英文字母或數字跟想要的功能,我的使用裝置跟配置如下,本集只會用到以下按鍵

  2. “A”:按一次照設定的間隔增加ACC設定時速

  3. ”D”:按一次照設定的間隔減少ACC設定時速

  4. “S”:按一次依照1 5 10順序切換設定增加或減少的間隔

  5. “Q”:按一次將間隔設定為1

    20230513_021933(1).jpg

  6. 將鍵盤插入C3背面的 EXT USB-C孔。

    523808.jpg

  7. C3安裝好想要的Fork,接上電源開機,設定好相關設定,確認運作正常。

  8. 用文字編輯器建立一個檔 DisableUpdates 內容為1,sftp上傳至c3的/data/params/d_tmp 目錄裡,將C3重新開機。這是關閉自動更新,才不會C3每次開機且有連上網路時,修改的檔會被還原成原版。(下載後須將.txt刪除)

    DisableUpdates

軟體修改

  1. 去Github下載Fork的Code Zip,存檔解壓當做原始版本,改錯還可以改回原版。