Implement Rot.get_level()

pull/1726/head
Daniele Forsi IU5HKX 2025-06-15 15:11:02 +02:00
rodzic 94774a63d9
commit 8093f05c65
2 zmienionych plików z 16 dodań i 0 usunięć

Wyświetl plik

@ -60,6 +60,8 @@ class TestClass:
value = Hamlib.value_t()
value.i = 3
assert rot.set_level(Hamlib.ROT_LEVEL_SPEED, value) is None
assert rot.get_level(Hamlib.ROT_LEVEL_NONE) is None
assert rot.get_level(Hamlib.ROT_LEVEL_SPEED) == 3
with raises(AttributeError):
assert rot.status() is None
assert rot.stop() is None

Wyświetl plik

@ -138,6 +138,20 @@ typedef struct Rot {
return s;
}
PyObject * get_level(setting_t level)
{
value_t val;
self->error_status = rot_get_level(self->rot, level, &val);
if (self->error_status != RIG_OK)
return Py_None;
if (ROT_LEVEL_IS_FLOAT(level))
return PyFloat_FromDouble(val.f);
return PyLong_FromLong(val.i);
}
/* TODO: get_conf_list, .. */
};