/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to pcilib/pcipywrap.c

  • Committer: Vasilii Chernov
  • Date: 2016-02-11 11:28:37 UTC
  • mto: This revision was merged to the branch mainline in revision 353.
  • Revision ID: vchernov@inr.ru-20160211112837-vg7wezhh0cs51hvq
Solve errors in serialing register_info function. Clear unused code

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
    va_start(vl, msg);
45
45
        char *buf = vmake_str(msg, vl);
46
46
        va_end(vl);
 
47
        return buf;
47
48
}
48
49
 
49
50
/*!
276
277
 
277
278
void add_pcilib_value_to_dict(PyObject* dict, pcilib_value_t* val, const char *name)
278
279
{
279
 
    PyObject *py_val = pcilib_convert_val_to_pyobject(__ctx, val);
 
280
    PyObject *py_val = (PyObject*)pcilib_convert_val_to_pyobject(__ctx, val);
280
281
 
281
282
        if(py_val)
282
283
                PyDict_SetItem(dict,
283
284
                       PyString_FromString(name),
284
 
                       val);
 
285
                       py_val);
285
286
        else
286
287
                PyDict_SetItem(dict,
287
288
                       PyString_FromString("defvalue"),
407
408
    PyDict_SetItem(pylistItem,
408
409
                   PyString_FromString("mode"),
409
410
                   modes);
410
 
    add_pcilib_value_to_dict(pylistItem, &listItem.defvalue, "defvalue");
 
411
                   
 
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");
411
415
 
412
416
    if(listItem.range)
413
417
    {
 
418
                pcilib_value_t minval = {0};
 
419
                pcilib_set_value_from_register_value(__ctx, &minval, listItem.range->min);
 
420
                
 
421
                pcilib_value_t maxval = {0};
 
422
                pcilib_set_value_from_register_value(__ctx, &maxval, listItem.range->max);
 
423
                
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"),
419
429
                       range);
426
436
        for (int j = 0; listItem.values[j].name; j++)
427
437
        {
428
438
            PyObject* valuesItem = PyDict_New();
 
439
            
 
440
            pcilib_value_t val = {0};
 
441
                        pcilib_set_value_from_register_value(__ctx, &val, listItem.values[j].value);
429
442
 
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);
 
445
                
 
446
                        pcilib_value_t max = {0};
 
447
                        pcilib_set_value_from_register_value(__ctx, &max, listItem.values[j].max);
 
448
            
 
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");
433
452
 
434
453
            if(listItem.values[j].name)
435
454
                PyDict_SetItem(valuesItem,
510
529
 
511
530
    PyObject* pyList = PyList_New(0);
512
531
 
513
 
    for(int i = 0; i < list[i].path; i++)
 
532
    for(int i = 0; list[i].path; i++)
514
533
    {
515
534
        //serialize item attributes
516
535
        PyObject* pylistItem = pcilib_convert_property_info_to_pyobject(list[i]);