Innovative Integration
 
Log inUsernamePassword
Log me on automatically each visit    
Register
Register
Log in to check your private messages
Log in to check your private messages
Detecting integrity errors

 
Post new topic   Reply to topic    II Support Forum Index -> ChicoPlus
View previous topic :: View next topic  
Author Message
jhenderson
Site Admin


Joined: 07 Mar 2006
Posts: 2267
Location: So. Cal. USA

PostPosted: Wed Jun 07, 2006 5:49 am    Post subject: Detecting integrity errors Reply with quote

There are two types of integrity violations in Caliente. The most benign failure mode is tripped whenever the Chico needs to bus master data and all eight BM sub-regions are depleted. This indicates that data loss is forthcoming - so it is more an warning than an error.

These warnings can be detected by installing handlers for these events within the board object.

In MSVC
Code:
    Board.SetEventByName2("OnMyReadIntegrityError", this, &CModulesDlg::OnReadIntegrityError);
    Board.SetEventByName2("OnMyWriteIntegrityError", this, &CModulesDlg::OnWriteIntegrityError);


In Borland
Code:
Board->OnReadIntegrityError = OnMyReadIntegrityError;
Board->OnWriteIntegrityError = OnMyWriteIntegrityError;


The other type is a non-recoverable error. This occurs whenever data is overrun or underrun at the module, and only occurs after all buffering within the system, including any on-module FIFO, is depleted. This can only be detected by polling the appropriate module error bit periodically.

Under MSVC, the module can be queried for buffer overflow/underflow using two properties located in the internals structure.

Code:
bool Overrun = Module.Properties[ "Internals.Overrun" ];
bool Underrun = Module.Properties[ "Internals.Underun" ];


Under BCB
Code:
bool Overrun = Module->Overrun;
bool Underun = Module->Underun;


I it is convenient to place these checks into the OnBlockDataReady and/or OnBlockDataRequested handlers, since these are called periodically during streaming anyway. Alternately, they can be placed in a timer.

_________________
phpbb1
Back to top
View user's profile Send private message Visit poster's website
mikem



Joined: 27 Nov 2007
Posts: 5

PostPosted: Wed Nov 28, 2007 8:28 am    Post subject: Resetting overrun error bit Reply with quote

Jim,

You said that we the second type of overrun checking was not recoverable. Is there a way to reset the module once that flag is set? I would like to poll the error bit and flag an overrun in my application, but I don't want the user to have to restart the application once it is true. Will restarting my application reset that flag, or is that in the hardware?


Thanks,
Mike

Quote:
The other type is a non-recoverable error. This occurs whenever data is overrun or underrun at the module, and only occurs after all buffering within the system, including any on-module FIFO, is depleted. This can only be detected by polling the appropriate module error bit periodically.
Back to top
View user's profile Send private message
jhenderson
Site Admin


Joined: 07 Mar 2006
Posts: 2267
Location: So. Cal. USA

PostPosted: Wed Nov 28, 2007 8:51 am    Post subject: Integrity error reset Reply with quote

The integrity error bit maintained within the module is automatically reset when streaming commences. So, restarting the stream is sufficient - it is not necessary to restart the entire application.
_________________
phpbb1
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    II Support Forum Index -> ChicoPlus (GMT - 8 Hours)
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

© Copyright 2006-2012 Innovative Integration
Powered by phpBB © 2001, 2002 phpBB Group
Based on iCGstation v1.0 Template By Ray © 2003, 2004 iOptional