/*************************************************************************** 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 #include BCDriver::BCDriver(QObject* parent ) : QObject{ parent } { } BCDriver::DriverState BCDriver::getDriverState() const { return _driverState; } /** * * @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 BCDriverDummy::onStartDriver() { _driverState = DriverState::DeviceReady; emit driverStateChanged( DriverState::DeviceReady, "Driver Ready." ); } // __Fix /* try { // erstmal die Dll Laden: State::sIdle -> State::sLoaded if( _driverState == DriverState::NotPresent) _driverState = loadAndInitDriver(); emit stateChanged( _driverState ); } catch( std::exception& except ) { //::CanDownDriver(); //::UnloadAndInitDriver(); emit statusHint( except.what() ); } */ /// ----------------------------------------------------------------------------------- /// ----------------------------------------------------------------------------------- /** * @brief BCDriverDummy::BCDriverDummy * @param parent */ BCDriverDummy::BCDriverDummy( QObject* parent ) : BCDriver(parent) { } BCDriver::TransmitResult BCDriverDummy::readRawByte( uint32_t deviceID, uint8_t registerID ) const { Q_UNUSED(deviceID) Q_UNUSED(registerID) qDebug() << " --- Dummy: readRawByte:DriverState: " << getDriverState(); uint8_t myRandomByte = static_cast(QRandomGenerator::global()->bounded(256)); return myRandomByte; } BCDriver::TransmitResult BCDriverDummy::writeRawByte( uint32_t deviceID, uint8_t registerID, uint8_t value ) const { Q_UNUSED(deviceID) Q_UNUSED(registerID) qDebug() << " --- BCDriverTinyCan writeRawValue: " << value; return 0; }