Skip to content

opencardev/openauto

 
 

Repository files navigation

OpenAuto

Contributor Covenant

Support project

Donate

For support of other platforms please contact me at [email protected]

Community

Join the chat at https://gitter.im/publiclab/publiclab

Description

OpenAuto is an AndroidAuto(tm) headunit emulator based on aasdk library and Qt libraries. Main goal is to run this application on the RaspberryPI 3 board computer smoothly.

See demo video

Supported functionalities

  • 480p, 720p and 1080p with 30 or 60 FPS
  • RaspberryPI 3 hardware acceleration support to decode video stream (up to 1080p@60!)
  • Audio playback from all audio channels (Media, System and Speech)
  • Audio input for voice commands
  • Touchscreen and buttons input
  • Bluetooth
  • Automatic launch after device hotplug
  • Automatic detection of connected Android devices
  • Wireless (WiFi) mode via head unit server (must be enabled in hidden developer settings)
  • User-friendly settings

Supported platforms

  • Linux
  • RaspberryPI 3
  • Windows

License

GNU GPLv3

Copyrights (c) 2018 f1x.studio (Michal Szwaj)

AndroidAuto is registered trademark of Google Inc.

Used software

Building

Amd64

Install the packages specified in the prebuilts repository. Qt5 is required, versions packaged in modern Ubuntu and Debian seem to work fine.

You will also likely need to install the udev rules from prebuilts

You need to point some CMAKE variables at your aasdk files.

-DAASDK_INCLUDE_DIRS=<path_to_aasdk_repo>/include
-DAASDK_LIBRARIES=<path_to_aasdk_repo>/lib/libaasdk.so
 DAASDK_PROTO_INCLUDE_DIRS=<path_to_aasdk_build>
-DAASDK_PROTO_LIBRARIES=<path_to_aasdk_repo>/lib/libaasdk_proto.so

Raspberry Pi

Just run the scripts in the prebuilts repository for aasdk and openauto. It is possible to cross compile if your raspberry pi is too slow to compile the code itself. However, its easiest to just develop on a more capable amd64 device.

Remarks

This software is not certified by Google Inc. It is created for R&D purposes and may not work as expected by the original authors. Do not use while driving. You use this software at your own risk.

Testing

This project includes a comprehensive test suite to verify the functionality of the application.

Running Tests

To run the tests, follow these steps:

  1. Make sure you have built the project successfully
  2. Navigate to the build directory and execute the test runner:
cd build
ctest -V

Or to run specific test categories:

cd build
# Run unit tests
./tests/unit/openauto_unit_tests

# Run integration tests
./tests/integration/openauto_integration_tests

Test Coverage

You can generate test coverage reports using:

cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_COVERAGE=ON ..
make
make test
make coverage

This will generate coverage reports in the coverage directory.

Test Plan

For detailed information about test cases and validation procedures, refer to TESTPLAN.md.

About

AndroidAuto headunit emulator

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 95.4%
  • CMake 3.6%
  • Other 1.0%