Colour sensors calibrated
Dependencies: mbed-rtos mbed Servo QEI
Fork of ICRSEurobot13 by
System/system.cpp@37:34f4b38039bb, 2013-04-10 (annotated)
- Committer:
- rsavitski
- Date:
- Wed Apr 10 20:09:54 2013 +0000
- Revision:
- 37:34f4b38039bb
- Parent:
- 29:4e20b44251c6
- Child:
- 43:6504d85d85b4
merge new gains and motion fixup
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
madcowswe | 29:4e20b44251c6 | 1 | |
madcowswe | 29:4e20b44251c6 | 2 | #include "rtos.h" |
madcowswe | 29:4e20b44251c6 | 3 | #include "mbed.h" |
madcowswe | 29:4e20b44251c6 | 4 | #include "Printing.h" |
madcowswe | 29:4e20b44251c6 | 5 | |
madcowswe | 29:4e20b44251c6 | 6 | Timer SystemTime; |
madcowswe | 29:4e20b44251c6 | 7 | |
madcowswe | 29:4e20b44251c6 | 8 | Ticker CPUIdleMeasureTicker; |
madcowswe | 29:4e20b44251c6 | 9 | volatile unsigned int nopctr = 0; |
madcowswe | 29:4e20b44251c6 | 10 | const float s_per_nopcycle = 1.0f/24000000.0f; |
madcowswe | 29:4e20b44251c6 | 11 | |
madcowswe | 29:4e20b44251c6 | 12 | float CpuUsage = 0; |
madcowswe | 29:4e20b44251c6 | 13 | |
madcowswe | 29:4e20b44251c6 | 14 | void nopwait(int ms){ |
madcowswe | 29:4e20b44251c6 | 15 | while(ms--) |
madcowswe | 29:4e20b44251c6 | 16 | for (volatile int i = 0; i < 24000; i++); |
madcowswe | 29:4e20b44251c6 | 17 | } |
madcowswe | 29:4e20b44251c6 | 18 | |
madcowswe | 29:4e20b44251c6 | 19 | void PostAndResetCPUIdle(){ |
madcowswe | 29:4e20b44251c6 | 20 | CpuUsage = 1.0f - (s_per_nopcycle * nopctr); |
madcowswe | 29:4e20b44251c6 | 21 | Printing::updateval(10,CpuUsage); |
madcowswe | 29:4e20b44251c6 | 22 | nopctr = 0; |
madcowswe | 29:4e20b44251c6 | 23 | } |
madcowswe | 29:4e20b44251c6 | 24 | |
madcowswe | 29:4e20b44251c6 | 25 | void measureCPUidle (void const*){ |
madcowswe | 29:4e20b44251c6 | 26 | |
madcowswe | 29:4e20b44251c6 | 27 | osThreadSetPriority (osThreadGetId(), osPriorityIdle); |
madcowswe | 29:4e20b44251c6 | 28 | Printing::registerID(10, 1); |
madcowswe | 29:4e20b44251c6 | 29 | |
madcowswe | 29:4e20b44251c6 | 30 | CPUIdleMeasureTicker.attach(PostAndResetCPUIdle, 1); |
madcowswe | 29:4e20b44251c6 | 31 | |
madcowswe | 29:4e20b44251c6 | 32 | while(1) |
madcowswe | 29:4e20b44251c6 | 33 | nopctr++; |
madcowswe | 29:4e20b44251c6 | 34 | } |