@@ -1830,6 +1830,12 @@ PyObject *get_info_params(PyObject * /*self*/, PyObject * /*args*/) {
18301830 return python_list;
18311831}
18321832
1833+ static PyObject *pyhal_get_realtime_type (PyObject * /* self*/ , PyObject * /* o*/ ) {
1834+ TEST_HAL_SHMEM_BASE (__FUNCTION__);
1835+ int res = hal_get_realtime_type ();
1836+ return PyLong_FromLong (res);
1837+ }
1838+
18331839static PyObject *pyhal_is_initialized (PyObject * /* self*/ , PyObject * /* o*/ ) {
18341840 return PyBool_FromLong (hal_shmem_base != NULL );
18351841}
@@ -2304,6 +2310,8 @@ static PyMethodDef module_methods[] = {
23042310 " .get_info_signals(): Get a list of dicts for all the signals; {NAME:, VALUE:}" },
23052311 {" get_info_params" , get_info_params, METH_VARARGS ,
23062312 " .get_info_params(): Get a list of dicts for all the parameters; {NAME:, VALUE:}" },
2313+ {" get_realtime_type" , pyhal_get_realtime_type, METH_NOARGS ,
2314+ " .get_realtime_type(): Return the type of the running realtime" },
23072315 {" is_initialized" , pyhal_is_initialized, METH_NOARGS ,
23082316 " .is_initialized(): Return true if hal is initialized, false otherwhise" },
23092317 {},
@@ -2385,6 +2393,14 @@ PyMODINIT_FUNC PyInit__hal(void)
23852393 PyModule_AddIntConstant (m, " HAL_OUT" , HAL_OUT );
23862394 PyModule_AddIntConstant (m, " HAL_IO" , HAL_IO );
23872395
2396+ PyModule_AddIntConstant (m, " REALTIME_TYPE_UNINITIALIZED" , REALTIME_TYPE_UNINITIALIZED );
2397+ PyModule_AddIntConstant (m, " REALTIME_TYPE_NONE" , REALTIME_TYPE_NONE );
2398+ PyModule_AddIntConstant (m, " REALTIME_TYPE_RTAI" , REALTIME_TYPE_RTAI );
2399+ PyModule_AddIntConstant (m, " REALTIME_TYPE_PREEMPT_DYNAMIC" , REALTIME_TYPE_PREEMPT_DYNAMIC );
2400+ PyModule_AddIntConstant (m, " REALTIME_TYPE_PREEMPT_RT" , REALTIME_TYPE_PREEMPT_RT );
2401+ PyModule_AddIntConstant (m, " REALTIME_TYPE_LXRT" , REALTIME_TYPE_LXRT );
2402+ PyModule_AddIntConstant (m, " REALTIME_TYPE_XENOMAI" , REALTIME_TYPE_XENOMAI );
2403+ PyModule_AddIntConstant (m, " REALTIME_TYPE_XENOMAI_EVL" , REALTIME_TYPE_XENOMAI_EVL );
23882404
23892405 // Call realtime verify to gather realtime status
23902406 // Most probably we don't have realtime running yet
0 commit comments