This is the summary of the work I did for the Automotive Grade Linux (AGL) under Linux Foundation organization as a part of Google Summer of Code 2022.
- Title: Write a flutter demo application demonstrating an Instrument Cluster for AGL
- Organization: The Linux Foundation
- App repository: Instrument Cluster App
- Mentors: Jan-Simon Möller, Walt Miner
- My Github Profile: aakash-s45
In this project, I developed an flutter app which demo the instrument cluster of a vehicle. It includes two guages for speedometer and tachometer, two progress bar to show fuel and coolant temperature and few indicators like turn indicators, few error signals, time, ambient temperature etc. To get the data for all the widgets (guages, bars, indicators), KUKSA.VAL is used, which provides the data for the widgets in JSON format over websocket. It also includes an navigation widget in the middle, which can be activated (Steering Info Switch) using the kuksa_vss_init.py
or using kuksa_viss_client
inside the AGL build. This app is implemented for the AGL flutter build. To get the steps to build and checkout the app in the AGL build, Follow guide to build and boot flutter instrument cluster.
- Developed a demo app for Instrument Cluster, which shows the data recieved from KUKSA.VAL over websockets.
- Add recipe to add the flutter app in the AGL build
- Add a script and recipe to set initial values in the KUSKA.VAL
- 27872: Add a new image for Flutter instrument cluster app
- This was to add the initial build of flutter instrument cluster app to the AGL flutter image.
- 27885: Update agl-cluster-demo-platform-flutter image
- This was to add a new standalone image for flutter instrument cluster and add a
kuksa_vss_init.py
script to initalize the values in the KUKSA.VAL database.
- This was to add a new standalone image for flutter instrument cluster and add a
- 27970: Change SRCREV for flutter instrument cluster recipe
- This was to change the flutter app version to latest which included the navigation app and new layout.
- 27969: Add documentation for Flutter Instrument Cluster
- This was to add a documentation on AGL Documentation which includes the steps to build and boot the AGL image with flutter Instrument Cluster.
- 27959: Upload Flutter Instrument Cluster app
- This was to add a version of Instrument Cluster flutter app to the repository hosted by AGL.
- 27978: Add config file for flutter-cluster-dashboard
- This was to add a config file to the app, which contains the credentials, apikeys, and few other paramenters.
Instrument Cluster demo app still have some issues and enhancements to work on. We can enhance the app more by changing design of some widgets like the fuel and coolant temperature bar. Navigation widget also need some improvement. API which give the route between two points is slow and provide limited access. I would work on further enhancing the app and its internal structure.
I would like to thank my mentors, AGL community and Google for this great learning experience this summer. I am extremely thankful for the opportunity to participate in this program and enhance my skills while contributing to AGL. I am grateful to Jan-Simon Möller, Walt Miner and Scott Murray for their guidance and help in regular discussions to clarify my queries. AGL Community is very helpful and welcoming. I am grateful to be a part of it.
It was amazing to work on AGL and I intend on continuing my contribution to the project. I would like to maintain the app I built in this project and to make it even better.