# Timing of RoBIOS functions

Camera functions
Tested on Robot B (2) Running RoBIOS version 3.0 with Eyecam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
CAMGet(&i,&h,&s) | 13.13 | 76177.31
CAMGetColFrame(&cimg, 0) | 265957.45 | 3.76
CAMGetColFrame(&cimg, 1) | 265957.45 | 3.76
CAMGetFrame(&img) | 265957.45 | 3.76
CAMMode(AUTOBRIGHTNESS) | 265957.45 | 3.76
CAMSet(0,0,0) | 6.93 | 144271.59
CAMSet(127,127,127) | 7.80 | 128273.67
CAMSet(255,255,255) | 7.80 | 128273.67
Camera functions
Tested on Robot Jamie (3) Running RoBIOS version 3.0 with Color Quickcam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
CAMGet(&i,&h,&s) | 15.10 | 66211.88
CAMGetColFrame(&cimg, 0) | 641025.64 | 1.56
CAMGetColFrame(&cimg, 1) | 649350.65 | 1.54
CAMGetFrame(&img) | 10.60 | 94319.86
CAMMode(AUTOBRIGHTNESS) | 10.07 | 99317.19
CAMSet(0,0,0) | 14.46 | 69177.56
CAMSet(127,127,127) | 14.93 | 66964.29
CAMSet(255,255,255) | 14.93 | 66964.29
Key functions
Tested on Robot B (2) Running RoBIOS version 3.0 with Eyecam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
KEYRead() | 442.22 | 2261.31
LCD functions
Tested on Robot A (1) Running RoBIOS version 3.0 with Eyecam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
LCDArea(1,1,2,2,1) | 400.33 | 2497.92
LCDArea(1,1,2,2,2) | 399.13 | 2505.43
LCDArea(1,1,32,32,1) | 94250.71 | 10.61
LCDArea(1,1,64,64,1) | 25.63 | 39015.63
LCDArea(1,1,8,8,1) | 5920.66 | 168.90
LCDArea(1,1,8,8,2) | 5928.39 | 168.68
LCDCPutGraphic(&cimg) | 36630.04 | 27.30
LCDClear() | 66844.92 | 14.96
LCDGetPixel(1,1) | 62.38 | 16031.35
LCDInvertPixel(1,1) | 91.52 | 10926.12
LCDLine(1,1,1,64,1) | 28.32 | 35307.98
LCDLine(1,1,1,64,2) | 28.32 | 35307.98
LCDLine(1,1,32,32,1) | 3088.71 | 323.76
LCDLine(1,1,64,1,1) | 6051.80 | 165.24
LCDLine(1,1,64,1,2) | 6080.88 | 164.45
LCDLine(1,1,64,64,1) | 28.33 | 35301.05
LCDMenu("one","two","thre","four") | 2535.88 | 394.34
LCDMenuI(1,"one") | 707.13 | 1414.17
LCDMenuI(2,"two") | 707.01 | 1414.40
LCDMenuI(3,"thre") | 708.57 | 1411.29
LCDMenuI(4,"four") | 708.57 | 1411.29
LCDMode(CURSOR) | 27.01 | 37022.30
LCDMode(SCROLLING) | 26.25 | 38095.24
LCDPutChar(c) | 840.27 | 1190.09
LCDPutGraphic(&img1) | 22227.16 | 44.99
LCDPutHex(i) | 6865.77 | 145.65
LCDPutHex1(i) | 1721.38 | 580.93
LCDPutImage((BYTE*)img1) | 7650.52 | 130.71
LCDPutInt(i) | 8582.95 | 116.51
LCDPutIntS(i,6) | 8568.25 | 116.71
LCDPutString("Testing\n") | 12714.56 | 78.65
LCDSetChar(1,1,c) | 211.29 | 4732.83
LCDSetChar(10,10,c) | 211.29 | 4732.83
LCDSetPixel(1,1,0) | 93.54 | 10690.65
LCDSetPixel(1,1,1) | 94.24 | 10611.42
LCDSetPixel(1,1,2) | 92.92 | 10762.33
LCDSetPos(0,0) | 85.84 | 11649.50
LCDSetPos(5,5) | 86.59 | 11548.56
LCDSetString(1,1,"Testing\n") | 1141.67 | 875.91
LCDSetString(10,10,"Testing\n") | 1146.67 | 872.09
OS functions
Tested on Robot B (2) Running RoBIOS version 3.0 with Eyecam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
OSEnable() | 7.22 | 138528.21
OSGetVar(SYSSAVEVAR7) | 18.11 | 55218.75
OSMachineID() | 5.68 | 176068.08
OSMachineName() | 5.88 | 170025.43
OSMachineSpeed() | 5.67 | 176240.70
OSMachineType() | 7.25 | 137970.98
OSPutVar(SYSSAVEVAR7, k) | 21.34 | 46865.24
OSVersion() | 5.32 | 187808.94
PSD functions
Tested on Robot A (1) Running RoBIOS version 3.0 with Eyecam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
PSDCheck() | 5.48 | 182341.76
PSDGet(handle) | 21.08 | 47430.83
PSDGetRaw(handle) | 19.20 | 52096.57
Timer functions
Tested on Robot A (1) Running RoBIOS version 3.0 with Eyecam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
OSGetCount() | 5.68 | 176182.86
OSGetTime(&hrs, &mins, &secs, &ticks) | 19.68 | 50815.16
OSSetTime(hrs, mins, secs) | 13.14 | 76107.12
OSShowTime() | 52631.58 | 19.00
OSWait(1) | 10000.00 | 100.00
Image Processing Functions
Tested on Robot B (2) Running RoBIOS version 3.0 with Eyecam at 35.7 Mhz
Function(parameters) | microseconds per call | Number of calls per second
IPColor2Grey(&cimg1, &img2) | 14677.82 | 68.13
IPDiffer(&img1, &img2, &img3) | 14575.13 | 68.61
IPDither(&img1, &img2) | 7490.08 | 133.51
IPLaplace(himg1[2], &img2) | 35765.38 | 27.96
IPSobel(&img1, &img2) | 61425.06 | 16.28