+#include <psychlops.h>\r
+using namespace Psychlops;\r
+\r
+Psychlops::Polygon Poly;\r
+\r
+int radius = 100;\r
+int v_n = 6;\r
+double bg_lum =0.0;\r
+double Poly_lum = 0.5;\r
+\r
+void StimDisplay()\r
+{\r
+\r
+ Range rng;\r
+ Independent << Poly_lum | "Poly lum" | 0 <= rng <= 1.0 | 0.05 | 0.1;\r
+\r
+ for(int i=0; i<v_n; i++)\r
+ {\r
+ double angle = (double)i/v_n * 2*PI;\r
+ Poly.append(radius*cos(angle), radius*sin(angle));\r
+ }\r
+ Poly.Shape::centering();\r
+\r
+ while(!Keyboard::esc.pushed()){\r
+ Display::clear(bg_lum);\r
+ Poly.draw(Poly_lum);\r
+ Display::flip();\r
+ }\r
+}\r
+\r
+void psychlops_main()\r
+{\r
+ Canvas canvas(Canvas::window, Display::secondary);\r
+ canvas.showFPS();\r
+ canvas.watchFPS();\r
+\r
+ Procedure p;\r
+ p.setDesign(Procedure::DEMO);\r
+ p.setProcedure(&StimDisplay);\r
+ p.run();\r
+}\r
+\r
+\r
+#if 0\r
\r
// Motion with glass patterns.\r
// Ross, J., Badcock, D. R., and Hayes, A. (2000)\r
Psychlops::Ellipse rect(100,100);\r
rect.fill = Color::red;\r
\r
- Devices::GenericParallelPort trigger("USB_PARALLEL", 1+8);\r
+ char data[100] = {\r
+ 0,0,0,0,0,0,0,0,0,0,\r
+ 0,0,0,0,0,0,0,0,0,0,\r
+ 0,0,0,0,0,0,0,0,0,0,\r
+ 0,0,0,0,0,0,0,0,0,0,\r
+ 0,0,0,0,0,0,0,0,0,0,\r
+ 0,0,0,0,0,0,0,0,0,0,\r
+ -128,-128,-128,-128,-128,-128,-128,-128,\r
+ -128,-128,-128,-128,-128,-128,-128,-128,\r
+ -128,-128,-128,-128,-128,-128,-128,-128,\r
+ -128,-128,-128,-128,-128,-128,-128,-128,\r
+ };\r
+ Devices::GenericParallelPort trigger0("USB_PARALLEL", 0);\r
+ Devices::GenericParallelPort trigger1("USB_PARALLEL", Devices::GenericParallelPort::D0 + Devices::GenericParallelPort::D2);\r
+\r
+ trigger0.trigger();\r
+ trigger1.trigger();\r
+\r
+\r
+ int trigger_ticks = 100, a;\r
+ Interval rng;\r
+ Widgets::Slider slide;\r
+ slide.link(trigger_ticks, "trigger_ticks", 1<=rng<=1000, 20.0, 100.0);\r
\r
int t=0;\r
\r
while(!Keyboard::esc.pushed()) {\r
t++;\r
- Display::clear(); //Clear window\r
+ if(t%2==0) Display::clear(); //Clear window\r
+ else Display::clear(Color::gray); //Clear window\r
\r
//if(t%100 == 0)\r
// rs = CreateProcess("C:\\Windows\\System32\\print.exe",(LPTSTR)" /D:LPT1 D:\\Users\\hskwk\\Desktop\\zzz.txt",NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);\r
\r
- if(t%120==0) trigger.trigger();\r
+ //if(t%300==0) trigger1.trigger(data,100);\r
+ if(t%150==0) trigger0.trigger(trigger_ticks);\r
rect.draw();\r
\r
+ slide.draw();\r
+\r
Display::flip(); // Flip frame buffers\r
}\r
}\r
///- Stimulus drawing function\r
\r
+#endif\r
\r
\r
#if 0\r