comparison Discovery/Src/data_exchange_main.c @ 702:6d7c812fc173

Added digital o2 sensor to settings and data exchange: Added functionality to pass the o2 signals from a digital sensor (via UART)
author Ideenmodellierer
date Fri, 28 Oct 2022 20:29:37 +0200
parents 52d68cf9994c
children 74cfd91199bd
comparison
equal deleted inserted replaced
701:8c48553a0176 702:6d7c812fc173
391 dataOut.data.offsetPressureSensor_mbar = settings->offsetPressure_mbar; 391 dataOut.data.offsetPressureSensor_mbar = settings->offsetPressure_mbar;
392 dataOut.data.offsetTemperatureSensor_centiDegree = settings->offsetTemperature_centigrad; 392 dataOut.data.offsetTemperatureSensor_centiDegree = settings->offsetTemperature_centigrad;
393 393
394 394
395 395
396 if(settings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) 396 if((settings->ppo2sensors_source == O2_SENSOR_SOURCE_ANALOG) || (settings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG))
397 { 397 {
398 externalInterface_Cmd |= EXT_INTERFACE_ADC_ON | EXT_INTERFACE_33V_ON; 398 externalInterface_Cmd |= EXT_INTERFACE_ADC_ON | EXT_INTERFACE_33V_ON;
399 }
400
401 if((settings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL) || (settings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG))
402 {
403 externalInterface_Cmd |= EXT_INTERFACE_33V_ON | EXT_INTERFACE_UART_O2;
399 } 404 }
400 405
401 #ifdef ENABLE_SENTINEL_MODE 406 #ifdef ENABLE_SENTINEL_MODE
402 if(settings->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL) 407 if(settings->ppo2sensors_source == O2_SENSOR_SOURCE_SENTINEL)
403 { 408 {
945 pStateReal->lifeData.sensorVoltage_mV[idx] = 0.0; 950 pStateReal->lifeData.sensorVoltage_mV[idx] = 0.0;
946 pStateReal->lifeData.ppO2Sensor_bar[idx] = 0; 951 pStateReal->lifeData.ppO2Sensor_bar[idx] = 0;
947 } 952 }
948 else 953 else
949 { 954 {
950 pStateReal->lifeData.ppO2Sensor_bar[idx] = pStateReal->lifeData.sensorVoltage_mV[idx] * pSettings->ppo2sensors_calibCoeff[idx]; 955 if((idx == 0) && ((pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_DIGITAL) || (pSettings->ppo2sensors_source == O2_SENSOR_SOURCE_ANADIG)))
956 {
957 pStateReal->lifeData.ppO2Sensor_bar[idx] = pStateReal->lifeData.sensorVoltage_mV[idx] / 100.0;
958 }
959 else
960 {
961 pStateReal->lifeData.ppO2Sensor_bar[idx] = pStateReal->lifeData.sensorVoltage_mV[idx] * pSettings->ppo2sensors_calibCoeff[idx];
962 }
951 } 963 }
952 964
953 } 965 }
954 } 966 }
955 } 967 }