Added some Motor tags, changed back to some qt 6.0 methods.

This commit is contained in:
2025-12-30 20:43:36 +01:00
parent fbeb4fb3c0
commit 100014c00d
6 changed files with 68 additions and 53 deletions

View File

@@ -107,7 +107,7 @@ void BCDataManager::loadXmlBikeData( const QString& fileName )
printAttrs (_xml);
// Wir wollen die Device-ID aus dem XML Tag ermitteln
const char* deviceKey = _xml.attributes().value("Type"_L1).toLatin1().constData();
auto optDeviceID = _bcDeviceEnum.keyToValue64(deviceKey);
auto optDeviceID = _bcDeviceEnum.keysToValue64(deviceKey);
//_currentDeviceID = BCDevice::ID( deviceID.value_or( BCDevice::ID::Invalid ) );
if( optDeviceID.has_value())
{
@@ -204,41 +204,6 @@ std::optional<BCValue> BCDataManager::makeDataValue( BCDevice::ID deviceID, cons
static QMetaEnum s_bcValueEnum{QMetaEnum::fromType<BC::ID>()};
static BCValueTypeMap s_bcDataTypes
{
{ "Byte", new BCValueTypeWord( "", 1.5625F) },
{ "Word", new BCValueTypeWord( "", 1.5625F) },
{ "Float", new BCValueTypeWord( "", 1.5625F) },
{ "Percent",new BCValueTypeWord( "%", 1.5625 ) },
{ "KWh", new BCValueTypeWord( "kwh", 1.5625 ) },
{ "Watt", new BCValueTypeWord( "w", 1.5625 ) },
{ "Km", new BCValueTypeWord( "km", 1.5625 ) },
{ "Kmh", new BCValueTypeWord( "km/h", 0.1 ) },
{ "Mm", new BCValueTypeWord( "mm", 1.5625 ) },
{ "Sec", new BCValueTypeWord( "s", 1.5625 ) },
{ "SoC", new BCValueTypeWord( "%", 1.5625 ) },
{ "Odo", new BCValueTypeWord( "km", 1.5625 ) },
{ "Assist", new BCValueTypeWord( "", 0 ,4 ) },
{ "Assist", new BCValueTypeWord( "%" ) },
};
/*
_dataTypes.insert( "Float", new Fitz{{ "", 1.5625F}} );
_dataTypes.insert( "Percent",new Fatz{{ "%", 1.5625 }} );
_dataTypes.insert( "KWh", new Fatz{{ "kwh", 1.5625 }} );
_dataTypes.insert( "Watt", new Long{{ "w", 1.5625 }} );
_dataTypes.insert( "Km", new BCValueTypeWord{{ "km", 1.5625 }} );
_dataTypes.insert( "Kmh", new BCValueTypeWord{{ "km/h", 0.1 }} );
_dataTypes.insert( "Mm", new BCValueTypeWord{{ "mm", 1.5625 }} );
_dataTypes.insert( "Sec", new BCValueTypeWord{{ "s", 1.5625 }} );
_dataTypes.insert( "SoC", new Long{{ "%", 1.5625 }} );
_dataTypes.insert( "Odo", new Fitz{{ "km", 1.5625 }} );
_dataTypes.insert( "Assist", new Fatz{{ "", 0 ,4 }} );
_dataTypes.insert( "Assist", new Fatz{{ "%" }} );
//_dataTypes.insert( "Date", { BCValueType::TypeID::Date } );
*/
/*
Wir brauchen:
@@ -249,16 +214,14 @@ std::optional<BCValue> BCDataManager::makeDataValue( BCDevice::ID deviceID, cons
std::optional<BCValue> newValue;
std::optional<quint64> IDVal = s_bcValueEnum.keyToValue64( params.ID.toLatin1().constData() );
std::optional<quint64> IDVal = s_bcValueEnum.keysToValue64( params.ID.toLatin1().constData() );
qDebug() << " --- should create: " << params.Label << ": " << params.UnitType;
if( IDVal.has_value() )
{
if( s_bcDataTypes.contains( params.UnitType ) )
auto valueType = BCValueType::fetchValueType(params.UnitType);
if( valueType.has_value() )
{
const BCValueType* valueType = s_bcDataTypes[params.UnitType];
newValue = BCValue( valueType, deviceID, static_cast<BC::ID>(IDVal.value()) );
newValue = BCValue( *valueType, deviceID, static_cast<BC::ID>(IDVal.value()) );
/*
setIfExists( params.Factor, newValue.factor );
@@ -269,7 +232,6 @@ std::optional<BCValue> BCDataManager::makeDataValue( BCDevice::ID deviceID, cons
newValue->defaultValue = params.Default;
qDebug() << " --- created: " << params.Label;
}
}