X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;ds=sidebyside;f=readme.rst;h=d7ccbab20bc259dfdea30f694d1dc3cc7f23be86;hb=fb48aed84a6cd0c6cb471fd8bdd7ae6faa3334b7;hp=a35c26094f059a89c9dec92a78497f4eebcfd40f;hpb=54b644a726b3fc3fcf71a927d9da5f202f828f63;p=elmcan.git diff --git a/readme.rst b/readme.rst index a35c260..d7ccbab 100644 --- a/readme.rst +++ b/readme.rst @@ -11,12 +11,13 @@ Max Staudt Motivation ----------- -CAN adapters are expensive, few, and far between. -ELM327 interfaces are cheap and plentiful. - This driver aims to lower the initial cost for hackers interested in working with CAN buses. +CAN adapters are expensive, few, and far between. +ELM327 interfaces are cheap and plentiful. +Let's use ELM327s as CAN adapters. + Introduction @@ -27,7 +28,7 @@ into full-fledged (as far as possible) CAN interfaces. Since the ELM327 was never meant to be a stand-alone CAN controller, the driver has to switch between its modes as quickly as possible in -order to approximate full-duplex operation. +order to fake full-duplex operation. As such, elmcan is a best-effort driver. However, this is more than enough to implement simple request-response protocols (such as OBD II), @@ -52,7 +53,11 @@ Also, elmcan depends on ``can-dev``: sudo modprobe can-dev +Install +------------- + cd module/ + sudo dkms install . Data sheet ----------- @@ -67,6 +72,7 @@ How to check the controller version ------------------------------------ Use a terminal program to attach to the controller. +The default settings are 38400 baud/s, 8 data bits, no parity, 1 stopbit. After issuing the "``AT WS``" command, the controller will respond with its version:: @@ -78,6 +84,9 @@ its version:: > +Note that clones may claim to be any version they like. +It is not indicative of their actual feature set. + How to attach the line discipline @@ -111,6 +120,8 @@ Module parameters Some adapters and/or their connection are unreliable. Enable this option to try and work around the situation. This is a best-effort workaround, so undefined behavior will likely occur sooner or later. + Without this option, the driver will bail on the first unrecognized + character it receives from the TTY. LOAD TIME:: @@ -121,7 +132,7 @@ Module parameters Known limitations of the controller ------------------------------------ -- Clone "v1.5" devices +- Clone devices ("v1.5" and others) Sending RTR frames is not supported and will be dropped silently. @@ -139,8 +150,8 @@ Known limitations of the controller - All versions - No automatic full duplex operation is supported. The driver will - switch between input/output mode as quickly as possible. + No full duplex operation is supported. The driver will switch + between input/output mode as quickly as possible. The length of outgoing RTR frames cannot be set. In fact, some clones (tested with one identifying as "``v1.5``") are unable to @@ -331,11 +342,9 @@ termination resistors on its PCB and try removing them. -To Do list for future development ----------------------------------- +Thanks +------- -- DMA capable rx/tx buffers - (is this relevant for this driver?) +Thanks go out to Oliver Neukum for his early reviews and suggestions. -- flushing of ``tx_work`` is too late in ``ldisc_close()`` - (is this still the case?) +Several more people have encouraged me to finish this - thank you all.