14 #if !defined(BSTIMULATOR) 18 #define BSTIMAPI __declspec(dllexport) 20 #ifndef STATIC_BSTIM_LINK 21 #define BSTIMAPI __declspec(dllimport) 379 #pragma pack(push, 1) 597 static UINT32 m_iStimObjects;
601 static void disconnectAll();
604 BSTIMAPI
class maxStimulatorError{};
607 BSTIMAPI ~BStimulator();
608 BSTIMAPI
static BResult scanForDevices(std::vector<UINT32> & device_serial_nums);
616 BSTIMAPI
BResult beginningOfSequence();
617 BSTIMAPI
BResult endOfSequence();
618 BSTIMAPI
BResult beginningOfGroup();
636 BSTIMAPI
BResult stopTriggerStimulus();
642 BSTIMAPI
BResult EraseEeprom();
644 BSTIMAPI
BResult DisableStimulusConfiguration(
UINT8 config_id);
645 BSTIMAPI
BResult ResetStimulator();
647 BSTIMAPI
INT8 isConnected();
649 BSTIMAPI
UINT32 getSerialNumber();
650 BSTIMAPI
UINT16 getMotherboardFirmwareVersion();
651 BSTIMAPI
UINT16 getProtocolVersion();
652 BSTIMAPI
UINT32 getMinMaxAmplitude();
655 BSTIMAPI
UINT32 getUSBAddress();
656 BSTIMAPI
UINT32 getMaxHardCharge();
657 BSTIMAPI
UINT32 getMinHardFrequency();
658 BSTIMAPI
UINT32 getMaxHardFrequency();
659 BSTIMAPI
UINT8 getNumberModules();
660 BSTIMAPI
UINT16 getMaxHardWidth();
661 BSTIMAPI
UINT16 getMaxHardInterphase();
662 BSTIMAPI
INT8 isSafetyDisabled();
663 BSTIMAPI
INT8 isDeviceLocked();
CereStim R96 Macro Stimulator 16 current module unit.
Definition: BStimulator.h:259
Trigger mode is currently turned off.
Definition: BStimulator.h:168
unsigned short UINT16
0 to 65,535
Definition: BStimulator.h:61
UINT16 amp2
Amplitude second phase (uA)
Definition: BStimulator.h:460
Software Error: Not implemented.
Definition: BStimulator.h:317
CereStim R96 Micro Stimulator 3 current module unit.
Definition: BStimulator.h:253
Hardware Error: Invalid Channel.
Definition: BStimulator.h:345
Software Error: Stim is detached, invalid operation.
Definition: BStimulator.h:328
Stimulation waveform configuration 2.
Definition: BStimulator.h:206
Hardware Error: Invalid Voltage.
Definition: BStimulator.h:349
unsigned int UINT32
0 to 4,294,967,296
Definition: BStimulator.h:67
Hardware Error: Empty Config.
Definition: BStimulator.h:362
Hardware Error: Configuration not Active.
Definition: BStimulator.h:361
UINT16 interphase
Time between phases (us)
Definition: BStimulator.h:464
CereStim 96 Device Specific Information.
Definition: BStimulator.h:439
UINT32 BStimHandle
Handle to the Blackrock Stimulator object.
Definition: BStimulator.h:70
Software Error: Invalid command.
Definition: BStimulator.h:330
Micro Stimulator.
Definition: BStimulator.h:266
Voltage levels on the current module are normal.
Definition: BStimulator.h:187
Software Error: Stim is disconnected, invalid operation.
Definition: BStimulator.h:325
Current module in the specified position is enabled.
Definition: BStimulator.h:185
const UINT8 MAXCONFIGURATIONS
Maximum number of stimulation waveforms that can be stored on the device is 16.
Definition: BStimulator.h:108
CereStim R96 Micro Stimulator Beta Unit, May be either a 3 or 16 current module unit.
Definition: BStimulator.h:252
UINT8 beta
Wheather the Version is Beta.
Definition: BStimulator.h:404
Admin Max Values.
Definition: BStimulator.h:486
Stimulation waveform configuration 9.
Definition: BStimulator.h:213
Hardware Error: Invalid Width.
Definition: BStimulator.h:353
Hardware Error: Invalid Number.
Definition: BStimulator.h:347
Output Voltage Level 7.1V.
Definition: BStimulator.h:235
Windows USB interface.
Definition: BStimulator.h:126
Number of Interfaces, always the last one.
Definition: BStimulator.h:127
const UINT8 NUMBER_VOLT_MEAS
Number of voltage measurements taken for every stimulation pulse.
Definition: BStimulator.h:100
UINT32 serialNo
Hardware part number, type, and serial number 0xPN TY SN SN.
Definition: BStimulator.h:441
const UINT8 BANKSIZE
Maximum number of channels per bank.
Definition: BStimulator.h:88
Hardware Error: Module not Available.
Definition: BStimulator.h:359
BInterfaceType
Interface Types for connecting to the Stimulator.
Definition: BStimulator.h:123
BConfig
The Configured Stimulus Waveforms.
Definition: BStimulator.h:202
UINT8 status
Contains status of the stimulator.
Definition: BStimulator.h:476
Hardware Error: Voltage Greater than Max.
Definition: BStimulator.h:367
The stimulator is actively delivering a stimulus.
Definition: BStimulator.h:153
Hardware Error: Invalid Fast Discharge.
Definition: BStimulator.h:356
UINT16 miliVolts
Voltages are returned in millivolts.
Definition: BStimulator.h:428
Stimulation waveform configuration 6.
Definition: BStimulator.h:210
UINT8 maxCompVoltage
Max output compliance voltage.
Definition: BStimulator.h:558
void(* BCallback)(BEventType type, void *pCallbackData)
Callback function.
Definition: BStimulator.h:303
Hardware Error: Amplitude Greater than Max.
Definition: BStimulator.h:365
UINT8 minor
Minor Version.
Definition: BStimulator.h:402
Number of Events, Always the last value.
Definition: BStimulator.h:281
Current Module in the specified position is disabled.
Definition: BStimulator.h:186
Software Error: Invalid handle.
Definition: BStimulator.h:319
Software Error: Early returned warning.
Definition: BStimulator.h:315
Output Voltage Level 5.9V.
Definition: BStimulator.h:233
Software Error: Cannot open interface for read.
Definition: BStimulator.h:332
Hardware Error: Invalid Read/Write.
Definition: BStimulator.h:348
No current module in the specified position.
Definition: BStimulator.h:184
Hardware Error: Invalid Configuration.
Definition: BStimulator.h:346
UINT8 release
Wheather the Version is Released.
Definition: BStimulator.h:403
Module Diagnostics.
Definition: BStimulator.h:516
Hardware Error: Invalid Amplitude.
Definition: BStimulator.h:350
Stimulation waveform configuration 4.
Definition: BStimulator.h:208
The stimulator is paused.
Definition: BStimulator.h:152
Stimulation waveform configuration 13.
Definition: BStimulator.h:217
CereStim R96 Macro Stimulator Customer Specified Configuration.
Definition: BStimulator.h:260
BPartNumbers
Stimulator Part Numbers.
Definition: BStimulator.h:250
UINT32 phaseCharge
Charge per phase (pC)
Definition: BStimulator.h:490
Invalid Trigger, Always the last value.
Definition: BStimulator.h:172
UINT8 minCompVoltage
Min output compliance voltage.
Definition: BStimulator.h:559
Software Error: Cannot read command from the interface.
Definition: BStimulator.h:334
Hardware Error: Invalid Interpulse.
Definition: BStimulator.h:354
const INT32 EEPROM_SIZE
Size of EEProm on the Microcontroller is 256.
Definition: BStimulator.h:94
Software Error: Unknown error.
Definition: BStimulator.h:318
Output Voltage Level 8.3V.
Definition: BStimulator.h:237
Software Error: Invalid module number specified.
Definition: BStimulator.h:335
UINT16 amplitude
Amplitude (uA)
Definition: BStimulator.h:489
Software Error: Invalid intrface specified or interface not supported.
Definition: BStimulator.h:321
Hardware Error: Channel already used in Group.
Definition: BStimulator.h:360
Software Error: Stim is connected, invalid operation.
Definition: BStimulator.h:326
Hardware Error: Width Greater than Max.
Definition: BStimulator.h:366
Stimulation waveform configuration 0.
Definition: BStimulator.h:204
Hardware Error: Sequence Error.
Definition: BStimulator.h:343
Group Stimulus.
Definition: BStimulator.h:530
CereStim M96 Macro Stimulator Clinical 1 current module unit.
Definition: BStimulator.h:258
signed char INT8
-128 to 127
Definition: BStimulator.h:52
Output Voltage Level 7.7V.
Definition: BStimulator.h:236
const UINT8 MAXMODULES
The maximum number of current modules in a CereStim 96.
Definition: BStimulator.h:76
Number of Callback Types, Always the last value.
Definition: BStimulator.h:294
Total Configurations, Always the Last one.
Definition: BStimulator.h:220
Output Voltage Level 9.5V.
Definition: BStimulator.h:239
UINT32 size
sizeof(BStimUsbParams)
Definition: BStimulator.h:387
Trigger on a low to high transistion.
Definition: BStimulator.h:169
API Version.
Definition: BStimulator.h:400
Software Error: Cannot open interface for write.
Definition: BStimulator.h:331
Invalid Sequence, Always the last value.
Definition: BStimulator.h:156
Output Voltage Level 8.9V.
Definition: BStimulator.h:238
Components of the Stimulus Configurations.
Definition: BStimulator.h:455
A stimulus sequence is being written to the stimulator.
Definition: BStimulator.h:154
signed short INT16
-32,768 to 32,767
Definition: BStimulator.h:58
The first phase is cathodic.
Definition: BStimulator.h:139
UINT32 frequency
Frequency of stimulation pulses (Hz)
Definition: BStimulator.h:463
Software Error: Invalid parameters.
Definition: BStimulator.h:324
Output Voltage Level 5.3V.
Definition: BStimulator.h:232
Software Error: CereStim Firmware version not supported by SDK Library Version.
Definition: BStimulator.h:338
Invalid part number.
Definition: BStimulator.h:261
CereStim 96 is Attached to Host PC.
Definition: BStimulator.h:279
Stimulation waveform configuration 11.
Definition: BStimulator.h:215
Hardware Error: Phases not Balanced.
Definition: BStimulator.h:363
The stimulator is waiting for a trigger on its trigger line.
Definition: BStimulator.h:155
BEventType
USB Events.
Definition: BStimulator.h:277
Hardware Error: Invalid Frequency.
Definition: BStimulator.h:370
Hardware Error: Invalid Module.
Definition: BStimulator.h:357
UINT32 maxFreq
Max Frequency based on hardware in Hz.
Definition: BStimulator.h:561
Hardware Error: Invalid Trigger.
Definition: BStimulator.h:344
UINT32 vid
vendor ID
Definition: BStimulator.h:389
Hardware Error: Module already enabled can't reenable it.
Definition: BStimulator.h:369
UINT8 voltage
Max voltage value.
Definition: BStimulator.h:488
Measured Stimulus Voltage.
Definition: BStimulator.h:415
Software Error: Device with that address already connected.
Definition: BStimulator.h:323
UINT32 pid
product ID
Definition: BStimulator.h:390
UINT8 pulses
Number of biphasic pulses (from 1 to 255)
Definition: BStimulator.h:458
Status of the Stimulator.
Definition: BStimulator.h:474
Hardware Error: Invalid AF/CF.
Definition: BStimulator.h:351
UINT32 timeout
How long to try before timeout (mS)
Definition: BStimulator.h:388
UINT16 width1
Width first phase (us)
Definition: BStimulator.h:461
Trigger on any transistion.
Definition: BStimulator.h:171
UINT8 anodicFirst
0x01 = anodic first, 0x00 = cathodic first
Definition: BStimulator.h:457
CereStim 96 is Detached from Host PC.
Definition: BStimulator.h:280
Software Error: Stim is attached, invalid operation.
Definition: BStimulator.h:327
Software Error: Frequency or Period is zero and unable to be converted.
Definition: BStimulator.h:339
UINT32 minFreq
Min Frequency based on hardware in Hz.
Definition: BStimulator.h:562
CereStim R96 Micro Stimulator Customer Specified Configuration.
Definition: BStimulator.h:256
Measured Output Voltaged.
Definition: BStimulator.h:426
Stimulation waveform configuration 8.
Definition: BStimulator.h:212
Voltage levels on the current module are below normal, Module is bad.
Definition: BStimulator.h:188
Hardware Error: Phase Charge Greater than Max.
Definition: BStimulator.h:364
Stimulation waveform configuration 10.
Definition: BStimulator.h:214
The first phase is anodic.
Definition: BStimulator.h:138
Stimulation waveform configuration 7.
Definition: BStimulator.h:211
Macro Stimulator.
Definition: BStimulator.h:267
signed int INT32
-2,147,483,648 to 2,147,483,647
Definition: BStimulator.h:64
Stimulation waveform configuration 15.
Definition: BStimulator.h:219
Invalid Compliance Voltage, Always the Last One.
Definition: BStimulator.h:240
Hardware Error: Module already disabled can't disable it.
Definition: BStimulator.h:368
The stimulator is stopped.
Definition: BStimulator.h:151
BSeqType
Stimulators Internal Status.
Definition: BStimulator.h:149
BModuleStatus
Status of the Current Modules.
Definition: BStimulator.h:182
Output Voltage Level 6.5V.
Definition: BStimulator.h:234
CereStim R96 Macro Stimulator 3 current module unit.
Definition: BStimulator.h:257
Hardware Error: Command returned was not the same command sent.
Definition: BStimulator.h:373
Stimulation waveform configuration 12.
Definition: BStimulator.h:216
Stimulation waveform configuration 5.
Definition: BStimulator.h:209
UINT16 protocolVersion
MSB = version , LSB = subversion (i.e. 0x020A = version 2.10)
Definition: BStimulator.h:443
Electrode Diagnostics.
Definition: BStimulator.h:503
USB Parameters.
Definition: BStimulator.h:386
UINT32 charge
Max charge based on hardware in pC.
Definition: BStimulator.h:560
Invalid.
Definition: BStimulator.h:268
BStimulatorType
Definition: BStimulator.h:264
Default interface (windows USB)
Definition: BStimulator.h:125
UINT16 amp
Max phase amplitude based on hardware in uA.
Definition: BStimulator.h:557
Software Error: Callback register/unregister failed.
Definition: BStimulator.h:337
Software Error: Cannot write command to the interface.
Definition: BStimulator.h:333
Hardware Error: Comamnd result not OK.
Definition: BStimulator.h:342
BOCVolt
Output Compliance Voltage Level of the Stimulator.
Definition: BStimulator.h:229
Hardware Error: More Stimuli than Modules.
Definition: BStimulator.h:358
BResult
Return values from calls to the Stimulator object.
Definition: BStimulator.h:313
Stimulation waveform configuration 1.
Definition: BStimulator.h:205
Invalid Selection, always the last one.
Definition: BStimulator.h:140
Hardware Error: Invalid Interphase.
Definition: BStimulator.h:355
UINT16 interphase
Max Interphase width based on hardware in uS.
Definition: BStimulator.h:564
Hardware Error: Invalid Pulses.
Definition: BStimulator.h:352
Software Error: Invalid callback type.
Definition: BStimulator.h:336
Software Error: Null pointer.
Definition: BStimulator.h:320
Stimulation waveform configuration 3.
Definition: BStimulator.h:207
Monitor device attachment.
Definition: BStimulator.h:293
UINT16 amp1
Amplitude first phase (uA)
Definition: BStimulator.h:459
CereStim R96 Micro Stimulator 16 current module unit.
Definition: BStimulator.h:254
UINT8 modules
Number of modules installed in device.
Definition: BStimulator.h:565
Software Error: Timeout in creating the interface.
Definition: BStimulator.h:322
BTriggerType
Possible Triggering Modes.
Definition: BStimulator.h:166
UINT16 width2
Width second phase (us)
Definition: BStimulator.h:462
Hardware Error: The frequency is greater than the max value allowed.
Definition: BStimulator.h:371
Creates a Stimulator Object.
Definition: BStimulator.h:593
BWFType
Polarity of First Stimulus Phase.
Definition: BStimulator.h:136
Software Error: No physical device has been set. See setDevice() for help.
Definition: BStimulator.h:340
unsigned char UINT8
0 to 255
Definition: BStimulator.h:55
Map Channels to Electrodes.
Definition: BStimulator.h:577
Number of Status's, Always the Last one.
Definition: BStimulator.h:189
UINT16 mainboardVersion
MSB = version , LSB = subversion (i.e. 0x020A = version 2.10)
Definition: BStimulator.h:442
Monitor all events.
Definition: BStimulator.h:292
BCallbackType
Event Monitoring.
Definition: BStimulator.h:290
Hardware Values of the CereStim 96.
Definition: BStimulator.h:555
Stimulation waveform configuration 14.
Definition: BStimulator.h:218
Output Voltage Level 4.7V.
Definition: BStimulator.h:231
Trigger on a high to low transistion.
Definition: BStimulator.h:170
UINT16 width
Max Width for each phase based on hardware in uS.
Definition: BStimulator.h:563
Hardware Error: Device locked due to hardware mismatch or not being configured.
Definition: BStimulator.h:372
CereStim R96 Micro Stimulator 1 current module unit.
Definition: BStimulator.h:255
Software Error: Cannot register for device change notification.
Definition: BStimulator.h:329
UINT8 major
Major Version.
Definition: BStimulator.h:401
Software Error: Successful operation.
Definition: BStimulator.h:316
UINT32 frequency
Frequency (Hz)
Definition: BStimulator.h:491
const UINT8 MAXCHANNELS
Maximum number of channels in the CereStim 96, Channel 0 is internal and 1-96 are external...
Definition: BStimulator.h:82