Index: firmware/App/Drivers/ConductivitySensors.h =================================================================== diff -u -r895a48e398bbd9621425f781f9ff7974fb3dd523 -r89c78ab89ac3909d5fe74f491f6f3b3cadd0ccf8 --- firmware/App/Drivers/ConductivitySensors.h (.../ConductivitySensors.h) (revision 895a48e398bbd9621425f781f9ff7974fb3dd523) +++ firmware/App/Drivers/ConductivitySensors.h (.../ConductivitySensors.h) (revision 89c78ab89ac3909d5fe74f491f6f3b3cadd0ccf8) @@ -38,7 +38,6 @@ // ********** public definitions ********** #define DOUBLE_COUNT 8 ///< Number of double values in Teensy EEPROM data #define FLOAT_COUNT ((128 - (DOUBLE_COUNT * 8)) / 4) ///< Number of float values in Teensy EEPROM data -#define MAX_CONDUCTIVITY_SENSOR 6 /// Enumeration of conductivity sensors. typedef enum ConductivitySensors @@ -57,6 +56,36 @@ NUM_OF_CONDUCTIVITY_SENSORS ///< Number of conductivity sensors } CONDUCTIVITY_SENSORS_T; + +typedef enum TeensySensorIndex +{ + TEENSY_SENSOR_0 = 0, ///< Maps to D17_COND + TEENSY_SENSOR_1, ///< Maps to D27_COND + TEENSY_SENSOR_2, ///< Maps to D43_COND + TEENSY_SENSOR_3, ///< Maps to D74_COND + TEENSY_SENSOR_4, ///< Maps to P9_COND + TEENSY_SENSOR_5, ///< Maps to P18_COND + MAX_TEENSY_SENSOR ///< Total number of mapped sensors +} TEENSY_SENSOR_INDEX_T; + +/// Initialization status of all the sensors connected to Teensy +typedef enum Conductivity_Init_Status +{ + CONDUCTIVITY_INIT_STATUS_UNITIALIZED = 0, ///< The initialization process has not started. + CONDUCTIVITY_INIT_STATUS_IN_PROGRESS, ///< The initialization process has started. + CONDUCTIVITY_INIT_STATUS_INITIALIZED, ///< Initialization process completed and all the sensors were initialized successfully. + CONDUCTIVITY_INIT_STATUS_FAILED ///< Initialization process completed but one or more sensor was not initialized properly. +}CONDUCTIVITY_INIT_STATUS_T; + + +typedef enum Conductivity_Parse_Status +{ + CONDUCTIVITY_PARSE_SUCCESS = 0, + CONDUCTIVITY_PARSE_ERROR_NULL_BUFFER, + CONDUCTIVITY_PARSE_ERROR_INVALID_LENGTH, + CONDUCTIVITY_PARSE_ERROR_INVALID_SENSOR_NUM +} CONDUCTIVITY_PARSE_STATUS; + /// Structure to receive Sensor Measurement data from Teensy #pragma pack(push, 1) typedef struct @@ -96,23 +125,21 @@ } CONDUCTIVITY_MEASUREMENT_SETTINGS_T; #pragma pack(pop) -/// Initialization status of all the sensors connected to Teensy -typedef enum Conductivity_Init_Status +typedef struct { - CONDUCTIVITY_INIT_STATUS_UNITIALIZED = 0, ///< The initialization process has not started. - CONDUCTIVITY_INIT_STATUS_IN_PROGRESS, ///< The initialization process has started. - CONDUCTIVITY_INIT_STATUS_INITIALIZED, ///< Initialization process completed and all the sensors were initialized successfully. - CONDUCTIVITY_INIT_STATUS_FAILED ///< Initialization process completed but one or more sensor was not initialized properly. -}CONDUCTIVITY_INIT_STATUS_T; + F64 Conductivity; + F64 Temperature; +}CONDUCTIVITY_CALCULATED_MEASUREMENTS_T; - -typedef enum Conductivity_Parse_Status +typedef struct { - CONDUCTIVITY_PARSE_SUCCESS = 0, - CONDUCTIVITY_PARSE_ERROR_NULL_BUFFER, - CONDUCTIVITY_PARSE_ERROR_INVALID_LENGTH, - CONDUCTIVITY_PARSE_ERROR_INVALID_SENSOR_NUM -} CONDUCTIVITY_PARSE_STATUS; + F64 A0; + F64 A1; + F64 B0; + F64 B1; + F64 B2; + F64 B3; +}CONDUCTIVITY_COEFFICIENTS_T; // ********** public function prototypes ********** @@ -125,6 +152,9 @@ U32 getConductivitySensorReadCount( CONDUCTIVITY_SENSORS_T sensor ); U32 getConductivitySensorErrorCount( CONDUCTIVITY_SENSORS_T sensor ); +F64 getImpedanceValue( U32 sensorNum ); +F64 getRTDValue( U32 sensorNum ); + void handleConductivitySensorsReset( void ); void handleConductivitySensorsInitProcedure( void ); void execConductivitySensorWrite( void );