kopia lustrzana https://github.com/weetmuts/wmbusmeters
Give notification of old driver in analyze.
rodzic
699df5954e
commit
790f78a2bf
|
@ -387,14 +387,14 @@ LIST_OF_METERS
|
|||
string driver_name = toString(odr);
|
||||
if (only != "" && driver_name != only) continue;
|
||||
|
||||
if (!isMeterDriverReasonableForMedia(odr, "", t.dll_type) &&
|
||||
if (only == "" &&
|
||||
!isMeterDriverReasonableForMedia(odr, "", t.dll_type) &&
|
||||
!isMeterDriverReasonableForMedia(odr, "", t.tpl_type))
|
||||
{
|
||||
// Sanity check, skip this driver since it is not relevant for this media.
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
debug("Testing old style driver %s...\n", driver_name.c_str());
|
||||
mi.driver = odr;
|
||||
mi.driver_name = DriverName("");
|
||||
|
@ -450,6 +450,14 @@ LIST_OF_METERS
|
|||
string driver_name = toString(ndr);
|
||||
if (only != "" && driver_name != only) continue;
|
||||
|
||||
if (only == "" &&
|
||||
!isMeterDriverReasonableForMedia(MeterDriver::AUTO, driver_name, t.dll_type) &&
|
||||
!isMeterDriverReasonableForMedia(MeterDriver::AUTO, driver_name, t.tpl_type))
|
||||
{
|
||||
// Sanity check, skip this driver since it is not relevant for this media.
|
||||
continue;
|
||||
}
|
||||
|
||||
debug("Testing new style driver %s...\n", driver_name.c_str());
|
||||
mi.driver = MeterDriver::UNKNOWN;
|
||||
mi.driver_name = driver_name;
|
||||
|
@ -575,6 +583,7 @@ LIST_OF_METERS
|
|||
{
|
||||
mi.driver = toMeterDriver(using_driver);
|
||||
mi.driver_name = DriverName("");
|
||||
using_driver += "(driver should be upgraded)";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -591,12 +600,12 @@ LIST_OF_METERS
|
|||
{
|
||||
best_length = old_best_length;
|
||||
best_understood = old_best_understood;
|
||||
best_driver = best_old_driver;
|
||||
best_driver = best_old_driver+"(driver should be upgraded)";
|
||||
if (using_driver == "")
|
||||
{
|
||||
mi.driver = toMeterDriver(best_old_driver);
|
||||
mi.driver_name = DriverName("");
|
||||
using_driver = best_old_driver;
|
||||
using_driver = best_driver;
|
||||
using_length = best_length;
|
||||
using_understood = best_understood;
|
||||
}
|
||||
|
@ -1911,13 +1920,16 @@ METER_DETECTION
|
|||
bool isMeterDriverReasonableForMedia(MeterDriver type, string driver_name, int media)
|
||||
{
|
||||
if (media == 0x37) return false; // Skip converter meter side since they do not give any useful information.
|
||||
if (driver_name == "")
|
||||
{
|
||||
#define X(TY,MA,ME,VE) { if (type == MeterDriver::TY && isCloseEnough(media, ME)) { return true; }}
|
||||
METER_DETECTION
|
||||
#undef X
|
||||
}
|
||||
|
||||
for (auto &p : all_registered_drivers_)
|
||||
{
|
||||
if (p.first == "driver_name" && p.second.isValidMedia(media))
|
||||
if (p.first == driver_name && p.second.isValidMedia(media))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -104,8 +104,8 @@ TESTRESULT="ERROR"
|
|||
|
||||
cat > $TEST/test_expected.txt <<EOF
|
||||
Auto driver : multical21
|
||||
Best driver : multical21 12/12
|
||||
Using driver : multical21 12/12
|
||||
Best driver : multical21(driver should be upgraded) 12/12
|
||||
Using driver : multical21(driver should be upgraded) 12/12
|
||||
000 : 2a length (42 bytes)
|
||||
001 : 44 dll-c (from meter SND_NR)
|
||||
002 : 2d2c dll-mfct (KAM)
|
||||
|
@ -167,8 +167,8 @@ TESTRESULT="ERROR"
|
|||
|
||||
cat > $TEST/test_expected.txt <<EOF
|
||||
Auto driver : multical21
|
||||
Best driver : multical21 12/12
|
||||
Using driver : multical21 12/12
|
||||
Best driver : multical21(driver should be upgraded) 12/12
|
||||
Using driver : multical21(driver should be upgraded) 12/12
|
||||
000 : 23 length (35 bytes)
|
||||
001 : 44 dll-c (from meter SND_NR)
|
||||
002 : 2d2c dll-mfct (KAM)
|
||||
|
|
Ładowanie…
Reference in New Issue