diff --git a/slave/slave/lib/sensors.c b/slave/slave/lib/sensors.c --- a/slave/slave/lib/sensors.c +++ b/slave/slave/lib/sensors.c @@ -57,9 +57,12 @@ void sensors_readBoardTemp() void sensors_readPressure() {//needs editing + //write 0x34 + (oss<<6) into 0xF4 (write is 0xEE), wait pressure = i2c_read(PRESSURE_ADDR, 0xF6); pressure = pressure << 8; pressure = pressure | i2c_read(PRESSURE_ADDR, 0xF7); + //pressure = (MSB<<16 + LSB<<8 + XLSB(NOT USED)) >> (8-oss) + //calculate true pressure with calibration data from modules.c, maybe write own function used here } void sensors_readHumid() diff --git a/slave/slave/modules.c b/slave/slave/modules.c --- a/slave/slave/modules.c +++ b/slave/slave/modules.c @@ -78,6 +78,7 @@ { DESELECT_TEMP; setup_spi(); + //setup_pressure(); } void modules_geiger_setup() @@ -121,7 +122,9 @@ // Gathers data and performs functions for sensor daughter board sensors_readBoardTemp(); //Data Read sensors_readSpiTemp(); //Data Read - + sensors_readPressure(); //Data Read + sensors_readHumid(); //Data Read + sensors_readLight(); //Data Read } @@ -137,4 +140,41 @@ // Gathers data and performs functions for cameras daughter board } - \ No newline at end of file + + ///////////do I need to change .h file? + void setup_pressure() + { + int16_t ac1 = i2c_read(PRESSURE_ADDR, 0xAA); + ac1 = ac1 << 8; + ac1 = ac1 | i2c_read(PRESSURE_ADDR, 0xAB); + int16_t ac2 = i2c_read(PRESSURE_ADDR, 0xAC); + ac2 = ac2 << 8; + ac2 = ac2 | i2c_read(PRESSURE_ADDR, 0xAD); + int16_t ac3 = i2c_read(PRESSURE_ADDR, 0xAE); + ac3 = ac3 << 8; + ac3 = ac3 | i2c_read(PRESSURE_ADDR, 0xAF); + uint16_t ac4 = i2c_read(PRESSURE_ADDR, 0xB0); + ac4 = ac4 << 8; + ac4 = ac4 | i2c_read(PRESSURE_ADDR, 0xB1); + uint16_t ac5 = i2c_read(PRESSURE_ADDR, 0xB2); + ac5 = ac5 << 8; + ac5 = ac5 | i2c_read(PRESSURE_ADDR, 0xB3); + uint16_t ac6 = i2c_read(PRESSURE_ADDR, 0xB4); + ac6 = ac6 << 8; + ac6 = ac6 | i2c_read(PRESSURE_ADDR, 0xB5); + int16_t b1 = i2c_read(PRESSURE_ADDR, 0xB6); + b1 = b1 << 8; + b1 = b1 | i2c_read(PRESSURE_ADDR, 0xB7); + int16_t b2 = i2c_read(PRESSURE_ADDR, 0xB8); + b2 = b2 << 8; + b2 = b2 | i2c_read(PRESSURE_ADDR, 0xB9); + int16_t mb = i2c_read(PRESSURE_ADDR, 0xBA); + mb = mb << 8; + mb = mb | i2c_read(PRESSURE_ADDR, 0xBB); + int16_t mc = i2c_read(PRESSURE_ADDR, 0xBC); + mc = mc << 8; + mc = mc | i2c_read(PRESSURE_ADDR, 0xBD); + int16_t md = i2c_read(PRESSURE_ADDR, 0xBE); + md = md << 8; + md = md | i2c_read(PRESSURE_ADDR, 0xBF); + } \ No newline at end of file