Sensor Code By Jorge Troncoso
Dependencies: Sensor2 MAX31855-1 libmDot-1
Fork of 0A101_mDot_Sensor_Rev3_AUS by
sensors.cpp@2:0417c5cdceaf, 2018-06-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |