37 lines
1.2 KiB
JavaScript
Executable File
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)
|
|
|
|
|