14
14
static int pcilib_transform_view_read(pcilib_t *ctx, pcilib_view_context_t *view_ctx, pcilib_register_value_t regval, pcilib_value_t *val) {
17
15
const pcilib_model_description_t *model_info = pcilib_get_model_description(ctx);
18
16
pcilib_transform_view_description_t *v = (pcilib_transform_view_description_t*)(model_info->views[view_ctx->view]);
20
err = pcilib_set_value_from_register_value(ctx, val, regval);
20
return pcilib_script_read(ctx, v->script, val);
26
err = pcilib_set_value_from_register_value(ctx, val, regval);
23
return pcilib_py_eval_string(ctx, v->read_from_reg, val);
29
return pcilib_py_eval_string(ctx, v->read_from_reg, val);
26
33
static int pcilib_transform_view_write(pcilib_t *ctx, pcilib_view_context_t *view_ctx, pcilib_register_value_t *regval, const pcilib_value_t *val) {
28
pcilib_value_t val_copy = {0};
30
37
const pcilib_model_description_t *model_info = pcilib_get_model_description(ctx);
31
38
pcilib_transform_view_description_t *v = (pcilib_transform_view_description_t*)(model_info->views[view_ctx->view]);
33
err = pcilib_copy_value(ctx, &val_copy, val);
36
err = pcilib_py_eval_string(ctx, v->write_to_reg, &val_copy);
39
*regval = pcilib_get_value_as_register_value(ctx, &val_copy, &err);
45
pcilib_value_t val_copy = {0};
46
err = pcilib_copy_value(ctx, &val_copy, val);
49
err = pcilib_py_eval_string(ctx, v->write_to_reg, &val_copy);
52
*regval = pcilib_get_value_as_register_value(ctx, &val_copy, &err);
56
pcilib_script_write(ctx, v->script, val);
59
void pcilib_transform_view_free_description (pcilib_t *ctx, pcilib_view_description_t *view)
61
pcilib_transform_view_description_t *v = (pcilib_transform_view_description_t*)(view);
64
pcilib_free_py_script(v->script);
44
68
const pcilib_view_api_description_t pcilib_transform_view_api =
45
{ PCILIB_VERSION, sizeof(pcilib_transform_view_description_t), NULL, NULL, NULL, pcilib_transform_view_read, pcilib_transform_view_write };
69
{ PCILIB_VERSION, sizeof(pcilib_transform_view_description_t), NULL, NULL, pcilib_transform_view_free_description, pcilib_transform_view_read, pcilib_transform_view_write };