- Performance increases exposed as "fast mode":
- appends ECU count to the end of each fast-capable command
- re-runs previous commands with "\r\n" returns
- Manual protocol selection via the `protocol` kwarg in OBD constructor
- OBD.get_port_name() has been deprecated, use OBD.port_name() instead
- Added internal ECU map and message filtering
- Decoders may now process multiple messages per OBDResponse. New decoder format:
def <name>(messages):
process message(s)
return (<value>, <unit>)
- Replaced `Message.raw` with `Message.raw()`
- Added `Message.hex()` for compatability with old decoder format
- Changed behavior of the `noop()` decoder to pass raw data.
- Added `drop()` decoder to return None and trigger null OBDResponses
- OBDResponse.message --> .messages, now carries a list of Message objects
- OBDCommands no longer carry a `supported` flag. Use OBD.supported_commands or OBD.supports() instead.
- obd.scanSerial() is deprecated, use obd.scan_serial() instead