kopia lustrzana https://github.com/Hamlib/Hamlib
Implement Amp.get_level
rodzic
4e415f412b
commit
f7d38f92ca
|
@ -147,4 +147,21 @@ typedef struct Amp {
|
|||
}
|
||||
|
||||
AMPMETHOD1GET(get_powerstat, powerstat_t)
|
||||
|
||||
PyObject * get_level(setting_t level)
|
||||
{
|
||||
value_t val;
|
||||
|
||||
self->error_status = amp_get_level(self->amp, level, &val);
|
||||
if (self->error_status != RIG_OK)
|
||||
return Py_None;
|
||||
|
||||
if (AMP_LEVEL_IS_FLOAT(level))
|
||||
return PyFloat_FromDouble(val.f);
|
||||
else if (AMP_LEVEL_IS_STRING(level))
|
||||
return PyUnicode_FromString(val.s);
|
||||
|
||||
return PyLong_FromLong(val.i);
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
@ -92,6 +92,15 @@ class TestClass:
|
|||
assert amp.set_freq(0) is None
|
||||
assert amp.set_freq(123.45) is None
|
||||
assert amp.get_freq() == 123.45
|
||||
assert amp.get_level(Hamlib.AMP_LEVEL_NONE) is None
|
||||
level = amp.get_level(Hamlib.AMP_LEVEL_SWR)
|
||||
assert isinstance(level, float)
|
||||
level = amp.get_level(Hamlib.AMP_LEVEL_PWR_REFLECTED)
|
||||
assert isinstance(level, int)
|
||||
level = amp.get_level(Hamlib.AMP_LEVEL_FAULT)
|
||||
assert isinstance(level, str)
|
||||
level = amp.get_level(123456)
|
||||
assert level is None
|
||||
assert amp.set_powerstat(Hamlib.RIG_POWER_ON) is None
|
||||
assert amp.get_powerstat() == Hamlib.RIG_POWER_ON
|
||||
assert amp.close() is None
|
||||
|
|
Ładowanie…
Reference in New Issue