Sensor Code By Jorge Troncoso

Dependencies:   Sensor2 MAX31855-1 libmDot-1

Fork of 0A101_mDot_Sensor_Rev3_AUS by Jorge Troncoso

Committer:
jortronm2
Date:
Wed Jun 13 11:31:15 2018 +0000
Revision:
2:0417c5cdceaf
Parent:
0:1441b10e38a6
Sensor Code by Jorge Troncoso

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jortronm2 0:1441b10e38a6 1 #include "sensors.h"
jortronm2 0:1441b10e38a6 2
jortronm2 0:1441b10e38a6 3
jortronm2 0:1441b10e38a6 4 static I2C ads1115_i2c(PIN_OUTPUT_ADS_I2C_SDA, PIN_OUTPUT_ADS_I2C_SCL);
jortronm2 0:1441b10e38a6 5 static SPI max31855_spi(PIN_OUTPUT_MAX_SPI_MOSI, PIN_OUTPUT_MAX_SPI_MISO, PIN_OUTPUT_MAX_SPI_SCK);
jortronm2 0:1441b10e38a6 6 static Adafruit_ADS1115 ads1115(&ads1115_i2c);
jortronm2 0:1441b10e38a6 7 static max31855 max31855(max31855_spi, PIN_OUTPUT_MAX_SPI_CS);
jortronm2 0:1441b10e38a6 8
jortronm2 0:1441b10e38a6 9 static DigitalOut sensor_power(PIN_OUTPUT_SENSOR_POWER);
jortronm2 0:1441b10e38a6 10 static DigitalOut sensor_signal_1(PIN_OUTPUT_SENSOR_1_SIGNAL);
jortronm2 0:1441b10e38a6 11 static DigitalOut sensor_signal_2(PIN_OUTPUT_SENSOR_2_SIGNAL);
jortronm2 0:1441b10e38a6 12 static DigitalOut sensor_signal_3(PIN_OUTPUT_SENSOR_3_SIGNAL);
jortronm2 0:1441b10e38a6 13
jortronm2 0:1441b10e38a6 14
jortronm2 0:1441b10e38a6 15 extern void sensors_init(void) {
jortronm2 0:1441b10e38a6 16 sensor_power = 0;
jortronm2 0:1441b10e38a6 17
jortronm2 0:1441b10e38a6 18 sensor_signal_1 = 0;
jortronm2 0:1441b10e38a6 19 sensor_signal_2 = 0;
jortronm2 0:1441b10e38a6 20 sensor_signal_3 = 0;
jortronm2 0:1441b10e38a6 21
jortronm2 0:1441b10e38a6 22 ads1115.setGain(GAIN_ONE); //Sets the gane of the ADS1115 GAIN_ONE (for an input range of +/-4.096V)
jortronm2 0:1441b10e38a6 23 }
jortronm2 0:1441b10e38a6 24
jortronm2 0:1441b10e38a6 25 extern void sensors_read(struct sensor_data_raw *data) {
jortronm2 0:1441b10e38a6 26 sensor_power = 1;
jortronm2 0:1441b10e38a6 27
jortronm2 0:1441b10e38a6 28 sensor_signal_3 = 1;
jortronm2 0:1441b10e38a6 29
jortronm2 0:1441b10e38a6 30 wait_ms(10);
jortronm2 0:1441b10e38a6 31 data->voltage_wire[6] = ads1115.readADC_SingleEnded(1);
jortronm2 0:1441b10e38a6 32 data->voltage_wire[7] = ads1115.readADC_SingleEnded(2);
jortronm2 0:1441b10e38a6 33 data->voltage_wire[8] = ads1115.readADC_SingleEnded(3);
jortronm2 0:1441b10e38a6 34
jortronm2 0:1441b10e38a6 35
jortronm2 0:1441b10e38a6 36 sensor_signal_3 = 0;
jortronm2 0:1441b10e38a6 37 sensor_signal_2 = 1;
jortronm2 0:1441b10e38a6 38
jortronm2 0:1441b10e38a6 39 wait_ms(10);
jortronm2 0:1441b10e38a6 40 data->voltage_wire[3] = ads1115.readADC_SingleEnded(1);
jortronm2 0:1441b10e38a6 41 data->voltage_wire[4] = ads1115.readADC_SingleEnded(2);
jortronm2 0:1441b10e38a6 42 data->voltage_wire[5] = ads1115.readADC_SingleEnded(3);
jortronm2 0:1441b10e38a6 43
jortronm2 0:1441b10e38a6 44
jortronm2 0:1441b10e38a6 45 sensor_signal_2 = 0;
jortronm2 0:1441b10e38a6 46 sensor_signal_1 = 1;
jortronm2 0:1441b10e38a6 47
jortronm2 0:1441b10e38a6 48 wait_ms(10);
jortronm2 0:1441b10e38a6 49 data->voltage_wire[0] = ads1115.readADC_SingleEnded(1);
jortronm2 0:1441b10e38a6 50 data->voltage_wire[1] = ads1115.readADC_SingleEnded(2);
jortronm2 0:1441b10e38a6 51 data->voltage_wire[2] = ads1115.readADC_SingleEnded(3);
jortronm2 0:1441b10e38a6 52
jortronm2 0:1441b10e38a6 53 sensor_signal_1 = 0;
jortronm2 0:1441b10e38a6 54
jortronm2 0:1441b10e38a6 55 data->voltage_battery = ads1115.readADC_SingleEnded(0);
jortronm2 0:1441b10e38a6 56
jortronm2 0:1441b10e38a6 57 max31855.read_temp_raw(&data->temperature);
jortronm2 0:1441b10e38a6 58
jortronm2 0:1441b10e38a6 59 sensor_power = 0;
jortronm2 0:1441b10e38a6 60 }