/** * @author Andrey Belomutskiy, (c) 2012-2020 * * EGO Exhaust Gas Oxygen, also known as AFR Air/Fuel Ratio :) * */ #include "pch.h" void setEgoSensor(ego_sensor_e type) { auto sensor = &engineConfiguration->afr; switch (type) { case ES_BPSX_D1: /** * This decodes BPSX D1 Wideband Controller analog signal */ sensor->v1 = 0; sensor->value1 = 9; sensor->v2 = 5; sensor->value2 = 19; break; case ES_Innovate_MTX_L: sensor->v1 = 0; sensor->value1 = 7.35; sensor->v2 = 5; sensor->value2 = 22.39; break; case ES_14Point7_Free: sensor->v1 = 0; sensor->value1 = 9.996; sensor->v2 = 5; sensor->value2 = 19.992; break; // technically 14Point7 and PLX use the same scale case ES_PLX: sensor->v1 = 0; sensor->value1 = 10; sensor->v2 = 5; sensor->value2 = 20; break; default: firmwareError(ObdCode::CUSTOM_EGO_TYPE, "Unexpected EGO %d", type); break; } }