2004 to 2020 Mazda 3 Forum and Mazdaspeed 3 Forums banner

Custom Applications SDK - Write and deploy your own applications

3 reading
237K views 426 replies 112 participants last post by  Sid Meyer  
#1 · (Edited)
The Custom Application SDK for the Mazda Infotainment System

It's finally coming. Instead of figuring out each application individually, I created this minimalistic micro framework and runtime that allows you to write and deploy custom applications to the Mazda Infotainment System without the hassles.

It also comes with a 1:1 simulator that allows you to run and debug your applications locally without having to deploy to the Infotainment system.

This project is currently under heavy development but hey, we got an alpha release available. There is little documentation available at this point.

Please contribute if you have the time and the energy.

We have an active Trello board running for organization:

https://trello.com/b/rBEWRDdg/alpha-sprint

If you find CMU values that actually provide meaning, please add them here:

https://docs.google.com/spreadsheets/d/1lkVUzhLEMglb7eFglne1iDiJ5vKMpaoxXKW-7bSZ6Ws/edit#gid=0

---

IF YOU USE THIS IN YOUR CAR, PLEASE MAKE SURE YOU HAVE A FIRMWARE VERSION OF V55.x OR HIGHER INSTALLED

Earlier version might be compatible but have not been tested.

---

https://github.com/flyandi/mazda-custom-application-sdk

Download the Simulator:

OSX: https://github.com/flyandi/mazda-cu...plication-sdk/releases/download/0.0.1-alpha/casdk-simulator-0.0.1-alpha-osx.zip

Win: https://github.com/flyandi/mazda-cu...ication-sdk/releases/download/0.0.1-alpha/casdk-simulator-0.0.1-alpha-win32.zip

The runtime SDK with USB installers: https://github.com/flyandi/mazda-cu...azda-custom-application-sdk/releases/download/0.0.1-alpha/casdk-alpha-0.0.2.zip - also needed for the Simulator.

---

To get started:

1) Download the runtime SDK which contains the deploy images. Copy and paste the files in deploy/install to an USB stick, plug the stick on your infotainment and reboot your Infotainment system.

2) Download the Simulator

3) Follow the tutorial in the wiki page on GitHub

4) Copy the contents of the folder sdcard to an SDCard and reboot your system.

5) Enjoy your custom applications
 

Attachments

#58 ·
Hi, I found the error in another application running in to Opera.
The Android Auto app make that kind of error.

I just unistall the app and anything goes work.

Now I ask another few thinks :
1. I can't retrive all data from the car (eg. Coolant temperature, Outside temperature and other).
It is possible that with my firmware version they have another variable name ?
Does exist somewhere a definition of any variable of the infotainment ?

2. For some reason the GPS data sometimes are not updated and remain with the same value.
There is any way to have a look inside the CMU what remain stuck ?

The project you did is awesome, and i think that make a lot of improvement for the future.
Thanks !!!
 
#59 ·
Yeah - those values are not being broadcasted right now. I have them in the standard tables already however I am still going through the list and try to assess what values make sense to be included in the SDK. There are over 1200 and most of them are garbage or will never be useful in custom applications.

Did you grab the latest runtime? I fixed that issue with the values being stuck.
 
#65 · (Edited)
The tool Itself work, I can have the data but they don't refresh.

I have always the same data perhaps more of them are 0.

Can you explain me how to check the running process ?

I try to reboot several times but without success.

Sometimes happens that it works but I can't understand why.
When I turn of the car, also without rebooting the system, the next starting of the car it stop to refresh the data.
 
#68 ·
The link in your OP is broken for:
Code:
The runtime SDK with USB installers: [URL="https://github.com/flyandi/mazda-custom-application-sdk/releases/download/0.0.1-alpha/casdk-0.0.1-alpha.zip"]https://github.com/flyandi/mazda-cus....0.1-alpha.zip[/URL]  - also needed for the Simulator.
 
#75 ·
just tried to deploy versiĂłn 0.0.2 with the examples, but after the install message and reboot I get nothing on the apps menĂş (I have a 16gb SD on the nav port) does the SD needs a special format or do I need to do something else for the apps to show?

Sorry if it has been posted before, this is the forst time I'm trying to deploy them to the car.
 
#80 ·
flyandi,
thanks for your amazing work!

a few questions:
1) i'm going to use an external js (like google maps), but it doesn't work because of runtime.js:2201 - filename = path + filename. I've just added a condition: if (!filename.startsWith("http")). What do you think? Will it work on the CMU?

2) deploying to CMU. Could you describe it more detailed? I found a guide here - https://github.com/flyandi/mazda-custom-application-sdk/wiki/Installation and some steps here https://github.com/flyandi/mazda-custom-application-sdk/wiki/Get-Started. Do I need to use SDCard or it's possible to do with USB flash? Because I have a NAV sd card in my slot.
 
#88 ·
I am not someone who understands coding at all but let me understand this. The work @flyandi has done will allow people to create apps to be shared with the rest of the community or is this something where people are coding and creating apps for only their vehicles?
 
#92 ·
I am releasing a market app that allows you to easily add apps to your infotainment system.

I really want to make it work for everyone as easy as possible.

The early release here helps to uncover bugs right away and get it tested in the real world :)

Might be not ready for non-tech folks.
 
#109 · (Edited)
as to vehicle diagnostics data; from recent tests, do we now which variables show valid data? what are your findings? any list of valid ones?
It would be nice if someone came up with the definitive list as well as the encoding/scaling for them. From what I've seen this does not exist in the CMU probably because it varies by year/model/options/country/firmware etc.

Unless a list is discovered it takes experimentation, testing, logging and driving around to find them. Then you have to take a shot at what units and scaling some of them are in. The attached snapshot is of data I dumped from my CMU after a short drive and as you can see it is not at all intuitive or obvious. Some of the items I was able to discover the scaling for by knowing the trip distance/mileage/odometer reading from the car and looking through the data. A few turned out to not give creditable readings all the time (temperatures was one) for some reason.

These work for sure:
dbus-send --print-reply --address=unix:path=/tmp/dbus_service_socket --type=method_call --dest=com.jci.lds.data /com/jci/lds/data com.jci.lds.data.GetPosition

vdm_vdt_current_data:
VehicleSpeed
TransmissionGearPosition
TransmChangeLeverPosition
Out-CarTemperature (Suspect readings)
DR_IntakeAirTemp
As well as many others from this group

vdm:
Drv1AvlFuelE
As well as others from this group

Many other data points in the attached files appear to have valid data but I had no interest in displaying them so I have not looked at the scaling etc.

Maybe you want to build a spreadsheet of these? :smile2:If so be sure and include year/model/options/country/firmware/scaling/encoding etc.

https://personal.filesanywhere.com/fs/v.aspx?v=8d6c698b5a5f76be7296
 
#119 ·
Yeah there is not a lot you can do. I release my stuff under GPL v3 - so there are certain safe guards but the code is open and anyone could "steal" it.

The idiot will be the customer in the end because they think they bought a product that is supported. The sad part is also that most consumer don't care either. I just had a friend buying FlightGear (OpenSource SIM) for $199 .. he literally paid $199 for a home burned DVD with a nice label and it didn't even work - the program said to download the latest version from GitHub :-D

Here is the deal - I believe in putting back in the community - if I can just inspire one person here to build a custom app and use that gained knowledge to get better at their job or fire up a passions, etc - I did my job :) I love doing this stuff and I know it will pay of somehow in the end.

Now back from the philosophy to your issue:

Yeah I don't see your SD Card .. can you actually run "mount" instead of fdisk?
 
#121 · (Edited)
#130 ·
Wow flyandi this is so amazing. I just created a sample app now. I can't believe this.

Since I have a nav card and I use that often, I am going to wait until usb support for using it regularly but wow this is powerful.

It would be so amazing if there was a way to grab and send data through the internet through the cmu's wifi client. Even simple HTTP or REST API get. This could allow for a whole new dimension for apps like weather, remote control, etc