Colour sensors calibrated

Dependencies:   mbed-rtos mbed Servo QEI

Fork of ICRSEurobot13 by Thomas Branch

System/system.cpp

Committer:
madcowswe
Date:
2013-04-10
Revision:
29:4e20b44251c6
Child:
43:6504d85d85b4

File content as of revision 29:4e20b44251c6:


#include "rtos.h"
#include "mbed.h"
#include "Printing.h"

Timer SystemTime;

Ticker CPUIdleMeasureTicker;
volatile unsigned int nopctr = 0;
const float s_per_nopcycle = 1.0f/24000000.0f;

float CpuUsage = 0;

void nopwait(int ms){
while(ms--)
    for (volatile int i = 0; i < 24000; i++);
}

void PostAndResetCPUIdle(){
    CpuUsage = 1.0f - (s_per_nopcycle * nopctr);
    Printing::updateval(10,CpuUsage);
    nopctr = 0;
}

void measureCPUidle (void const*){
    
    osThreadSetPriority (osThreadGetId(), osPriorityIdle);
    Printing::registerID(10, 1);
    
    CPUIdleMeasureTicker.attach(PostAndResetCPUIdle, 1);
    
    while(1)
        nopctr++;
}