/*************************************************************************** BionxControl Copyright © 2025 christoph holzheuer christoph.holzheuer@gmail.com Using: mhs_can_drv.c © 2011 - 2023 by MHS-Elektronik GmbH & Co. KG, Germany Klaus Demlehner, klaus@mhs-elektronik.de @see www.mhs-elektronik.de Based on Bionx data type descriptions from: BigXionFlasher USB V 0.2.4 rev. 97 © 2011-2013 by Thomas Koenig @see www.bigxionflasher.org Bionx Bike Info © 2018 Thorsten Schmidt (tschmidt@ts-soft.de) @see www.ts-soft.de This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. @see https://github.com/bikemike/bionx-bikeinfo ***************************************************************************/ #include #include BCDriver::BCDriver(QObject* parent ) : QObject{ parent } { } BCDriver::DriverState BCDriver::getState() const { return _driverState; } void BCDriver::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 BCDriver::onStartDriver() { try { // erstmal die Dll Laden: State::sIdle -> State::sLoaded if( _driverState == DriverState::NotPresent) _driverState = loadDriver(); emit stateChanged( _driverState ); // DLL geladen, Verbindungsversuch _driverState = initDriver(); // Wir haben was erreicht emit stateChanged( _driverState ); } catch( std::exception& except ) { //::CanDownDriver(); //::UnloadDriver(); emit errorOccured( except.what() ); } }