Nucleo-transfer

Dependencies:   ADS1015 MPU6050 PixelArray PixelArray-Nucleo mbed WS2813

Fork of Nucleo-transfer by Momo Medical

Revision:
46:a0e6e088a50a
Parent:
45:7ebe860702b4
Child:
47:80cfc181f8b3
Child:
54:a65b6fa447b0
--- a/Sensorplate/main.cpp	Mon Jan 08 10:15:58 2018 +0000
+++ b/Sensorplate/main.cpp	Thu Jan 11 10:28:38 2018 +0000
@@ -38,14 +38,15 @@
 #define NUMBER_LED_FRONT (3)                                                       
 #define ONE_COLOR
 
-InterruptIn button_lock(PC_0);                                                       // Input on intterupt base decleration.
-InterruptIn button_reposition(PC_1);
+InterruptIn button_lock(PC_1);                                                       // Input on intterupt base decleration.
+InterruptIn button_reposition(PC_3);
 InterruptIn button_mute(PC_2);
-InterruptIn button_new_patient(PC_3);
+InterruptIn button_new_patient(PC_0);
 
 DigitalIn intensity_code(PA_12);
 DigitalIn colour_code_1(PA_11);
 DigitalIn colour_code_0(PB_12);
+DigitalIn testpin_sensorplate(PC_6);
 
 DigitalOut  LED_on_dev_board1(LED1);                                                // Decleration of digital outputs.
 DigitalOut  LED_on_dev_board2(LED2);
@@ -57,10 +58,10 @@
 WS2812 ws(PA_7, WS2812_BUF, 3, 9, 9, 6);
 
 
-PwmOut lock_feedback_LED(PB_13);                                                      // Declaration of pulse with modulation outputs.
-PwmOut mute_feedback_LED(PB_1);
+PwmOut lock_feedback_LED(PB_1);                                                      // Declaration of pulse with modulation outputs.
+PwmOut mute_feedback_LED(PB_15);
 PwmOut new_patient_feedback_LED(PB_14);
-PwmOut reposition_feedback_LED(PB_15);
+PwmOut reposition_feedback_LED(PB_13);
 
 Timer button_lock_hold_timer;                                                       // Timer for time lock button should be pressed.
 Timer button_calibration_hold_timer;                                                // Timer for calibration function (new patient holding 5 seconds).
@@ -77,7 +78,7 @@
 */
 I2C i2c_sensorplate_adc(PB_9, PB_8);                                                  // I2C for sensorplate.
 //I2C i2c_power_adc(PB_11, PB_10);                                                         // I2C for accupack.
-MPU6050 angle_device_sensorplate(PB_9, PB_8);                                          // i2c pins // i2c address hardcoded 0x68.
+MPU6050_belt angle_device_sensorplate(PB_9, PB_8);                                          // i2c pins // i2c address hardcoded 0x68.
 MPU6050_belt angle_device_reference_belt(PB_9, PB_8);                                  // i2c pins // i2c address hardcoded 0x69.
 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.
@@ -117,7 +118,6 @@
 //const int digital_value_ADC_powervoltage_unplugged = 15000;                         // Digital value to set the indicating LEDs to wall blue (should be set off later). const in hoofdletters
 int intensity_day = 40, intensity_night = 10;                                       // Intensity settings for LED's to wall.
 double intensity = 0.0, control_LED_intensity = 0.0;                                // Variable between 0 and 1 to set the intensity of the LED's above the buttons. Intensity change to smart name!
-bool sensorplate_connection_testpin = true;                                            // Variable to verify by a hardware connection if the sensorplate is connected.
 int colour_code = 0b00;
 bool pi_active = false;
 /*************************** TEST ********************************/
@@ -132,7 +132,7 @@
 bool test_mode = 0;
 
 // Variable for connection test (should be changed):
-int connection_test_sensorplate;
+bool connection_test_sensorplate;
 
 /*************************** CODE ********************************/
 
@@ -224,7 +224,7 @@
         reposition_flag = 0;
     }
 
-    if (batteryvoltage_current != batteryvoltage_last) {                            // If statement to control logging for batteryvoltage.
+    /*if (batteryvoltage_current != batteryvoltage_last) {                            // If statement to control logging for batteryvoltage.
         pi_serial.printf("%%" "%d\n", batteryvoltage_current);
 
         if (test_mode == 1) {                                                       // If statement for test purposal.
@@ -232,7 +232,7 @@
         }
 
         batteryvoltage_last = batteryvoltage_current;
-    }
+    }*/
 
     if (LED_red_logged != LED_red_state) {                                          // If statement to control logging for LED_red.
         if (LED_red_state == 1) {
@@ -656,7 +656,7 @@
     return;
     piezo_electric_sample_timer.reset();                                            // Clock gebruiken o.i.d.?
     piezo_electric_sample_timer.start();
-    connection_test_sensorplate = ;
+    connection_test_sensorplate = !testpin_sensorplate;
 
     if (test_mode == 1) {
         usb_serial.printf("Connection test sensorplate = %d\n", connection_test_sensorplate);
@@ -714,13 +714,13 @@
 
     timer_functions();
 
-    batteryvoltage_current = batteryvoltage_last;
+    /*batteryvoltage_current = batteryvoltage_last;
     powervoltage_current = powervoltage_last;
-    read_voltage();                                                                 // Read_voltage function to control alarm.
+    read_voltage();*/                                                                 // Read_voltage function to control alarm.
 
-    if (test_mode == 1) {
+    /*if (test_mode == 1) {
         usb_serial.printf("Voltage = %d   ,   %d\n", batteryvoltage_current, powervoltage_current);
-    }
+    }*/
 
     uint32_t val = 0;
     colour_select_indicating_LED_wall(LED_colour);                                  // Function to select colour.
@@ -764,13 +764,13 @@
 {
     wait_ms(boot_delay_ms);                                                         // Wait to boot sensorplate first.
     i2c_sensorplate_adc.frequency(i2c__frequency);                                        // Set frequency for i2c connection to sensorplate (variable is declared in config part).
-    i2c_power_adc.frequency(i2c__frequency);                                              // Same as line 695, but now for ADC to read battery- en powervoltage.
+    //i2c_power_adc.frequency(i2c__frequency);                                              // Same as line 695, but now for ADC to read battery- en powervoltage.
     usb_serial.baud(baud_rate);                                                     // Set serial USB connection baud rate (variable is declared in config part).
     pi_serial.baud(baud_rate);                                                      // Same as line 697, but now for serial PI connection.
     piezo_resistive_adc1.setGain(GAIN_TWOTHIRDS);                                   // Set ranges of ADC to +/-6.144V (end is marked with #):
     piezo_resistive_adc2.setGain(GAIN_TWOTHIRDS);
     piezo_electric_adc.setGain(GAIN_TWOTHIRDS);
-    adsAccu.setGain(GAIN_TWOTHIRDS);                                                // #) End of configuration ADC ranges.
+    //adsAccu.setGain(GAIN_TWOTHIRDS);                                                // #) End of configuration ADC ranges.
     pi_serial.format(8, SerialBase::None, 1);                                       // Set serial communication line with PI.
 
     button_lock.mode(PullUp);
@@ -799,7 +799,7 @@
 //        wait_us(total_readout_cycle_time_us+1);                                     // Wait indefinitely.
         piezo_electric_sample_timer.reset();                                            // Clock gebruiken o.i.d.?
         piezo_electric_sample_timer.start();
-        connection_test_sensorplate = sensorplate_connection_testpin;
+        connection_test_sensorplate = !testpin_sensorplate && pi_active;
 
         if (test_mode == 1) {
             usb_serial.printf("Connection test sensorplate = %d\n", connection_test_sensorplate);
@@ -874,15 +874,15 @@
         if (test_mode == 1) {
             usb_serial.printf("Loop time after timer_functions: %d ms\n",piezo_electric_sample_timer.read_ms());
         }
-        batteryvoltage_current = batteryvoltage_last;
+        /*batteryvoltage_current = batteryvoltage_last;
         powervoltage_current = powervoltage_last;
-        read_voltage();                                                                 // Read_voltage function to control alarm.
+        read_voltage();*/                                                                 // Read_voltage function to control alarm.
         if (test_mode == 1) {
             usb_serial.printf("Loop time after read_voltage: %d ms\n",piezo_electric_sample_timer.read_ms());
         }
-        if (test_mode == 1) {
+        /*if (test_mode == 1) {
             usb_serial.printf("Voltage = %d   ,   %d\n", batteryvoltage_current, powervoltage_current);
-        }
+        }*/
 
         uint32_t val = 0;
         colour_select_indicating_LED_wall(LED_colour);                                  // Function to select colour.