Driver fixes.
This commit is contained in:
@@ -151,7 +151,7 @@ BCDriver::DriverStateResult BCDriverTinyCan::loadDriver()
|
||||
return _driverState;
|
||||
};
|
||||
|
||||
qDebug() << " --- DIRVER: " << cMHS_DRIVERNAME;
|
||||
qDebug() << " --- DRIVER: " << cMHS_DRIVERNAME;
|
||||
|
||||
// #1. erstmal komplett zurücksetzen
|
||||
resetDriver();
|
||||
@@ -178,25 +178,18 @@ BCDriver::DriverStateResult BCDriverTinyCan::loadDriver()
|
||||
BCDriver::DriverStateResult BCDriverTinyCan::setConsoleSlaveMode()
|
||||
{
|
||||
|
||||
// Wir versuchen ein Test-Byte zu lesen, hier: einfach die Hardware
|
||||
// Revision der Console.
|
||||
|
||||
uint32_t console = static_cast<uint32_t>(BCDevice::ID::Console);
|
||||
uint8_t slaveFlag = static_cast<uint8_t> (BC::ID::Cons_Status_Slave);
|
||||
|
||||
unsigned int retry = cTimeOuts;
|
||||
TransmitResult isSlave = 0;
|
||||
// Already slave?
|
||||
isSlave = readRawByte( console, slaveFlag );
|
||||
if( isSlave.has_value() )
|
||||
{
|
||||
//qDebug() << "Console responded: " << isSlave.value();
|
||||
if( isSlave.value() == 1 )
|
||||
{
|
||||
//qDebug() << "Console already in slave mode. good!";
|
||||
return DriverState::DeviceReady;
|
||||
}
|
||||
}
|
||||
|
||||
//qDebug() << "BCDriverTinyCan::BCDriverTinyCan::XXX Driver Init: putting Console in slave mode ... ";
|
||||
|
||||
unsigned int retry = cTimeOuts;
|
||||
if( isSlave.has_value() && isSlave.value() == 1 )
|
||||
goto happyEnd;
|
||||
|
||||
do
|
||||
{
|
||||
@@ -207,11 +200,17 @@ BCDriver::DriverStateResult BCDriverTinyCan::setConsoleSlaveMode()
|
||||
} while( retry-- && !(*isSlave) );
|
||||
|
||||
bc::delay_millis( 500 ); // give the Console some time to settle
|
||||
//if( !isSlave )
|
||||
//emit statusHint( QString("putting Console in slave mode ") + (isSlave ? "done" : "failed") );
|
||||
|
||||
if( isSlave.has_value() && isSlave.value() == 1 )
|
||||
goto happyEnd;
|
||||
|
||||
// ist das jetzt irgendwie schlimm, wenn wir keine slave Console haben
|
||||
return isSlave ? DriverState::DeviceReady : DriverState::Opened;
|
||||
return DriverState::Opened;
|
||||
|
||||
happyEnd:
|
||||
|
||||
_driverState = DriverState::DeviceReady;
|
||||
return DriverState::DeviceReady;
|
||||
|
||||
}
|
||||
|
||||
@@ -239,8 +238,6 @@ TransmitResult BCDriverTinyCan::readRawByte( uint32_t deviceID, uint8_t register
|
||||
if( _driverState <DriverState::Opened )
|
||||
return std::unexpected(QString("readRawValue error: Treiber nicht geladen." ) );
|
||||
|
||||
unsigned char receipient = (unsigned char ) deviceID;
|
||||
|
||||
::TCanMsg msg;
|
||||
|
||||
// msg verpacken
|
||||
|
||||
Reference in New Issue
Block a user