File: EyelinkSynopsis.c

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (142 lines) | stat: -rw-r--r-- 6,732 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/*

    PsychSourceGL/Source/Common/Eyelink/EyelinkSynopsis.c

    PROJECTS: Eyelink

    AUTHORS:
        cburns@berkeley.edu         cdb
        E.Peters@ai.rug.nl          emp
        f.w.cornelissen@rug.nl      fwc

    PLATFORMS:    All.

    HISTORY:

        11/21/05  cdb        Created based on old EyeMex.c and ScreenSynopsis.c.
        15/06/06  fwc        Added few functions and small changes to synopsis.

*/

#include "PsychEyelink.h"

#define MAX_SYNOPSIS_STRINGS 500

//declare variables local to this file.
static const char *synopsisSYNOPSIS[MAX_SYNOPSIS_STRINGS];

void InitializeSynopsis()
{
    int i = 0;
    const char **synopsis = synopsisSYNOPSIS;  //abbreviate the long name

    synopsis[i++] = "\n% This is the main function of the Eyelink toolbox";
    synopsis[i++] = "Usage:";
    synopsis[i++] = "\n% For general advice, try:";
    synopsis[i++] = "help Eyelink";
    synopsis[i++] = "\n% For a more detailed explanation of any Eyelink function, just add a question mark \"?\".";
    synopsis[i++] = "% E.g. for 'Initialize', try either of these equivalent forms:";
    synopsis[i++] = "Eyelink('Initialize?')";
    synopsis[i++] = "Eyelink Initialize?";
    synopsis[i++] = "\n% If you think you've found a bug, please report it";
    synopsis[i++] = "on the forum, see: http://psychtoolbox.org/\n";

    // Init or close eyelink
    synopsis[i++] = "\n% Initialize or shutdown Eyelink connection:";
    synopsis[i++] = "[status =] Eyelink('Initialize' [, displayCallbackFunction])";
    synopsis[i++] = "[status =] Eyelink('InitializeDummy' [, displayCallbackFunction])";
    synopsis[i++] = "[status =] Eyelink('IsConnected')";
    synopsis[i++] = "[status =] Eyelink('SetAddress', ipaddress);";
    synopsis[i++] = "Eyelink('Shutdown')";
    synopsis[i++] = "oldlevel = Eyelink('Verbosity' [,level]);";
    synopsis[i++] = "Eyelink('TestSuite')";
    synopsis[i++] = "[status =] Eyelink('OpenFile', filename [, dontOpenExisting=0])";
    synopsis[i++] = "[status =] Eyelink('CloseFile')";
    synopsis[i++] = "[status =] Eyelink('ReceiveFile',['filename'], ['dest'], ['dest_is_path'])";
    synopsis[i++] = "[status =] Eyelink('SendFile', src, dest, dest_is_path)";

    // Calibration
    synopsis[i++] = "\n% Calibration:";
    synopsis[i++] = "[result =] Eyelink('StartSetup' [, stype=0])";
    synopsis[i++] = "[status = ] Eyelink('DriftCorrStart', x, y [,dtype=0][, dodraw=1][, allow_setup=0])";
    synopsis[i++] = "[result = ] Eyelink('ApplyDriftCorr')";
    synopsis[i++] = "[result, tx, ty] = Eyelink('TargetCheck')";
    synopsis[i++] = "[result = ] Eyelink('AcceptTrigger')";
    synopsis[i++] = "[result, messageString =] Eyelink('CalMessage')";

    // Start or stop recording, Data acquisition
    synopsis[i++] = "\n% Start or stop recording and acquiring data:";
    synopsis[i++] = "[startrecording_error =] Eyelink('StartRecording' [,file_samples, file_events, link_samples, link_events] )";
    synopsis[i++] = "Eyelink('Stoprecording')";
    synopsis[i++] = "error = Eyelink('CheckRecording')";
    synopsis[i++] =  "eyeused = Eyelink('EyeAvailable')";
    synopsis[i++] = "NewOrOld = Eyelink('NewFloatSampleAvailable')";
    synopsis[i++] = "sample = Eyelink('NewestFloatSample')";
    synopsis[i++] = "[sample, raw] = Eyelink('NewestFloatSampleRaw' [, eye])";
    synopsis[i++] = "type = Eyelink('GetNextDataType')";
    synopsis[i++] = "item = Eyelink('GetFloatData', type)";
    synopsis[i++] = "[item, raw] = Eyelink('GetFloatDataRaw', type [, eye])";
    synopsis[i++] = "[samples, events, drained] = Eyelink('GetQueuedData'[, eye])";

    // Misc eyelink communication:
    synopsis[i++] = "\n% Miscellaneous functions to communicate with Eyelink:";
    synopsis[i++] = "result = Eyelink('ButtonStates')";
    synopsis[i++] = "[status =] Eyelink('Command', 'formatstring', [...])";
    synopsis[i++] = "[status =] Eyelink('Message', 'formatstring', [...])";
    synopsis[i++] = "[result =] Eyelink('SendKeyButton', code, mods, state)";
    synopsis[i++] = "[time =] Eyelink('TrackerTime')";
    synopsis[i++] = "[offset =] Eyelink('TimeOffset')";
    synopsis[i++] = "[status =] Eyelink('RequestTime')";
    synopsis[i++] = "[time =] Eyelink('ReadTime')";
    synopsis[i++] = "[mode =] Eyelink('TrackerMode')";
    synopsis[i++] = "[result, reply =] Eyelink('ReadFromTracker', VariableName)";

    synopsis[i++] = "\n% Miscellaneous Eyelink functions:";
    synopsis[i++] = "[result =] Eyelink('WaitForModeReady', maxwait)";
    synopsis[i++] = "[result =] Eyelink('ImageModeDisplay')";
    synopsis[i++] = "mode = Eyelink('CurrentMode')";
    synopsis[i++] = "result = Eyelink('CalResult')";
    synopsis[i++] = "Eyelink('SetOfflineMode')";
    synopsis[i++] = "[version, versionString]  = Eyelink('GetTrackerVersion')";
    synopsis[i++] = "[time =] Eyelink('TrackerTime')";
    synopsis[i++] = "[offset =] Eyelink('TimeOffset')";
    synopsis[i++] = "[status] = Eyelink('ImageTransfer', imagePath [, xPosition=0][, yPosition=0][, width=0][, height=0][, trackerXPosition=0][, trackerYPosition=0][, xferoptions=0])";
    synopsis[i++] = "[status] = Eyelink('ImageTransfer', imageArray [, xPosition=0][, yPosition=0][, width=0][, height=0][, trackerXPosition=0][, trackerYPosition=0][, xferoptions=0])";
    synopsis[i++] = "[versionString] = Eyelink('EDKVersion')";

    synopsis[i++] = "\n% Eyelink Velocity related functions:";
    synopsis[i++] = "[vel, acc, fsample]= Eyelink('CalculateOverallVelocityAndAcceleration' [, sample_model])";
    synopsis[i++] = "[vel,fsample] = Eyelink('CalculateVelocity' [,sample_model] )";
    synopsis[i++] = "[x_vel,y_vel,fsample] = Eyelink('CalculateVelocityXY' [,sample_model] )";

    // EyelinkToolbox author list
    synopsis[i++] = "\n\n\n\n% EyelinkToolbox version for the OpenGL PsychToolbox";
    synopsis[i++] = "% The EyelinkToolbox was developed by:\n";
    synopsis[i++] = "\tFrans Cornelissen";
    synopsis[i++] = "\tEnno Peters";
    synopsis[i++] = "\tJohn Palmer";
    synopsis[i++] = "\tChris Burns";
    synopsis[i++] = "\tMario Kleiner";
    synopsis[i++] = "\tErik Flister";
    synopsis[i++] = "\tNuha Jabakhanji";
    synopsis[i++] = "\tBrian Richardson";
    synopsis[i++] = "\tKurt Debono";
    synopsis[i++] = "\tMarcus Johnson";

    synopsis[i++] = NULL;  //this tells PsychDisplayScreenSynopsis where to stop

    if (i > MAX_SYNOPSIS_STRINGS) {
        PrintfExit("%s: increase dimension of synopsis[] from %ld to at least %ld and recompile.", __FILE__, (long) MAX_SYNOPSIS_STRINGS, (long) i);
    }
}

PsychError PsychDisplayEyelinkSynopsis(void)
{
    int i;

    for (i = 0; synopsisSYNOPSIS[i] != NULL; i++) {
        printf("%s\n", synopsisSYNOPSIS[i]);
    }

    return(PsychError_none);
}