This commit is contained in:
36
script/tutorial/25_PseudoDevices.js
Executable file
36
script/tutorial/25_PseudoDevices.js
Executable file
@@ -0,0 +1,36 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// 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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user