156
istringstream iss( getPositionStr() );
iss » std::hex » ipos;
// string returned is in hex
return
ipos;
}
void
moveToPosition(
int
pos )
const
{
ostringstream oss;
oss « string(
"<08 "
);
oss « std::hex « setw( 8 ) « setfill(
’0’
) « pos;
oss « string(
">"
) « ends;
writeConfirmed( oss.str() );
}
void
waitForEndOfMove(
void
)
const
{
while
( isRunning() )
{
millisleep( 40 );
// wait until the position has been reached
}
}
// required after plugging FOX out and back in again
void
reestablishMotorControl(
void
)
const
{
while
( initializeAndGetVersion().empty() ) {};
}
};
//-----------------------------------------------------------------------------
bool
isDeviceSupportedBySample(
const
Device*
const
pDev )
//-----------------------------------------------------------------------------
{
if
( pDev->family.read() !=
"mvBlueFOX"
)
{
return
false
;
}
return
true
;
}
//-----------------------------------------------------------------------------
int
main(
void
)
//-----------------------------------------------------------------------------
{
DeviceManager devMgr;
Device* pDev = getDeviceFromUserInput( devMgr, isDeviceSupportedBySample );
if
( !pDev )
{
cout «
"Unable to continue! Press [ENTER] to end the application"
« endl;
cin.get();
return
-1;
}
try
{
pDev->open();
}
catch
(
const
EDeviceManager& e )
{
cerr «
"Could not open device "
« pDev->serial.read() «
" ("
« e.what() «
", "
«
e.getErrorCodeAsString() «
")"
« endl;
return
-1;
}
try
{
MotorControl mc( pDev );
cout «
"Found "
« mc.getVersion() « endl;
try
{
int
i = 4;
while
( i-- )
{
mc.moveToPosition( 1500 );
mc.waitForEndOfMove();
cout « mc.getPosition() « endl;
mc.moveToPosition( 2500 );
mc.waitForEndOfMove();
cout « mc.getPosition() « endl;
}
}
catch
(
const
exception& e )
{
cerr «
"Exception of "
«
typeid
( e ).name() «
" ’"
« e.what() «
"’"
« std::endl;
return
-1;
}
}
catch
(
const
exception& e )
{
cerr «
"No M3-F found on this device ("
« e.what() «
")"
« endl;
return
-1;
}
pDev->close();
return
0;
MATRIX VISION GmbH
Содержание MATRIX VISION mvBlueFOX Series
Страница 1: ...mvBlueFOX Technical Manual English Version 3 02...
Страница 2: ......
Страница 8: ......
Страница 19: ...1 6 Important Information 11 MATRIX VISION GmbH...
Страница 20: ...12 MATRIX VISION GmbH...
Страница 21: ...1 6 Important Information 13 1 6 3 Legal notice 1 6 3 1 For customers in the U S A Class B MATRIX VISION GmbH...
Страница 238: ...230 MATRIX VISION GmbH...