#include #include BCCanDriver::BCCanDriver(QObject* parent ) : QObject{ parent } { } BCCanDriver::DriverState BCCanDriver::getState() const { return _driverState; } void BCCanDriver::setState( DriverState newState ) { _driverState = newState; } /** * * @brief Der Slot, der das Initialisieren des Treibers auslöst. * Teilt sich in die zwei Etappen * - Driver dll laden * - Driver mit der Console verbinden * D.h. initDriver kann als Wiedereinstiegspunkt * verwendet werden, falls der Treiber geladen wurde, * aber die Console noch nicht eingeschaltet war. */ void BCCanDriver::onStartDriver() { try { // erstmal die Dll Laden: State::sIdle -> State::sLoaded if( _driverState == DriverState::NotPresent) _driverState = loadDriver(); emit stateChanged( (int) _driverState ); // DLL geladen, Verbindungsversuch _driverState = initDriver(); // Wir haben was erreicht emit stateChanged( (int) _driverState ); } catch( std::exception& except ) { //::CanDownDriver(); //::UnloadDriver(); emit errorOccured( except.what() ); } }