Author: Henry Chen LINE & Github & Discord ID: henryccy Version: 20220513
Before C3 and openpilot were available, I was already used to using the set speed of ACC to control the car. After two years of driving, I accidentally broke the ACC button on the steering wheel. Additionally, as I am getting older, my left hand feels uncomfortable pressing buttons on the steering wheel all day. I have been wanting to use an external device to control the set speed of ACC, but I have been unable to do so due to my lack of understanding of CAN.
With the open source of C3 and OPENPILOT, we can finally realize this dream.
As I don't understand Python or C++, many of my methods are either referencing experts or using very simple ones. If any advanced users are willing to provide guidance, please feel free to do so.
The following modifications have not been fully verified. Those who want to refer to the modifications must bear the risk themselves.
Transformation Steps
Choose the keyboard device you want to use and set the desired English letters or numbers to be output for each button, along with the desired function. My device and configuration are as follows, and only the following keys will be used in this episode:
Press "A" once to increase the ACC setting speed according to the set interval.
Press "D" to reduce the ACC set speed by the interval set in the configuration.
Press "S" once to switch the interval for increasing or decreasing settings in the order of 1, 5, 10.
Press "Q" once to set the interval to 1.
Insert the keyboard into the EXT USB-C port on the back of C3.
Install the desired fork on C3, power on the device, set up the relevant settings, and confirm that it is working properly.
Create a file named "DisableUpdates" with the content "1" using a text editor. Upload it via sftp to the /data/params/d_tmp directory on C3. Restart C3. This will disable automatic updates, preventing C3 from restoring modified files to their original versions every time it boots up and connects to the internet. (Note: After downloading, the .txt extension must be removed.)