Make sure a struct is initialized.
Add tests for version and device ID commands.
Test custom commands.
Add tests for some invalid write requests.
Make private functions static in commands module.
Test some invalid raw writes.
Add exhaustive unit tests for the diagnostics module.