spTMS
Communication Code for the single pulse TMS protocol
Lines 2-3 initialize the serial communication. In older MATLAB versions (prior to 2019b) you can use:
From version 2019b onward is necessary to use:
It is important to change the USB port (“COM”) name according to your case as explained above. Also, it is good practice, during the setting phase, to put a pause command between each serial string. A 10 ms duration is sufficient in any case, except for the first command, in which the communication between devices is established. In this case, the optimal duration may vary depending on your computer performance. A 2 sec interval should be enough for older devices, too. This pause is not necessary after the setting phase, when delivering TMS pulses.
Then, copy-paste the mandatory signature. Without this the following lines won’t work.
After these mandatory steps, you can declare optional stimulation parameters (e.g., IPI, number of pulses, markers) in any order. In this case, since we’re going to use a spTMS protocol, the only parameter we may be interested in is the voluntary marker duration. This option allows you to place digital markers of a chosen duration (max 9 different lengths) at any moment. This may be useful in case you need to discriminate between different stimuli’s onset (e.g., neural, joy, or fearful faces). Remember that voluntary markers always get delivered through BNC3. Its syntax is:
In this case N is the preset number (between 1 and 9), and X is the marker length. Recalling the two stimuli example, we may want two voluntary markers of different duration (e.g., 3 and 5 ms) to ease our analysis, later. We will write then:
Our last step before calling the pulse command is declaring which TMS protocol we are going to use. We can choose between spTMS, dcTMS, or rTMS. Since we’re using the single pulse one, we will write:
Now that we have declared all of the necessary stimulation parameters, we can finally deliver the TMS pulse. You can independently trigger the BNC1 (“1”) or BNC2 (“2”). These lines must be copy-pasted within your code according to your stimulation and task requirements (es. prior to a certain stimulus onset).
We can also individually call for voluntary markers at any time using letters. Preset 1 (MRK1) is paired with letter “A” – Consequently, preset 2 with “B”, 3 with “C”, 4 with “D”, 5 with “E”, 6 with “F”, 7 with “G”, 8 with “H”, and 9 with “I”. Since we declared two different markers (“MRK1,3”, “MRK2,5”) we can trigger them using the letters “A” and “B”.
The command code also includes a line to run in case you may reset any setting and return to the mandatory signature. You can then declare once again the parameter settings. The command is:
Once the task is completed you can definitely close the serial communication between the Silicon Spike device and the experimental computer, thus avoiding any potential bug.
Last updated