openDsh / dash

Join us on Slack! https://join.slack.com/t/opendsh/shared_invite/zt-la398uly-a6eMH5ttEQhbtE6asVKx4Q
GNU General Public License v3.0
256 stars 80 forks source link

Move OBD2 reading/parsing logic from Vehicle page to dedicated plugin #93

Open egisz opened 3 years ago

egisz commented 3 years ago

Description:

Problem with current vehicle page is that it depends on OBDII protocol and it is not supported on 100% cars. Even worse, on unsupported vehicles, in order to query OBD2 status, it generates CANbus messages to unsupported canbus frames.

I moved away all canbus/obd2 code to separate vehicle plugin obd2 (plugins/vehicle/obd2). This way if car supports it, user can enable it under plugins. If not, user can choose from other plugin which can read CANbus messages and provide data to Vehicle page.

Each vehicle plugin can update Vehicle page using new arbiter method void vehicle_update_data(QString gauge_id, int value);

As a bonus I enabled Fuel Consumption gauge, which was disabled in original Vehicle page.

Checklist:

rsjudka commented 3 years ago

havent gotten a chance to look at it yet... but I think there might be an issue since people use the gauge tab in addition to loading their own plugin

going to think about this a bit more (since right now we only support loading a single plugin)