Code: Select all
fred@chain:~$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
fred@chain:~$ cat /etc/udev/rules.d/46-usbdm.rules
# Should be placed in /etc/udev/rules.d/46-usbdm.rules
# Note: HEX numbers must be lower case - yes really!!!!
#
# Allow unrestricted access to various BDMs (including USBDM & JS16 bootloader)
ATTR{idVendor}=="0425", ATTR{idProduct}=="1000", SYMLINK+="usbdm-tbdml%n", MODE:="0666"
ATTR{idVendor}=="0425", ATTR{idProduct}=="1001", SYMLINK+="usbdm-tblcf%n", MODE:="0666"
ATTR{idVendor}=="0425", ATTR{idProduct}=="ff02", SYMLINK+="JB16_Bootloader%n", MODE:="0666"
ATTR{idVendor}=="15a2", ATTR{idProduct}=="0021", SYMLINK+="usbdm-osbdm%n", MODE:="0666"
ATTR{idVendor}=="15a2", ATTR{idProduct}=="0038", SYMLINK+="JS16_Bootloader%n", MODE:="0666"
ATTR{idVendor}=="16d0", ATTR{idProduct}=="0567", SYMLINK+="usbdm%n", MODE:="0666"
ATTR{idVendor}=="16d0", ATTR{idProduct}=="06a5", SYMLINK+="usbdm%n", MODE:="0666"
#
# Allow unrestricted access to USBDM CDC serial port (named ttyUsbdm0 ...)
SUBSYSTEM=="tty", ATTRS{idVendor}=="16d0", MODE="0666", SYMLINK+="ttyUsbdm%n"
#
"Speed: From VSS or accelerometer" < Also from FreeEMS, feed this signal into the ECU, condition it, and let's read it directly. The code exists! ;-)
MIL/CEL" < The ECU should really retain control of this. For example it'll be mandatory to use the CEL output if you enable any sort of "limp mode" style behaviour in future. I guess you could hack in comms packets to notify the external board, however you can't guarantee that they are received, so you'd need to do accounting on the device, and get the external setup to reply to it with an ack or clear command or something.
You might want the brake and clutch switches logged/used in the ECU, too. Any sort of vehicle dynamics stuff is nice to have at the same sample rate in the ECU logs and regularly useful for control logic.
My 2c. :-)