The iLab Mini has a brain-dead stupid command format. The commands all have the format: CXXNNNNMMMMM. Here, C is the command. NNNN and MMMMM are integer parameters to the command. The commands are as follows:

Command

Elem (NNNN)

Val (MMMMM)

Description

p/P

Ignored

Ignored

Print the current configuration

r/R

Ignored

Ignored

Run experiment

f/F

Ignored

New fuses

Set fuses – configures SMUs into current or voltage mode

s/S

0 or 1 for VAR1 or VAR2

Start value (0-1023)

Sets the starting value of the sweep

n/N

0 or 1 for VAR1 or VAR2

Number of points (1-1023)

Sets the number of points in the sweep

m/M

0 or 1 for VAR1 or VAR2

Maximum value (0-1023)

Sets the upper limit of the sweep

i/I

Port 0-7

Value (0-1023)

Sets the value of unswept ports

e/E

0 or 1 for VAR1 or VAR2

Port 0-7

Sets the port to sweep for VAR1 and VAR2

The output consists of short text responses. For running the experiment, it begins with "Running Experiment," followed by 8-10 columns of text for as many lines as needed for the experiment to complete, followed by "Experiment Complete." The first two columns consist of VAR1 and VAR2, as output by the DACs. The next 8 columns consist of inputs from all ADCs (the measured currents and voltages).

Sample interaction:

S 0 200

N 0 100

M 0 800

E 0 8

F 0 160

P

R
This would sweep variable 1 from 200 to 800, with 100 samples in between.

Known bugs: Generally, does not check the validity of the input – this is not a serious bug, since the input should eventually only come from a trusted computer. It is useful to have most of the computation done off of the microcontroller, so that we can use smaller and cheaper microcontrollers. There is an off-by-one error in checking the port number for i/I.

  • No labels