by Ringo » Tue Jul 12, 2005 7:05 pm
It was the code in executive.c that I missed, thanks.
Now It enters my code in FrameMgr_processLine. Here is what I'm doing:
else if (currentState ==ST_FrameMgr_TrackingBrightFrame)
{
// UIMgr_txBuffer("BRIGHT",6);
// UIMgr_txBuffer("\n\r",2);
while(pixelCount < ACTUAL_NUM_PIXELS_IN_A_LINE)
{
if( currentLineBuffer[pixelCount] > Brightest_Row_Value[pixelCount])
{
Brightest_Row_Location[pixelCount]=trackedLineCount;
Brightest_Row_Value[pixelCount] = currentLineBuffer[pixelCount];
}
pixelCount++;
}
trackedLineCount++;
if (trackedLineCount == ACTUAL_NUM_LINES_IN_A_FRAME)
{
/* an entire frame of tracking data has been acquired, so
publish an event letting the system know this fact */
PUBLISH_EVENT(EV_ACQUIRE_FRAME_COMPLETE);
/* disable the PCLK counting overflow interrupt */
TIMSK &= DISABLE_PCLK_TIMER1_OVERFLOW_BITMASK;
trackedLineCount = 0;
}
else
{
PUBLISH_FAST_EVENT(FEV_PROCESS_LINE_COMPLETE);
}
}
and in FrameMgr_processFrame I have:
#else
/* we only send tracking packets if there are tracked objects */
unsigned char pixelCount = 0;
unsigned char column[5];
unsigned char Location[5];
if (currentState ==ST_FrameMgr_TrackingBrightFrame)
{
UIMgr_txBuffer("Ringo2",6);
UIMgr_txBuffer("\n\r",2);
while(pixelCount < ACTUAL_NUM_PIXELS_IN_A_LINE)
{
itoa(pixelCount,column,10);
itoa(Brightest_Row_Location[pixelCount],Location,10);
UIMgr_txBuffer(column,3);
UIMgr_txBuffer(" ",1);
UIMgr_txBuffer(Location,1);
UIMgr_txBuffer("\n\r",2);
pixelCount++;
}
}
else
if (numCurrTrackedObjects > 0)
but it never spits out the Ringo2. Did I miss something I need to do in the processline?
Thanks
Ringo