Chapter 14
Onboard Programs
©
National Instruments Corporation
14-23
err =
flex_load_target_pos
(boardID, axis, 5000,
0xFF);
CheckError;
//
Wait for line 1 on port 1 to go active to finish
executing
err =
flex_wait_on_event
(boardID, NIMC_IO_PORT1,
NIMC_WAIT, NIMC_CONDITION_IO_PORT_MATCH,
(
u8
)(1<<1)/*Indicates line 1*/, 0, NIMC_MATCH_ALL,
10000 /*time out*/, 0);
CheckError;
//
Start the move
err =
flex_start
(boardID, axis, 0);
CheckError;
//
Wait for move to complete
err =
flex_wait_on_event
(boardID, 0, NIMC_WAIT,
NIMC_CONDITION_MOVE_COMPLETE, (
u8
)(1<<axis), 0,
NIMC_MATCH_ALL, 1000 /*time out*/, 0);
CheckError;
//
Jump unconditionally to label 1 and check IO line
again
err =
flex_jump_on_event
(boardID, 0,
NIMC_CONDITION_TRUE, 0, 0, NIMC_MATCH_ALL, 1/*label
number*/);
CheckError;
//
End Program Storage
err =
flex_end_store
(boardID, 1);
CheckError;
return
;//
Exit the Application
//////////////////////
//
Error Handling
nimcHandleError; //
NIMCCATCHTHIS
:
//
Check to see if there were any Modal Errors
if
(csr & NIMC_MODAL_ERROR_MSG){
do
{
//
Get the command ID, resource ID, and the
error code of the
//
modal error from the
error stack on the device
flex_read_error_msg_rtn
(boardID,&commandI
D,&resourceID, &errorCode);
nimcDisplayError(errorCode,commandID,res
ourceID);