-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathADEXT.H
289 lines (274 loc) · 9.2 KB
/
ADEXT.H
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
#include "addefs.h"
/* Function prototypes */
unsigned long compute_timestamp(short bufindex, unsigned long offset);
int InitBoard(void);
int SetBoardGains(void);
int GetData(void);
WORD getDMAlength(int far *buffer);
int getnelectrodes(void);
long DiskFree(void);
short nextbuf(short buf);
short prevbuf(short buf);
int LoadConfig(char *filename);
char *GetHeaderParameter(char **header, char *parm);
char **ReadHeader(FILE *infile, int *headersize);
float SpikeWindowScale(int channel);
float ContWindowScale(ChannelInfo *cptr);
int SetRate(float rate, float *rate_set);
int SetDTGains(void);
int SetElectrodeAmpGains(int e_num,long gain);
int SetAmpGains(long gain);
int SetAmpGain(int channel, long gain);
int ReadPIO2(void);
int ReadPIO(void);
void StartAcq(void);
void TestAndStopAcq(void);
void IncIRQMask(int val);
void ClkWriteCommand(int com);
void interrupt far ClkGetCommand(void);
void ClkSetupMasterSlave(void);
void ClkSetupSingle(void);
void ClkSetupStim(void);
void SetSingleStimParm(int pulselen);
void SetStimParm(int pulselen);
void ArmStimClocks(void);
void DisarmStimClocks(void);
void ResetStimOutput(void);
void Stimulate(void);
void ClkResetClock(void);
void StartFout(void);
void StopFout(void);
void ArmClock(void);
void DisarmClock(void);
void ClkResetBoard(void);
void ClkSetupCommandBus(void);
void ClkRestoreSystem(void);
void ClkProcessCommand(void);
void ClkMasterProcessCommand(int com);
void ClkShowCommands(void);
void EventString(char *string);
void EventStringAndTime(char *string,unsigned long timestamp);
void SaveEventString(void);
void SaveRawData(void);
void SaveSpikeData(short e_num);
void ToggleDisk(void);
void ToggleGraphics(void);
void PrepareStartAcq(void);
void StartAcq(void);
void StopAcq(void);
void TestAndStopAcq(void);
void DisableMouse(void);
void EnableMouse(void);
void ToggleAcq(void);
void DiskOn(void);
void DiskOff(void);
void ToggleAutoscale(void);
void CheckButtons(void);
void CheckMouse(void);
void LoadAndUpdateConfig(char *filename);
void DisplayHeader(FILE *fp, char **header, long headersize);
void WriteHeader(void);
void SetThreshold(int channel,int thresh);
void SetElectrodeThresholds(int e_num,int thresh);
void SetAllThresholds(int thresh);
void ProcessString(void);
void InputMessage(char *string);
void ReadInputString(char *outputstr, char *inputstr);
void ADCloseFile(void);
void UpdateChannelSelected(void);
void GetStimArea(View *area);
void CheckKeyboard(void);
void SelectGraphics(void);
void SelectGraphics(void);
void Pause(void);
void StatusLine( char *msg );
void DrawBorder(void);
void changetextstyle(int font, int direction, int charsize);
void MainWindow( char *header );
void Initialize(void);
void ReportStatus(void);
void drwbox(int mode, int color, int x,int y, int x2, int y2);
void drwstring(int mode, int color, char *string, int x, int y);
void drwpoint(int mode,int color,int x, int y);
void drwfillbox(int mode, int color, int x,int y, int x2, int y2);
void drwline(int mode, int color, int x, int y, int x2, int y2);
void DrawArrow(int color,int x, int y);
void SystemSetup(void);
void SetStringPositions(void);
void DrawSessionString(void);
void DisplaySetup(void);
void DisplayStartupStatus(void);
void DrawModeButton(char *string1, int color, int x, int y, int x2, int y2,
short state);
void DrawButton(char *string1, char *string2, int x, int y, int x2, int y2,
short state);
void DrawButton2(char *string1, char *string2, char *string3,
int x, int y, int x2, int y2);
void DefineButton(int bnum, int x, int y, int x2, int y2, char* data,
void (*handler)());
void HighlightButton(int bnum,int color);
void UnHighlightButton(int bnum);
void ButtonStatus(int bnum, int event);
void DefineMessageArea(int mnum, short x, short y, short x2, short y2);
void do_quit(int bnum, int event);
void do_toggleacq(int bnum, int event);
void do_channelbutton(int bnum, int event);
void DefineChannelButtons(int buttonstart);
void CreateMenu(void);
void UpdateDiskButton(void);
void UpdateAcqButton(void);
void UpdateTrackerButton(void);
void UpdateFileButton(void);
void DrawMenu(void);
void DisplayRate(void);
void DisplayAmpFilters(void);
void DrawStrings(void);
void DisplayCurrentTime(void);
void DisplayDiskInfo(void);
void DrawSPButtons(void);
void DrawSPButton(int button);
void DrawChannelButtons(void);
void DrawChannelButton(int channel);
void SetContWindowScale(ChannelInfo *cptr);
void DrawAmpButtons(void);
void DrawScopeBorder(void);
void DrawTrackerBorder(void);
void ClearScopeBox(void);
void ClearTrackerBox(void);
void ClearSpikeAreas(void);
void ClearHelpWindow(void);
void DrawHelpWindow(void);
void DrawStimWindow(void);
void DrawTrackerGrid(void);
void DrawStimProtocol(void);
void RedrawMain(void);
void DrawSPBorders(void);
void DrawSpikeBorders(int e_num);
void DrawSpikeBorder(int e_num, int channel);
void DrawProjectionBorder(int e_num, int channel);
void DrawProjectionBorders(int e_num);
void ClearSpikeBoxes(int e_num);
void ClearSpikeBox(int e_num, int channel);
void ClearProjectionBoxes(int e_num);
void ClearProjectionBox(int e_num, int channel);
void RefreshDisplay(void);
void ClearScreen(void);
void DisplayADStatus(void);
void StatusMessage(char *string);
void ModeMessage(void);
void StatusMessage3(char *string);
void StatusMessage4(char *string);
void ErrorMessage(char *string);
void ChannelMessage(char *string,short channel);
void DrawContinuousTicks(void);
void DisplayContinuousData(void);
void DisplayProjections(short e_num);
void DisplaySpikes(short e_num);
void ProgramDMAController(void);
void allocbuff(int far **buffer, WORD buffsize);
void SetupTracker(void);
void SetupPIO2(void);
void GetDMAInfo(WORD bufsize, int far *buffer, WORD *DMAPage, WORD *DMAbase);
void InitDMA5(WORD page, WORD offset, WORD count);
void InitDMA6(WORD page, WORD offset, WORD count);
void InitDMA7(WORD page, WORD offset, WORD count);
void InitDMAChannels(void);
void ResetDMAChannels(void);
void Clk2WriteCommand(int com);
void interrupt far Clk2GetCommand(void);
void ClkResetBoard2(void);
void Clk2SetupCommandBus(void);
void Clk2RestoreSystem(void);
void Clk2ProcessCommand(void);
void Clk2MasterProcessCommand(int com);
void BlockSeqOn(void);
void BlockSeqOff(void);
void StartStimAcq(void);
void EndStimAcq(void);
void CheckBar(void);
void StartLight(void);
void EndLight(void);
void StartDeltaWait(void);
void TurnFeederOn(void);
void TurnFeederOff(void);
void SetupSequences(void);
void WritePIO(int val);
void WriteAmpControl(int val);
void InitDTPIO(void);
void SetEqualizationReg( int regval );
void LoadSeqCtrReg( int regval );
void IncSeqCtrReg( void );
void LoadAmpReg( int regval );
void SetAmpFilter( int channel, int filter);
void SetAmpChannelGain( int channel, int gain );
void Equalize(void);
void SetAmpControls(void);
void CycleAmpLowFilter(void);
void CycleAmpHighFilter(void);
void GetAmpFilters(char *l, char *h);
void CycleAmpLowFilter(void);
void CycleAmpHighFilter(void);
void GetAmpFilters(char *l, char *h);
void WritePIO2(int val);
void RaiseBitPIO2(int val);
void LowerBitPIO2(int val);
void TrackerOn(void);
void TrackerOff(void);
void ToggleTracker(void);
void DisplayTracker(void);
void WriteTrackerBuffer(void);
void interrupt Tracker_ISR(void);
void RestoreTracker(void);
void main(int argc, char **argv);
void BoardRestore(void);
void BoardSetup(void);
void SystemRestore(void);
void SystemExit(int errorlevel,char *string);
void AllocateBuffers(void);
void ADSetup(void);
void ADResetClock(void);
void InitAcq(void);
void interrupt GetCompletedBuffer(void);
void SpikeModeProcessBuffer(void);
void ContinuousModeProcessBuffer(void);
void CheckBoardID(void);
void WaitForKey(void);
/* */
/* Function prototypes */
/* */
int gprintf(int *xloc, int *yloc, char *fmt, ... );
extern ADInfo adinfo;
extern SystemInfo sysinfo;
extern char far tmpstring[200];
extern char far tmpstring2[200];
extern char far tmpstring3[200];
extern char far tmpstring4[200];
extern char far tmpstring5[200];
extern Button buttonlist[MAXBUTTONS];
extern MessageArea message_area[MAXBUTTONS];
extern WORD supcsr,adcsr; /* DT2821 register variables */
extern char *Fonts[NFONTS];
extern char *LineStyles[];
extern char *FillStyles[];
extern char *TextDirect[];
extern char *HorizJust[];
extern char *VertJust[];
struct PTS {
int x, y;
}; /* Structure to hold vertex points */
extern int GraphDriver; /* The Graphics device driver */
extern int GraphMode; /* The Graphics mode value */
extern double AspectRatio; /* Aspect ratio of a pixel on the screen*/
extern int MaxX, MaxY; /* The maximum resolution of the screen */
extern int MaxColors; /* The maximum # of colors available */
extern int ErrorCode; /* Reports any graphics errors */
extern struct palettetype palette; /* Used to read palette info */
extern unsigned long ReadTS(void);
extern char *FormatTS(unsigned long,int val);
extern Tracker tracker;
extern void interrupt (*oldtrackerirqvect)();
extern int trackerirqmask;
extern int trackerirqvect;
extern int tracker_irq;
extern int clk_irq;
extern int clk2_irq;