-
removed unreachable code from switches
-
used e notation for some floats (better do them all) - less typos
1e-4 == 1 * pow(10, -4) = 0.0001
1e3 == 1 * pow(10,3) = 1000 -
added missing return at the end
float M9803RMaster::ku8M9803RFloatConvertion(uint8_t unit, uint8_t range)
{
switch (unit)
{
case 0:
case 1: // ??
switch (range)
{
case 0: return 1e-4;
case 1: return 1e-3;
case 2: return 1e-2;
case 3: return 1e-1;
case 4: return 1e0;
default: return 0.0;
}
case 2:
case 3: // ??
switch (range)
{
case 0: return 1e-6;
case 1: return 1e-5;
case 2: return 1e-4;
case 3:
case 4: return 1e-3;
default: return 0.0;
}
case 4:
case 5: // ??
switch (range)
{
case 0: return 1e-1;
case 1: return 1e0;
case 2: return 1e1;
case 3: return 1e2;
case 4: return 1e3;
case 5: return 1e4;
default: return 0.0;
}
break;
case 6: // DIODE
switch (range)
{
case 0:
case 1: return 1e-3;
default: return 0.0;
}
break;
case 7: // ADP
case 10: // Hz
switch (range)
{
case 0: return 10.0;
case 1: return 100.0;
case 2: return 1000.0;
case 5: return 0.1;
case 6: return 1.0;
default: return 0.0;
}
break;
case 8:
case 9: // ??
switch (range)
{
case 0:
case 2: return 0.01;
default: return 0.0;
}
break;
case 11:
return 0.0;
case 12:
switch (range)
{
case 0: return 1e-12;
case 1: return 1e-11;
case 2: return 1e-10;
case 3: return 1e-9;
case 4: return 1e-8;
default: return 0.0;
}
default:
return 0.0;
}
return 0.0
}
give it a try