diff --git a/articles/devices/electricalstimulator.md b/articles/devices/electricalstimulator.md
index 5246e8a..39a8c28 100644
--- a/articles/devices/electricalstimulator.md
+++ b/articles/devices/electricalstimulator.md
@@ -13,4 +13,4 @@ workflow_file: ~/workflows/devices/ElectricalStimulator.bonsai
## Send Trigger
-In the workflow, pressing the middle button on the mouse will send a trigger, delivering the stimulation waveform that is configured. The `MouseButtonDown` node can be found in the `Bonsai.Windows.Input` package.
\ No newline at end of file
+While the workflow is running, pressing the middle button on the mouse will send a trigger delivering the stimulation waveform that is configured. The `MouseButtonDown` node can be found in the `Bonsai.Windows.Input` package.
\ No newline at end of file
diff --git a/articles/devices/opticalstimulator.md b/articles/devices/opticalstimulator.md
new file mode 100644
index 0000000..40268e0
--- /dev/null
+++ b/articles/devices/opticalstimulator.md
@@ -0,0 +1,16 @@
+---
+uid: device-opticalstimulator
+title: Headstage64OpticalStimulator
+isGuide: true
+isDevice: true
+device: OpticalStimulator
+headstage: Headstage64
+workflow: true
+workflow_file: ~/workflows/devices/OpticalStimulator.bonsai
+---
+
+
+
+## Send Trigger
+
+While the workflow is running, pressing the middle button on the mouse will send a trigger delivering the stimulation waveform that is configured. The `MouseButtonDown` node can be found in the `Bonsai.Windows.Input` package.
\ No newline at end of file
diff --git a/articles/toc.yml b/articles/toc.yml
index 1f8eb42..e05ea94 100644
--- a/articles/toc.yml
+++ b/articles/toc.yml
@@ -28,6 +28,7 @@
- href: devices/breakoutanalogio.md
- href: devices/breakoutdigitalio.md
- href: devices/electricalstimulator.md
+ - href: devices/opticalstimulator.md
- href: devices/heartbeat.md
- href: devices/memorymonitor.md
- href: devices/neuropixelsv1e.md
diff --git a/template/ManagedReference.extension.js b/template/ManagedReference.extension.js
index 3dd2cb9..7de5c44 100644
--- a/template/ManagedReference.extension.js
+++ b/template/ManagedReference.extension.js
@@ -154,18 +154,23 @@ function defineOperatorType(model){
for (let i = 0; i < inheritanceLength; i++){
if (model.inheritance[i].uid.includes('Bonsai.Source')){
operatorType.source = true;
+ operatorType.showWorkflow = true;
}
else if (model.inheritance[i].uid.includes('Bonsai.Sink')){
operatorType.sink = true;
+ operatorType.showWorkflow = true;
}
else if (model.inheritance[i].uid.includes('Bonsai.Combinator')){
operatorType.combinator = true;
+ operatorType.showWorkflow = true;
}
else if (model.inheritance[i].uid.includes('HubDeviceFactory')){
operatorType.hub = true;
+ operatorType.showWorkflow = true;
}
else if (model.inheritance[i].uid.includes('DeviceFactory')){
operatorType.device = true;
+ operatorType.showWorkflow = true;
}
}
}
@@ -359,6 +364,10 @@ exports.preTransform = function (model) {
model.oe.operatorType = 'combinator';
}
+ if (operatorType.hasOwnProperty('showWorkflow')) {
+ model.showWorkflow = operatorType.showWorkflow;
+ }
+
properties = defineProperties(model);
if (properties.length > 0){
model.oe.hasProperties = true;
diff --git a/workflows/devices/ElectricalStimulator.bonsai b/workflows/devices/ElectricalStimulator.bonsai
index d2e9320..eadef20 100644
--- a/workflows/devices/ElectricalStimulator.bonsai
+++ b/workflows/devices/ElectricalStimulator.bonsai
@@ -1,9 +1,8 @@
-
@@ -20,7 +19,6 @@
Headstage64/Rhd2164
256
true
- Unsigned
Dsp146mHz
Low100mHz
High10000Hz
@@ -39,6 +37,10 @@
Headstage64/Headstage64ElectricalStimulator
259
+
+ Headstage64/Headstage64OpticalStimulator
+ 260
+
PortA
@@ -59,26 +61,15 @@
true
-
-
- false
-
-
-
-
- PT0.5S
-
-
-
-
-
+ Headstage64/Headstage64ElectricalStimulator
true
+ false
+ 0
0
0
0
- 0
0
0
0
@@ -86,7 +77,6 @@
0
0
0
- false
@@ -94,11 +84,7 @@
-
-
-
-
-
+
\ No newline at end of file
diff --git a/workflows/devices/OpticalStimulator.bonsai b/workflows/devices/OpticalStimulator.bonsai
new file mode 100644
index 0000000..e093dce
--- /dev/null
+++ b/workflows/devices/OpticalStimulator.bonsai
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+ riffa
+ 0
+
+
+
+
+ Headstage64
+
+ Headstage64/Rhd2164
+ 256
+ true
+ Dsp146mHz
+ Low100mHz
+ High10000Hz
+
+
+ Headstage64/Bno055
+ 257
+ true
+
+
+ Headstage64/TS4231
+ 258
+ false
+
+
+ Headstage64/Headstage64ElectricalStimulator
+ 259
+
+
+ Headstage64/Headstage64OpticalStimulator
+ 260
+
+ PortA
+
+
+
+
+
+ 2048
+ 2048
+
+
+
+
+ Middle
+
+
+
+
+ true
+
+
+
+
+ Headstage64/Headstage64OpticalStimulator
+ true
+ 0
+ 100
+ 100
+ 0
+ 5
+ 50
+ 20
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/workflows/operators/BreakoutAnalogOutput.bonsai b/workflows/operators/BreakoutAnalogOutput.bonsai
index ba1c0a9..77d41f3 100644
--- a/workflows/operators/BreakoutAnalogOutput.bonsai
+++ b/workflows/operators/BreakoutAnalogOutput.bonsai
@@ -1,16 +1,35 @@
+
+
+
+ 12
+ 1
+
+ F32
+ 1
+
+ 1
+ 0
+ 0
+ 0
+
+
+
- S16
+ Volts
-
+
+
+
\ No newline at end of file
diff --git a/workflows/operators/Headstage64ElectricalStimulatorTrigger.bonsai b/workflows/operators/Headstage64ElectricalStimulatorTrigger.bonsai
index 04756e3..514fb53 100644
--- a/workflows/operators/Headstage64ElectricalStimulatorTrigger.bonsai
+++ b/workflows/operators/Headstage64ElectricalStimulatorTrigger.bonsai
@@ -1,10 +1,21 @@
-
+
+
+ Middle
+
+
+
+
+ true
+
+
Headstage64/Headstage64ElectricalStimulator
@@ -24,6 +35,9 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/workflows/operators/Headstage64OpticalStimulatorTrigger.bonsai b/workflows/operators/Headstage64OpticalStimulatorTrigger.bonsai
index a72c3d6..7ca87c4 100644
--- a/workflows/operators/Headstage64OpticalStimulatorTrigger.bonsai
+++ b/workflows/operators/Headstage64OpticalStimulatorTrigger.bonsai
@@ -1,10 +1,21 @@
-
+
+
+ Middle
+
+
+
+
+ true
+
+
Headstage64/Headstage64OpticalStimulator
@@ -21,6 +32,9 @@
-
+
+
+
+
\ No newline at end of file