Programming the Board
Gathering information from the card
(c) Spectrum GmbH
61
.
Hardware version
Since all of the boards from Spectrum are modular boards, they consist of one base board and one or two piggy-back front-end modules and
eventually of an extension module like the star-hub. Each of these three kinds of hardware has it’s own version register. Normally you do not
need this information but if you have a support question, please provide the revision together with it.
If your board has a additional piggy-back extension module mounted you can get the hardware version with the following register.
Production date
This register informs you about the production date, which is returned as one 32 bit long word. The upper word is holding the information
about the year, while the lower byte informs about the week of the year.
The following example shows how to read out a date and how to interpret the value:
Last calibration date
This register informs you about the date of the last factory calibration. When receiving a new card this date is similar to the delivery date
when the production calibration is done. When returning the card to calibration this information is updated. This date is not updated when
just doing an on-board calibration by the user. The date is returned as one 32 bit long word. The upper word is holding the information about
the year, while the lower byte informs about the week of the year.
Serial number
This register holds the information about the serial number of the board. This number is unique and should always be sent together with a
support question. Normally you use this information together with the register SPC_PCITYP to verify that multiple measurements are done with
the exact same board.
Card type
Card type as
defined in
regs.h
Value hexadec-
imal
Value decimal
Card type as
defined in
regs.h
Value hexadec-
imal
Value decimal
M2i.6011
TYP_M2I6011
36011h
221201
M2i.6030
TYP_M2I6030
36030h
221232
M2i.6012
TYP_M2I6012
36012h
221202
M2i.6031
TYP_M2I6031
36031h
221233
M2i.6021
TYP_M2I6021
36021h
221217
M2i.6033
TYP_M2I6033
36033h
221235
M2i.6022
TYP_M2I6022
36022h
221218
M2i.6034
TYP_M2I6034
36034h
221236
M2i.6011-exp
TYP_M2I6011EXP
46011h
286737
M2i.6030-exp
TYP_M2I6030EXP
46030h
286768
M2i.6012-exp
TYP_M2I6012EXP
46012h
286738
M2i.6031-exp
TYP_M2I6031EXP
46031h
286769
M2i.6021-exp
TYP_M2I6021EXP
46021h
286753
M2i.6033-exp
TYP_M2I6033EXP
46033h
286771
M2i.6022-exp
TYP_M2I6022EXP
46022h
286754
M2i.6034-exp
TYP_M2I6034EXP
46034h
286772
Register
Value
Direction
Description
SPC_PCIVERSION
2010
read
Base card version: the upper 16 bit show the hardware (PCB) version, the lower 16 bit show the firm-
ware version.
SPC_PCIMODULEVERSION
2012
read
Module version: the upper 16 bit show the hardware (PCB) version, the lower 16 bit show the firm-
ware version.
Register
Value
Direction
Description
SPC_PCIEXTVERSION
2011
read
Extension module version: the upper 16 bit show the hardware (PCB) version, the lower 16 bit show
the firmware version.
Register
Value
Direction
Description
SPC_PCIDATE
2020
read
Production date: week in bit 31 to 16, year in bit 15 to 0
spcm_dwGetParam_i32 (hDrv, SPC_PCIDATE, &lProdDate);
printf ("Production: week &d of year &d\n“, (lProdDate >> 16) & 0xffff, lProdDate & 0xffff);
Register
Value
Direction
Description
SPC_CALIBDATE
2025
read
Last calibration date: week in bit 31 to 16, year in bit 15 to 0
Register
Value
Direction
Description
SPC_PCISERIALNO
2030
read
Serial number of the board