Configuration API
The following APIs are used to read and write system configuration information.
BS2_ResetConfig
Initializes the device's configurations.
BS2_ResetConfigExceptNetInfo
+ v2.6.0 Initializes the setting information of the device. (Excluding network settings)
BS2_GetConfig
Retrieves configuration blob from the device.
BS2_SetConfig
Stores configuration blob on the device.
BS2_GetFactoryConfig
Retrieves software version and hardware settings from the device
BS2_GetSystemConfig
Retrieves system settings from the device
BS2_SetSystemConfig
Stores system settings on the device
BS2_GetAuthConfig
Retrieves authentication settings on the device
BS2_SetAuthConfig
Stores authentication settings on the device
BS2_GetStatusConfig
Retrieves LED and buzzer settings from the device.
BS2_SetStatusConfig
Stores LED and buzzer settings on the device.
BS2_GetDisplayConfig
Retrieves sound and UI settings from the device.
BS2_SetDisplayConfig
Stores sound and UI settings on the device.
BS2_GetIPConfig
Retrieves IP settings from the device.
BS2_GetIPConfigViaUDP
Retrieves IP settings from the device via UDP broadcasting. This API is not available for the device already connected to the server.
BS2_SetIPConfig
Stores IP settings on the device.
BS2_SetIPConfigViaUDP
Stores IP settings on the device via the UDP broadcasting. This API is not available for the device already connected to the server.
BS2_GetIPConfigExt
Retrieves DNS and server URL settings from the device.
BS2_SetIPConfigExt
Stores DNS and server URL settings on the device.
BS2_GetTNAConfig
Retrieves time and attendance settings from the device.
BS2_SetTNAConfig
Stores time and attendance settings on the device.
BS2_GetCardConfig
Retrieves smart card settings from the device.
BS2_SetCardConfig
Stores smart card settings on the device.
BS2_GetFingerprintConfig
Retrieves fingerprint matching settings from the device.
BS2_SetFingerprintConfig
Stores fingerprint matching settings on the device.
BS2_GetRS485Config
Retrieves RS-485 network settings from the device.
BS2_SetRS485Config
Stores RS-485 network settings on the device.
BS2_GetWiegandConfig
Retrieves Wiegand I/O settings from the device.
BS2_SetWiegandConfig
Retrieves Wiegand I/O settings from the device.
BS2_GetWiegandDeviceConfig
Retrieves Wiegand device settings from the device.
BS2_SetWiegandDeviceConfig
Stores Wiegand device settings on the device.
BS2_GetInputConfig
Retrieves supervised input port settings from the device. This applies to the device such as CS40, SIO2, and DM20 only.
BS2_SetInputConfig
Stores supervised input port settings on the device. This applies to the device such as CS40, SIO2, and DM20 only.
BS2_GetWlanConfig
Retrieves wireless LAN settings from the device.
BS2_SetWlanConfig
Stores wireless LAN settings on the device.
BS2_GetTriggerActionConfig
Retrieves trigger and action settings from the device.
BS2_SetTriggerActionConfig
Stores trigger and action settings on the device.
BS2_GetEventConfig
Retrieves image log filter settings from the device.
BS2_SetEventConfig
Stores image log filter settings on the device.
BS2_GetWiegandMultiConfig
Retrieves Multi-Wiegand settings from the device.
BS2_SetWiegandMultiConfig
Stores Multi-Wiegand settings on the device.
BS2_GetCard1xConfig
Retrieves v1 Template on Card settings from the device. This feature is implemented to read Template on Cards already issued from a v1 device. It does not allow a v2 device to issue a template on card in a v1 layout.
BS2_SetCard1xConfig
Stores v1 Template on Card settings on the device. This feature is implemented to read Template on Cards already issued from a v1 device. It does not allow a v2 device to issue a template on card in a v1 layout.
BS2_GetSystemExtConfig
Retrieves Master and slave device encryption settings from the device.
BS2_SetSystemExtConfig
Stores Master and slave device encryption settings on the device.
BS2_GetVoipConfig
Retrieves VoIP settings from the device.
BS2_SetVoipConfig
Stores VoIP settings on the device.
BS2_GetFaceConfig
Retrieves face settings from the device.
BS2_SetFaceConfig
Stores face settings on the device.
BS2_GetRS485ConfigEx
In case of CoreStation, retrieves RS-485 network settings from the device.
BS2_SetRS485ConfigEx
In case of CoreStation, stores RS-485 network settings on the device.
BS2_GetCardConfigEx
Retrieves iClass SEOS card settings from the device.
BS2_SetCardConfigEx
Stores iClass SEOS card settings on the device.
BS2_GetDstConfig
+ v2.6.0 Retrieves the device DST information.
BS2_SetDstConfig
+ v2.6.0 Stores the device DST information.
BS2_GetSupportedConfigMask
+ v2.5.0 Retrieves supported configuration of the device.
BS2_GetIPConfigViaUDPEx
+ v2.6.3 Retrieves IP configuration through UDP broadcast with host IP.
BS2_SetIPConfigViaUDPEx
+ v2.6.3 Stores IP configuration through UDP broadcast with host IP.
BS2_GetIPV6Config
+ v2.6.3 Retrieves IPv6 configuration information.
BS2_SetIPV6Config
+ v2.6.3 Stores IPv6 configuration information.
BS2_GetIPV6ConfigViaUDP
+ v2.6.3 Retrieves IPv6 configuration through UDP broadcast.
BS2_SetIPV6ConfigViaUDP
+ v2.6.3 Stores IPv6 configuration through UDP broadcast
BS2_GetIPV6ConfigViaUDPEx
+ v2.6.3 Retrieves IPv6 configuration through UDP broadcast with host IP.
BS2_SetIPV6ConfigViaUDPEx
+ v2.6.3 Stores IPv6 configuration through UDP broadcast with host IP.
BS2_GetDesFireCardConfigEx
+ v2.6.4 Retrieves DesFire advanced configuration from the device.
BS2_SetDesFireCardConfigEx
+ v2.6.4 Sets DesFire advanced configuration in the device.
BS2_GetAuthConfigExt
+ v2.7.1 Visual Face-based devices Retrieves authentication settings from the device.
BS2_SetAuthConfigExt
+ v2.7.1 Visual Face-based devices Stores authentication settings on the device.
BS2_GetFaceConfigExt
+ v2.7.1 Retrieves configuration of thermal camera and mask detection.
BS2_SetFaceConfigExt
+ v2.7.1 Stores configuration of thermal camera and mask detection.
BS2_GetThermalCameraConfig
+ v2.7.1 FaceStation F2, FaceStation 2 Retrieves configuration of thermal camera.
BS2_SetThermalCameraConfig
+ v2.7.1 FaceStation F2, FaceStation 2 Stores configuration of thermal camera.
BS2_GetBarcodeConfig
+ V2.8 Retrieves configuration of Barcode of X-Station 2.
BS2_SetBarcodeConfig
+ V2.8 Stores configuration of Barcode of X-Station 2.
BS2_GetInputConfigEx
+ v2.8.1 IM-120 Retrieves Expanded Configuration related to the Input.
BS2_SetInputConfigEx
+ v2.8.1 IM-120 Stores Expanded Configuration related to the Input.
BS2_GetRelayActionConfig
+ v2.8.1 IM-120 Retrieves Configuration related to the RelayAction.
BS2_SetRelayActionConfig
+ v2.8.1 IM-120 Stores Configuration related to the RelayAction.
BS2_GetVoipConfigExt
+ v2.8.3 Gets the extended VoIP settings.
BS2_SetVoipConfigExt
+ v2.8.3 Save the extended VoIP settings.
BS2_GetRtspConfig
+ v2.8.3 Gets the RTSP settings.
BS2_SetRtspConfig
+ v2.8.3 Save the RTSP settings.
BS2_GetLicenseConfig
+ v2.9.1 Gets the device license activation information in the device.
BS2_GetOsdpStandardConfig
+ v2.9.1 Get the device's OSDP setting information.
BS2_GetOsdpStandardActionConfig
+ v2.9.1 Get the LED/buzzer settings for each action of the OSDP device.
BS2_SetOsdpStandardActionConfig
+ v2.9.1 Store the LED/buzzer setting for each action of the OSDP device.
BS2_GetCustomCardConfig
+ v2.9.4 Retrieves Custom smart card settings.
BS2_SetCustomCardConfig
+ v2.9.4 Stores Custom smart card settings.
BS2_GetMifareCardConfigEx
+ v2.9.9 Gets the configuration information used for AES128-encrypted Mifare cards on the device.
BS2_SetMifareCardConfigEx
+ v2.9.9 Saves the configuration information used for AES128-encrypted Mifare cards on the device.
BS2_GetFacilityCodeConfig
+ v2.9.9 Get the BS2FacilityCode used as an authentication code when the OSDP connection between the Door Interface (DI-24) and the master device is lost.
BS2_SetFacilityCodeConfig
+ v2.9.9 Sets the BS2FacilityCode used as an authentication code when the OSDP connection between the Door Interface (DI-24) and the master device is lost.
BS2_GetRS485ConfigExDynamic
+ v2.9.9 Gets the RS485 network setting information for CoreStation.
BS2_SetRS485ConfigExDynamic
+ v2.9.9 Saves the RS485 network setting information for CoreStation.
Structure
BS2FactoryConfig
typedef struct {
uint8_t major;
uint8_t minor;
uint8_t ext;
uint8_t reserved[1];
} Version;
typedef struct {
uint32_t deviceID;
uint8_t macAddr[BS2_MAC_ADDR_LEN];
uint8_t reserved[2];
char modelName[BS2_MODEL_NAME_LEN];
Version boardVer;
Version kernelVer;
Version bscoreVer;
Version firmwareVer;
char kernelRev[BS2_KERNEL_REV_LEN];
char bscoreRev[BS2_BSCORE_REV_LEN];
char firmwareRev[BS2_FIRMWARE_REV_LEN];
uint8_t reserved2[32];
} BS2FactoryConfig;
-
deviceIDDevice identifier.
-
macAddrMAC address of the network adaptor.
-
reservedReserved space.
-
modelNameModel name.
-
boardVerHardware version.
-
kernelVerKernel version.
-
bscoreVerBioStar Core version.
-
firmwareVerFirmware version.
-
kernelRevKernel revision information.
-
bscoreRevBioStar Core revision information.
-
firmwareRevFirmware revision information.
-
reserved2Reserved space.
BS2SystemConfig
typedef struct {
uint8_t notUsed[16 * 16 * 3];
int32_t timezone;
uint8_t syncTime;
uint8_t serverSync;
uint8_t deviceLocked;
uint8_t useInterphone;
uint8_t useUSBConnection;
uint8_t keyEncrypted;
uint8_t useJobCode;
uint8_t useAlphanumericID;
uint32_t cameraFrequency;
bool secureTamper;
bool reserved0; // (write protected)
uint8_t reserved[2];
uint32_t useCardOperationMask; ///< 4 bytes (bitmask , no use 0 position bit - 0~30 bit, valid data - 31 bit)
uint8_t reserved1[6]; ///< 6 bytes
BS2_BOOL adminTwoStepAuth; ///< 1 byte , BDP-788
uint8_t reserved2[9]; ///< 8 bytes (reserved)
} BS2SystemConfig;
-
notUsedNot used.
-
timezoneRepresents standard time zone in seconds.
-
syncTimeThis is a FLAG that determines time synchronization with the BioStar Server.
-
serverSyncReserved variable.
-
deviceLockedIndicates the current locked state of the device. (Read only filed)
-
useInterphoneDecides whether to use intercom.
-
useUSBConnectionThis is not used anymore. (The device automatically detects USB connection.)
-
keyEncryptedDecides whether to use OSDP secure key.
-
useJobCodeDecides whether to use job codes.
-
useAlphanumericIDDecides whether to use alphanumeric ID.
-
cameraFrequencyFrequency of the camera.
Value Description 1 50Hz 2 60Hz -
secureTamperFlag to determine whether to use a security tamper.
When Tamper on, the following data is deleted from the device. (User, log, data encryption key, SSL certificate)
-
reserved0Reserved space.
-
reservedReserved space.
-
useCardOperationMask+ v2.6.4 Provides a card selective option not to read all kinds of cards from the device.
You can select multiple cards using MASK. The user can select or deselect of a specific card reading option using this option.
However, it can be applied to the card types the device supporting. If you add a card type which isn't supported from the device would be ignored.
Also, the required card type MASK should be combined with
CARD_OPERATION_USE.For example, useCardOperationMask needs to be configured
x0x80000001when EM card is selected only.Value Description 0xFFFFFFFF CARD_OPERATION_MASK_DEFAULT 0x80000000 CARD_OPERATION_USE 0x00000000 CARD_OPERATION_MASK_NONE 0x00000800 CARD_OPERATION_MASK_CUSTOM_DESFIRE_EV1 0x00000400 CARD_OPERATION_MASK_CUSTOM_CLASSIC_PLUS 0x00000200 CARD_OPERATION_MASK_BLE 0x00000100 CARD_OPERATION_MASK_NFC 0x00000080 CARD_OPERATION_MASK_SEOS 0x00000040 CARD_OPERATION_MASK_SR_SE 0x00000020 CARD_OPERATION_MASK_DESFIRE_EV1 0x00000010 CARD_OPERATION_MASK_CLASSIC_PLUS 0x00000008 CARD_OPERATION_MASK_ICLASS 0x00000004 CARD_OPERATION_MASK_MIFARE_FELICA 0x00000002 CARD_OPERATION_MASK_HIDPROX 0x00000001 CARD_OPERATION_MASK_EM -
reserved1Reserved space.
-
adminTwoStepAuthIndicates whether to perform two-step master admin authentication.
In compliance with CE RED (Radio Equipment Directive) regulations, modification of this value is restricted for devices supporting the Master Admin feature (refer to the table below).
For devices that do not support this feature, changes are permitted only after a firmware upgrade.
When set to false, one-step authentication is performed. It is not affected by
BS2AuthConfigorBS2AuthConfigEx, which are regular user authentication settings, and authentication proceeds using only the credential information assigned to the master admin.When set to true, two-step authentication is performed. If only one-step authentication is possible due to insufficient credentials enrolled on the device or other reasons, it may be treated as authentication failure.
-
reserved2Reserved space.
BS2AuthConfig
typedef struct {
uint32_t authSchedule[BS2_NUM_OF_AUTH_MODE];
uint8_t useGlobalAPB;
uint8_t globalAPBFailAction;
uint8_t useGroupMatching;
uint8_t reserved
uint8_t reserved[28];
uint8_t usePrivateAuth;
uint8_t faceDetectionLevel;
uint8_t useServerMatching;
uint8_t useFullAccess;
uint8_t matchTimeout;
uint8_t authTimeout;
uint8_t numOperators;
uint8_t reserved2[1];
struct {
char userID[BS2_USER_ID_SIZE];
uint8_t level;
uint8_t reserved[3];
} operators[BS2_MAX_OPERATORS];
} BS2AuthConfig;
-
authScheduleStores schedules for different types of authentication modes.
It has the following meanings in the value of the array.
If the value in the array is greater than 0, the corresponding authentication mode is enabled.
Biometric information in the descriptions below refers to the fingerprint or face depending on the device.
Value Code Description 0 BS2_AUTH_MODE_BIOMETRIC_ONLY Biometric only 1 BS2_AUTH_MODE_BIOMETRIC_PIN Biometric + PIN 2 BS2_AUTH_MODE_CARD_ONLY Card only 3 BS2_AUTH_MODE_CARD_BIOMETRIC Card + Biometric 4 BS2_AUTH_MODE_CARD_PIN Card + PIN 5 BS2_AUTH_MODE_CARD_BIOMETRIC_OR_PIN Card + Biometric or PIN 6 BS2_AUTH_MODE_CARD_BIOMETRIC_PIN Card + Biometric + PIN 7 BS2_AUTH_MODE_ID_BIOMETRIC ID + Biometric 8 BS2_AUTH_MODE_ID_PIN ID + PIN 9 BS2_AUTH_MODE_ID_BIOMETRIC_OR_PIN ID + Biometric or PIN 10 BS2_AUTH_MODE_ID_BIOMETRIC_PIN ID + Biometric + PIN -
useGlobalAPBDecides whether to enable global APB zone.
-
globalAPBFailActionDefault action that will be executed when the BioStar application cannot determine if the authentication has violated global APB rules.
Value Description 0 Not use 1 Operate as soft APB 2 Operate as hard APB -
useGroupMatchingDecides whether to use face group matching.
-
reservedReserved space.
-
usePrivateAuthDecides whether to use private authentication mode.
-
faceDetectionLevelLevel of face detection in user authentication. If the detected face level is lower than the configuration, it will be processed as authentication fail.
When set, the camera view according to Normal/Strict is displayed, access is denied if the device doesn't recognize facial image through image log. Default is 0.
Value Description 0 Face detection not used 1 Normal mode 2 Strict mode Only valid for A2. Not used with FaceStation 2 or FaceLite.
-
useServerMatchingDecides whether to perform fingerprint/face matchings on the server.
-
useFullAccessDecides whether to allow full access to all authenticated users regardless to the access group rules.
-
matchTimeoutTimeout in seconds for fingerprint/face matching.
-
authTimeoutTimeout in seconds for the user authentication response.
-
numOperatorsThe number of operators defining user privileges.
-
reserved2Reserved space.
-
userIDUser identifier.
-
levelSpecifies the privilege of the user when accessing to the device's menu.
Value Description 0 No privilege 1 Administrative privilege 2 Privilege to change the system settings 3 Privilege to change user information PrecauciónTo add an operator, the
numOperatorsfield needs to be set equivalent to the number of operators that will be added. -
reservedReserved space.
BS2StatusConfig
typedef struct {
struct {
uint8_t enabled;
uint8_t reserved[1];
uint16_t count;
BS2LedSignal signal[BS2_LED_SIGNAL_NUM];
} led[BS2_DEVICE_STATUS_NUM];
uint8_t reserved1[32];
struct {
uint8_t enabled;
uint8_t reserved[1];
uint16_t count;
BS2BuzzerSignal signal[BS2_BUZZER_SIGNAL_NUM];
} buzzer[BS2_DEVICE_STATUS_NUM];
uint8_t configSyncRequired;
uint8_t reserved2[31];
} BS2StatusConfig;
-
enabledDecides whether to use the LED.
-
reservedReserved space.
-
countNumber of LED signal execution count. When it is set as 0, repeats infinitely.
-
signalList of LED signal patterns, which can be configured up to 3 patterns.
-
reserved1Reserved space.
-
enabledDecides whether to use the buzzer.
-
reservedReserved space.
-
countNumber of buzzer signal execution count. When it is set as 0, repeats infinitely.
-
signalList of buzzer signal patterns, which can be configured up to 3 patterns.
-
configSyncRequiredIf the device's configuration has been modified, this value will be set to true.
-
reserved2Reserved space.
BS2DisplayConfig
typedef struct {
uint32_t language;
uint8_t background;
uint8_t volume;
uint8_t bgTheme;
uint8_t dateFormat;
uint16_t menuTimeout;
uint16_t msgTimeout;
uint16_t backlightTimeout;
uint8_t displayDateTime;
uint8_t useVoice;
uint8_t timeFormat;
uint8_t homeFormation;
BS2_BOOL useUserPhrase;
BS2_BOOL queryUserPhrase;
uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME];
uint8_t tnaIcon[16];
uint8_t useScreenSaver;
uint8_t showOsdpResult;
uint8_t reserved1[30];
BS2_SHOW_OSDP_RESULT showOsdpResult; ///< 1 byte
BS2_AUTHMSG_USERINFO authMsgUserName; ///< 1 byte
BS2_AUTHMSG_USERINFO authMsgUserId; ///< 1 byte
BS2_SCRAMBLE_KEYBOARD_MODE scrambleKeyboardMode; ///< 1 byte
uint8_t reserved3[27]; ///< 27 bytes (padding)
} BS2DisplayConfig;
-
languageLanguage code.
Value Description 0 Korean 1 English 2 Custom -
backgroundBackground image type.
Value Description 0 LOGO 1 NOTICE 2 SLIDE 3 PDF -
volumeThe volume of sound. The volume can be set from 0 to 100. 0 means no sound.
-
bgThemeTheme type.
Value Description 0 Logo image 1 Notice 2 Slide show 3 PDF -
dateFormatDate format.
Value Description 0 YYYY/MM/DD 1 MM/DD/YYYY 2 DD/MM/YYYY -
menuTimeoutTimeout in seconds for lock screen when the user is inactive. The timeout can be set from 0 to 255 seconds. 0 means no lock screen.
Value Description 0 No timeout. 10 Menu timeout 10 sec. 20 Menu timeout 20 sec. (Default) 30 Menu timeout 30 sec. 40 Menu timeout 40 sec. 50 Menu timeout 50 sec. 60 Menu timeout 60 sec. -
msgTimeoutMessage timeout in milliseconds. The timeout can be set from 500 to 5000 milliseconds.
Value Description 500 Message timeout 500 msec. 1000 Message timeout 1 sec. 2000 Message timeout 2 sec. (Default) 3000 Message timeout 3 sec. 4000 Message timeout 4 sec. 5000 Message timeout 5 sec. -
backlightTimeoutBacklight timeout in seconds.
Value Description 0 Backlight timeout 0 sec. 10 Backlight timeout 10 sec. 20 Backlight timeout 20 sec. (Default) 30 Backlight timeout 30 sec. 40 Backlight timeout 40 sec. 50 Backlight timeout 50 sec. 60 Backlight timeout 60 sec. -
displayDateTimeDecides whether to display clock on screen.
-
useVoiceDecides whether to use voice instruction.
-
timeFormatTime format.
Value Description 0 12 hour 1 24 hour However, Linux OS devices like BioStation 2, BioStation L2, BioLite N2 and FaceLite have opposite settings. (0 = 24 hour / 1 = 12 hour)
-
homeFormationHome screen settings (Currently, not used).
Value Description 1 Interphone 2 Shortcut 1 3 Shortcut 2 4 Shortcut 3 5 Shortcut 4 -
useUserPhraseFlag that determines whether to use the user phrase feature.
-
queryUserPhraseIf set true, asks for the user phrase to the server.
-
shortcutHomeHome screen layout(Going to apply later, not used currently).
-
tnaIconIcon displayed on the device corresponding TNA key.
-
useScreenSaverIf set true, you can activate the screensaver.
-
showOsdpResult+ v2.9.6 In environments where Suprema devices are connected as peripheral devices to Intelligent Slaves or third-party controllers, this option allows authentication results to be displayed on the device screen.
Value Description 0 Display OSDP Authentication Result (Default) 1 Do Not Display OSDP Authentication Result -
reserved1Reserved space.
-
authMsgUserName+ v2.9.8 The display method of the user's name in the authentication result message shown on the device screen is set.
Value Description 0 Display All 1 Mask All but First Letter 2 Hide All -
authMsgUserID+ v2.9.8 The display method of the user's ID in the authentication result message shown on the device screen is set.
Value Description 0 Display All 1 Mask All but First Letter 2 Hide All -
scrambleKeyboardMode+ v2.9.8 Sets whether to use the scramble keypad.
Value Description 0 Use 1 Not use
BS2IpConfig
typedef struct {
uint8_t connectionMode;
uint8_t useDHCP;
uint8_t useDNS;
uint8_t reserved[1];
char ipAddress[BS2_IPV4_ADDR_SIZE];
char gateway[BS2_IPV4_ADDR_SIZE];
char subnetMask[BS2_IPV4_ADDR_SIZE];
char serverAddr[BS2_IPV4_ADDR_SIZE];
uint16_t port;
uint16_t serverPort;
uint16_t mtuSize;
uint8_t baseband;
uint8_t reserved2[1];
uint16_t sslServerPort;
uint8_t reserved3[30];
} BS2IpConfig;
-
connectionModeRepresents the connection mode between BioStar and devices. There are two modes depending on who initiates the connection: Direct mode (0x0) and Server mode (0x1). The Direct mode means that BioStar initiates the connection to the devices and the Server mode means that the devices initiate the connection to the server. The default connection mode of a device is the Direct mode.
-
useDHCPDecides whether to use DHCP.
-
useDNSDecides whether to use server address or server URL.
-
reservedReserved space.
-
ipAddressIP address assigned to the device.
-
gatewayIP address of the gateway.
-
subnetMaskSubnet mask of the device.
-
serverAddrIP address of BioStar. Used only in the server mode.
-
portPort number of the device.
-
serverPortPort number of BioStar. Used only in the server mode.
-
mtuSizeMTU1 size for the TCP/IP communication.
-
basebandBandwidth of the device. The value can be set to 10MB/S or 100 MB/S.
-
reserved2Reserved space.
-
sslServerPortUsed when the connectionMode is set as server SSL mode, which is the port of the SDK application.
-
reserved3Reserved space.
BS2IpConfigExt
typedef struct {
char dnsAddr[BS2_IPV4_ADDR_SIZE];
char serverUrl[BS2_URL_SIZE];
uint8_t reserved[32];
} BS2IpConfigExt;
-
dnsAddrDNS server address.
-
serverUrlURL of the BioStar application server. The maximum length is 256 characters.
serverUrl must be a valid URL string (e.g., https://example.com).
Invalid or non-URL values may result in unexpected behavior.
-
reservedReserved space.
BS2TNAConfig
typedef struct {
uint8_t tnaMode;
uint8_t tnaKey;
uint8_t tnaRequired;
uint8_t reserved[1];
uint32_t tnaSchedule[BS2_MAX_TNA_KEY];
uint8_t unused[BS2_MAX_TNA_KEY];
} BS2TNAInfo;
typedef struct {
char tnaLabel[BS2_MAX_TNA_KEY][BS2_MAX_TNA_LABEL_LEN];
uint8_t unused[BS2_MAX_TNA_KEY];
} BS2TNAExtInfo;
typedef struct {
BS2TNAInfo tnaInfo;
BS2TNAExtInfo tnaExtInfo;
uint8_t reserved2[32];
} BS2TNAConfig;
-
tnaModeTime and attendance management mode.
Value Description 0 Not used 1 Applying time and attendance code according to a user 2 Applying time and attendance code according to a T&A schedule 3 Applying the time and attendance code that the previous user has selected 4 Using a fixed time and attendance code -
tnaKeyRepresents time and attendance code. This is mapped to a key on the device.
Device Type T&A Code Mapped Key Value BioStation 2 BS2_TNA_UNSPECIFIED (N/A) 0 BS2_TNA_KEY_1 F1 1 BS2_TNA_KEY_2 F2 2 BS2_TNA_KEY_3 F3 3 BS2_TNA_KEY_4 F4 4 BS2_TNA_KEY_5 1 5 BS2_TNA_KEY_6 2 6 BS2_TNA_KEY_7 3 7 BS2_TNA_KEY_8 4 8 BS2_TNA_KEY_9 5 9 BS2_TNA_KEY_10 6 10 BS2_TNA_KEY_11 7 11 BS2_TNA_KEY_12 8 12 BS2_TNA_KEY_13 9 13 BS2_TNA_KEY_14 Call 14 BS2_TNA_KEY_15 0 15 BS2_TNA_KEY_16 Esc 16 -
tnaRequiredDecides whether to time and attendance code entry is mandatory when the time and attendance management mode is set to 1.
-
reservedReserved space.
-
tnaScheduleSpecifies a schedule for a time and attendance code.
-
unusedNot used.
-
tnaLabelA label that shows the meaning of the time and attendance code.
-
unusedNot used.
BS2CardConfig
typedef struct {
uint8_t primaryKey[6];
uint8_t reserved1[2];
uint8_t secondaryKey[6];
uint8_t reserved2[2];
uint16_t startBlockIndex;
uint8_t reserved[6];
} BS2MifareCard;
typedef struct {
uint8_t primaryKey[8];
uint8_t secondaryKey[8];
uint16_t startBlockIndex;
uint8_t reserved[6];
} BS2IClassCard;
typedef struct {
uint8_t primaryKey[16];
uint8_t secondaryKey[16];
uint8_t appID[3];
uint8_t fileID;
uint8_t encryptionType;
uint8_t operationMode;
BS2_DESFIRECARD_EV2SM_LOCK lockEV2SM;
uint8_t reserved;
} BS2DesFireCard;
typedef struct {
uint8_t byteOrder;
uint8_t useWiegandFormat;
uint8_t dataType;
uint8_t useSecondaryKey;
BS2MifareCard mifare;
BS2IClassCard iclass;
BS2DesFireCard desfire;
uint8_t formatID;
uint8_t cipher;
uint8_t smartCardByteOrder;
uint8_t reserved[1];
BS2_MIFARE_ENCRYPTION mifareEncType;
uint8_t reserved1[20];
} BS2CardConfig;
-
primaryKeyPrimary encryption key to access the Mifare card information.
-
reserved1Reserved space.
-
secondaryKeySecondary encryption key to access the Mifare card information.
-
reserved2Reserved space.
-
startBlockIndexStart block index on the Mifare data storage.
-
reservedReserved space.
-
primaryKeyPrimary encryption key to access the iClass card information.
-
secondaryKeySecondary encryption key to access the iClass card information..
-
startBlockIndexStart block index on the Mifare data storage.
-
reservedReserved space.
-
primaryKeyPrimary encryption key to access the DesFire card information.
-
secondaryKeySecondary encryption key to access the Desfire card information.
-
appIDApplication Id that is stored inside the DesFire card for user authentication.
-
fileIDFile ID that is stored inside the DesFire card, which will be used by the application to read and write data.
-
encryptionTypeType of data encryption.
Value Description 0 DES/3DES 1 AES -
operationModeOperation mode. (operationMode will be supported soon.)
Value Description 0 Lagacy mode (Using PICC master key) 1 New mode (Using App master key) -
lockEV2SM+ v2.9.13 Restricts DesFire card authentication to EV2 Secure Messaging (EV2SM) only.
This is meaningful only on a device that reports
ev2smSupportedas 1 in BS2DeviceCapabilities. A device without support reports 0 for both the capability and this field.When enabled, a DesFire card that cannot use EV2SM fails authentication, and the reason is reported as the sub event
BS2_SUB_EVENT_AUTH_FAIL_EV2SM_REQUIRED.Value Description 0 Default 1 Only EV2SM -
reservedReserved space.
-
byteOrderOrder of how the byte of the card is stored. When it is set as 0, will function as MSB2. When it is set as 1, will function as LSB3.
-
useWiegandFormatDecides whether to use Wiegand format.
-
dataTypeType of card data.
Value Description 0 Binary 1 ASCII 2 UTF16 3 BCD -
useSecondaryKeyDecides whether to use the secondary encryption key.
-
formatIDID that is used when the card configuration needs to be managed from the database on the BioStar application.
-
cipherActivates "Keypad card ID" option.
Default value is 0, it is only valid for Gangbox Keypad type of XPass 2, XPass D2.
Value Description 0 Deactivate 1 Activate -
smartCardByteOrder+ v2.8.2 Previously, card information written to the data area of a smart card was fixed to the MSB format.
As a result, when integrating with certain controllers that use the LSB format, the byte information was reversed and output as a completely different value.
With the smartCardByteOrder value, you can now flexibly change the output to either MSB or LSB format.
Value Description 0 MSB 1 LSB -
reservedReserved space.
-
mifareEncType+ v2.9.9 Specifies the encryption method for Mifare cards. Mifare Classic cards support only CRYPTO1, while Mifare Plus cards support both CRYPTO1 and AES128.
When set to CRYPTO1, the Mifare settings of
BS2MifareCardare applied. When set to AES128, theBS2MifareCardConfigExsettings, which can be configured usingBS2_SetMifareCardConfigExandBS2_GetMifareCardConfigEx, are applied.Value Description 0 CRYPTO1 1 AES128 -
reservedReserved space.
BS2FingerprintConfig
typedef struct {
uint8_t securityLevel;
uint8_t fastMode;
uint8_t sensitivity;
uint8_t sensorMode;
uint16_t templateFormat;
uint16_t scanTimeout;
uint8_t successiveScan;
uint8_t advancedEnrollment;
uint8_t showImage;
uint8_t lfdLevel;
bool checkDuplicate;
uint8_t reserved3[31];
} BS2FingerprintConfig;
-
securityLevelFingerprint authentication security level. This is used across the system.
Value Description 0 Basic 1 Highly secure 2 The most highly secure -
fastModeFingerprint matching speed.
Value Description 0 Automatic 1 Basic 2 High 3 Very High -
sensitivitySensitivity of the fingerprint sensor.
Value Description 0 Lowest 1 Level 1 2 Level 2 3 Level 3 4 Level 4 5 Level 5 6 Level 6 7 Highest -
sensorModeDecides the sensor mode. 0 means the sensor is always on. 1 means the sensor is activated when the finger is near the sensor.
-
templateFormatFingerprint template type.
Value Description 0 Suprema 1 ISO 2 ANSI -
scanTimeoutFingerprint scanning timeout in seconds. The default is 10 seconds.
-
successiveScanNot Used.
-
advancedEnrollmentDecides whether to utilize fingerprint quality information. If the option is disabled, the
BS_SDK_ERROR_CAPTURE_LOW_QUALITY/BS_SDK_ERROR_EXTRACTION_LOW_QUALITYerror codes are not returned even if the quality of fingerprint image acquired is low. -
showImageDecides whether to display scanned fingerprint image on the screen.
-
lfdLevelConfiguration for the LFD(Live Fingerprint Detection - fake fingerprint detection) sensitivity.
Value Description 0 Not Use 1 Strict 2 More Strict 3 Most Strict -
checkDuplicate+ v2.6.4 If set to true, it will determine if the fingerprint is a duplicate.
-
reserved3Reserved space.
BS2Rs485Config
typedef struct {
uint8_t supportConfig;
uint8_t useExceptionCode;
uint8_t exceptionCode[BS2_RS485_MAX_FAIL_CODE_LEN];
uint8_t outputFormat;
uint8_t osdpID;
uint8_t reserved[4];
} BS2IntelligentPDInfo; //Added 2.8.0 for Intelligent Slave Feature
typedef struct {
uint32_t baudRate;
uint8_t channelIndex;
uint8_t useRegistance;
uint8_t numOfDevices;
uint8_t reserved[1];
BS2Rs485SlaveDevice slaveDevices[BS2_RS485_MAX_SLAVES_PER_CHANNEL];
} BS2Rs485Channel;
typedef struct {
uint8_t mode;
uint8_t numOfChannels;
uint8_t reserved[2];
BS2IntelligentPDInfo intelligentInfo; //Updated to v2.8.0
uint8_t reserved1[16];
BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS];
} BS2Rs485Config;
-
supportConfig+ v2.8 If this value is 0, the device will ignore all settings related to Intelligent PD (Peripheral Device) below.
-
useExceptionCode -
exceptionCode -
outputFormat -
osdpID
-
-
useExceptionCode+ v2.8 This option is available to choose whether the exception code is sent or not.
-
exceptionCode+ v2.8 This function sends an exception code in case of authentication failure or authentication success but no card registered user.
Set the exception code to be used at this time.
If the exception code is 0 (0x0000000000000000), no exception code is generated.
-
outputFormat+ v2.8 Intelligent Slave device can send Card ID or User ID upon successful authentication.
If it is 0, the card ID is output, if it is 1, the user ID is output.
-
osdpID+ v2.8 This is a value used to distinguish two or more Suprema Intelligent devices from each other when connecting to the RS485 port of the same third party controller. You can set and designate a unique value between 0 and 127. The default OSDP ID for Suprema intelligent devices is 0.
-
reserved+ v2.8 Reserved space.
-
baudRateThe RS-485 communication speed which can be configured as below.
Value 9600 19200 38400 57600 115200 -
channelIndex(non configurable index) Communication channel index of the RS-485 network.
-
useRegistanceRegistance flag - no effect on operation.
-
numOfDevicesNumber of slave devices.
-
reservedReserved space.
-
slaveDevicesList of slave devices, which can be configured up to 32 devices.
-
modeDecides the operating mode on the RS-485 network.
Value Description 1 Master 2 Slave 3 Standalone -
numOfChannelsNumber of RS-485 channel.
-
reservedReserved space.
-
intelligentInfo+ v2.8 This is Intelligent Slave Device Information
This only works when the device mode is RS485 default.
Once the Suprema device is connected to a slave device to the 3rd party ACU through RS485(OSDP), the Suprema device becomes a Peripheral Device of the OSDP automatically.
-
reserved1Reserved space.
-
channelsList of RS-485 channels, which can be configured up to 4 channels.
BS2WiegandConfig
typedef struct {
uint32_t length;
uint8_t idFields[BS2_WIEGAND_MAX_FIELDS][BS2_WIEGAND_FIELD_SIZE];
uint8_t parityFields[BS2_WIEGAND_MAX_PARITIES][BS2_WIEGAND_FIELD_SIZE];
BS2_WIEGAND_PARITY parityType[BS2_WIEGAND_MAX_PARITIES];
uint8_t parityPos[BS2_WIEGAND_MAX_PARITIES];
} BS2WiegandFormat;
typedef struct {
uint8_t mode;
uint8_t useWiegandBypass;
uint8_t useFailCode;
uint8_t failCode;
uint16_t outPulseWidth;
uint16_t outPulseInterval;
uint32_t formatID;
BS2WiegandFormat format;
uint16_t wiegandInputMask;
uint16_t wiegandCardMask;
uint8_t wiegandCSNIndex;
uint8_t useWiegandUserID;
uint8_t reserved[26];
} BS2WiegandConfig;
-
lengthThe length of the wiegand card format.
-
idFieldsYou can set 4 id fields maximum. Each field's id needs to be inserted from the beginning to the end starting from the end of the array. For example, Standard 26bit wiegand card data is made up as "P FFFFFFFF NNNNNNNNNNNNNNNN P". The Facility Code is "0 11111111 0000000000000000 0", so it has the value of 0x01FE0000, and the Card Number has the value of 0x0001FFFE.
// for Facillity CodeidFields[0][28] = 0x01;idFields[0][29] = 0xFE;idFields[0][30] = 0x00;idFields[0][31] = 0x00;// for Card NumberidFields[1][28] = 0x00;idFields[1][29] = 0x01;idFields[1][30] = 0xFF;idFields[1][31] = 0xFE; -
parityFieldsYou can set 4 parity fields maximum, and enter the beginning and the end of the range where to check the parity.
-
parityTypeSet the parity type.
Value Description 0 Does not check parity 1 check odd parity 2 check even parity -
parityPosSelect the position of the parity bit on the wiegand card data.
-
modeSet the wiegand Input/Output mode.
Value Description 0 Input 1 Output 2 In/Output -
useWiegandBypassThe flag that indicates whether to send out a card data.
Value Description 0 Output when authenticated. 1 Output without authentication. -
useFailCodeThe flag that indicates whether to send out a fail code when a card fails to authenticate.
-
failCodeFail code value to replace the card data.
Value 0x00 0xFF -
outPulseWidthOutput pulse width having a range of 20 ~ 100 us.
-
outPulseIntervalOutput pulse frequency having a range of 200 ~ 20000 us.
-
formatIDThe value used to distinguish the wiegand card format in the application, and this is not used from the device.
-
formatWiegand format structure.
-
wiegandInputMaskInput mask for the wiegand input of the slave and wiegand device.
-
wiegandCardMaskInput mask for the wiegand input of the master device.
-
wiegandCSNIndexIndex that determines in which format the device will send out a wiegand ouput after the card has been read. This field is used only for Mifare and EM devices. Please check the useWiegandFormat field of the BS2CardConfig structure before configuring. Only one index can be set to this field.
-
useWiegandUserIDThe flag you can select whether card ID or user ID to be sent via Wiegand output.
Value Description 0 Not use 1 Card ID 2 User ID -
reservedReserved space.
BS2WiegandDeviceConfig
typedef struct {
uint32_t deviceID;
uint16_t port;
uint8_t switchType;
uint8_t reserved[1];
} BS2WiegandTamperInput;
typedef struct {
uint32_t deviceID;
uint16_t port;
uint8_t reserved[10];
} BS2WiegandLedOutput;
typedef struct {
uint32_t deviceID;
uint16_t port;
uint8_t reserved[34];
} BS2WiegandBuzzerOutput;
typedef struct {
BS2WiegandTamperInput tamper;
BS2WiegandLedOutput led[BS2_WIEGAND_STATUS_NUM];
BS2WiegandBuzzerOutput buzzer;
uint32_t reserved[32];
} BS2WiegandDeviceConfig;
-
deviceIDID of the device which will receive the tamper signal of the Wiegand card reader.
-
portInput port for the Wiegand card reader's tamper.
-
switchTypeIf the switch type is normally open, and the input isgnal is on, it will set off the trigger.
Value Description 0 Normally open 1 Normally closed -
reservedReserved space.
-
deviceIDID of the device which will send the LED signal to the Wiegand card reader.
-
portOutput port for the Wiegand card reader's LED signal.
-
reservedReserved space.
-
deviceIDID of the device which will send the buzzer signal to the Wiegand card reader.
-
portOutput port for the Wiegand card reader's buzzer signal.
-
reservedReserved space.
-
ledList of devices sending LED signals of the Wiegand card reader, which can be configured up to 2 devices.
Value Description 0 Red LED 1 Green LED
BS2InputConfig
typedef struct {
uint16_t minValue;
uint16_t maxValue;
} BS2SVInputRange;
typedef struct {
uint32_t deviceID;
uint16_t port;
uint8_t reserved[10];
} BS2WiegandLedOutput;
typedef struct {
BS2SVInputRange shortInput;
BS2SVInputRange openInput;
BS2SVInputRange onInput;
BS2SVInputRange offInput;
} BS2SupervisedInputConfig;
typedef struct {
uint8_t numInputs;
uint8_t numSupervised;
union {
uint16_t value;
struct {
uint16_t tamperAuxIndex : 4;
uint16_t acFailAuxIndex : 4;
uint16_t aux0Type : 1;
uint16_t aux1Type : 1;
uint16_t reserved : 6;
} field;
} aux;
struct {
uint8_t portIndex;
uint8_t enabled;
uint8_t supervised_index;
uint8_t reserved[5];
BS2SupervisedInputConfig config;
} supervised_inputs[BS2_MAX_INPUT_NUM];
} BS2InputConfig;
-
minValueMinimum voltage which has a range from 0 ~ 3300(3.3v).
-
maxValueMaximum voltage which has a range from 0 ~ 3300(3.3v).
-
shortInputRange of the voltage which will be distinguished as short input.
-
openInputRange of the voltage which will be distinguished as open input.
-
onInputRange of the voltage which will be distinguished as on input.
-
offInputRange of the voltage which will be distinguished as off input.
-
numInputsNumber of input ports.
-
numSupervisedNumber of the supervised input ports.
-
portIndexInput port number.
-
enabledDecides whether to use as a supervised input.
-
supervised_indexType of supervised input's resistance value.
Value Description 0 1k resistance 1 2.2k resistance 2 4.7k resistance 3 10k resistance 255 Custom -
aux+ v2.9.8 Sets the operation of Aux.
Bit position Number of bit Member Description 0 4 tamperAuxIndex Aux number to use as tamper (0:None, 1:Aux0, 2:Aux1) 7 4 acFailAuxIndex Aux number to use as AC Fail (0:None, 1:Aux0, 2:Aux1) 8 1 aux0Type Type of Aux 0 (0: NO, 1:NC) 9 1 aux1Type Type of Aux 1 (0: NO, 1:NC) 10 6 reserved Reserved space -
configConfiguration that distinguishes the supervised input signal type. This configuration will be valid only when the supervised input's resistance is set as custom.
BS2WlanConfig
typedef struct {
uint8_t enabled;
uint8_t operationMode;
uint8_t authType;
uint8_t encryptionType;
char essid[BS2_WLAN_SSID_SIZE];
char authKey[BS2_WLAN_KEY_SIZE];
uint8_t reserved2[32];
} BS2WlanConfig;
-
enabledDecides whether to use the wireless LAN.
-
operationModeType of wireless LAN.
Value Description 0 infrastructure 1 Ad-hoc -
authTypeType of Wireless LAN authentication.
Value Description 0 Open 1 Shared 2 WPA-PSK 3 WPA2-PSK -
encryptionTypeType of wireless LAN encryption.
Value Description 0 None 1 WEP 2 TKIP/AES 3 AES 3 TKIP -
essidESS ID of the wireless network.
-
authKeyPassword of the wireless network.
-
reservedReserved space.
BS2Trigger
typedef struct {
uint16_t code;
uint8_t reserved[2];
} BS2EventTrigger;
typedef struct {
uint8_t port;
uint8_t switchType;
uint16_t duration;
uint32_t scheduleID;
} BS2InputTrigger;
typedef struct {
uint32_t type;
uint32_t scheduleID;
} BS2ScheduleTrigger;
typedef struct {
uint32_t deviceID;
uint8_t type;
uint8_t reserved;
uint16_t ignoreSignalTime;
union {
BS2EventTrigger event;
BS2InputTrigger input;
BS2ScheduleTrigger schedule;
}
} BS2Trigger;
-
codeEvent log that will set off the trigger.
-
reservedReserved space.
-
portInput port number that will set off the trigger.
-
switchTypeIf the switch type is normally open, and the input isgnal is on, it will set off the trigger.
Value Description 0 Normally open 1 Normally closed -
durationThe duration time of the signal that will set off the trigger. The unit of time is milliseconds and the minimum value is 100.
-
scheduleIDID of the time schedule when to operate the trigger.
-
typeType of the schedule trigger.
Value Description 0 Start schedule trigger 1 End schedule trigger -
scheduleIDID of the time schedule when to operate the trigger.
-
deviceIDID of the device that will perform the trigger.
-
typeType of trigger.
Value Description 0 None 1 Event trigger 2 Input trigger 3 Schedule trigger -
reservedReserved space.
-
ignoreSignalTime+ v2.9.6 This setting is specified in milliseconds and is used to ignore repetitive input signals within a certain time frame.
In environments where Suprema devices are connected to third-party controllers via Wiegand, if the feedback for authentication is repetitively input to the Suprema device from a specific model of the controller, this feature allows you to forcibly ignore the input signal for the specified duration.
BS2Action
typedef struct {
uint32_t signalID;
uint16_t count;
uint16_t onDuration;
uint16_t offDuration;
uint16_t delay;
} BS2Signal;
typedef struct {
uint8_t portIndex;
uint8_t reserved[3];
BS2Signal signal;
} BS2OutputPortAction;
typedef struct {
uint8_t relayIndex;
uint8_t reserved[3];
BS2Signal signal;
} BS2RelayAction;
typedef struct {
uint8_t color;
uint8_t reserved[1];
uint16_t duration;
uint16_t delay;
} BS2LedSignal;
typedef struct {
uint16_t count;
uint8_t reserved[2];
BS2LedSignal signal[3];
} BS2LedAction;
typedef struct {
uint8_t tone;
uint8_t fadeout;
uint16_t duration;
uint16_t delay;
} BS2BuzzerSignal;
typedef struct {
uint16_t count;
uint8_t reserved[2];
BS2BuzzerSignal signal[3];
} BS2BuzzerAction;
typedef struct {
uint8_t duration;
uint8_t reserved[3];
uint32_t displayID;
uint32_t resourceID;
} BS2DisplayAction;
typedef struct {
uint8_t count;
uint16_t soundIndex;
uint8_t reserved[5];
} BS2SoundAction;
typedef struct {
uint32_t deviceID;
uint8_t type;
uint8_t stopFlag;
uint16_t delay;
union {
BS2RelayAction relay;
BS2OutputPortAction outputPort;
BS2DisplayAction display;
BS2SoundAction sound;
BS2LedAction led;
BS2BuzzerAction buzzer;
};
} BS2Action;
-
signalIDIndex that is used to manage the signal type from the application.
-
countNumber of signal execution count.
-
onDurationDuration of the ON signal. The unit of time is milliseconds.
-
offDurationDuration of the OFF signal. The unit of time is milliseconds.
-
delayDelay time before the signal starts. The unit of time is milliseconds/ For example, count(2), onDuration(100), offDuration(100), delay(50) will execute a signal as below.
50ms wait, signal on(100), signal off(100), signal on(100), signal off(100)
-
portIndexNumber of the TTL output port.
-
reservedReserved Space.
-
relayIndexNumber of the TTL output port.
-
reservedReserved Space.
-
colorLED colory type.
Value Description 0 LED Off 1 Red LED 2 Yellow LED 3 Green LED 4 Blue-Green LED 5 Blue LED 6 Magenta LED 7 White LED -
reservedReserved space.
-
durationDuration of the LED. The unit of time is milliseconds.
-
delayDelay before the LED flickers. The unit of time is milliseconds.
-
countNumber of LED signal count. When set as 0 it is disabled, and when set as -1 it will repeat infinitely.
-
reservedReserved space.
-
toneVolume of the buzzer.
Value Description 0 No sound 1 Low 2 Medium 3 High -
countNumber of buzzer signal count. When set as 0 it is disabled, and when set as -1 it will repeat infinitely.
-
reservedReserved space.
-
durationDuration of the display operation. The unit of time is milliseconds.
-
reservedReserved space.
-
displayIDNot supported yet.
-
resourceIDNot supported yet.
-
countNumber of the sound signal count.
-
soundIndexIndex of the sound resource.
Value Description 0 Welcome sound 1 Auth success sound 2 Auth fail sound -
deviceIDID of the device that will execute the action.
-
typeAction types.
DoorModule-20, CoreStation-40, CoreStation-20
If the action type is relay or TTL (Output) and the action device is DM20, CS40, CS20 Action type should be set only as relay action (6). (TTL setting not possible)
DM20
-
Action type : Relay
-
relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3)
-
relay.relayIndex : 4 ~ 9 (OUTPUT 0 ~ 5)
CS40
-
Action type : Relay
-
relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3)
-
relay.relayIndex : 4 ~ 11 (OUTPUT 0 ~ 7)
CS20
-
Action type : Relay
-
relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3)
-
relay.relayIndex : 4 ~ 9 (OUTPUT 0 ~ 5)
Value Description 0 None 1 Lock device 2 Unlock device 3 Reboot device 4 Release alarm 5 General input 6 Relay action 7 TTL action 8 Sound action 9 Display action 10 Buzzer action 11 Led action 12 Fire alarm input 13 Auth Success(Access granted) 14 Auth Fail(Access denied) 15 Lift action -
-
stopFlagSpecifies the condition to stop the Action.
If this value is set to 1 and the signal is detected through the door sensor, the action will stop.
If this value is set to 2, it can be stopped only by the current action information.
In general, related APIs that stop an action are called with a zone id, in which case all devices in the zone will stop the action.
By setting stopFlag to 2 and and loading action information, you can selectively control only the alarms of that device.
Value Description 0 Don't stop 1 Stop if door is closed 2 Stop by command(Added in V2.6.0) -
delayAction delay. Unit is millisecond(ms).
BS2TriggerActionConfig
typedef struct {
uint8_t numItems;
uint8_t reserved[3];
BS2TriggerAction items[BS2_MAX_TRIGGER_ACTION];
uint8_t reserved2[32];
} BS2TriggerActionConfig;
-
numItemsNumber of trigger actions.
-
reservedReserved space.
-
itemsList of trigger actions, which can be configured up to 128 trigger actions.
-
reserved2Reserved space.
BS2EventConfig
typedef struct {
uint32_t numImageEventFilter;
struct {
uint8_t mainEventCode;
uint8_t reserved[3];
uint32_t scheduleID;
} imageEventFilter[BS2_EVENT_MAX_IMAGE_CODE_COUNT];
uint8_t reserved[32];
} BS2EventConfig;
-
numImageEventFilterNumber of image log filters.
-
mainEventCodeMain code of the log where the image log will be placed.
-
reservedReserved space.
-
scheduleIDID of the time schedule when to store the image logs.
-
reservedReserved space.
BS2WiegandMultiConfig
typedef struct {
uint32_t formatID;
BS2WiegandFormat format;
uint8_t reserved[32];
} BS2WiegandInConfig;
typedef struct {
BS2WiegandInConfig formats[MAX_WIEGAND_IN_COUNT];
uint8_t reserved[32];
} BS2WiegandMultiConfig;
-
formatIDWiegand format index.
-
formatWiegand format structure.
-
reservedReserved space.
-
formatsAvailable to configure up to 15 formats.
-
reservedReserved space.
BS1CardConfig
typedef struct {
enum {
MIFARE_KEY_SIZE = 6,
MIFARE_MAX_TEMPLATE = 4,
VALID_MAGIC_NO = 0x1f1f1f1f,
};
// Options
uint32_t magicNo;
uint32_t disabled;
uint32_t useCSNOnly; // default 0
uint32_t bioentryCompatible; // default 0
// Keys
uint32_t useSecondaryKey;
uint32_t reserved1;
uint8_t primaryKey[MIFARE_KEY_SIZE];
uint8_t reserved2[2];
uint8_t secondaryKey[MIFARE_KEY_SIZE];
uint8_t reserved3[2];
// Layout
uint32_t cisIndex;
uint32_t numOfTemplate;
uint32_t templateSize;
uint32_t templateStartBlock[MIFARE_MAX_TEMPLATE];
uint32_t reserve4[15];
} BS1CardConfig;
-
magicNoNot used.
-
disabledNot used.
-
useCSNOnlyFlag that indicates whether to read the v1 ToC cards.
-
bioentryCompatibleNot used.
-
useSecondaryKeyNot used.
-
reserved1Reserved space.
-
primaryKeyNot used.
-
reserved2Reserved space.
-
secondaryKeyNot used.
-
reserved3Reserved Space.
-
cisIndexNot used.
-
numOfTemplateNumber of template that is used.
-
templateSizeSize of each template.
-
templateStartBlockNot used.
-
reserve4Reserved Space.
BS2SystemConfigExt
typedef struct {
uint8_t primarySecureKey[SEC_KEY_SIZE];
uint8_t secondarySecureKey[SEC_KEY_SIZE];
uint8_t reserved3[32];
} BS2SystemConfigExt;
-
primarySecureKeyPrimary encryption key used between master and slave devices.
-
secondarySecureKeySecondary encryption key used between master and slave devices.
-
reserved3Reserved space.
BS2VoipConfig
typedef struct {
BS2_URL serverUrl; ///
BS2_PORT serverPort; ///
BS2_USER_ID userID; ///
BS2_USER_ID userPW; ///
uint8_t exitButton; /// << *, #, 0~9
uint8_t dtmfMode; ///
BS2_BOOL bUse; ///
uint8_t reseverd[1]; ///
uint32_t numPhonBook;
BS2UserPhoneItem phonebook[BS2_VOIP_MAX_PHONEBOOK]; ///
uint8_t reserved2[32]; ///
} BS2VoipConfig;
-
serverUrlURL of the SIP server.
-
serverPortPort number of the SIP server.
-
userIDUser ID to access the SIP server.
-
userPWPassword that is used to access the SIP server.
-
exitButtonButton to be used as an exit button. (*, #, 0~9)
Value Description 0 - 1 # 2 ~ 11 0 ~ 9 -
dtmfModeTone of the keypad.
-
bUseFlag that determines whether the VoIP feature is used.
-
reseverdReserved space.
-
numPhonBookNumber of phone books.
-
phonebookList of extension numbers, which can be configured up to 32.
-
reserved2Reserved space.
BS2FaceConfig
typedef struct {
uint8_t securityLevel;
uint8_t lightCondition;
uint8_t enrollThreshold;
uint8_t detectSensitivity;
uint16_t enrollTimeout;
uint8_t lfdLevel;
bool quickEnrollment;
uint8_t previewOption;
bool checkDuplicate;
uint8_t operationMode;
uint8_t maxRotation;
// Deprecated
struct {
uint16_t min;
uint16_t max;
} faceWidth;
// Deprecated
struct {
uint16_t x;
uint16_t width;
} searchRange;
struct {
uint8_t min; // 30 ~ 100
uint8_t max; // 40 ~ 100, 255
} detectDistance; ////< 2 bytes
BS2_BOOL wideSearch; ///< 1 byte
uint8_t unused;
uint8_t unableToSaveImageOfVisualFace;
uint8_t reserved[13];
} BS2FaceConfig;
-
securityLevelFace authentication security level. This is used across the system. .
Value Description 0 Basic 1 Highly secure 2 Most highly secure -
lightConditionConfiguration of the light condition.
Value Description 0 Indoor 1 Outdoor 2 Automatic 3 + v2.8 Not used Información-
FaceStation F2: v1.0.0 - v1.0.5
-
Ambient Brightness: Normal, High,
Auto -
FaceStation F2: v1.1.0 or higher version
-
Light Brightness: Normal, High,
Not Used
-
-
enrollThresholdThreshold of face enrollment. It determines how much movement of pose is allowed when enrolling the face.
Value Description 0 THRESHOLD_0 (Most strict) 1 THRESHOLD_1 2 THRESHOLD_2 3 THRESHOLD_3 4 THRESHOLD_4 (Default) 5 THRESHOLD_5 6 THRESHOLD_6 7 THRESHOLD_7 8 THRESHOLD_8 9 THRESHOLD_9 (Least strict) -
detectSensitivityConfiguration of sensitivity on detecting the face.
Value Description 0 Off 1 Low 2 Medium 3 High -
enrollTimeoutIR Face supported Timeout period of face scanning which is 60 seconds by default.
Value Description BS2_FACE_ENROLL_TIMEOUT_MIN 30 BS2_FACE_ENROLL_TIMEOUT_MAX 60 BS2_FACE_ENROLL_TIMEOUT_DEFAULT BS2_FACE_ENROLL_TIMEOUT_MAX Visual Face supported: + v2.7.1 Face scan wait time, default is 20 seconds.
Value Description BS2_FACE_EX_ENROLL_TIMEOUT_MIN 10 BS2_FACE_EX_ENROLL_TIMEOUT_MAX 20 BS2_FACE_EX_ENROLL_TIMEOUT_DEFAULT BS2_FACE_EX_ENROLL_TIMEOUT_MAX -
lfdLevel+ v2.6.3 Configuration for the LFD(Live Face Detection - fake face detection) sensitivity.
IR Face supported: Default is 0.
Visual Face supported: + v2.7.1 Default is 1.
Value Description 0 Not Use 1 Strict 2 More Strict 3 Most Strict -
quickEnrollment+ v2.6.3 Quick face enrollment process.
True - Face enrollment process with a single step.
False - Face enrollment process with 3 steps.
Please use false if you want to enroll with a high quality of face templates.
-
previewOption+ v2.6.3 IR camera preview option when you authenticate with the face.
Only used to
FaceLite.Value Description 0 Preview not used 1 Preview not used at first of authentication, preview at 1/2 stage 2 Preview of all stages on authentication -
checkDuplicate+ v2.6.4 Check whether the scanned face is duplicated in the device.
-
operationMode+ v2.7.1 FaceStation F2 V1.0.0 can be set to the following operation modes, default is Fusion mode.
Value Mode Description Default 0 Fusion Mode Visual matching + IR matching Default 1 Visual Mode Visual matching 2 Visual + IR Visual matching, IR detects only face FaceStation F2 V1.0.1 or later versions, Visual Face based are used in the following sense.
Value Mode Description Default 0 Fusion Mode Visual matching + IR matching Default 1 Fast Mode Visual matching -
maxRotation+ v2.7.1 Visual Face based When face is recognized normally it's front side.
Still, it is possible to determine how many degrees the image has been rotated from the front when device detects a face.
This enables detection failure in the case of images rotated over a certain angle.
maxRotation represents the maximum allowable value in this case, and the default value is 15 degrees.
+ v2.9.6 Additional definitions of Angle
Definition Value BS2_MAX_ROTATION_DEFAULT 15 BS2_MAX_ROTATION_ANGLE_15 15 BS2_MAX_ROTATION_ANGLE_30 30 BS2_MAX_ROTATION_ANGLE_45 45 BS2_MAX_ROTATION_ANGLE_60 60 BS2_MAX_ROTATION_ANGLE_75 75 BS2_MAX_ROTATION_ANGLE_90 90 BS2_MAX_ROTATION_ANGLE_MAX 90 -
faceWidth+ v2.7.1 Visual Face based This indicates the width of the face image, and you can specify the minimum and maximum values.
The default values of min and max are as follows.
- Default(min) Default(max) FSF2 66 250 BS3 130 350 BEW3 130 350 -
searchRange+ v2.7.1 Visual Face based Represents the face search range, and you can specify the x value (horizontal coordinate) of the range and the width from the x value point.
The default values of x and width are as follows.
- Default(x) Default(width) FSF2 144 432 BS3 90 540 BEW3 90 540 -
detectDistance+ v2.8.3 Visual Face based This configures the minimum and maximum detection range for facial recognition.
We no longer support faceWidth to pinpoint the face location using pixel units due to its complexity.
Instead, we set the detection range of the subject(face). The unit is set to cm, and the value must be inputted as a multiple of 10.
Min limit for min detection range Max limit for min detection range Min detection range(Default) Min limit for max detection range Max limit for max detection range Max sensing range(No limit) Max sensing range(Default) FSF2 30 130 30 40 130 255 130 BS3 30 100 30 40 100 255 100 BEW3 30 100 30 40 100 255 100 -
wideSearch+ v2.8.3 BioStation 3, BioEntry W3 This can increase the detection range for face detection.
We no longer support searchRange to set the x-coordinate and width due to its complexity.
Instead, we set the face detection setting as default(FALSE), or a wide area(TRUE).
The details of the settings and protocols for the detection of wide area is set within the device, which the user cannot change.
If this setting is set to TRUE, the camera detects subjects within a large range, and unintentionally detect and authenticate multiple subjects at once.
Therefore, the default setting is at FALSE.
-
unusedReserved space.
-
unableToSaveImageOfVisualFace+ v2.9.6 Indicates whether devices that use visual face as a credential will store facial images on the device.
Enabling this setting will immediately delete image information from all users' facial data stored in the device, leaving only the templates.
Additionally, even if face information containing user images is obtained through the BS2_EnrollUserFaceEx API, the device will ignore it.
The default value is false, which means both facial data and images are stored.
-
reservedReserved space.
BS2Rs485ConfigEX
typedef struct {
uint32_t baudRate;
uint8_t channelIndex;
uint8_t useRegistance;
uint8_t numOfDevices;
uint8_t reserved[1];
BS2Rs485SlaveDeviceEX slaveDevices[BS2_RS485_MAX_SLAVES_PER_CHANNEL];
} BS2Rs485ChannelEX;
typedef struct {
uint8_t mode[BS2_RS485_MAX_CHANNELS_EX];
uint8_t numOfChannels;
uint8_t reserved[2];
uint8_t reserved1[32];
BS2Rs485ChannelEX channels[BS2_RS485_MAX_CHANNELS];
} BS2Rs485ConfigEX;
-
baudRateThe RS-485 communication speed which can be configured as below.
Value 9600 19200 38400 57600 115200 -
channelIndexCommunication channel index of the RS-485 network.
-
useRegistanceDecides whether to use a resistance.
-
numOfDevicesNumber of slave devices.
-
slaveDevicesList of slave devices, which can be configured up to 32 devices.
-
modeDecides the operating mode on the RS-485 network.
Value Description 1 Master 2 Slave 3 Standalone CoreStation can only be used as a Master. Other values cannot be configured.
-
numOfChannels
Number of RS-485 channel.
-
reservedReserved space.
-
reserved1Reserved space.
-
channelsList of RS-485 channels, which can be configured up to 8 channels.
BS2CardConfigEx
typedef struct {
uint8_t oid_ADF[13]; /// //valid value//{0x2A,0x85,0x70,0x81,0x1E,0x10,0x00,0x07,0x00,0x00,0x02,0x00,0x00}
uint8_t size_ADF; //
uint8_t reserved1[2]; ///
uint8_t oid_DataObjectID[8];
uint16_t size_DataObject[8];
uint8_t primaryKeyAuth[16]; //valid value
uint8_t secondaryKeyAuth[16]; /// //valid value
uint8_t reserved2[24];
} BS2SeosCard;
typedef struct {
BS2SeosCard seos;
uint8_t reserved[24];
} BS2CardConfigEx;
-
oid_ADFADF Address (Non changable)
-
size_ADFADF size
-
reserved1Reserved sapce
-
oid_DataObjectIDDataObject ID
-
size_DataObjectDataObject size
-
primaryKeyAuthPrimary encryption key to access the Seoscard information
-
secondaryKeyAuthSecondary encryption key to access the Seoscard information
-
reserved2Reserved space
-
seosBS2SeosCard information
-
reservedReserved space
BS2DstConfig
enum {
BS2_MAX_DST_SCHEDULE = 2,
};
typedef struct {
uint16_t year; // year, 0 means every year.
uint8_t month; // [0, 11] : months since January
int8_t ordinal; // [0, -1] : first, second, ..., last
uint8_t weekDay; // [0, 6] : days since Sunday
uint8_t hour; // [0, 23]
uint8_t minute; // [0, 59]
uint8_t second; // [0, 59]
} BS2WeekTime;
typedef struct {
BS2WeekTime startTime;
BS2WeekTime endTime;
int32_t timeOffset; // in seconds
uint8_t reserved[4];
} BS2DstSchedule;
typedef struct {
uint8_t numSchedules;
uint8_t reserved[31];
BS2DstSchedule schedules[BS2_MAX_DST_SCHEDULE];
} BS2DstConfig;
-
yearMeans year, and if set to 0, it means yearly.
-
monthMeans month, and has a value between 0 and 11 [January-December].
-
ordinalIt starts with 0 and means the order of first, second, etc.
-
weekDayDay of the week, 0 means Sunday, 1 means Monday.
-
hourSpecifies the time in 24-hour format.
-
minuteSpecifies the minute.
-
secondSpecifies the seconds.
-
startTimeIt means start date and time.
-
endTimeIt means the end date.
-
timeOffsetYou can apply the DST time in seconds.
For example, if you want to apply 1 hour, enter 3600.
-
reservedReserved space.
-
numSchedulesThe number of DST schedules to apply.
-
schedulesDST schedule, up to two can be specified.
BS2Configs
typedef struct {
uint32_t configMask;
BS2FactoryConfig factoryConfig;
BS2SystemConfig systemConfig;
BS2AuthConfig authConfig;
BS2StatusConfig statusConfig;
BS2DisplayConfig displayConfig;
BS2IpConfig ipConfig;
BS2IpConfigExt ipConfigExt;
BS2TNAConfig tnaConfig;
BS2CardConfig cardConfig;
BS2FingerprintConfig fingerprintConfig;
BS2Rs485Config rs485Config;
BS2WiegandConfig wiegandConfig;
BS2WiegandDeviceConfig wiegandDeviceConfig;
BS2InputConfig inputConfig;
BS2WlanConfig wlanConfig;
BS2TriggerActionConfig triggerActionConfig;
BS2EventConfig eventConfig;
BS2WiegandMultiConfig wiegandMultiConfig;
BS1CardConfig card1xConfig;
BS2SystemConfigExt systemExtConfig;
BS2VoipConfig voipConfig;
BS2FaceConfig faceConfig;
} BS2Configs;
-
configMaskMask value of the configuration to be retrieved or set.
Value Description 0x0000 None 0x0001 Factory configuration 0x0002 System configuration 0x0004 TCP/IP configuration 0x0008 RS485 configuration 0x0010 Wireless LAN configuration 0x0020 Authentication configuration 0x0040 Card configuration 0x0080 Fingerprint configuration 0x0100 Face configuration 0x0200 Trigger Action configuration 0x0400 Display configuration 0x0800 Sound configuration 0x1000 Status Signal(LED, Buzzer) configuration 0x2000 Wiegand configuration 0x4000 USB configuration 0x8000 Time and Attendance configuration 0x10000 Videophone configuration 0x20000 Interphone configuration 0x40000 Voice over IP configuration 0x80000 Input(Supervised input) configuration 0x100000 Wiegand IO Device configuration 0x200000 Time and Attendance configuration 0x400000 DNS and Server url configuration 0x800000 Event configuration 0x1000000 1x Card configuration 0x2000000 Multi-Wiegand configuration 0x4000000 Extended System configuration 0x8000000Daylight Saving configuration[Deprecated]0x10000000 RS485 Extended configuration 0x20000000 Extended Card configuration 0x40000000 Daylight Saving configuration 0xFFFFFFFF All configuration
BS2IPV6Config
enum {
BS2_MAX_IPV6_ALLOCATED_ADDR = 8,
};
typedef struct {
uint8_t useIPV6;
uint8_t reserved1;
uint8_t useDhcpV6;
uint8_t useDnsV6;
uint8_t reserved[1];
char staticIpAddressV6[BS2_IPV6_ADDR_SIZE];
char staticGatewayV6[BS2_IPV6_ADDR_SIZE];
char dnsAddrV6[BS2_IPV6_ADDR_SIZE];
char serverIpAddressV6[BS2_IPV6_ADDR_SIZE];
uint16_t serverPortV6;
uint16_t sslServerPortV6;
uint16_t portV6;
uint8_t numOfAllocatedAddressV6;
uint8_t numOfAllocatedGatewayV6;
uint8_t reserved[8];
char allocatedIpAddressV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];
char allocatedGatewayV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];
} BS2IpConfig;
-
useIPV6Flag indicating whether to use IP V6.
-
reserved1Reserved space.
-
useDhcpV6Flag indicating whether to use DHCP.
-
useDnsV6Decides whether to use server address or server URL.
-
staticIpAddressV6Static IP V6 address of current device.
-
staticGatewayV6Static IP V6 address of gateway.
-
dnsAddrV6DNS address.
-
serverIpAddressV6IP address of BioStar. Used only in the server mode.
-
serverPortV6Port number of BioStar. Used only in the server mode.
-
sslServerPortV6Used when the connectionMode is set as server SSL mode, which is the port of the SDK application.
-
portV6Port number of the device.
-
numOfAllocatedAddressV6The number of IP V6 address currently assigned to the device.
-
numOfAllocatedGatewayV6The number of gateway address currently assigned to the device.
-
reservedReserved space.
-
allocatedIpAddressV6The IP V6 address currently assigned to the device.
-
allocatedGatewayV6The gateway address currently assigned to the device.
BS2DesFireCardConfigEx
typedef struct {
uint8_t appMasterKey[16];
uint8_t fileReadKey[16];
uint8_t fileWriteKey[16];
uint8_t fileReadKeyNumber;
uint8_t fileWriteKeyNumber;
uint8_t reserved[2];
} BS2DesFireAppLevelKey; ///< 52 bytes
typedef struct {
BS2DesFireAppLevelKey desfireAppKey; ///< 52 bytes
uint8_t reserved[16];
} BS2DesFireCardConfigEx; ///< 68 bytes
-
appMasterKeyApplication master key of DesFire.
-
fileReadKeyThe key used to read the file.
-
fileWriteKeyThe key used to write the file.
-
fileReadKeyNumberThe index of the key for reading the file.
-
fileWriteKeyNumberThe index of the key for writing the file.
-
reservedReserved space.
-
desfireAppKeyA structure containing DesFire key information.
-
reservedReserved space.
BS2AuthConfigExt
typedef struct {
uint32_t extAuthSchedule[BS2_MAX_NUM_OF_EXT_AUTH_MODE];
uint8_t useGlobalAPB;
uint8_t globalAPBFailAction;
uint8_t useGroupMatching;
uint8_t reserved;
uint8_t reserved2[4];
uint8_t usePrivateAuth;
uint8_t faceDetectionLevel;
uint8_t useServerMatching;
uint8_t useFullAccess;
uint8_t matchTimeout;
uint8_t authTimeout;
uint8_t numOperators;
uint8_t reserved3[1];
struct {
char userID[BS2_USER_ID_SIZE];
uint8_t level;
uint8_t reserved[3];
} operators[BS2_MAX_OPERATORS];
uint8_t reserved4[256];
} BS2AuthConfigExt;
-
extAuthScheduleSchedule values to operate when each authentication mode is activated.
It has the following meanings for each value.
If the value in the array is greater than 0, the authentication mode is activated.
In the explanations below, biometric information means fingerprints or faces depending on the device.
Value Code Description 11 BS2_EXT_AUTH_MODE_FACE_ONLY Face 12 BS2_EXT_AUTH_MODE_FACE_FINGERPRINT Face + Fingerprint 13 BS2_EXT_AUTH_MODE_FACE_PIN Face + PIN 14 BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_OR_PIN Face + Fingerprint/PIN 15 BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_PIN Face + Fingerprint + PIN 16 BS2_EXT_AUTH_MODE_FINGERPRINT_ONLY Fingerprint 17 BS2_EXT_AUTH_MODE_FINGERPRINT_FACE Fingerprint + Face 18 BS2_EXT_AUTH_MODE_FINGERPRINT_PIN Fingerprint + PIN 19 BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_OR_PIN Fingerprint + Face/PIN 20 BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_PIN Fingerprint + Face + PIN 21 BS2_EXT_AUTH_MODE_CARD_ONLY Card 22 BS2_EXT_AUTH_MODE_CARD_FACE Cardn + Face 23 BS2_EXT_AUTH_MODE_CARD_FINGERPRINT Card + Fingerprint 24 BS2_EXT_AUTH_MODE_CARD_PIN Card + PIN 25 BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT Card + Face/Fingerprint 26 BS2_EXT_AUTH_MODE_CARD_FACE_OR_PIN Card + Face/PIN 27 BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_OR_PIN Card + Fingerprint/PIN 28 BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_OR_PIN Card + Face/Fingerprint/PIN 29 BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT Card + Face + Fingerprint 30 BS2_EXT_AUTH_MODE_CARD_FACE_PIN Card + Face + PIN 31 BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE Card + Fingerprint + Face 32 BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_PIN Card + Fingerprint + PIN 33 BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_PIN Card + Face/Fingerprint + PIN 34 BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT_OR_PIN Card + Face + Fingerprint/PIN 35 BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE_OR_PIN Card + Fingerprint + Face/PIN 36 BS2_EXT_AUTH_MODE_ID_FACE ID + Face 37 BS2_EXT_AUTH_MODE_ID_FINGERPRINT ID + Fingerprint 38 BS2_EXT_AUTH_MODE_ID_PIN ID + PIN 39 BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT ID + Face/Fingerprint 40 BS2_EXT_AUTH_MODE_ID_FACE_OR_PIN ID + Face/PIN 41 BS2_EXT_AUTH_MODE_ID_FINGERPRINT_OR_PIN ID + Fingerprint/PIN 42 BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_OR_PIN ID + Face/Fingerprint/PIN 43 BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT ID + Face + Fingerprint 44 BS2_EXT_AUTH_MODE_ID_FACE_PIN ID + Face + PIN 45 BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE ID + Fingerprint + Face 46 BS2_EXT_AUTH_MODE_ID_FINGERPRINT_PIN ID + Fingerprint + PIN 47 BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_PIN ID + Face/Fingerprint + PIN 48 BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT_OR_PIN ID + Face + Fingerprint/PIN 49 BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE_OR_PIN ID + Fingerprint + Face/PIN -
useGlobalAPBThis flag determines whether to enable Global APB zone.
-
globalAPBFailActionThis is a basic action to be performed when the device cannot query the server for Global APB violation.
Value Description 0 Do not check APB 1 Soft APB 2 Hard APB -
useGroupMatchingEnables facial group matching.
-
reservedReserved space.
-
reserved2Reserved space.
-
usePrivateAuthEnable private authentication mode.
-
faceDetectionLevelThis is the face detection level value when authenticating the user in BioStation A2, and if a face is detected at a level lower than the specified level, it is treated as an authentication failure.
When enabled, the camera view according to Normal/Strict is displayed, and access is denied if the image log is not recognized as a face when successful authentication. The default is 0.
Value Description 0 Do not detect face 1 Normal mode 2 Strict mode It is available only in BioStation A2, not available in FaceStation 2 or FaceLite.
-
useServerMatchingEnable server matching for fingerprint matching or facial matching.
-
useFullAccessThis parameter is not in use.
-
matchTimeoutThe maximum response time in fingerprint or facial matching and the unit is seconds(sec).
-
authTimeoutThe maximum response time in user authentication and the unit is seconds(sec).
-
numOperatorsThe number of operators.
-
reserved3Reserved
-
userIDUser ID
-
levelIt specifies the corresponding level of the user when the user is authenticated.
Value Description 0 No level 1 Operator level 2 System configuration level 3 User information level PrecauciónYou must specify the number of operators to be added in the field
numOperatorswhen adding operators. -
reservedReserved
-
reserved4Reserved
BS2FaceConfigExt
typedef struct {
uint8_t thermalCheckMode;
uint8_t maskCheckMode;
uint8_t reserved[2];
uint8_t thermalFormat;
uint8_t reserved2;
uint16_t thermalThresholdLow;
uint16_t thermalThresholdHigh;
uint8_t maskDetectionLevel;
uint8_t auditTemperature;
uint8_t useRejectSound;
uint8_t useOverlapThermal;
uint8_t useDynamicROI;
uint8_t faceCheckOrder;
} BS2FaceConfigExt;
-
thermalCheckModeSets the thermal check mode.
When set to HARD, access is denied if exceeding the thermalThreshold.
When set to SOFT, access is not affected even if exceeding the thermalThreshold but leaves a related log.
If thermalCheckMode is set to No use(0),
The settings of thermalFormat, thermalThreshold, auditTemperature, and useOverlapThermal are ignored.
And the reject sound due to thermal check by useRejectSound, the temperature check by faceCheckOrder is ignored.
Value Description Default 0 No use Default 1 Thermal Check Mode (HARD) 2 Thermal Check Mode (SOFT) -
maskCheckModeVisual Face based Sets the Mask Check Mode.
When set to HARD, access is denied if not detecting any mask on the face based on maskDetectionLevel.
When set to SOFT, access is not affected even if not detecting any mask on the face based on maskDetectionLevel but leaves a related log.
If maskCheckMode is set to No use(0), The setting of maskDetectionLevel is ignored.
And the reject sound due to mask detection check by useRejectSound, the mask detection check by faceCheckOrder is ignored.
+ v2.9.8 Require no mask (3) can only be set when Mask Check Mode is Check Before Authentication, and users wearing masks will fail authentication according to the maskDetectionLevel. This option can only be set on devices that support BS2DeviceCapabilities - authDenyMaskSupported.
Value Description Default 0 No use Default 1 Mask Check Mode (HARD) 2 Mask Check Mode (SOFT) 3 Require no mask -
reservedReserved
-
thermalFormatRepresents the temperature unit. You may choose the unit in Fahrenheit or Celsius
Value Description Default 0 Fahrenheit 1 Celsius Default -
reserved2Reserved
-
thermalThresholdLowThis is the range value for determining high temperature and must be entered as a value multiplied by 100 of the temperature to be set.
Also, you can only enter in degrees Celsius.
This value is the basis for the denial of authentication, and the setting range is between 100 (1º) and 4500 (45º).
The default value is 3200 (32º), and if a value larger or smaller than the setting range is entered, the default value a set to 3200 (32º).
And you must set a value less than thermalThresholdHigh.
-
thermalThresholdHighThis is the range value for determining high temperature and must be entered as a value multiplied by 100 of the temperature to be set.
Also, you can only enter in degrees Celsius.
This value is the basis for the denial of authentication, and the setting range is between 100 (1º) and 4500 (45º).
The default value is 3800 (38º), and if a value larger or smaller than the setting range is entered, the default value a set to 3800 (38º).
And you must set a value greater than thermalThresholdLow.
-
maskDetectionLevelVisual Face based Sets the mask detection level. The detecting level is based on internal setting value.
Value Description Default 0 No detection Default 1 Detection level (Normal) 2 Detection level (High) 3 Detection level (Very high) -
auditTemperatureDecides whether the measured temperature is recorded in the log or not.
-
useRejectSoundDecides whether it sounds when rejecting a user due to thermalThreshold or maskDetectionLevel.
-
useOverlapThermalDisplays a thermal image overlaid on the screen.
-
useDynamicROIWhen set to true, when measuring temperature, the user's forehead is found and measured, not a fixed area.
-
faceCheckOrderIt defines the sequence of thermal check and mask detection and authentication.
Because the user should touch the device in the case of ID combination authentication or PIN combination authentication,
it is important to decide whether the device authenticates before all check modes or afterward especially in a high-risk environment.
Authentication before Temperature check or Mask detection check
Value Description Default 0 Check after authentication Default 1 Check before authentication - 2 No authentication, check only -
BS2ThermalCameraConfig
typedef struct {
uint8_t distance;
uint8_t emissionRate;
struct {
uint16_t x;
uint16_t y;
uint16_t width;
uint16_t height;
} roi;
uint8_t useBodyCompensation;
int8_t compensationTemperature;
} BS2ThermalCameraConfig;
-
distanceThe distance measured by the thermal imaging camera. The unit is cm, and the default is 100.
-
emissionRateThe emissivity of the subject reflecting heat.
It is recommended to enter within the [95/97/98] range. If the subject is a human, 98 is recommended.
-
roiROI (Region of interest) refers to the region of interest.
It can be specified through coordinates (x, y) and range (width, height) values when measuring temperature on the face.
-
useBodyCompensationIt decides whether to use the compensate the body temperature.
-
compensationTemperatureThere may be a slight difference between the actual body temperature and the body temperature measurement using the camera, and you can correct the difference by setting a value here.
It must be as the value multiplied by 10 of the temperature to be set. The value is available -50 ~ +50
BS2BarcodeConfig
typedef struct {
BS2_BOOL useBarcode;
BS2_BARCODE_TIMEOUT scanTimeout;
BS2_BOOL bypassData;
BS2_BOOL treatAsCSN;
BS2_BOOL useVisualBarcode;
BS2_MOTION_SENSITIVITY motionSensitivity;
BS2_VISUAL_BARCODE_TIMEOUT visualCameraScanTimeout;
BS2_BOOL useQRDetectGuideLed; //BDP-1252, Q2 only
uint8_t reserved[8];
} BS2BarcodeConfig;
-
useBarcodeSupports XS2-QR models onlyBarcode usage flag. -
scanTimeoutSet the Barcode scan time. The unit is in seconds.
The default is 4 seconds, and can be entered within a range of 4 to 10 seconds.
Value Macro Description 4 BS2_BARCODE_TIMEOUT_DEFAULT Default 4 BS2_BARCODE_TIMEOUT_MIN Min Value 10 BS2_BARCODE_TIMEOUT_MAX Max Value -
bypassData+ v2.8.2 Used to send read barcode information to the server, not processed by the device.
If the barcode value is stored in the user information structure for user authentication,
There is a size constraint of 32 bytes (BS2CSNCard data)
Call the BS2_SetBarcodeScanListener, use this option to send barcodes up to 512 bytes of size to the server.
-
treatAsCSN+ v2.8.2 Indicates whether the Barcode should be treated the same as a regular CSN card.
It is applied from XS2-QR 1.1.3 and in the case of false, it is treated the same as before.
This allows you to freely specify character sets that can be treated as barcodes from ASCII codes 32 to 126. (See description in BS2_WriteQRCode)
If set to true, the barcode is treated like a number just like the existing CSN.
Therefore, if you want to set the bar code card data with special characters and English characters.
In this case, only the card type may be different, and the CSN card and barcode data may be used in the same value.
-
useVisualBarcode+ v2.9.1 Visual barcode usage flag.
Supported devices Firmware XS2-Finger V1.2.0 XS2-Card V1.2.0 BS3 V1.1.0 Visual barcode scans QR code with a general visual camera instead of a QR code sensor,
and a separate license activation is required to use this feature.
License activation is supported through BS2_EnableDeviceLicense.
-
motionSensitivity+ v2.9.1 Set the sensitivity of motion sensor for visual barcode.
Value Macro Description 0 BS2_MOTION_SENSITIVITY_LOW Low 1 BS2_MOTION_SENSITIVITY_NORMAL Normal 2 BS2_MOTION_SENSITIVITY_HIGH High -
visualCameraScanTimeout+ v2.9.1 Set the scan time for the visual camera. Units are seconds.
The default is 10 seconds, and can be entered within a range of 3 to 20 seconds.
Value Macro Description 10 BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT Default 3 BS2_VISUAL_BARCODE_TIMEOUT_MIN Min Value 20 BS2_VISUAL_BARCODE_TIMEOUT_MAX Max Value -
useQRDetectGuideLed+ v2.9.12 Sets whether to display guidelines (outlines) on the XPass Q2 screen to assist with QR code recognition.
-
reservedReserved Space.
BS2InputConfigEx
typedef struct {
uint8_t numInputs;
uint8_t numSupervised;
union {
uint16_t value;
struct {
uint16_t tamperAuxIndex : 4;
uint16_t acFailAuxIndex : 4;
uint16_t aux0Type : 1;
uint16_t aux1Type : 1;
uint16_t aux2Type : 1;
uint16_t reserved : 1;
uint16_t fireAuxIndex : 4;
} field;
} aux;
uint8_t reserved[16];
struct {
uint8_t portIndex;
uint8_t switchType;
uint16_t duration;
uint8_t reserved;
uint8_t supervisedResistor;
BS2SupervisedInputConfig supervisedConfig;
uint8_t reserved2[26];
} inputs[BS2_MAX_INPUT_NUM_EX];
uint8_t reserved2[200];
} BS2InputConfigEx;
-
numInputsNumber of Input port.
-
numSupervisedNumber of supervised input port.
-
tamperAuxIndex,acFailAuxIndex,fireAuxIndex+ v2.9.9 Sets the Aux input. It is 4bit in size and CS-20, DI-24 are fixed and cannot be changed.
Aux Name Index AC Fail 0 TAMPER 1 FIRE 2 -
aux0Type,aux1Type,aux2Type+ v2.9.9 Sets the Aux input signal type.
Value Description 0 Normally Open 1 Normally Closed -
reserved*Reserved Space.
-
portIndex*Input Port Number.
-
switchTypeInput Signal Type.
Value Description 0 Normally Open 1 Normally Closed -
durationInput Signal Duration Time Measurement is milliseconds(ms).
-
reservedReserved Space.
-
supervisedResistorYou can set Supervised input resistance value type or unsupervise it.
Value Description 0 1K Resistance 1 2.2K Resistance 2 4.7K Resistance 3 10K Resistance 254 Unsupervised(Default) -
reserved2Reserved Space.
-
reserved2Reserved Space.
BS2RelayActionConfig
typedef struct {
uint32_t deviceID; ///< 4 bytes
uint8_t reserved[16]; ///< 16 bytes
struct {
uint8_t port; ///< 1 byte (relay port)
uint8_t reserved0; ///< 1 byte
uint8_t disconnEnabled; ///< 1 byte (RS485 disconnection)
uint8_t reserved[9]; ///< 9 bytes
struct {
uint8_t port; ///< 1 byte (input port)
uint8_t type; ///< 1 byte (linkage/latching/release)
uint8_t mask; ///< 1 byte (alarm/fault)
uint8_t reserved[9]; ///< 9 bytes
} input[BS2_MAX_RELAY_ACTION_INPUT]; ///< 192 bytes
} relay[BS2_MAX_RELAY_ACTION]; ///< 816 bytes
uint8_t reserved2[152]; ///< 152 bytes
} BS2RelayActionConfig;
-
deviceID*Device Identifier
-
reservedReserved Space.
-
relayRelay Setting Information
-
portRelay port Number.
-
reserved0Reserved Space.
-
disconnEnabled*If set to true, a signal is made when RS485 is disconnected.
-
reservedReserved Space.
-
inputDefines to which input ports the relay ports will take action.
-
portInput port Identifier.
-
typeDefines in which input type the input will take action.
If set to Linkage, signal can be made when alarm is set to mask.
type Value Description NONE 0 OFF LINKAGE 1 Connect to the relay of the input LATCHING 2 Not SupportedRELEASE 3 Not Supported -
maskSet mask to Input Signal Info.
type Value Description NONE 0 OFF ALARM 1 Signal Made FAULT 2 Signal Made when disconnected -
reservedReserved Space.
-
reserved2Reserved Space.
BS2VoipConfigExt
typedef struct {
BS2_USER_ID phoneNumber;
char description[48 * 3];
uint8_t reserved[32];
} BS2ExtensionNumber;
typedef struct {
BS2_BOOL enabled;
BS2_BOOL useOutboundProxy;
uint16_t registrationDuration;
BS2_URL address;
BS2_PORT port;
struct {
uint8_t speaker; // 0 ~ 100
uint8_t mic; // 0 ~ 100
} volume; ///< 2 bytes
BS2_USER_ID id;
BS2_USER_ID password;
BS2_USER_ID authorizationCode;
struct {
BS2_URL address;
BS2_PORT port;
uint8_t reserved[2];
} outboundProxy;
uint8_t exitButton; /// *, #, 0~9
uint8_t reserved1;
uint8_t numPhoneBook;
BS2_BOOL showExtensionNumber;
BS2ExtensionNumber phonebook[128];
uint8_t resolution;
uint8_t transport;
uint8_t reserved2[30]; ///< 30 bytes (reserved)
} BS2VoipConfigExt;
-
phoneNumberThis is the extension.
-
descriptionDisplay information.
-
reservedReserved space.
-
enabledSets whether the VoIP extension feature is enabled.
-
useOutboundProxySets whether the Outbound Proxy Server is configured.
-
registrationDurationThe cycle of updating the relevant information to the SIP server.
Set in seconds and must be between 60 and 600.
-
addressEnter the IP address of the SIP server (usually BioStar).
-
portEnter the SIP server port. The default port is 5060.
-
speakerEnter the speaker volume information for the intercom in the range 0 to 100. The default value is 50.
-
micEnter the microphone volume information for the intercom in the range 0 to 100. The default value is 50.
-
idEnter the ID to connect to the SIP server.
-
passwordSpecifies the password to connect to the SIP server.
-
authorizationCodeThe authentication code value required to connect to the SIP server.
-
outboundProxyEnter Outbound proxy server information.
-
addressEnter the IP address of the Outbound Proxy Server.
-
portEnter the Outbound Proxy Server port.
-
reservedReserved space.
-
exitButtonButton symbol to be used as a check-out button.
Value Description * *ASCII code 42# #ASCII code 350~9 0~9ASCII code (48~57) -
reserved1Reserved space.
-
numPhoneBookNumber of phone books.
-
showExtensionNumberDetermines whether to show the phone book.
-
phonebookYou can specify up to 128 extensions in your phone book.
-
resolution+ v2.9.8 Sets the resolution of video output.
Value Description 0 360 x 640 1 720 x 480 -
transport+ v2.9.8 Sets the data transfer method.
Value Description 0 UDP 1 TCP 2 SSL -
reserved2Reserved space.
BS2RtspConfig
typedef struct {
BS2_USER_ID id;
BS2_USER_ID password;
BS2_URL address;
BS2_PORT port;
BS2_BOOL enabled;
uint8_t reserved; ///< 1 byte (packing)
uint8_t resolution;
uint8_t reserved2[31]; ///< 31 bytes (reserved)
} BS2RtspConfig;
-
idAccount information when connecting to the RTSP server.
-
passwordPassword when connecting to the RTSP server.
-
addressEnter the address of the RTSP server.
-
portEnter the RTSP server connection port. The default port is 554.
-
enabledSets whether an RTSP connection is enabled.
-
reservedReserved space.
-
resolution+ v2.9.8 Sets the resolution of video output.
Value Description 0 180 x 320 1 720 x 480 -
reserved2Reserved space.
BS2License
typedef struct {
uint8_t index;
uint8_t hasCapability;
uint8_t enable;
uint8_t reserved;
BS2_LICENSE_TYPE licenseType;
BS2_LICENSE_SUB_TYPE licenseSubType;
uint32_t enableTime;
uint32_t expiredTime;
uint32_t issueNumber;
uint8_t name[BS2_USER_ID_SIZE];
} BS2License;
-
indexLicense index.
-
hasCapabilityWhether the device supports that license.
It usually has a value of 1.
-
enableWhether the license is active.
-
reservedReserved Space.
-
licenseTypeThe type of license.
Value Description 0x0000 None 0x0001 Visual QR -
licenseSubTypeDetailed form of licenseType
Value Description 0 None 1 Visual QR (CodeCorp) -
enableTimeLicense activation start time, expressed in POSIX time.
-
expiredTimeLicense activation end time, 0 means unlimited.
-
issueNumberIssuing unique number.
-
nameLicense name.
BS2LicenseConfig
typedef struct {
uint8_t version;
uint8_t numOfLicense;
uint8_t reserved[2];
BS2License license[BS2_MAX_LICENSE_COUNT];
uint8_t reserved1[16];
} BS2LicenseConfig;
-
versionVersion of the license settings information.
-
numOfLicenseNumber of licenses registered
-
reservedReserved Space.
-
licenseLicense information and can be set up to 16.
-
reserved1Reserved Space.
BS2OsdpStandardConfig
typedef struct {
uint32_t baudRate; ///< 4 bytes
uint8_t channelIndex; ///< 1 byte
uint8_t useRegistance; ///< 1 byte
uint8_t numOfDevices; ///< 1 byte
BS2_OSDP_CHANNEL_TYPE channelType; ///< 1 byte
BS2OsdpStandardDevice slaveDevices[BS2_RS485_MAX_SLAVES_PER_CHANNEL]; ///< 28 * 32 = 896 bytes
uint8_t reserved[4]; ///< 4 bytes
} BS2OsdpStandardChannel; ///< 908 bytes
typedef struct {
uint8_t mode[BS2_RS485_MAX_CHANNELS_EX]; ///< 8 byte
uint16_t numOfChannels; ///< 2 byte
uint8_t reserved[2]; ///< 2 bytes (packing)
uint8_t reserved1[32]; ///< 32 bytes (reserved)
BS2OsdpStandardChannel channels[BS2_RS485_MAX_CHANNELS_EX]; ///< 908 * 8 bytes = 7264 bytes
} BS2OsdpStandardConfig; ///< 7308 bytes
-
baudRateThis is the baud rate of the OSDP device and the range that can be set is as follows.
Value 9600 19200 38400 57600 115200 -
channelIndexThis is the channel number when the OSDP device communicates with RS485.
-
useRegistanceRegistance flag - no effect on operation.
-
numOfDevicesNumber of slave devices.
-
channelTypeIndicates the type to which the device communicating RS485 is connected.
Based on CoreStation40, there are 5 assignable channels from 0 to 4, and Suprema devices and OSDP devices cannot be mixed and operated within each channel.
If no device is connected to a specific channel, it has a 0 indicating that it can be connected even if it is a Suprema device or an OSDP device.
If a Suprema device is connected to a specific channel, only Suprema devices are allowed to connect to that channel, and channelType has a value of 1. The OSDP device is ignored even if it is connected.
If an OSDP device is connected to a specific channel, only OSDP devices are allowed to connect to that channel, and channelType has a value of 2. The Suprema device is ignored even if it is connected.
Each channel of CoreStation40 can be mixed and operated as Suprema device channel and OSDP device channel.
The maximum number of OSDP devices allowed to connect to a channel is limited to 2, and if the channel is already maxed out, the channelType will be 3, indicating that no more connections are allowed.
Value Description 0 Normal 1 Suprema Device 2 OSDP Device 3 OSDP Device FULL -
slaveDevicesSlave device information within the channel.
-
reservedReserved Space.
-
modeIt is a flag that determines which mode to operate in the RS485 network. As of 2023/1/12, CoreStation40 is the only device that supports Osdp standard config, so it always has a master value.
Value Description 0 Not used 1 Master 2 Slave 3 Standalone (Default) -
numOfChannelsNumber of channel. CoreStation40 has a total of 5 channels.
-
reservedReserved Space.
-
reserved1Reserved Space.
-
channelsOSDP device information of each channel.
You can have up to 8 channel information, but since CoreStation40 has 5 channels, only numbers 0 to 4 are valid.
BS2OsdpStandardActionConfig
typedef struct{
BS2_BOOL use; ///< 1 byte
uint8_t readerNumber; ///< 1 byte
uint8_t ledNumber; ///< 1 byte
BS2_OSDP_STANDARD_LED_COMMAND tempCommand; ///< 1 byte
uint8_t tempOnTime; ///< 1 byte
uint8_t tempOffTime; ///< 1 byte
BS2_OSDP_STANDARD_COLOR tempOnColor; ///< 1 byte
BS2_OSDP_STANDARD_COLOR tempOffColor; ///< 1 byte
uint16_t tempRunTime; ///< 2 bytes
BS2_OSDP_STANDARD_LED_COMMAND permCommand; ///< 1 byte
uint8_t permOnTime; ///< 1 byte
uint8_t permOffTime; ///< 1 byte
BS2_OSDP_STANDARD_COLOR permOnColor; ///< 1 byte
BS2_OSDP_STANDARD_COLOR permOffColor; ///< 1 byte
uint8_t reserved; ///< 1 byte
} BS2OsdpStandardLedAction; ///< 16 bytes
typedef struct {
BS2_BOOL use; ///< 1 byte
uint8_t readerNumber; ///< 1 byte
BS2_OSDP_STANDARD_TONE tone; ///< 1 byte
uint8_t onTime; ///< 1 byte
uint8_t offTime; ///< 1 byte
uint8_t numOfCycle; ///< 1 byte
uint8_t reserved[2]; ///< 2 bytes
} BS2OsdpStandardBuzzerAction; ///< 8 bytes
typedef struct {
BS2_OSDP_STANDARD_ACTION_TYPE actionType; ///< 1 byte
uint8_t reserved[3]; ///< 3 bytes
BS2OsdpStandardLedAction led[2]; ///< 16 x 2 = 32 bytes
BS2OsdpStandardBuzzerAction buzzer; ///< 8 bytes
} BS2OsdpStandardAction; ///< 44 bytes
typedef struct
{
uint8_t version; ///< 1 byte
uint8_t reserved[3]; ///< 3 byes
BS2OsdpStandardAction actions[BS2_OSDP_STANDARD_ACTION_MAX_COUNT]; ///< 44 x 32 = 1408
} BS2OsdpStandardActionConfig; ///< 1412 bytes
-
useIndicates whether to use LED action.
-
readerNumberThe sequence number of the OSDP device.
-
ledNumberThe LED sequence number of the OSDP device.
-
tempCommandTemporary command.
Value Description 0 No Operation 1 Cancel 2 Set -
tempOnTimeIndicates the LED on time for Temporary command, set in units of 100 ms.
For example, enter 20 to keep the LED on for 2 seconds.
-
tempOffTimeIndicates the LED off time for Temporary command, set in units of 100 ms.
For example, enter 10 to turn off the LED for 1 second.
-
tempOnColorSets the LED color of the on state for Temporary command.
Value Description 0 BLACK 1 RED 2 GREEN 3 AMBER 4 BLUE 5 MAGENTA 6 CYAN 7 WHITE -
tempOffColorSets the LED color of the off state for Temporary command.
Value Description 0 BLACK 1 RED 2 GREEN 3 AMBER 4 BLUE 5 MAGENTA 6 CYAN 7 WHITE -
tempRunTimeSets the LED On/Off time for Temporary commands in units of 100 ms.
It blinks alternately with the color and time set in tempOnTime/tempOffTime, tempOnColor/tempOffColor, and is maintained as long as the value of tempRunTime.
-
permCommandPermanent command.
-
permOnTimeIndicates the LED on time for Permanent command, set in units of 100 ms.
-
permOffTimeIndicates the LED off time for Permanent command, set in units of 100 ms.
-
permOnColorSets the LED color of the on state for Permanent command.
-
permOffColorSets the LED color of the off state for Permanent command.
-
reservedReserved Space.
-
useIndicates whether to use tone action.
-
readerNumberThe sequence number of the OSDP device.
-
toneSet the buzzer.
Value Description 0 None 1 Off 2 On -
onTimeSet the on-state holding time for tone in units of 100 ms.
-
offTimeSet the off state holding time for tone in units of 100 ms.
-
numOfCycleSet the number of times to repeat On/Off for tone. When set to 0, it means infinite repetition.
-
reservedReserved Space.
-
actionTypeSet the action.
Value Description 0 None 1 Success 2 Fail 3 Wait input -
reservedReserved Space.
-
ledLED setting information of OSDP device.
-
buzzerBuzzer setting information of OSDP device.
-
versionVersion information about Action configuration. Currently it is 0.
-
reservedReserved Space.
-
actionsLED/buzzer information for OSDP devices, up to 32 can be designated.
BS2CustomMifareCard
typedef struct {
uint8_t primaryKey[6];
uint8_t reserved1[2];
uint8_t secondaryKey[6];
uint8_t reserved2[2];
uint16_t startBlockIndex;
uint8_t dataSize;
uint8_t skipBytes;
uint8_t reserved[4];
} BS2CustomMifareCard;
-
primaryKeyPrimary encryption key to access the Mifare card information.
-
reserved1Reserved space.
-
secondaryKeySecondary encryption key to access the Mifare card information.
-
reserved2Reserved space.
-
startBlockIndexStart block index on the Mifare data storage.
-
dataSizeThe size in bytes of the card data.
-
skipBytesThis is where the card data appears.
This is the starting point to read card data. It is 0 when reading from the starting point, and indicates the number of bytes skipped after the first.
-
reservedReserved space.
BS2CustomDesFireCard
typedef struct {
uint8_t primaryKey[16];
uint8_t secondaryKey[16];
uint8_t appID[3];
uint8_t fileID;
uint8_t encryptionType; // 0: DES/3DES, 1: AES
uint8_t operationMode; // 0: legacy(use picc master key), 1: new mode(use app master, file read, file write key)
uint8_t dataSize;
uint8_t skipBytes;
uint8_t reserved[4];
BS2DesFireAppLevelKey desfireAppKey; ///<52 bytes
} BS2CustomDesFireCard; ///<96 Bytes
-
primaryKeyPrimary encryption key to access the DesFire card information. (General settings)
-
secondaryKeySecondary encryption key to access the Desfire card information. (General settings)
-
appIDApplication Id that is stored inside the DesFire card for user authentication.
-
fileIDFile ID that is stored inside the DesFire card, which will be used by the application to read and write data.
-
encryptionTypeType of data encryption.
Value Description 0 DES/3DES 1 AES -
operationModeOperation mode.
Value Description 0 Using general settings (Using PICC master key) 1 Using advanced settings (Using App master key) -
dataSizeThe size in bytes of the card data.
-
skipBytesThis is where the card data appears.
This is the starting point to read card data. It is 0 when reading from the starting point, and indicates the number of bytes skipped after the first.
-
reservedReserved space.
-
desfireAppKeyIndicates key information to access DesFire card information. (Advanced settings)
BS2CustomCardConfig
typedef struct {
uint8_t primaryKey[16];
uint8_t secondaryKey[16];
uint16_t startBlockIndex;
uint8_t dataSize;
uint8_t skipBytes;
uint8_t reserved[16];
} BS2CustomMifareCardEx;
typedef struct {
BS2_CARD_DATA_TYPE dataType;
BS2_BOOL useSecondaryKey;
uint8_t reserved1[2];
BS2CustomMifareCard mifare;
BS2CustomDesFireCard desfire;
BS2CustomMifareCardEx mifareEx;
BS2_MIFARE_ENCRYPTION mifareEncType;
uint8_t reserved3[67];
BS2_CARD_BYTE_ORDER smartCardByteOrder;
uint8_t reserved4[3];
BS2_UID formatID;
uint8_t reserved5[8];
} BS2CustomCardConfig;
-
primaryKeyThe first encryption key for accessing Mifare card information.
-
secondaryKeyThe second encryption key for accessing Mifare card information.
-
startBlockIndexThe start block index in Mifare data storage.
-
datasizeIndicates the size of the card data in bytes.
-
skipBytesIndicates the position where the card data appears.
Indicates the starting point for reading the card data. If reading from the beginning, it is 0; if reading after the first byte, it indicates the number of bytes skipped.
-
reservedReserved space.
-
dataTypeType of card data.
Value Description 0 Binary 1 ASCII 2 UTF16 3 BCD -
useSecondaryKeyDecides whether to use the secondary encryption key.
-
reserved1Reserved space.
-
mifareSet the Mifare custom card information.
-
desfireSet the DESFire custom card information.
-
mifareEx+ v2.9.9 Saves the setting information used for AES128-encrypted Mifare Custom cards on the device.
-
mifareEncType+ v2.9.9 Specifies the encryption method for Mifare Custom cards. Mifare Classic cards support only CRYPTO1, while Mifare Plus cards support both CRYPTO1 and AES128.
When set to CRYPTO1, the Mifare settings of
BS2CustomMifareCardare applied. When set to AES128, applied to mifareEx settings of BS2CustomMifareConfigEx.Value Description 0 CRYPTO1 1 AES128 -
reserved3Reserved space.
-
smartCardByteOrderThe output method can be selected from MSB or LSB.
Value Description 0 MSB 1 LSB -
reserved4Reserved space.
-
formatIDThis is an identifier that can be used when the BioStar 2 application needs to manage the card configuration as a database.
-
reserved5Reserved space.
BS2MifareCardConfigEx
typedef struct {
uint8_t primaryKey[16];
uint8_t secondaryKey[16];
uint16_t startBlockIndex;
uint8_t reserved[14];
} BS2MifareCardEx;
typedef struct {
BS2MifareCardEx mifareEx;
uint8_t reserved[16];
} BS2MifareCardConfigEx;
-
primaryKeyThis is the first encryption key for accessing Mifare card information.
-
secondaryKeyThis is the second encryption key for accessing Mifare card information.
-
startBlockIndexThis is the start block index in Mifare data storage.
-
reservedReserved space.
BS2FacilityCodeConfig
typedef struct{
uint8_t code[4];
} BS2FacilityCode;
typedef struct{
uint8_t numFacilityCode;
uint8_t reserved0[3];
BS2FacilityCode facilityCodes[16];
uint8_t reserved1[128];
} BS2FacilityCodeConfig;
-
numFacilityCodeSet the number of FacilityCode to set. Up to 16 are supported.
-
reserved0Reserved space.
-
BS2FacilityCodeUsed as an authentication code when the OSDP connection between the Door Interface (DI-24) and the master device is lost.
-
reserved1Reserved space.
BS2Rs485ConfigEXDynamic
typedef struct {
uint32_t deviceID; ///<
uint16_t deviceType; ///< 2 bytes
uint8_t enableOSDP; ///< 1 byte
uint8_t connected; ///<div 1 bytes (packing)
union {
uint8_t channelInfo;
uint32_t parentID;
};
} BS2Rs485SlaveDeviceEX;
typedef struct {
uint32_t baudRate;
uint8_t channelIndex;
uint8_t useRegistance;
uint8_t numOfDevices;
uint8_t channelType;
BS2Rs485SlaveDeviceEX *slaveDevices;
} BS2Rs485ChannelEXDynamic;
typedef struct {
BS2_RS485_MODE mode[8];
uint16_t numOfChannels;
uint8_t reserved[2];
uint8_t reserved1[32];
BS2Rs485ChannelEXDynamic channels[8];
} BS2Rs485ConfigEXDynamic;
All values except baudRate are read-only and cannot be changed.
Supported devices: CoreStation 20(CS-20, CS-20P), Door Interface(DI-24)
baudRate
The RS-485 communication speed which can be configured as below.
| 값 |
|---|
| 9600 |
| 19200 |
| 38400 |
| 57600 |
| 115200 |
-
channelIndexCommunication channel index of the RS-485 network.
-
useRegistanceDecides whether to use a resistance.
-
numOfDevicesNumber of slave devices.
-
channelTypeType of slave device connected to the port.
Value Description 0 No connection 1 Suprema device 2 OSDP standard device 3 Cannot connect anymore -
slaveDevicesList of slave devices connected to the device.
Maximum Number of Devices Connectable per Port
Port Count Host port 16 Port 0 2 Port 1 2 -
modeThis flag determines the operating mode on the RS485 network.
Value Description 1 Master 2 Slave 3 Standalone CoreStation can only be used as a Master. Other values cannot be configured.
-
numOfChannelsNumber of RS485 channel.
-
reservedReserved space.
-
reserved1Reserved space.
-
channelsList of RS-485 channels, which can be configured up to 8 channels.