summaryrefslogtreecommitdiff
path: root/lib/Kratos
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2017-04-13 15:43:55 +0200
committerDaniel Friesel <derf@finalrewind.org>2017-04-13 15:43:55 +0200
commit97ed733b985dc7222eb75f4f890d181f86db47ae (patch)
tree848ffcf3f83b33aa608a9d3d574995a481fd9390 /lib/Kratos
parent5287ecee23016be0b7828ea272b645fd8ea55d82 (diff)
save voltage(s) in model files
Diffstat (limited to 'lib/Kratos')
-rw-r--r--lib/Kratos/DFADriver.pm2
-rw-r--r--lib/Kratos/DFADriver/Model.pm16
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/Kratos/DFADriver.pm b/lib/Kratos/DFADriver.pm
index 321860d..83a572f 100644
--- a/lib/Kratos/DFADriver.pm
+++ b/lib/Kratos/DFADriver.pm
@@ -644,6 +644,8 @@ sub update_model {
}
}
+ $self->model->set_voltage($self->{log}{aggregate}{min_voltage}, $self->{log}{aggregate}{max_voltage});
+
$self->model->save;
}
diff --git a/lib/Kratos/DFADriver/Model.pm b/lib/Kratos/DFADriver/Model.pm
index ef821e7..18bccfe 100644
--- a/lib/Kratos/DFADriver/Model.pm
+++ b/lib/Kratos/DFADriver/Model.pm
@@ -412,6 +412,22 @@ sub set_transition_params {
}
}
+sub set_voltage {
+ my ($self, $min_voltage, $max_voltage) = @_;
+
+ my ($data_node) = $self->xml->findnodes('/data');
+
+ for my $voltage_node ($data_node->findnodes('./voltage')) {
+ $data_node->removeChild($voltage_node);
+ }
+
+ my $voltage_node = XML::LibXML::Element->new('voltage');
+ $voltage_node->setAttribute('min', $min_voltage);
+ $voltage_node->setAttribute('max', $max_voltage);
+
+ $data_node->appendChild($voltage_node);
+}
+
sub save {
my ($self) = @_;