277
278
void add_pcilib_value_to_dict(PyObject* dict, pcilib_value_t* val, const char *name)
279
PyObject *py_val = pcilib_convert_val_to_pyobject(__ctx, val);
280
PyObject *py_val = (PyObject*)pcilib_convert_val_to_pyobject(__ctx, val);
282
283
PyDict_SetItem(dict,
283
284
PyString_FromString(name),
286
287
PyDict_SetItem(dict,
287
288
PyString_FromString("defvalue"),
407
408
PyDict_SetItem(pylistItem,
408
409
PyString_FromString("mode"),
410
add_pcilib_value_to_dict(pylistItem, &listItem.defvalue, "defvalue");
412
pcilib_value_t defval = {0};
413
pcilib_set_value_from_register_value(__ctx, &defval, listItem.defvalue);
414
add_pcilib_value_to_dict(pylistItem, &defval, "defvalue");
412
416
if(listItem.range)
418
pcilib_value_t minval = {0};
419
pcilib_set_value_from_register_value(__ctx, &minval, listItem.range->min);
421
pcilib_value_t maxval = {0};
422
pcilib_set_value_from_register_value(__ctx, &maxval, listItem.range->max);
414
424
PyObject* range = PyDict_New();
415
add_pcilib_value_to_dict(range, &(listItem.range->min), "min");
416
add_pcilib_value_to_dict(range, &(listItem.range->max), "max");
425
add_pcilib_value_to_dict(range, &minval, "min");
426
add_pcilib_value_to_dict(range, &maxval, "max");
417
427
PyDict_SetItem(pylistItem,
418
428
PyString_FromString("range"),
426
436
for (int j = 0; listItem.values[j].name; j++)
428
438
PyObject* valuesItem = PyDict_New();
440
pcilib_value_t val = {0};
441
pcilib_set_value_from_register_value(__ctx, &val, listItem.values[j].value);
430
add_pcilib_value_to_dict(valuesItem, &(listItem.values[j].value), "value");
431
add_pcilib_value_to_dict(valuesItem, &(listItem.values[j].min), "min");
432
add_pcilib_value_to_dict(valuesItem, &(listItem.values[j].max), "max");
443
pcilib_value_t min = {0};
444
pcilib_set_value_from_register_value(__ctx, &min, listItem.values[j].min);
446
pcilib_value_t max = {0};
447
pcilib_set_value_from_register_value(__ctx, &max, listItem.values[j].max);
449
add_pcilib_value_to_dict(valuesItem, &val, "value");
450
add_pcilib_value_to_dict(valuesItem, &min, "min");
451
add_pcilib_value_to_dict(valuesItem, &max, "max");
434
453
if(listItem.values[j].name)
435
454
PyDict_SetItem(valuesItem,
511
530
PyObject* pyList = PyList_New(0);
513
for(int i = 0; i < list[i].path; i++)
532
for(int i = 0; list[i].path; i++)
515
534
//serialize item attributes
516
535
PyObject* pylistItem = pcilib_convert_property_info_to_pyobject(list[i]);