Implement Rot.get_level()

Daniele Forsi IU5HKX 2025-05-25 22:15:09 +02:00
rodzic fa70f80558
commit c6c976a7ca
2 zmienionych plików z 16 dodań i 0 usunięć

Wyświetl plik

@ -49,6 +49,8 @@ class TestClass:
assert rot.set_position(0.0, 0.0) is None
assert rot.get_position() == [0.0, 0.0]
assert rot.move(0, 0) is None
assert rot.get_level(Hamlib.ROT_LEVEL_NONE) is None
assert rot.get_level(Hamlib.ROT_LEVEL_SPEED) == 0
assert rot.stop() is None
assert rot.park() is None
assert rot.reset(Hamlib.ROT_RESET_ALL) is None

Wyświetl plik

@ -131,6 +131,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, .. */
};