Hello Community!
Perhaps this would be helpful.
I bought a cerberus, connect it via USB (socket 8), and connect a camera (socket 2).
Then run the following program:
using System.Threading;
using Gadgeteer.Modules.GHIElectronics;
using Microsoft.SPOT;
namespace serCam02
{
public partial class Program
{
// This method is run when the mainboard is powered up or reset.
void ProgramStarted()
{
// Use Debug.Print to show messages in Visual Studio’s “Output” window during debugging.
Debug.Print(“Program Started”);
for (int i = 0; i < 5; i++)
{
Debug.Print("Counts = " + i.ToString());
GetPictureFromSercam();
}
}
private void GetPictureFromSercam()
{
serCam.SetImageSize(SerCam.Camera_Resolution.SIZE_QQVGA);
serCam.SetRatio(255);
long start = Microsoft.SPOT.Hardware.Utility.GetMachineTime().Ticks;
serCam.StartStreaming();
while (!serCam.isNewImageReady) { Debug.Print("Waiting for cam!"); Thread.Sleep(500); }
byte[] picture = serCam.GetImageData();
int picture_size = serCam.dataImage.Length;
serCam.StopStreaming();
long end = Microsoft.SPOT.Hardware.Utility.GetMachineTime().Ticks;
long duration = (end - start) / 10000;
Debug.Print("duration; " + duration.ToString() + " ms, " + " length: " +
picture_size.ToString());
}
}
}
The result was one time this:
Using mainboard GHI Electronics FEZCerberus version 1.1
Program Started
WARN: Total initialization time exceeds 10 seconds.
: ProgramStarted is blocking execution, which means events and timers wWaiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x4) hat mit Code 0 (0x0) geendet.
duration; 14613 ms, length: 1368
Counts = 1
Waiting for cam!
Der Thread ‘’ (0x5) hat mit Code 0 (0x0) geendet.
duration; 1025 ms, length: 1380
Counts = 2
WARN: Total initialization time exceeds 20 seconds.
: ProgramStarted is blocking execution, which means events and timers will not run properly.
: Make sure not to use blocking code such as while(true) - use a GT.Timer instead.
Waiting for cam!
Waiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x6) hat mit Code 0 (0x0) geendet.
duration; 10590 ms, length: 1332
Counts = 3
Waiting for cam!
Waiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x7) hat mit Code 0 (0x0) geendet.
duration; 2593 ms, length: 1336
Counts = 4
Waiting for cam!
Waiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x8) hat mit Code 0 (0x0) geendet.
duration; 2600 ms, length: 1348
Der Thread ‘’ (0x3) hat mit Code 0 (0x0) geendet.
And the other time that;
Program Started
Counts = 0
Waiting for cam!
Waiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x4) hat mit Code 0 (0x0) geendet.
duration; 8609 ms, length: 1372
Counts = 1
Waiting for cam!
Waiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x5) hat mit Code 0 (0x0) geendet.
duration; 2606 ms, length: 1384
Counts = 2
Waiting for cam!
Waiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x6) hat mit Code 0 (0x0) geendet.
duration; 2599 ms, length: 1344
Counts = 3
WARN: Total initialization time exceeds 20 seconds.
: ProgramStarted is blocking execution, which means events and timers wWaiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x7) hat mit Code 0 (0x0) geendet.
duration; 8606 ms, length: 1372
Counts = 4
Waiting for cam!
Waiting for cam!
Waiting for cam!
Waiting for cam!
Der Thread ‘’ (0x8) hat mit Code 0 (0x0) geendet.
duration; 7609 ms, length: 1348
Der Thread ‘’ (0x3) hat mit Code 0 (0x0) geendet.
Can you please explain the results?
Ingeborg