TRR 2018 / Mbed 2 deprecated biniou-TRR2019-DLVV

Dependencies:   mbed MPU6050

utils.cpp

Committer:
GaspardD
Date:
2019-10-03
Revision:
9:1b54bac6d9a7
Parent:
8:f23601373e8b
Child:
10:e63fe4080760

File content as of revision 9:1b54bac6d9a7:

#include "utils.h"
#include "log.h"

bool b_UTILS_flag_button_ESC = false;
bool b_UTILS_flag_button_SECTIONS = false;
bool b_UTILS_flag_emergency_stop = false;
Timer t_utils_timerSinceStart;
s_Section* s_UTILS_currentSection = NULL;


Serial rs_UTILS_odroid(PC_10, PC_11,115200);
InterruptIn b_UTILS_button(USER_BUTTON);
InterruptIn b_UTILS_emergency_signal(PD_0);

int i,j;

void it_pressed()
{
    rs_LOG_pc.printf("t_utils_timerSinceStart.read_ms(): %ld\r\n", t_utils_timerSinceStart.read_ms());
    if(t_utils_timerSinceStart.read_ms() > 500) {
        rs_LOG_pc.printf("Button pressed\r\n");
        if(b_LOG_READY) {
            b_LOG_READY = false;
        } else {
            t_utils_timerSinceStart.reset();
            b_UTILS_flag_button_SECTIONS = true;
            b_UTILS_flag_button_ESC = true;
            b_UTILS_flag_emergency_stop = false;
        }
    }
    return;
}

void it_emergency_signal_recieved()
{
    b_UTILS_flag_emergency_stop = true;
}

void bubbleSort(double arr[], int n)
{
    for (i = 0; i < n-1; i++) {
        // Last i elements are already in place
        for (j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1])  {
                swap(&arr[j], &arr[j+1]);
            }
        }
    }
}

void swap(double *xp, double *yp)
{
    double temp = *xp;
    *xp = *yp;
    *yp = temp;
}