Files
dev/script/25_PseudoDevices.js
2018-01-19 10:56:53 +01:00

37 lines
1.2 KiB
JavaScript
Executable File

///////////////////////////////////////////////////////////////////////////////////////////////////
// Using pseudo-device to :
// - Add calculations to scan data.
// - Execute logic during scan
///////////////////////////////////////////////////////////////////////////////////////////////////
var Clock = Java.extend(Readable)
var clock = new Clock() {
read: function (value) {
return Date.now()
},
}
set_device_alias(clock, "Clock")
var PseudoSensor = Java.extend(Readable)
var averager = new PseudoSensor() {
read: function (value) {
arr = wf1.take() //Gets the CACHED waveform
arr = to_array(arr) //Converts to a javascript array
return arr.reduce(function(a, b) { return a + b; }) / arr.length
},
}
set_device_alias(averager, "Averager")
var PseudoPositioner = Java.extend(Writable)
var positioner = new PseudoPositioner() {
write: function (value) {
print ("Step = " + value)
},
}
set_device_alias(positioner, "Positioner")
a= lscan([ao1,positioner],[ai2,wf1,averager,clock],[0,0],[40,20],20,0.1)