EEPROMTEST

Dependencies:   ADS1015 mbed

Fork of Test_nucleo_MCUUU by BAP TUDelft

main.cpp

Committer:
MockyBirdTwo
Date:
2018-05-07
Revision:
5:ff21a388985c
Parent:
4:fd10d8609295
Parent:
3:efb3a5b4bc9e
Child:
6:7859d19b781a

File content as of revision 5:ff21a388985c:

#include "mbed.h"                                                                   // Include files and define parameters.
#include "Adafruit_ADS1015.h"

I2C i2c_sensorplate_adc(PB_9, PB_8);                                                  // I2C for sensorplate.
Adafruit_ADS1115 piezo_resistive_adc1(&i2c_sensorplate_adc, 0x48);                  // i2c pins, i2c address.
Adafruit_ADS1115 piezo_resistive_adc2(&i2c_sensorplate_adc, 0x49);                  // i2c pins, i2c address.
Adafruit_ADS1115 piezo_electric_adc(&i2c_sensorplate_adc, 0x4B);                    // i2c pins, i2c address.
Serial usb_serial(SERIAL_TX, SERIAL_RX);                                            // tx, rx

int i2c__frequency = 100000;                                                              // I2C Frequency.
int baud_rate = 115200;                                                             // Baud rate.

Timer timer;

int S_data[8]={};                                                                   // array to save sensor data

DigitalOut myled(LED1);

int main(){
    
    
    i2c_sensorplate_adc.frequency(i2c__frequency);                                    // Set frequency for i2c connection to sensorplate (variable is declared in config part).
    usb_serial.baud(baud_rate);                                                     // Set serial USB connection baud rate (variable is declared in config part).

    usb_serial.printf("MCUs rule the World !\n");

    piezo_resistive_adc1.setGain(GAIN_TWOTHIRDS);                                   // Set ranges of ADC to +/-6.144V (end is marked with #):
    piezo_resistive_adc2.setGain(GAIN_TWOTHIRDS);   

    usb_serial.printf("Gains set.\n");  
    
    timer.start();
    while(1){
        while(timer.read_us() < 2000){}; timer.reset(); //Set readout frequency

        myled = !myled;
        //usb_serial.printf("Piezo electric 0_1 dif %d \n", piezo_electric_adc.readADC_Differential_0_1());            // First PE readout.
//        usb_serial.printf("Piezo electric 2_3 dif %d \n", piezo_electric_adc.readADC_Differential_2_3()); 
        
        for (uint8_t k = 0; k < 4; ++k) {
            usb_serial.printf("R %d Ar %d: %d\n", k, 1, (int16_t) piezo_resistive_adc1.readADC_SingleEnded(k));  // First 4 PR readout.
            usb_serial.printf("R %d Ar %d: %d\n", k, 2, (int16_t) piezo_resistive_adc2.readADC_SingleEnded(k));  // First 4 PR readout.
        }

        usb_serial.printf("This program runs since %d seconds.\n", i++);
        
        for (uint8_t t=0; t<4; ++t){ //Save data into array
            S_data[t] = piezo_resistive_adc1.readADC_SingleEnded(t);             //Put first 4 PR data into first 4 S_data array
            S_data[t+4]=piezo_resistive_adc2.readADC_SingleEnded(t);             //Put next 4 PR data into first 4 S_data array
        }

    }
    
}