EEPROMTEST

Dependencies:   ADS1015 mbed

Fork of Test_nucleo_MCUUU by BAP TUDelft

Committer:
MockyBirdTwo
Date:
Tue May 08 08:25:53 2018 +0000
Revision:
7:65325c237ac5
Parent:
6:7859d19b781a
Child:
8:2875bb7a4e67
Added checkzero

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xorjoep 0:952479e15354 1 #include "mbed.h" // Include files and define parameters.
xorjoep 0:952479e15354 2 #include "Adafruit_ADS1015.h"
MockyBirdTwo 7:65325c237ac5 3 #include <vector>
xorjoep 0:952479e15354 4
xorjoep 0:952479e15354 5 I2C i2c_sensorplate_adc(PB_9, PB_8); // I2C for sensorplate.
xorjoep 0:952479e15354 6 Adafruit_ADS1115 piezo_resistive_adc1(&i2c_sensorplate_adc, 0x48); // i2c pins, i2c address.
xorjoep 0:952479e15354 7 Adafruit_ADS1115 piezo_resistive_adc2(&i2c_sensorplate_adc, 0x49); // i2c pins, i2c address.
xorjoep 0:952479e15354 8 Adafruit_ADS1115 piezo_electric_adc(&i2c_sensorplate_adc, 0x4B); // i2c pins, i2c address.
xorjoep 0:952479e15354 9 Serial usb_serial(SERIAL_TX, SERIAL_RX); // tx, rx
xorjoep 0:952479e15354 10
xorjoep 0:952479e15354 11 int i2c__frequency = 100000; // I2C Frequency.
xorjoep 0:952479e15354 12 int baud_rate = 115200; // Baud rate.
xorjoep 0:952479e15354 13
xorjoep 4:fd10d8609295 14 Timer timer;
xorjoep 4:fd10d8609295 15
MockyBirdTwo 7:65325c237ac5 16 // array to save sensor data
MockyBirdTwo 3:efb3a5b4bc9e 17
xorjoep 0:952479e15354 18 DigitalOut myled(LED1);
MockyBirdTwo 3:efb3a5b4bc9e 19
MockyBirdTwo 7:65325c237ac5 20 void checkzero (std::vector<int>& sendat, int size){ //Check whether any sensor values are zero
MockyBirdTwo 7:65325c237ac5 21 for(int i=0;i<size;++i){
MockyBirdTwo 7:65325c237ac5 22 if(sendat[i]!= 0)
MockyBirdTwo 7:65325c237ac5 23 usb_serial.printf("Sensor %d is not zero\n", i);
MockyBirdTwo 7:65325c237ac5 24 }
MockyBirdTwo 7:65325c237ac5 25 }
xorjoep 0:952479e15354 26 int main(){
MockyBirdTwo 7:65325c237ac5 27 std::vector<int> S_data(8);
xorjoep 0:952479e15354 28
xorjoep 0:952479e15354 29 i2c_sensorplate_adc.frequency(i2c__frequency); // Set frequency for i2c connection to sensorplate (variable is declared in config part).
xorjoep 0:952479e15354 30 usb_serial.baud(baud_rate); // Set serial USB connection baud rate (variable is declared in config part).
xorjoep 0:952479e15354 31
MockyBirdTwo 3:efb3a5b4bc9e 32 usb_serial.printf("MCUs rule the World !\n");
xorjoep 1:8c5bcf47869e 33
xorjoep 0:952479e15354 34 piezo_resistive_adc1.setGain(GAIN_TWOTHIRDS); // Set ranges of ADC to +/-6.144V (end is marked with #):
xorjoep 0:952479e15354 35 piezo_resistive_adc2.setGain(GAIN_TWOTHIRDS);
xorjoep 0:952479e15354 36
xorjoep 4:fd10d8609295 37 usb_serial.printf("Gains set.\n");
xorjoep 1:8c5bcf47869e 38
xorjoep 4:fd10d8609295 39 timer.start();
xorjoep 0:952479e15354 40 while(1){
xorjoep 4:fd10d8609295 41 while(timer.read_us() < 2000){}; timer.reset(); //Set readout frequency
xorjoep 0:952479e15354 42
xorjoep 0:952479e15354 43 myled = !myled;
xorjoep 0:952479e15354 44 //usb_serial.printf("Piezo electric 0_1 dif %d \n", piezo_electric_adc.readADC_Differential_0_1()); // First PE readout.
xorjoep 0:952479e15354 45 // usb_serial.printf("Piezo electric 2_3 dif %d \n", piezo_electric_adc.readADC_Differential_2_3());
MockyBirdTwo 6:7859d19b781a 46
MockyBirdTwo 7:65325c237ac5 47 for (uint8_t t=0; t<4; ++t){ //Save sensor data into array
MockyBirdTwo 7:65325c237ac5 48 S_data[t] = (int16_t) piezo_resistive_adc1.readADC_SingleEnded(t); //Put first 4 PR sensor data into first 4 S_data array
MockyBirdTwo 7:65325c237ac5 49 S_data[t+4]= (int16_t) piezo_resistive_adc2.readADC_SingleEnded(t); //Put next 4 PR sensor data into first 4 S_data array
MockyBirdTwo 6:7859d19b781a 50 }
MockyBirdTwo 7:65325c237ac5 51
MockyBirdTwo 7:65325c237ac5 52
xorjoep 0:952479e15354 53 for (uint8_t k = 0; k < 4; ++k) {
MockyBirdTwo 6:7859d19b781a 54 usb_serial.printf("R %d Ar %d: %d\n", k, 1, S_data[k]); // First 4 PR readout.
MockyBirdTwo 6:7859d19b781a 55 usb_serial.printf("R %d Ar %d: %d\n", k, 2, S_data[k+4]); // First 4 PR readout.
xorjoep 0:952479e15354 56 }
MockyBirdTwo 7:65325c237ac5 57 checkzero(S_data,S_data.size());
MockyBirdTwo 7:65325c237ac5 58
xorjoep 0:952479e15354 59 }
xorjoep 0:952479e15354 60 }