Added stylesheet, demo docs etc.

This commit is contained in:
2025-12-17 13:11:26 +01:00
parent 4c5e42fcfd
commit 08d6c593da
17 changed files with 530 additions and 160 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
BionxControl.pro.user
build/
bcvalue.cpp.autosave
.qtcreator/BionxControl.pro.user

View File

@@ -1,5 +1,6 @@
<RCC>
<qresource prefix="/">
<file alias="bikeinfo.xml">data/bikeinfo.xml</file>
<file>BionxControl.qss</file>
</qresource>
</RCC>

29
BionxControl.qss Normal file
View File

@@ -0,0 +1,29 @@
/* app.qss */
/* Alle QWidgets bekommen diesen Font */
QWidget {
font-size: 14px;
font-family: "Segoe UI", sans-serif;
}
/* Spezifisches Styling für Buttons */
QPushButton {
background-color: #0078d7;
color: white;
border-radius: 4px;
padding: 6px;
}
QPushButton:hover {
background-color: #1084e3;
}
QPushButton:pressed {
background-color: #005a9e;
}
/* Styling anhand von Objektnamen (ID) */
#loginButton {
font-weight: bold;
background-color: green;
}

1
bc.h
View File

@@ -748,6 +748,7 @@ namespace BCTags
{
inline constexpr auto Device = "Device"_L1;
inline constexpr auto ID = "ID"_L1;
inline constexpr auto Label = "Label"_L1;
inline constexpr auto Default = "Default"_L1;
inline constexpr auto Current = "Current"_L1;
inline constexpr auto Enabled = "Enabled"_L1;

View File

@@ -27,8 +27,47 @@
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>30</x>
<y>50</y>
<width>171</width>
<height>51</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>20</x>
<y>140</y>
<width>171</width>
<height>51</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</widget>
<widget class="QTableView" name="_valueView">
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Plain</enum>
</property>
<property name="alternatingRowColors">
<bool>false</bool>
</property>
<property name="gridStyle">
<enum>Qt::PenStyle::CustomDashLine</enum>
</property>
</widget>
<widget class="QTableView" name="_valueView"/>
</widget>
</item>
</layout>
@@ -39,7 +78,7 @@
<x>0</x>
<y>0</y>
<width>800</width>
<height>22</height>
<height>18</height>
</rect>
</property>
</widget>

View File

@@ -48,7 +48,7 @@ uint8_t BCValue::getLongValue()
}
BCValue* BCValue::makeValue( BCDevice::ID deviceID, const BCValueParams& params )
BCValue BCValue::makeValue( BCDevice::ID deviceID, const BCValueParams& params )
{
auto setIfExists = [&]( QStringView source, optDouble& target )
@@ -69,17 +69,18 @@ BCValue* BCValue::makeValue( BCDevice::ID deviceID, const BCValueParams& params
- eine gültige ID
*/
BCValue* newValue{};
BCValue newValue{};
auto IDVal = s_bcValueEnum.keyToValue64( params.ID.toLatin1().constData() );
if( IDVal.has_value() )
{
newValue = new BCValue( deviceID, BC::ID( IDVal.value() ) );
setIfExists( params.Factor, newValue->factor );
setIfExists( params.Min, newValue->min );
setIfExists( params.Max, newValue->max );
newValue->defaultValue.setValue( params.Default );
newValue->value.setValue( params.Current );
newValue = BCValue( deviceID, BC::ID( IDVal.value() ) );
setIfExists( params.Factor, newValue.factor );
setIfExists( params.Min, newValue.min );
setIfExists( params.Max, newValue.max );
newValue.defaultValue.setValue( params.Label );
newValue.value.setValue( params.Current );
newValue.label = params.Label;
}
return newValue;

View File

@@ -43,6 +43,7 @@ using optDouble = std::optional<double>;
struct BCValueParams
{
QString ID;
QString Label;
QString Default;
QString Current;
QString Enabled;
@@ -81,10 +82,11 @@ public:
optDouble min;
optDouble max;
optDouble factor;
QVariant defaultValue;
QVariant value;
static BCValue* makeValue( BCDevice::ID deviceID, const BCValueParams& params );
static BCValue makeValue(BCDevice::ID deviceID, const BCValueParams& params );
};
@@ -104,18 +106,7 @@ constexpr auto to_u(E e) noexcept {
}
*/
class BCValueShort
{
};
class BCValueLong
{
};
using BCValueList = QList<BCValue*>;
using BCValueList = QList<BCValue>;
#endif // BCRawValue_H

View File

@@ -163,9 +163,11 @@ void BCValueManager::readDevice( BCValueList& parsedValues )
{
//qDebug() << " --- found: " << _xml.name() << " : " << _xml.attributes().value(BCTags::ID);
QString id = _xml.attributes().value(BCTags::ID).toString();
BCValueParams params
{
.ID = _xml.attributes().value(BCTags::ID).toString(),
.ID = id,
.Label = _xml.attributes().value(BCTags::Label).toString(),
.Default = _xml.attributes().value(BCTags::Default).toString(),
.Current = _xml.attributes().value(BCTags::Current).toString(),
.Enabled = _xml.attributes().value(BCTags::Enabled).toString(),
@@ -175,10 +177,11 @@ void BCValueManager::readDevice( BCValueList& parsedValues )
.Factor = _xml.attributes().value(BCTags::Factor).toString()
};
BCValue* newValue = BCValue::makeValue( _currentDeviceID, params );
if(newValue)
// __fix! können ungültige werte erzeugt werden ?
//BCValue newValue = BCValue::makeValue( _currentDeviceID, params );
//if(newValue)
// parsedValues.push_back( newValue );
parsedValues.push_back( BCValue::makeValue( _currentDeviceID, params ) );
}
//printAttrs (_xml);

View File

@@ -1,129 +1,31 @@
<?xml version='1.0' encoding='UTF-8'?>
<Bike name='franken-wheeler'>
<Device Type="Console">
<!-- müssen wir doppel werte hier reinschreiben? -->
<Value ID='Cons_Stat_Dist_Hi' Default='' Current='' Enabled='true' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Dist_Lo' Default='' Current='' Enabled='true' UnitType='mm'/>
<Value ID='Cons_Stat_Avgspeed_Hi' Default='' Current='' Enabled='true' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Avgspeed_Lo' Default='' Current='' Enabled='true' UnitType='mm'/>
<Value ID='Cons_Stat_Odo_Hihi' Default='' Current='' Enabled='true' Factor='0.1' />
<Value ID='Cons_Stat_Odo_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Odomoter_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Odo_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Rev_Hw' Label='Hardware Version' Default='' Current='' Enabled='true' />
<Value ID='Cons_Rev_Sw' Label='Software Version' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Product_Hi' Label='Product Number' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Oem_Hi' Label='OEM Number' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Nip_Hihi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Nip_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Nip_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Nip_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Calibrated' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Second' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Minute' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Hour' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Lcd_Contrast' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Location' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Year' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Month' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Day' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Initlevel' Label='Assistance Init Level' Default='' Current='' Enabled='true' Min='0' Max='4' />
<Value ID='Cons_Assist_Level_1' Label='Assistance Level 1' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_2' Label='Assistance Level 2' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_3' Label='Assistance Level 3' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_4' Label='Assistance Level 4' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Sn_Pn_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Pn_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Item_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Item_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Maxspeed_Flag' Label='Max Limit Enabled' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Maxspeed_Hi' Label='Max Speed Limit' Default='' Current='' LongValue='true' Enabled='true' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Assist_Gauge_Joint' Default='' Current='' Enabled='true' Min='0' Max='11' />
<Value ID='Cons_Throttle_Min_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Min_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Max_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Max_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Minspeed_Flag' Label='Min Limit Enabled' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Minspeed' Label='Min Speed Limit' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Light_On_At_Start' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Maxspeed_Flag' Label='Throttle Limit Enabled' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Maxspeed_Hi' Label='Throttle Speed Limit' Default='' Current='' LongValue='true' Enabled='true' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Geometry_Circ_Hi' Default='' Current='' Enabled='true' UnitType='mm' />
<Value ID='Cons_Geometry_Circ_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Maxspeed_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Maxspeed_Hi' Default='' Current='' Enabled='true' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Assist_Maxspeed_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Maxspeed_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Maxspeed_Hi' Default='' Current='' Enabled='true' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Throttle_Maxspeed_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Minspeed_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Minspeed' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Brake_Level' Default='' Current='' Enabled='true' Min='0' Max='64' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Preference_Trip_To_Empty_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Display_Units' Default='1' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Enabled_Onstrain' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Brake_Flag' Default='1' Current='' Enabled='true' />
<Value ID='Cons_Assist_Brake_Polarity' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Gauge_Filter' Default='' Current='' Enabled='true' Min='0' Max='8' />
<Value ID='Cons_Rev_Sw' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Gauge_Gain' Default='' Current='' Enabled='true' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_A' Default='' Current='' Enabled='true' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_B' Default='' Current='' Enabled='true' Min='0.1' Max='25.0' Factor='0.1' />
<Value ID='Cons_Sn_Type' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Region' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Configbit_0' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Enabled_Boost_Display' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Autoregen_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Rev_Sub' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Light_Button_Mode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Expertmode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Level_1' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_2' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_3' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_4' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Initlevel' Default='' Current='' Enabled='true' Min='0' Max='4' />
<Value ID='Cons_Preference_Codes_Hihi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codes_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codes_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codes_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Hihi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Oem_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Oem_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Throttle_Mode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Speedgain' Default='' Current='' Enabled='true' Factor='0.1' />
<Value ID='Cons_Sn_Product_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Product_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Boost_Triggerlevel' Default='' Current='' Enabled='true' Min='1.5' Max='50.0' UnitType='%' Factor='1.5625' />
<Value ID='Cons_Preference_Flip_Side' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Testmode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Testmode_Hw14' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Mountain_Cap' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625' />
<Value ID='Cons_Config_Last_Mode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Last_Mode_On' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Last_Mode_Off' Default='' Current='' Enabled='true' />
<Value ID='Cons_Rev_Hw' Default='' Current='' Enabled='true' />
<Value ID='Cons_Status_Slave' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Raw_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Raw_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Position' Default='' Current='' Enabled='true' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_3' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_4' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Config_Service_Timestamp_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Service_Zimestamp_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Service_Distance_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Service_Distance_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Level_Rekuperation_1' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_2' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Geometry_Circ_Hi' Label='Wheel Circumference' Default='' Current='' LongValue='true' Enabled='true' UnitType='mm' />
<Value ID='Cons_Assist_Mountain_Cap' Label='Mountain Cap' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625' />
</Device>
@@ -133,4 +35,122 @@
</Device>
<Device Type="Sensor">
</Device>
</Bike>
<!--
printf( " odo .....................: %0.2f Km" _NL _NL,
((getValue(CONSOLE, CONSOLE_STATS_ODO_1) << 24) +
(getValue(CONSOLE, CONSOLE_STATS_ODO_2) << 16) +
(getValue(CONSOLE, CONSOLE_STATS_ODO_3) << 8) +
(getValue(CONSOLE, CONSOLE_STATS_ODO_4))) / (double)10
);
}
<Value ID='Cons_Stat_Dist_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Dist_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='mm'/>
<Value ID='Cons_Stat_Avgspeed_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Avgspeed_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='mm'/>
<Value ID='Cons_Stat_Odo_Hihi' Label='' Default='' Current='' LongValue='true' Enabled='true' Factor='0.1' />
<Value ID='Cons_Stat_Odo_Hilo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Stat_Odomoter_Lohi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Stat_Odo_Lolo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Nip_Hihi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Nip_Hilo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Nip_Lohi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Nip_Lolo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Calibrated' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Second' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Minute' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Hour' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Lcd_Contrast' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Location' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Year' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Month' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Day' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Pn_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Pn_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Item_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Sn_Item_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Gauge_Joint' Label='' Default='' Current='' LongValue='true' Enabled='true' Min='0' Max='11' />
<Value ID='Cons_Throttle_Min_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Min_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Max_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Max_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Light_On_At_Start' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Brake_Level' Label='' Default='' Current='' LongValue='true' Enabled='true' Min='0' Max='64' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Preference_Trip_To_Empty_Flag' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Display_Units' Default='1' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Enabled_Onstrain' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Brake_Flag' Default='1' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Brake_Polarity' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Gauge_Filter' Label='' Default='' Current='' LongValue='true' Enabled='true' Min='0' Max='8' />
<Value ID='Cons_Assist_Gauge_Gain' Label='' Default='' Current='' LongValue='true' Enabled='true' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_A' Label='' Default='' Current='' LongValue='true' Enabled='true' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_B' Label='' Default='' Current='' LongValue='true' Enabled='true' Min='0.1' Max='25.0' Factor='0.1' />
<Value ID='Cons_Sn_Type' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Region' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Configbit_0' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Enabled_Boost_Display' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Autoregen_Flag' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Rev_Sub' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Light_Button_Mode' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Expertmode' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codes_Hihi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codes_Hilo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codes_Lohi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codes_Lolo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Hihi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Hilo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Lohi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Lolo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Preference_Throttle_Mode' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Boost_Triggerlevel' Label='' Default='' Current='' LongValue='true' Enabled='true' Min='1.5' Max='50.0' UnitType='%' Factor='1.5625' />
<Value ID='Cons_Preference_Flip_Side' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Config_Testmode' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Config_Testmode_Hw14' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Config_Last_Mode' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Speedgain' Label='' Default='' Current='' LongValue='true' Enabled='true' Factor='0.1' />
<Value ID='Cons_Config_Last_Mode_On' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Config_Last_Mode_Off' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Status_Slave' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Raw_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Raw_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Throttle_Position' Label='' Default='' Current='' LongValue='true' Enabled='true' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_3' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_4' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Config_Service_Timestamp_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Config_Service_Zimestamp_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Config_Service_Distance_Hi' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Config_Service_Distance_Lo' Label='' Default='' Current='' LongValue='true' Enabled='true' />
<Value ID='Cons_Assist_Level_Rekuperation_1' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_2' Label='' Default='' Current='' LongValue='true' Enabled='true' UnitType='%' Factor='1.5625'/>
-->

BIN
doc/BF_BikeInformation.docx Normal file

Binary file not shown.

Binary file not shown.

136
doc/console_full.xml Normal file
View File

@@ -0,0 +1,136 @@
<?xml version='1.0' encoding='UTF-8'?>
<Bike name='franken-wheeler'>
<Device Type="Console">
<!-- müssen wir doppel werte hier reinschreiben? -->
<Value ID='Cons_Stat_Dist_Hi' Default='' Current='' Enabled='true' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Dist_Lo' Default='' Current='' Enabled='true' UnitType='mm'/>
<Value ID='Cons_Stat_Avgspeed_Hi' Default='' Current='' Enabled='true' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Avgspeed_Lo' Default='' Current='' Enabled='true' UnitType='mm'/>
<Value ID='Cons_Stat_Odo_Hihi' Default='' Current='' Enabled='true' Factor='0.1' />
<Value ID='Cons_Stat_Odo_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Odomoter_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Odo_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Nip_Hihi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Nip_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Nip_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Nip_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Calibrated' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Second' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Minute' Default='' Current='' Enabled='true' />
<Value ID='Cons_Stat_Chrono_Hour' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Lcd_Contrast' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Location' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Year' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Month' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Day' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Pn_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Pn_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Item_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Item_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Gauge_Joint' Default='' Current='' Enabled='true' Min='0' Max='11' />
<Value ID='Cons_Throttle_Min_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Min_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Max_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Max_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Light_On_At_Start' Default='' Current='' Enabled='true' />
<Value ID='Cons_Geometry_Circ_Hi' Default='' Current='' Enabled='true' UnitType='mm' />
<Value ID='Cons_Geometry_Circ_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Maxspeed_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Maxspeed_Hi' Default='' Current='' Enabled='true' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Assist_Maxspeed_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Maxspeed_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Maxspeed_Hi' Default='' Current='' Enabled='true' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Throttle_Maxspeed_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Minspeed_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Minspeed' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Brake_Level' Default='' Current='' Enabled='true' Min='0' Max='64' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Preference_Trip_To_Empty_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Display_Units' Default='1' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Enabled_Onstrain' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Brake_Flag' Default='1' Current='' Enabled='true' />
<Value ID='Cons_Assist_Brake_Polarity' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Gauge_Filter' Default='' Current='' Enabled='true' Min='0' Max='8' />
<Value ID='Cons_Rev_Sw' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Gauge_Gain' Default='' Current='' Enabled='true' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_A' Default='' Current='' Enabled='true' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_B' Default='' Current='' Enabled='true' Min='0.1' Max='25.0' Factor='0.1' />
<Value ID='Cons_Sn_Type' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Region' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Configbit_0' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Enabled_Boost_Display' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Autoregen_Flag' Default='' Current='' Enabled='true' />
<Value ID='Cons_Rev_Sub' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Light_Button_Mode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Expertmode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Level_1' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_2' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_3' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_4' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Initlevel' Default='' Current='' Enabled='true' Min='0' Max='4' />
<Value ID='Cons_Preference_Codes_Hihi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codes_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codes_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codes_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Hihi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Hilo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Lohi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Codesrw_Lolo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Oem_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Oem_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Preference_Throttle_Mode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Speedgain' Default='' Current='' Enabled='true' Factor='0.1' />
<Value ID='Cons_Sn_Product_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Sn_Product_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Boost_Triggerlevel' Default='' Current='' Enabled='true' Min='1.5' Max='50.0' UnitType='%' Factor='1.5625' />
<Value ID='Cons_Preference_Flip_Side' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Testmode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Testmode_Hw14' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Mountain_Cap' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625' />
<Value ID='Cons_Config_Last_Mode' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Last_Mode_On' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Last_Mode_Off' Default='' Current='' Enabled='true' />
<Value ID='Cons_Rev_Hw' Default='' Current='' Enabled='true' />
<Value ID='Cons_Status_Slave' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Raw_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Raw_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Throttle_Position' Default='' Current='' Enabled='true' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_3' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_4' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Config_Service_Timestamp_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Service_Zimestamp_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Service_Distance_Hi' Default='' Current='' Enabled='true' />
<Value ID='Cons_Config_Service_Distance_Lo' Default='' Current='' Enabled='true' />
<Value ID='Cons_Assist_Level_Rekuperation_1' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_2' Default='' Current='' Enabled='true' UnitType='%' Factor='1.5625'/>
</Device>
<Device Type="Battery">
</Device>
<Device Type="Motor">
</Device>
<Device Type="Sensor">
</Device>
</Bike>

129
doc/dummy.c Normal file
View File

@@ -0,0 +1,129 @@
hwVersion = getValue(CONSOLE, CONSOLE_REF_HW);
" assistance level ........: %d"
getValue(CONSOLE, CONSOLE_ASSIST_INITLEVEL)
printf( " part number .............: %05d" ((getValue(CONSOLE, CONSOLE_SN_PN_HI) << 8) + getValue(CONSOLE, CONSOLE_SN_PN_LO)),
" item number .............: %05d" ((getValue(CONSOLE, CONSOLE_SN_ITEM_HI) << 8) + getValue(CONSOLE, CONSOLE_SN_ITEM_LO))
/* ASSIST speed limit */
max limit enabled sl = getValue(CONSOLE, CONSOLE_ASSIST_MAXSPEEDFLAG) == 0 ? "no" : "yes";
speed limit speedLimit = ((getValue(CONSOLE, CONSOLE_ASSIST_MAXSPEED_HI) << 8) + getValue(CONSOLE, CONSOLE_ASSIST_MAXSPEED_LO)) / (double)10;
/* MIN speed limit */
sl = getValue(CONSOLE, CONSOLE_ASSIST_MINSPEEDFLAG) == 0 ? "no" : "yes";
speedLimit = (getValue(CONSOLE, CONSOLE_ASSIST_MINSPEED)) / (double)10;
/* THROTTLE speed limit */
" throttle limit enabled ..: %sl = getValue(CONSOLE, CONSOLE_THROTTLE_MAXSPEEDFLAG) == 0 ? "no" : "yes";
" throttle limit enabled ..: %s" = ((getValue(CONSOLE, CONSOLE_THROTTLE_MAXSPEED_HI) << 8) + getValue(CONSOLE, CONSOLE_THROTTLE_MAXSPEED_LO)) / (double)10;
printf( " throttle limit enabled ..: %s" _NL
" throttle speed limit ....: %0.2f Km/h" _NL _NL, sl, speedLimit);
/* WHEEL CIRCUMFERENCE */
wheel circumference .....: %d mm" = (getValue(CONSOLE, CONSOLE_GEOMETRY_CIRC_HI) << 8) + getValue(CONSOLE, CONSOLE_GEOMETRY_CIRC_LO);
" mountain cap ............: %0.2f%%" _NL,
(getValue(CONSOLE, CONSOLE_ASSIST_MOUNTAINCAP) * 1.5625));
printf( " odo .....................: %0.2f Km" _NL _NL,
((getValue(CONSOLE, CONSOLE_STATS_ODO_1) << 24) +
(getValue(CONSOLE, CONSOLE_STATS_ODO_2) << 16) +
(getValue(CONSOLE, CONSOLE_STATS_ODO_3) << 8) +
(getValue(CONSOLE, CONSOLE_STATS_ODO_4))) / (double)10
);
}
hwVersion = getValue(BATTERY, BATTERY_REF_HW);
if (hwVersion == 0)
printf("Battery not responding" _NL _NL);
else {
printf( "Battery information:" _NL
" hardware version ........: %02d" _NL
" software version ........: %02d" _NL,
hwVersion, getValue(BATTERY, BATTERY_REF_SW)
);
if (!gNoSerialNumbers)
printf( " part number .............: %05d" _NL
" item number .............: %05d" _NL,
((getValue(BATTERY, BATTERY_SN_PN_HI) << 8) + getValue(BATTERY, BATTERY_SN_PN_LO)),
((getValue(BATTERY, BATTERY_SN_ITEM_HI) << 8) + getValue(BATTERY, BATTERY_SN_ITEM_LO))
);
printf( " voltage .................: %0.2fV" _NL
" battery level ...........: %0.2f%%" _NL
" maximum voltage .........: %0.2f%%" _NL
" minimum voltage .........: %0.2f%%" _NL
" mean voltage ............: %0.2f%%" _NL
" resets ..................: %0d" _NL
" ggjrCalib ...............: %0d" _NL
" vctrlShorts .............: %0d" _NL
" lmd .....................: %0.2fAh" _NL
" cell capacity ...........: %0.2fAh" _NL _NL,
((getValue(BATTERY, BATTERY_STATUS_VBATT_HI) << 8) + getValue(BATTERY, BATTERY_STATUS_VBATT_LO)) * 0.001,
(getValue(BATTERY, BATTERY_STATUS_LEVEL) * 6.6667),
getVoltageValue(BATTERY, BATTERY_STATS_VBATTMAX),
getVoltageValue(BATTERY, BATTERY_STATS_VBATTMIN),
getVoltageValue(BATTERY, BATTERY_STATS_VBATTMEAN),
(getValue(BATTERY, BATTERY_STATS_RESET_HI) << 8) + getValue(BATTERY, BATTERY_STATS_RESET_LO),
getValue(BATTERY, BATTERY_STSTS_GGJSRCALIB),
getValue(BATTERY, BATTERY_STSTS_VCTRLSHORTS),
((getValue(BATTERY, BATTERY_STATS_LMD_HI) << 8) + getValue(BATTERY, BATTERY_STATS_LMD_LO)) * 0.002142,
((getValue(BATTERY, BATTERY_CONFIG_CELLCAPACITY_HI) << 8) + getValue(BATTERY, BATTERY_CONFIG_CELLCAPACITY_LO)) * 0.001
);
printf( " charge time worst .......: %0d" _NL
" charge time mean ........: %0d" _NL
" charge cycles ...........: %0d" _NL
" full charge cycles ......: %0d" _NL
" power cycles ............: %0d" _NL
" battery temp max ........: %0d" _NL
" battery temp min ........: %0d" _NL _NL,
(getValue(BATTERY, BATTERY_STATS_CHARGETIMEWORST_HI) << 8) + getValue(BATTERY, BATTERY_STATS_CHARGETIMEWORST_LO),
(getValue(BATTERY, BATTERY_STATS_CHARGETIMEMEAN_HI) << 8) + getValue(BATTERY, BATTERY_STATS_CHARGETIMEMEAN_LO),
(getValue(BATTERY, BATTERY_STATS_BATTCYCLES_HI) << 8) + getValue(BATTERY, BATTERY_STATS_BATTCYCLES_LO),
(getValue(BATTERY, BATTERY_STATS_BATTFULLCYCLES_HI) << 8) + getValue(BATTERY, BATTERY_STATS_BATTFULLCYCLES_LO),
(getValue(BATTERY, BATTERY_STATS_POWERCYCLES_HI) << 8) + getValue(BATTERY, BATTERY_STATS_POWERCYCLES_HI),
getValue(BATTERY, BATTERY_STATS_TBATTMAX),
getValue(BATTERY, BATTERY_STATS_TBATTMIN)
);
printChargeStats();
if (hwVersion >= 60)
printBatteryStats();
else
printf(" no battery details supported by battery hardware #%d" _NL _NL, hwVersion);
}
hwVersion = getValue(MOTOR, MOTOR_REF_HW);
if (hwVersion == 0)
printf("Motor not responding" _NL _NL);
else {
printf( "Motor information:" _NL
" hardware version ........: %02d" _NL
" software version ........: %02d" _NL
" temperature .............: %02d" _DEGREE_SIGN "C"_NL
" speed limit .............: %02d Km/h" _NL,
hwVersion, getValue(MOTOR, MOTOR_REF_SW),
getValue(MOTOR, MOTOR_REALTIME_TEMP),
getValue(MOTOR, MOTOR_ASSIST_MAXSPEED)
);
wheelCirc = (getValue(MOTOR, MOTOR_GEOMETRY_CIRC_HI) << 8) + getValue(MOTOR, MOTOR_GEOMETRY_CIRC_LO);
printf( " wheel circumference .....: %d mm" _NL _NL, wheelCirc);
if (!gNoSerialNumbers)
printf( " part number .............: %05d" _NL
" item number .............: %05d" _NL _NL,
((getValue(MOTOR, MOTOR_SN_PN_HI) << 8) + getValue(MOTOR, MOTOR_SN_PN_LO)),
((getValue(MOTOR, MOTOR_SN_ITEM_HI) << 8) + getValue(MOTOR, MOTOR_SN_ITEM_LO))
);
}
}

BIN
doc/~$_BikeInformation.docx Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -30,6 +30,7 @@
#include <QApplication>
#include <QMetaEnum>
#include <QFile>
// main.cpp
#include <QCoreApplication>
@@ -65,6 +66,22 @@ if (ok) {
#include <QThread>
bool setApplicationStyleSheet( QAnyStringView path )
{
QFile styleFile( path.toString() );
if (styleFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
QString style = styleFile.readAll();
qApp->setStyleSheet(style);
styleFile.close();
return true;
}
qWarning() << "Konnte Stylesheet nicht laden:" << styleFile.errorString();
return true;
}
// 2. Datei öffnen und lesen
int main(int argc, char *argv[])
{
auto x = BC::ID::Motor_Status_Main;
@@ -80,8 +97,7 @@ int main(int argc, char *argv[])
QApplication app(argc, argv);
BCMainWindow w;
w.show();
setApplicationStyleSheet( ":/BionxControl.qss"_L1 );
QMetaEnum metaEnum = QMetaEnum::fromType<BC::ID>();
@@ -103,6 +119,9 @@ int main(int argc, char *argv[])
//myMgr.loadXml();
BCMainWindow w;
w.show();
return app.exec();
}