本文へスキップ

Configuration API

The following APIs are used to read and write system configuration information.



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;
  1. deviceID

    Device identifier.

  2. macAddr

    MAC address of the network adaptor.

  3. reserved

    Reserved space.

  4. modelName

    Model name.

  5. boardVer

    Hardware version.

  6. kernelVer

    Kernel version.

  7. bscoreVer

    BioStar Core version.

  8. firmwareVer

    Firmware version.

  9. kernelRev

    Kernel revision information.

  10. bscoreRev

    BioStar Core revision information.

  11. firmwareRev

    Firmware revision information.

  12. reserved2

    Reserved 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;
  1. notUsed

    Not used.

  2. timezone

    Represents standard time zone in seconds.

  3. syncTime

    This is a FLAG that determines time synchronization with the BioStar Server.

  4. serverSync

    Reserved variable.

  5. deviceLocked

    Indicates the current locked state of the device. (Read only filed)

  6. useInterphone

    Decides whether to use intercom.

  7. useUSBConnection

    This is not used anymore. (The device automatically detects USB connection.)

  8. keyEncrypted

    Decides whether to use OSDP secure key.

  9. useJobCode

    Decides whether to use job codes.

  10. useAlphanumericID

    Decides whether to use alphanumeric ID.

  11. cameraFrequency

    Frequency of the camera.

    ValueDescription
    150Hz
    260Hz
  12. secureTamper

    Flag 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)

  13. reserved0

    Reserved space.

  14. reserved

    Reserved space.

  15. 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 x0x80000001 when EM card is selected only.

    ValueDescription
    0xFFFFFFFFCARD_OPERATION_MASK_DEFAULT
    0x80000000CARD_OPERATION_USE
    0x00000000CARD_OPERATION_MASK_NONE
    0x00000800CARD_OPERATION_MASK_CUSTOM_DESFIRE_EV1
    0x00000400CARD_OPERATION_MASK_CUSTOM_CLASSIC_PLUS
    0x00000200CARD_OPERATION_MASK_BLE
    0x00000100CARD_OPERATION_MASK_NFC
    0x00000080CARD_OPERATION_MASK_SEOS
    0x00000040CARD_OPERATION_MASK_SR_SE
    0x00000020CARD_OPERATION_MASK_DESFIRE_EV1
    0x00000010CARD_OPERATION_MASK_CLASSIC_PLUS
    0x00000008CARD_OPERATION_MASK_ICLASS
    0x00000004CARD_OPERATION_MASK_MIFARE_FELICA
    0x00000002CARD_OPERATION_MASK_HIDPROX
    0x00000001CARD_OPERATION_MASK_EM
  16. reserved1

    Reserved space.

  17. adminTwoStepAuth

    Indicates 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 BS2AuthConfig or BS2AuthConfigEx, 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.

  18. reserved2

    Reserved 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;
  1. authSchedule

    Stores 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.

    ValueCodeDescription
    0BS2_AUTH_MODE_BIOMETRIC_ONLYBiometric only
    1BS2_AUTH_MODE_BIOMETRIC_PINBiometric + PIN
    2BS2_AUTH_MODE_CARD_ONLYCard only
    3BS2_AUTH_MODE_CARD_BIOMETRICCard + Biometric
    4BS2_AUTH_MODE_CARD_PINCard + PIN
    5BS2_AUTH_MODE_CARD_BIOMETRIC_OR_PINCard + Biometric or PIN
    6BS2_AUTH_MODE_CARD_BIOMETRIC_PINCard + Biometric + PIN
    7BS2_AUTH_MODE_ID_BIOMETRICID + Biometric
    8BS2_AUTH_MODE_ID_PINID + PIN
    9BS2_AUTH_MODE_ID_BIOMETRIC_OR_PINID + Biometric or PIN
    10BS2_AUTH_MODE_ID_BIOMETRIC_PINID + Biometric + PIN
  2. useGlobalAPB

    Decides whether to enable global APB zone.

  3. globalAPBFailAction

    Default action that will be executed when the BioStar application cannot determine if the authentication has violated global APB rules.

    ValueDescription
    0Not use
    1Operate as soft APB
    2Operate as hard APB
  4. useGroupMatching

    Decides whether to use face group matching.

  5. reserved

    Reserved space.

  6. usePrivateAuth

    Decides whether to use private authentication mode.

  7. faceDetectionLevel

    Level 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.

    ValueDescription
    0Face detection not used
    1Normal mode
    2Strict mode

    Only valid for A2. Not used with FaceStation 2 or FaceLite.

  8. useServerMatching

    Decides whether to perform fingerprint/face matchings on the server.

  9. useFullAccess

    Decides whether to allow full access to all authenticated users regardless to the access group rules.

  10. matchTimeout

    Timeout in seconds for fingerprint/face matching.

  11. authTimeout

    Timeout in seconds for the user authentication response.

  12. numOperators

    The number of operators defining user privileges.

  13. reserved2

    Reserved space.

  14. userID

    User identifier.

  15. level

    Specifies the privilege of the user when accessing to the device's menu.

    ValueDescription
    0No privilege
    1Administrative privilege
    2Privilege to change the system settings
    3Privilege to change user information
    注意

    To add an operator, the numOperators field needs to be set equivalent to the number of operators that will be added.

  16. reserved

    Reserved 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;
  1. enabled

    Decides whether to use the LED.

  2. reserved

    Reserved space.

  3. count

    Number of LED signal execution count. When it is set as 0, repeats infinitely.

  4. signal

    List of LED signal patterns, which can be configured up to 3 patterns.

  5. reserved1

    Reserved space.

  6. enabled

    Decides whether to use the buzzer.

  7. reserved

    Reserved space.

  8. count

    Number of buzzer signal execution count. When it is set as 0, repeats infinitely.

  9. signal

    List of buzzer signal patterns, which can be configured up to 3 patterns.

  10. configSyncRequired

    If the device's configuration has been modified, this value will be set to true.

  11. reserved2

    Reserved 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;
  1. language

    Language code.

    ValueDescription
    0Korean
    1English
    2Custom
  2. background

    Background image type.

    ValueDescription
    0LOGO
    1NOTICE
    2SLIDE
    3PDF
  3. volume

    The volume of sound. The volume can be set from 0 to 100. 0 means no sound.

  4. bgTheme

    Theme type.

    ValueDescription
    0Logo image
    1Notice
    2Slide show
    3PDF
  5. dateFormat

    Date format.

    ValueDescription
    0YYYY/MM/DD
    1MM/DD/YYYY
    2DD/MM/YYYY
  6. menuTimeout

    Timeout 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.

    ValueDescription
    0No timeout.
    10Menu timeout 10 sec.
    20Menu timeout 20 sec. (Default)
    30Menu timeout 30 sec.
    40Menu timeout 40 sec.
    50Menu timeout 50 sec.
    60Menu timeout 60 sec.
  7. msgTimeout

    Message timeout in milliseconds. The timeout can be set from 500 to 5000 milliseconds.

    ValueDescription
    500Message timeout 500 msec.
    1000Message timeout 1 sec.
    2000Message timeout 2 sec. (Default)
    3000Message timeout 3 sec.
    4000Message timeout 4 sec.
    5000Message timeout 5 sec.
  8. backlightTimeout

    Backlight timeout in seconds.

    ValueDescription
    0Backlight timeout 0 sec.
    10Backlight timeout 10 sec.
    20Backlight timeout 20 sec. (Default)
    30Backlight timeout 30 sec.
    40Backlight timeout 40 sec.
    50Backlight timeout 50 sec.
    60Backlight timeout 60 sec.
  9. displayDateTime

    Decides whether to display clock on screen.

  10. useVoice

    Decides whether to use voice instruction.

  11. timeFormat

    Time format.

    ValueDescription
    012 hour
    124 hour

    However, Linux OS devices like BioStation 2, BioStation L2, BioLite N2 and FaceLite have opposite settings. (0 = 24 hour / 1 = 12 hour)

  12. homeFormation

    Home screen settings (Currently, not used).

    ValueDescription
    1Interphone
    2Shortcut 1
    3Shortcut 2
    4Shortcut 3
    5Shortcut 4
  13. useUserPhrase

    Flag that determines whether to use the user phrase feature.

  14. queryUserPhrase

    If set true, asks for the user phrase to the server.

  15. shortcutHome

    Home screen layout(Going to apply later, not used currently).

  16. tnaIcon

    Icon displayed on the device corresponding TNA key.

  17. useScreenSaver

    If set true, you can activate the screensaver.

  18. 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.

    ValueDescription
    0Display OSDP Authentication Result (Default)
    1Do Not Display OSDP Authentication Result
  19. reserved1

    Reserved space.

  20. authMsgUserName

    + v2.9.8 The display method of the user's name in the authentication result message shown on the device screen is set.

    ValueDescription
    0Display All
    1Mask All but First Letter
    2Hide All
  21. authMsgUserID

    + v2.9.8 The display method of the user's ID in the authentication result message shown on the device screen is set.

    ValueDescription
    0Display All
    1Mask All but First Letter
    2Hide All
  22. scrambleKeyboardMode

    + v2.9.8 Sets whether to use the scramble keypad.

    ValueDescription
    0Use
    1Not 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;
  1. connectionMode

    Represents 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.

  2. useDHCP

    Decides whether to use DHCP.

  3. useDNS

    Decides whether to use server address or server URL.

  4. reserved

    Reserved space.

  5. ipAddress

    IP address assigned to the device.

  6. gateway

    IP address of the gateway.

  7. subnetMask

    Subnet mask of the device.

  8. serverAddr

    IP address of BioStar. Used only in the server mode.

  9. port

    Port number of the device.

  10. serverPort

    Port number of BioStar. Used only in the server mode.

  11. mtuSize

    MTU1 size for the TCP/IP communication.

  12. baseband

    Bandwidth of the device. The value can be set to 10MB/S or 100 MB/S.

  13. reserved2

    Reserved space.

  14. sslServerPort

    Used when the connectionMode is set as server SSL mode, which is the port of the SDK application.

  15. reserved3

    Reserved space.

BS2IpConfigExt​

typedef struct {
char dnsAddr[BS2_IPV4_ADDR_SIZE];
char serverUrl[BS2_URL_SIZE];
uint8_t reserved[32];
} BS2IpConfigExt;
  1. dnsAddr

    DNS server address.

  2. serverUrl

    URL 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.

  3. reserved

    Reserved 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;
  1. tnaMode

    Time and attendance management mode.

    ValueDescription
    0Not used
    1Applying time and attendance code according to a user
    2Applying time and attendance code according to a T&A schedule
    3Applying the time and attendance code that the previous user has selected
    4Using a fixed time and attendance code
  2. tnaKey

    Represents time and attendance code. This is mapped to a key on the device.

    Device TypeT&A CodeMapped KeyValue
    BioStation 2BS2_TNA_UNSPECIFIED(N/A)0
    BS2_TNA_KEY_1F11
    BS2_TNA_KEY_2F22
    BS2_TNA_KEY_3F33
    BS2_TNA_KEY_4F44
    BS2_TNA_KEY_515
    BS2_TNA_KEY_626
    BS2_TNA_KEY_737
    BS2_TNA_KEY_848
    BS2_TNA_KEY_959
    BS2_TNA_KEY_10610
    BS2_TNA_KEY_11711
    BS2_TNA_KEY_12812
    BS2_TNA_KEY_13913
    BS2_TNA_KEY_14Call14
    BS2_TNA_KEY_15015
    BS2_TNA_KEY_16Esc16
  3. tnaRequired

    Decides whether to time and attendance code entry is mandatory when the time and attendance management mode is set to 1.

  4. reserved

    Reserved space.

  5. tnaSchedule

    Specifies a schedule for a time and attendance code.

  6. unused

    Not used.

  7. tnaLabel

    A label that shows the meaning of the time and attendance code.

  8. unused

    Not 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;
  1. primaryKey

    Primary encryption key to access the Mifare card information.

  2. reserved1

    Reserved space.

  3. secondaryKey

    Secondary encryption key to access the Mifare card information.

  4. reserved2

    Reserved space.

  5. startBlockIndex

    Start block index on the Mifare data storage.

  6. reserved

    Reserved space.

  7. primaryKey

    Primary encryption key to access the iClass card information.

  8. secondaryKey

    Secondary encryption key to access the iClass card information..

  9. startBlockIndex

    Start block index on the Mifare data storage.

  10. reserved

    Reserved space.

  11. primaryKey

    Primary encryption key to access the DesFire card information.

  12. secondaryKey

    Secondary encryption key to access the Desfire card information.

  13. appID

    Application Id that is stored inside the DesFire card for user authentication.

  14. fileID

    File ID that is stored inside the DesFire card, which will be used by the application to read and write data.

  15. encryptionType

    Type of data encryption.

    ValueDescription
    0DES/3DES
    1AES
  16. operationMode

    Operation mode. (operationMode will be supported soon.)

    ValueDescription
    0Lagacy mode (Using PICC master key)
    1New mode (Using App master key)
  17. lockEV2SM

    + v2.9.13 Restricts DesFire card authentication to EV2 Secure Messaging (EV2SM) only.

    This is meaningful only on a device that reports ev2smSupported as 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.

    ValueDescription
    0Default
    1Only EV2SM
  18. reserved

    Reserved space.

  19. byteOrder

    Order 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.

  20. useWiegandFormat

    Decides whether to use Wiegand format.

  21. dataType

    Type of card data.

    ValueDescription
    0Binary
    1ASCII
    2UTF16
    3BCD
  22. useSecondaryKey

    Decides whether to use the secondary encryption key.

  23. formatID

    ID that is used when the card configuration needs to be managed from the database on the BioStar application.

  24. cipher

    Activates "Keypad card ID" option.

    Default value is 0, it is only valid for Gangbox Keypad type of XPass 2, XPass D2.

    ValueDescription
    0Deactivate
    1Activate
  25. 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.

    ValueDescription
    0MSB
    1LSB
  26. reserved

    Reserved space.

  27. 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 BS2MifareCard are applied. When set to AES128, the BS2MifareCardConfigEx settings, which can be configured using BS2_SetMifareCardConfigEx and BS2_GetMifareCardConfigEx, are applied.

    ValueDescription
    0CRYPTO1
    1AES128
  28. reserved

    Reserved 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;
  1. securityLevel

    Fingerprint authentication security level. This is used across the system.

    ValueDescription
    0Basic
    1Highly secure
    2The most highly secure
  2. fastMode

    Fingerprint matching speed.

    ValueDescription
    0Automatic
    1Basic
    2High
    3Very High
  3. sensitivity

    Sensitivity of the fingerprint sensor.

    ValueDescription
    0Lowest
    1Level 1
    2Level 2
    3Level 3
    4Level 4
    5Level 5
    6Level 6
    7Highest
  4. sensorMode

    Decides the sensor mode. 0 means the sensor is always on. 1 means the sensor is activated when the finger is near the sensor.

  5. templateFormat

    Fingerprint template type.

    ValueDescription
    0Suprema
    1ISO
    2ANSI
  6. scanTimeout

    Fingerprint scanning timeout in seconds. The default is 10 seconds.

  7. successiveScan

    Not Used.

  8. advancedEnrollment

    Decides whether to utilize fingerprint quality information. If the option is disabled, the BS_SDK_ERROR_CAPTURE_LOW_QUALITY / BS_SDK_ERROR_EXTRACTION_LOW_QUALITY error codes are not returned even if the quality of fingerprint image acquired is low.

  9. showImage

    Decides whether to display scanned fingerprint image on the screen.

  10. lfdLevel

    Configuration for the LFD(Live Fingerprint Detection - fake fingerprint detection) sensitivity.

    ValueDescription
    0Not Use
    1Strict
    2More Strict
    3Most Strict
  11. checkDuplicate

    + v2.6.4 If set to true, it will determine if the fingerprint is a duplicate.

  12. reserved3

    Reserved 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;
  1. 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

  2. useExceptionCode

    + v2.8 This option is available to choose whether the exception code is sent or not.

  3. 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.

  4. 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.

  5. 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.

  6. reserved

    + v2.8 Reserved space.

  7. baudRate

    The RS-485 communication speed which can be configured as below.

    Value
    9600
    19200
    38400
    57600
    115200
  8. channelIndex

    (non configurable index) Communication channel index of the RS-485 network.

  9. useRegistance

    Registance flag - no effect on operation.

  10. numOfDevices

    Number of slave devices.

  11. reserved

    Reserved space.

  12. slaveDevices

    List of slave devices, which can be configured up to 32 devices.

  13. mode

    Decides the operating mode on the RS-485 network.

    ValueDescription
    1Master
    2Slave
    3Standalone
  14. numOfChannels

    Number of RS-485 channel.

  15. reserved

    Reserved space.

  16. 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.

  17. reserved1

    Reserved space.

  18. channels

    List 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;
  1. length

    The length of the wiegand card format.

  2. idFields

    You 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 Code
    idFields[0][28] = 0x01;
    idFields[0][29] = 0xFE;
    idFields[0][30] = 0x00;
    idFields[0][31] = 0x00;

    // for Card Number
    idFields[1][28] = 0x00;
    idFields[1][29] = 0x01;
    idFields[1][30] = 0xFF;
    idFields[1][31] = 0xFE;
  3. parityFields

    You can set 4 parity fields maximum, and enter the beginning and the end of the range where to check the parity.

  4. parityType

    Set the parity type.

    ValueDescription
    0Does not check parity
    1check odd parity
    2check even parity
  5. parityPos

    Select the position of the parity bit on the wiegand card data.

  6. mode

    Set the wiegand Input/Output mode.

    ValueDescription
    0Input
    1Output
    2In/Output
  7. useWiegandBypass

    The flag that indicates whether to send out a card data.

    ValueDescription
    0Output when authenticated.
    1Output without authentication.
  8. useFailCode

    The flag that indicates whether to send out a fail code when a card fails to authenticate.

  9. failCode

    Fail code value to replace the card data.

    Value
    0x00
    0xFF
  10. outPulseWidth

    Output pulse width having a range of 20 ~ 100 us.

  11. outPulseInterval

    Output pulse frequency having a range of 200 ~ 20000 us.

  12. formatID

    The value used to distinguish the wiegand card format in the application, and this is not used from the device.

  13. format

    Wiegand format structure.

  14. wiegandInputMask

    Input mask for the wiegand input of the slave and wiegand device.

  15. wiegandCardMask

    Input mask for the wiegand input of the master device.

  16. wiegandCSNIndex

    Index 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.

  17. useWiegandUserID

    The flag you can select whether card ID or user ID to be sent via Wiegand output.

    ValueDescription
    0Not use
    1Card ID
    2User ID
  18. reserved

    Reserved 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;
  1. deviceID

    ID of the device which will receive the tamper signal of the Wiegand card reader.

  2. port

    Input port for the Wiegand card reader's tamper.

  3. switchType

    If the switch type is normally open, and the input isgnal is on, it will set off the trigger.

    ValueDescription
    0Normally open
    1Normally closed
  4. reserved

    Reserved space.

  5. deviceID

    ID of the device which will send the LED signal to the Wiegand card reader.

  6. port

    Output port for the Wiegand card reader's LED signal.

  7. reserved

    Reserved space.

  8. deviceID

    ID of the device which will send the buzzer signal to the Wiegand card reader.

  9. port

    Output port for the Wiegand card reader's buzzer signal.

  10. reserved

    Reserved space.

  11. led

    List of devices sending LED signals of the Wiegand card reader, which can be configured up to 2 devices.

    ValueDescription
    0Red LED
    1Green 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;
  1. minValue

    Minimum voltage which has a range from 0 ~ 3300(3.3v).

  2. maxValue

    Maximum voltage which has a range from 0 ~ 3300(3.3v).

  3. shortInput

    Range of the voltage which will be distinguished as short input.

  4. openInput

    Range of the voltage which will be distinguished as open input.

  5. onInput

    Range of the voltage which will be distinguished as on input.

  6. offInput

    Range of the voltage which will be distinguished as off input.

  7. numInputs

    Number of input ports.

  8. numSupervised

    Number of the supervised input ports.

  9. portIndex

    Input port number.

  10. enabled

    Decides whether to use as a supervised input.

  11. supervised_index

    Type of supervised input's resistance value.

    ValueDescription
    01k resistance
    12.2k resistance
    24.7k resistance
    310k resistance
    255Custom
  12. aux

    + v2.9.8 Sets the operation of Aux.

    Bit positionNumber of bitMemberDescription
    04tamperAuxIndexAux number to use as tamper (0:None, 1:Aux0, 2:Aux1)
    74acFailAuxIndexAux number to use as AC Fail (0:None, 1:Aux0, 2:Aux1)
    81aux0TypeType of Aux 0 (0: NO, 1:NC)
    91aux1TypeType of Aux 1 (0: NO, 1:NC)
    106reservedReserved space
  13. config

    Configuration 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;
  1. enabled

    Decides whether to use the wireless LAN.

  2. operationMode

    Type of wireless LAN.

    ValueDescription
    0infrastructure
    1Ad-hoc
  3. authType

    Type of Wireless LAN authentication.

    ValueDescription
    0Open
    1Shared
    2WPA-PSK
    3WPA2-PSK
  4. encryptionType

    Type of wireless LAN encryption.

    ValueDescription
    0None
    1WEP
    2TKIP/AES
    3AES
    3TKIP
  5. essid

    ESS ID of the wireless network.

  6. authKey

    Password of the wireless network.

  7. reserved

    Reserved 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;
  1. code

    Event log that will set off the trigger.

  2. reserved

    Reserved space.

  3. port

    Input port number that will set off the trigger.

  4. switchType

    If the switch type is normally open, and the input isgnal is on, it will set off the trigger.

    ValueDescription
    0Normally open
    1Normally closed
  5. duration

    The duration time of the signal that will set off the trigger. The unit of time is milliseconds and the minimum value is 100.

  6. scheduleID

    ID of the time schedule when to operate the trigger.

  7. type

    Type of the schedule trigger.

    ValueDescription
    0Start schedule trigger
    1End schedule trigger
  8. scheduleID

    ID of the time schedule when to operate the trigger.

  9. deviceID

    ID of the device that will perform the trigger.

  10. type

    Type of trigger.

    ValueDescription
    0None
    1Event trigger
    2Input trigger
    3Schedule trigger
  11. reserved

    Reserved space.

  12. 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;

  1. signalID

    Index that is used to manage the signal type from the application.

  2. count

    Number of signal execution count.

  3. onDuration

    Duration of the ON signal. The unit of time is milliseconds.

  4. offDuration

    Duration of the OFF signal. The unit of time is milliseconds.

  5. delay

    Delay 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)

  6. portIndex

    Number of the TTL output port.

  7. reserved

    Reserved Space.

  8. relayIndex

    Number of the TTL output port.

  9. reserved

    Reserved Space.

  10. color

    LED colory type.

    ValueDescription
    0LED Off
    1Red LED
    2Yellow LED
    3Green LED
    4Blue-Green LED
    5Blue LED
    6Magenta LED
    7White LED
  11. reserved

    Reserved space.

  12. duration

    Duration of the LED. The unit of time is milliseconds.

  13. delay

    Delay before the LED flickers. The unit of time is milliseconds.

  14. count

    Number of LED signal count. When set as 0 it is disabled, and when set as -1 it will repeat infinitely.

  15. reserved

    Reserved space.

  16. tone

    Volume of the buzzer.

    ValueDescription
    0No sound
    1Low
    2Medium
    3High
  17. count

    Number of buzzer signal count. When set as 0 it is disabled, and when set as -1 it will repeat infinitely.

  18. reserved

    Reserved space.

  19. duration

    Duration of the display operation. The unit of time is milliseconds.

  20. reserved

    Reserved space.

  21. displayID

    Not supported yet.

  22. resourceID

    Not supported yet.

  23. count

    Number of the sound signal count.

  24. soundIndex

    Index of the sound resource.

    ValueDescription
    0Welcome sound
    1Auth success sound
    2Auth fail sound
  25. deviceID

    ID of the device that will execute the action.

  26. type

    Action 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)

    ValueDescription
    0None
    1Lock device
    2Unlock device
    3Reboot device
    4Release alarm
    5General input
    6Relay action
    7TTL action
    8Sound action
    9Display action
    10Buzzer action
    11Led action
    12Fire alarm input
    13Auth Success(Access granted)
    14Auth Fail(Access denied)
    15Lift action
  27. stopFlag

    Specifies 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.

    ValueDescription
    0Don't stop
    1Stop if door is closed
    2Stop by command(Added in V2.6.0)
  28. delay

    Action 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;
  1. numItems

    Number of trigger actions.

  2. reserved

    Reserved space.

  3. items

    List of trigger actions, which can be configured up to 128 trigger actions.

  4. reserved2

    Reserved 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;
  1. numImageEventFilter

    Number of image log filters.

  2. mainEventCode

    Main code of the log where the image log will be placed.

  3. reserved

    Reserved space.

  4. scheduleID

    ID of the time schedule when to store the image logs.

  5. reserved

    Reserved 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;
  1. formatID

    Wiegand format index.

  2. format

    Wiegand format structure.

  3. reserved

    Reserved space.

  4. formats

    Available to configure up to 15 formats.

  5. reserved

    Reserved 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;
  1. magicNo

    Not used.

  2. disabled

    Not used.

  3. useCSNOnly

    Flag that indicates whether to read the v1 ToC cards.

  4. bioentryCompatible

    Not used.

  5. useSecondaryKey

    Not used.

  6. reserved1

    Reserved space.

  7. primaryKey

    Not used.

  8. reserved2

    Reserved space.

  9. secondaryKey

    Not used.

  10. reserved3

    Reserved Space.

  11. cisIndex

    Not used.

  12. numOfTemplate

    Number of template that is used.

  13. templateSize

    Size of each template.

  14. templateStartBlock

    Not used.

  15. reserve4

    Reserved Space.

BS2SystemConfigExt​

typedef struct {
uint8_t primarySecureKey[SEC_KEY_SIZE];
uint8_t secondarySecureKey[SEC_KEY_SIZE];

uint8_t reserved3[32];
} BS2SystemConfigExt;
  1. primarySecureKey

    Primary encryption key used between master and slave devices.

  2. secondarySecureKey

    Secondary encryption key used between master and slave devices.

  3. reserved3

    Reserved 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;
  1. serverUrl

    URL of the SIP server.

  2. serverPort

    Port number of the SIP server.

  3. userID

    User ID to access the SIP server.

  4. userPW

    Password that is used to access the SIP server.

  5. exitButton

    Button to be used as an exit button. (*, #, 0~9)

    ValueDescription
    0-
    1#
    2 ~ 110 ~ 9
  6. dtmfMode

    Tone of the keypad.

  7. bUse

    Flag that determines whether the VoIP feature is used.

  8. reseverd

    Reserved space.

  9. numPhonBook

    Number of phone books.

  10. phonebook

    List of extension numbers, which can be configured up to 32.

  11. reserved2

    Reserved 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;
  1. securityLevel

    Face authentication security level. This is used across the system. .

    ValueDescription
    0Basic
    1Highly secure
    2Most highly secure
  2. lightCondition

    Configuration of the light condition.

    ValueDescription
    0Indoor
    1Outdoor
    2Automatic
    3+ v2.8 Not used
    情報
    • 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

  3. enrollThreshold

    Threshold of face enrollment. It determines how much movement of pose is allowed when enrolling the face.

    ValueDescription
    0THRESHOLD_0 (Most strict)
    1THRESHOLD_1
    2THRESHOLD_2
    3THRESHOLD_3
    4THRESHOLD_4 (Default)
    5THRESHOLD_5
    6THRESHOLD_6
    7THRESHOLD_7
    8THRESHOLD_8
    9THRESHOLD_9 (Least strict)
  4. detectSensitivity

    Configuration of sensitivity on detecting the face.

    ValueDescription
    0Off
    1Low
    2Medium
    3High
  5. enrollTimeout

    IR Face supported Timeout period of face scanning which is 60 seconds by default.

    ValueDescription
    BS2_FACE_ENROLL_TIMEOUT_MIN30
    BS2_FACE_ENROLL_TIMEOUT_MAX60
    BS2_FACE_ENROLL_TIMEOUT_DEFAULTBS2_FACE_ENROLL_TIMEOUT_MAX

    Visual Face supported: + v2.7.1 Face scan wait time, default is 20 seconds.

    ValueDescription
    BS2_FACE_EX_ENROLL_TIMEOUT_MIN10
    BS2_FACE_EX_ENROLL_TIMEOUT_MAX20
    BS2_FACE_EX_ENROLL_TIMEOUT_DEFAULTBS2_FACE_EX_ENROLL_TIMEOUT_MAX
  6. 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.

    ValueDescription
    0Not Use
    1Strict
    2More Strict
    3Most Strict
  7. 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.

  8. previewOption

    + v2.6.3 IR camera preview option when you authenticate with the face.

    Only used to FaceLite.

    ValueDescription
    0Preview not used
    1Preview not used at first of authentication, preview at 1/2 stage
    2Preview of all stages on authentication
  9. checkDuplicate

    + v2.6.4 Check whether the scanned face is duplicated in the device.

  10. operationMode

    + v2.7.1 FaceStation F2 V1.0.0 can be set to the following operation modes, default is Fusion mode.

    ValueModeDescriptionDefault
    0Fusion ModeVisual matching + IR matchingDefault
    1Visual ModeVisual matching
    2Visual + IRVisual matching, IR detects only face

    FaceStation F2 V1.0.1 or later versions, Visual Face based are used in the following sense.

    ValueModeDescriptionDefault
    0Fusion ModeVisual matching + IR matchingDefault
    1Fast ModeVisual matching
  11. 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

    DefinitionValue
    BS2_MAX_ROTATION_DEFAULT15
    BS2_MAX_ROTATION_ANGLE_1515
    BS2_MAX_ROTATION_ANGLE_3030
    BS2_MAX_ROTATION_ANGLE_4545
    BS2_MAX_ROTATION_ANGLE_6060
    BS2_MAX_ROTATION_ANGLE_7575
    BS2_MAX_ROTATION_ANGLE_9090
    BS2_MAX_ROTATION_ANGLE_MAX90
  12. 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)
    FSF266250
    BS3130350
    BEW3130350
  13. 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)
    FSF2144432
    BS390540
    BEW390540
  14. 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 rangeMax limit for min detection rangeMin detection range(Default)Min limit for max detection rangeMax limit for max detection rangeMax sensing range(No limit)Max sensing range(Default)
    FSF2301303040130255130
    BS3301003040100255100
    BEW3301003040100255100
  15. 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.

  16. unused

    Reserved space.

  17. 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.

  18. reserved

    Reserved 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;
  1. baudRate

    The RS-485 communication speed which can be configured as below.

    Value
    9600
    19200
    38400
    57600
    115200
  2. channelIndex

    Communication channel index of the RS-485 network.

  3. useRegistance

    Decides whether to use a resistance.

  4. numOfDevices

    Number of slave devices.

  5. slaveDevices

    List of slave devices, which can be configured up to 32 devices.

  6. mode

    Decides the operating mode on the RS-485 network.

    ValueDescription
    1Master
    2Slave
    3Standalone

    CoreStation can only be used as a Master. Other values cannot be configured.

  7. numOfChannels

    Number of RS-485 channel.

  8. reserved

    Reserved space.

  9. reserved1

    Reserved space.

  10. channels

    List 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;
  1. oid_ADF

    ADF Address (Non changable)

  2. size_ADF

    ADF size

  3. reserved1

    Reserved sapce

  4. oid_DataObjectID

    DataObject ID

  5. size_DataObject

    DataObject size

  6. primaryKeyAuth

    Primary encryption key to access the Seoscard information

  7. secondaryKeyAuth

    Secondary encryption key to access the Seoscard information

  8. reserved2

    Reserved space

  9. seos

    BS2SeosCard information

  10. reserved

    Reserved 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;
  1. year

    Means year, and if set to 0, it means yearly.

  2. month

    Means month, and has a value between 0 and 11 [January-December].

  3. ordinal

    It starts with 0 and means the order of first, second, etc.

  4. weekDay

    Day of the week, 0 means Sunday, 1 means Monday.

  5. hour

    Specifies the time in 24-hour format.

  6. minute

    Specifies the minute.

  7. second

    Specifies the seconds.

  8. startTime

    It means start date and time.

  9. endTime

    It means the end date.

  10. timeOffset

    You can apply the DST time in seconds.

    For example, if you want to apply 1 hour, enter 3600.

  11. reserved

    Reserved space.

  12. numSchedules

    The number of DST schedules to apply.

  13. schedules

    DST 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;
  1. configMask

    Mask value of the configuration to be retrieved or set.

    ValueDescription
    0x0000None
    0x0001Factory configuration
    0x0002System configuration
    0x0004TCP/IP configuration
    0x0008RS485 configuration
    0x0010Wireless LAN configuration
    0x0020Authentication configuration
    0x0040Card configuration
    0x0080Fingerprint configuration
    0x0100Face configuration
    0x0200Trigger Action configuration
    0x0400Display configuration
    0x0800Sound configuration
    0x1000Status Signal(LED, Buzzer) configuration
    0x2000Wiegand configuration
    0x4000USB configuration
    0x8000Time and Attendance configuration
    0x10000Videophone configuration
    0x20000Interphone configuration
    0x40000Voice over IP configuration
    0x80000Input(Supervised input) configuration
    0x100000Wiegand IO Device configuration
    0x200000Time and Attendance configuration
    0x400000DNS and Server url configuration
    0x800000Event configuration
    0x10000001x Card configuration
    0x2000000Multi-Wiegand configuration
    0x4000000Extended System configuration
    0x8000000Daylight Saving configuration [Deprecated]
    0x10000000RS485 Extended configuration
    0x20000000Extended Card configuration
    0x40000000Daylight Saving configuration
    0xFFFFFFFFAll 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;
  1. useIPV6

    Flag indicating whether to use IP V6.

  2. reserved1

    Reserved space.

  3. useDhcpV6

    Flag indicating whether to use DHCP.

  4. useDnsV6

    Decides whether to use server address or server URL.

  5. staticIpAddressV6

    Static IP V6 address of current device.

  6. staticGatewayV6

    Static IP V6 address of gateway.

  7. dnsAddrV6

    DNS address.

  8. serverIpAddressV6

    IP address of BioStar. Used only in the server mode.

  9. serverPortV6

    Port number of BioStar. Used only in the server mode.

  10. sslServerPortV6

    Used when the connectionMode is set as server SSL mode, which is the port of the SDK application.

  11. portV6

    Port number of the device.

  12. numOfAllocatedAddressV6

    The number of IP V6 address currently assigned to the device.

  13. numOfAllocatedGatewayV6

    The number of gateway address currently assigned to the device.

  14. reserved

    Reserved space.

  15. allocatedIpAddressV6

    The IP V6 address currently assigned to the device.

  16. allocatedGatewayV6

    The 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
  1. appMasterKey

    Application master key of DesFire.

  2. fileReadKey

    The key used to read the file.

  3. fileWriteKey

    The key used to write the file.

  4. fileReadKeyNumber

    The index of the key for reading the file.

  5. fileWriteKeyNumber

    The index of the key for writing the file.

  6. reserved

    Reserved space.

  7. desfireAppKey

    A structure containing DesFire key information.

  8. reserved

    Reserved 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;
  1. extAuthSchedule

    Schedule 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.

    ValueCodeDescription
    11BS2_EXT_AUTH_MODE_FACE_ONLYFace
    12BS2_EXT_AUTH_MODE_FACE_FINGERPRINTFace + Fingerprint
    13BS2_EXT_AUTH_MODE_FACE_PINFace + PIN
    14BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_OR_PINFace + Fingerprint/PIN
    15BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_PINFace + Fingerprint + PIN
    16BS2_EXT_AUTH_MODE_FINGERPRINT_ONLYFingerprint
    17BS2_EXT_AUTH_MODE_FINGERPRINT_FACEFingerprint + Face
    18BS2_EXT_AUTH_MODE_FINGERPRINT_PINFingerprint + PIN
    19BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_OR_PINFingerprint + Face/PIN
    20BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_PINFingerprint + Face + PIN
    21BS2_EXT_AUTH_MODE_CARD_ONLYCard
    22BS2_EXT_AUTH_MODE_CARD_FACECardn + Face
    23BS2_EXT_AUTH_MODE_CARD_FINGERPRINTCard + Fingerprint
    24BS2_EXT_AUTH_MODE_CARD_PINCard + PIN
    25BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINTCard + Face/Fingerprint
    26BS2_EXT_AUTH_MODE_CARD_FACE_OR_PINCard + Face/PIN
    27BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_OR_PINCard + Fingerprint/PIN
    28BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_OR_PINCard + Face/Fingerprint/PIN
    29BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINTCard + Face + Fingerprint
    30BS2_EXT_AUTH_MODE_CARD_FACE_PINCard + Face + PIN
    31BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACECard + Fingerprint + Face
    32BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_PINCard + Fingerprint + PIN
    33BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_PINCard + Face/Fingerprint + PIN
    34BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT_OR_PINCard + Face + Fingerprint/PIN
    35BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE_OR_PINCard + Fingerprint + Face/PIN
    36BS2_EXT_AUTH_MODE_ID_FACEID + Face
    37BS2_EXT_AUTH_MODE_ID_FINGERPRINTID + Fingerprint
    38BS2_EXT_AUTH_MODE_ID_PINID + PIN
    39BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINTID + Face/Fingerprint
    40BS2_EXT_AUTH_MODE_ID_FACE_OR_PINID + Face/PIN
    41BS2_EXT_AUTH_MODE_ID_FINGERPRINT_OR_PINID + Fingerprint/PIN
    42BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_OR_PINID + Face/Fingerprint/PIN
    43BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINTID + Face + Fingerprint
    44BS2_EXT_AUTH_MODE_ID_FACE_PINID + Face + PIN
    45BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACEID + Fingerprint + Face
    46BS2_EXT_AUTH_MODE_ID_FINGERPRINT_PINID + Fingerprint + PIN
    47BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_PINID + Face/Fingerprint + PIN
    48BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT_OR_PINID + Face + Fingerprint/PIN
    49BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE_OR_PINID + Fingerprint + Face/PIN
  2. useGlobalAPB

    This flag determines whether to enable Global APB zone.

  3. globalAPBFailAction

    This is a basic action to be performed when the device cannot query the server for Global APB violation.

    ValueDescription
    0Do not check APB
    1Soft APB
    2Hard APB
  4. useGroupMatching

    Enables facial group matching.

  5. reserved

    Reserved space.

  6. reserved2

    Reserved space.

  7. usePrivateAuth

    Enable private authentication mode.

  8. faceDetectionLevel

    This 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.

    ValueDescription
    0Do not detect face
    1Normal mode
    2Strict mode

    It is available only in BioStation A2, not available in FaceStation 2 or FaceLite.

  9. useServerMatching

    Enable server matching for fingerprint matching or facial matching.

  10. useFullAccess

    This parameter is not in use.

  11. matchTimeout

    The maximum response time in fingerprint or facial matching and the unit is seconds(sec).

  12. authTimeout

    The maximum response time in user authentication and the unit is seconds(sec).

  13. numOperators

    The number of operators.

  14. reserved3

    Reserved

  15. userID

    User ID

  16. level

    It specifies the corresponding level of the user when the user is authenticated.

    ValueDescription
    0No level
    1Operator level
    2System configuration level
    3User information level
    注意

    You must specify the number of operators to be added in the field numOperators when adding operators.

  17. reserved

    Reserved

  18. reserved4

    Reserved

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;
  1. thermalCheckMode

    Sets 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.

    ValueDescriptionDefault
    0No useDefault
    1Thermal Check Mode (HARD)
    2Thermal Check Mode (SOFT)
  2. maskCheckMode

    Visual 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.

    ValueDescriptionDefault
    0No useDefault
    1Mask Check Mode (HARD)
    2Mask Check Mode (SOFT)
    3Require no mask
  3. reserved

    Reserved

  4. thermalFormat

    Represents the temperature unit. You may choose the unit in Fahrenheit or Celsius

    ValueDescriptionDefault
    0Fahrenheit
    1CelsiusDefault
  5. reserved2

    Reserved

  6. thermalThresholdLow

    This 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.

  7. thermalThresholdHigh

    This 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.

  8. maskDetectionLevel

    Visual Face based Sets the mask detection level. The detecting level is based on internal setting value.

    ValueDescriptionDefault
    0No detectionDefault
    1Detection level (Normal)
    2Detection level (High)
    3Detection level (Very high)
  9. auditTemperature

    Decides whether the measured temperature is recorded in the log or not.

  10. useRejectSound

    Decides whether it sounds when rejecting a user due to thermalThreshold or maskDetectionLevel.

  11. useOverlapThermal

    Displays a thermal image overlaid on the screen.

  12. useDynamicROI

    When set to true, when measuring temperature, the user's forehead is found and measured, not a fixed area.

  13. faceCheckOrder

    It 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

    ValueDescriptionDefault
    0Check after authenticationDefault
    1Check before authentication-
    2No 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;
  1. distance

    The distance measured by the thermal imaging camera. The unit is cm, and the default is 100.

  2. emissionRate

    The 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.

  3. roi

    ROI (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.

  4. useBodyCompensation

    It decides whether to use the compensate the body temperature.

  5. compensationTemperature

    There 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;
  1. useBarcode

    Supports XS2-QR models only Barcode usage flag.

  2. scanTimeout

    Set 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.

    ValueMacroDescription
    4BS2_BARCODE_TIMEOUT_DEFAULTDefault
    4BS2_BARCODE_TIMEOUT_MINMin Value
    10BS2_BARCODE_TIMEOUT_MAXMax Value
  3. 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.

  4. 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.

  5. useVisualBarcode

    + v2.9.1 Visual barcode usage flag.

    Supported devicesFirmware
    XS2-FingerV1.2.0
    XS2-CardV1.2.0
    BS3V1.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.

  6. motionSensitivity

    + v2.9.1 Set the sensitivity of motion sensor for visual barcode.

    ValueMacroDescription
    0BS2_MOTION_SENSITIVITY_LOWLow
    1BS2_MOTION_SENSITIVITY_NORMALNormal
    2BS2_MOTION_SENSITIVITY_HIGHHigh
  7. 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.

    ValueMacroDescription
    10BS2_VISUAL_BARCODE_TIMEOUT_DEFAULTDefault
    3BS2_VISUAL_BARCODE_TIMEOUT_MINMin Value
    20BS2_VISUAL_BARCODE_TIMEOUT_MAXMax Value
  8. useQRDetectGuideLed

    + v2.9.12 Sets whether to display guidelines (outlines) on the XPass Q2 screen to assist with QR code recognition.

  9. reserved

    Reserved 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;
  1. ​numInputs

    Number of Input port.

  2. ​numSupervised

    Number of supervised input port.

  3. 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 NameIndex
    AC Fail0
    TAMPER1
    FIRE2
  4. aux0Type, aux1Type, aux2Type

    + v2.9.9 Sets the Aux input signal type.

    ValueDescription
    0Normally Open
    1Normally Closed
  5. ​reserved*

    Reserved Space.

  6. ​portIndex*

    Input Port Number.

  7. switchType

    Input Signal Type.

    ValueDescription ​
    0Normally Open
    1Normally Closed ​
  8. ​duration

    Input Signal Duration Time Measurement is milliseconds(ms).

  9. ​reserved​

    Reserved Space.

  10. ​supervisedResistor

    You can set Supervised input resistance value type or unsupervise it.

    ValueDescription ​
    01K Resistance ​
    12.2K Resistance ​
    24.7K Resistance ​
    310K Resistance ​
    254Unsupervised(Default) ​
  11. ​reserved2

    Reserved Space.

  12. ​reserved2

    Reserved 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;
  1. ​deviceID*

    Device Identifier

  2. ​reserved

    Reserved Space.

  3. relay

    Relay Setting Information

  4. port

    Relay port Number.

  5. ​reserved0

    Reserved Space.

  6. ​disconnEnabled*

    If set to true, a signal is made when RS485 is disconnected.

  7. ​reserved

    Reserved Space.

  8. input

    Defines to which input ports the relay ports will take action.

  9. port

    Input port Identifier.

  10. type

    Defines in which input type the input will take action.

    If set to Linkage, signal can be made when alarm is set to mask.

    typeValueDescription ​
    NONE0OFF ​
    LINKAGE ​1Connect to the relay of the input ​
    LATCHING ​2​Not Supported ​
    RELEASE ​3​Not Supported ​
  11. mask

    Set mask to Input Signal Info.

    typeValueDescription
    NONE0OFF ​
    ALARM ​1Signal Made ​
    FAULT ​2Signal Made when disconnected ​
  12. ​reserved

    Reserved Space.

  13. ​reserved2

    Reserved 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;
  1. phoneNumber

    This is the extension.

  2. description

    Display information.

  3. reserved

    Reserved space.

  4. enabled

    Sets whether the VoIP extension feature is enabled.

  5. useOutboundProxy

    Sets whether the Outbound Proxy Server is configured.

  6. registrationDuration

    The cycle of updating the relevant information to the SIP server.

    Set in seconds and must be between 60 and 600.

  7. address

    Enter the IP address of the SIP server (usually BioStar).

  8. port

    Enter the SIP server port. The default port is 5060.

  9. speaker

    Enter the speaker volume information for the intercom in the range 0 to 100. The default value is 50.

  10. mic

    Enter the microphone volume information for the intercom in the range 0 to 100. The default value is 50.

  11. id

    Enter the ID to connect to the SIP server.

  12. password

    Specifies the password to connect to the SIP server.

  13. authorizationCode

    The authentication code value required to connect to the SIP server.

  14. outboundProxy

    Enter Outbound proxy server information.

  15. address

    Enter the IP address of the Outbound Proxy Server.

  16. port

    Enter the Outbound Proxy Server port.

  17. reserved

    Reserved space.

  18. exitButton

    Button symbol to be used as a check-out button.

    ValueDescription
    ** ASCII code 42
    ## ASCII code 35
    0~90 ~ 9 ASCII code (48~57)
  19. reserved1

    Reserved space.

  20. numPhoneBook

    Number of phone books.

  21. showExtensionNumber

    Determines whether to show the phone book.

  22. phonebook

    You can specify up to 128 extensions in your phone book.

  23. resolution

    + v2.9.8 Sets the resolution of video output.

    ValueDescription
    0360 x 640
    1720 x 480
  24. transport

    + v2.9.8 Sets the data transfer method.

    ValueDescription
    0UDP
    1TCP
    2SSL
  25. reserved2

    Reserved 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;
  1. id

    Account information when connecting to the RTSP server.

  2. password

    Password when connecting to the RTSP server.

  3. address

    Enter the address of the RTSP server.

  4. port

    Enter the RTSP server connection port. The default port is 554.

  5. enabled

    Sets whether an RTSP connection is enabled.

  6. reserved

    Reserved space.

  7. resolution

    + v2.9.8 Sets the resolution of video output.

    ValueDescription
    0180 x 320
    1720 x 480
  8. reserved2

    Reserved 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;
  1. index

    License index.

  2. hasCapability

    Whether the device supports that license.

    It usually has a value of 1.

  3. enable

    Whether the license is active.

  4. reserved

    Reserved Space.

  5. licenseType

    The type of license.

    ValueDescription
    0x0000None
    0x0001Visual QR
  6. licenseSubType

    Detailed form of licenseType

    ValueDescription
    0None
    1Visual QR (CodeCorp)
  7. enableTime

    License activation start time, expressed in POSIX time.

  8. expiredTime

    License activation end time, 0 means unlimited.

  9. issueNumber

    Issuing unique number.

  10. name

    License 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;
  1. version

    Version of the license settings information.

  2. numOfLicense

    Number of licenses registered

  3. reserved

    Reserved Space.

  4. license

    License information and can be set up to 16.

  5. reserved1

    Reserved 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
  1. baudRate

    This is the baud rate of the OSDP device and the range that can be set is as follows.

    Value
    9600
    19200
    38400
    57600
    115200
  2. channelIndex

    This is the channel number when the OSDP device communicates with RS485.

  3. useRegistance

    Registance flag - no effect on operation.

  4. numOfDevices

    Number of slave devices.

  5. channelType

    Indicates 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.

    ValueDescription
    0Normal
    1Suprema Device
    2OSDP Device
    3OSDP Device FULL
  6. slaveDevices

    Slave device information within the channel.

  7. reserved

    Reserved Space.

  8. mode

    It 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.

    ValueDescription
    0Not used
    1Master
    2Slave
    3Standalone (Default)
  9. numOfChannels

    Number of channel. CoreStation40 has a total of 5 channels.

  10. reserved

    Reserved Space.

  11. reserved1

    Reserved Space.

  12. channels

    OSDP 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
  1. use

    Indicates whether to use LED action.

  2. readerNumber

    The sequence number of the OSDP device.

  3. ledNumber

    The LED sequence number of the OSDP device.

  4. tempCommand

    Temporary command.

    ValueDescription
    0No Operation
    1Cancel
    2Set
  5. tempOnTime

    Indicates 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.

  6. tempOffTime

    Indicates 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.

  7. tempOnColor

    Sets the LED color of the on state for Temporary command.

    ValueDescription
    0BLACK
    1RED
    2GREEN
    3AMBER
    4BLUE
    5MAGENTA
    6CYAN
    7WHITE
  8. tempOffColor

    Sets the LED color of the off state for Temporary command.

    ValueDescription
    0BLACK
    1RED
    2GREEN
    3AMBER
    4BLUE
    5MAGENTA
    6CYAN
    7WHITE
  9. tempRunTime

    Sets 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.

  10. permCommand

    Permanent command.

  11. permOnTime

    Indicates the LED on time for Permanent command, set in units of 100 ms.

  12. permOffTime

    Indicates the LED off time for Permanent command, set in units of 100 ms.

  13. permOnColor

    Sets the LED color of the on state for Permanent command.

  14. permOffColor

    Sets the LED color of the off state for Permanent command.

  15. reserved

    Reserved Space.

  16. use

    Indicates whether to use tone action.

  17. readerNumber

    The sequence number of the OSDP device.

  18. tone

    Set the buzzer.

    ValueDescription
    0None
    1Off
    2On
  19. onTime

    Set the on-state holding time for tone in units of 100 ms.

  20. offTime

    Set the off state holding time for tone in units of 100 ms.

  21. numOfCycle

    Set the number of times to repeat On/Off for tone. When set to 0, it means infinite repetition.

  22. reserved

    Reserved Space.

  23. actionType

    Set the action.

    ValueDescription
    0None
    1Success
    2Fail
    3Wait input
  24. reserved

    Reserved Space.

  25. led

    LED setting information of OSDP device.

  26. buzzer

    Buzzer setting information of OSDP device.

  27. version

    Version information about Action configuration. Currently it is 0.

  28. reserved

    Reserved Space.

  29. actions

    LED/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;
  1. primaryKey

    Primary encryption key to access the Mifare card information.

  2. reserved1

    Reserved space.

  3. secondaryKey

    Secondary encryption key to access the Mifare card information.

  4. reserved2

    Reserved space.

  5. startBlockIndex

    Start block index on the Mifare data storage.

  6. dataSize

    The size in bytes of the card data.

  7. skipBytes

    This 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.

  8. reserved

    Reserved 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
  1. primaryKey

    Primary encryption key to access the DesFire card information. (General settings)

  2. secondaryKey

    Secondary encryption key to access the Desfire card information. (General settings)

  3. appID

    Application Id that is stored inside the DesFire card for user authentication.

  4. fileID

    File ID that is stored inside the DesFire card, which will be used by the application to read and write data.

  5. encryptionType

    Type of data encryption.

    ValueDescription
    0DES/3DES
    1AES
  6. operationMode

    Operation mode.

    ValueDescription
    0Using general settings (Using PICC master key)
    1Using advanced settings (Using App master key)
  7. dataSize

    The size in bytes of the card data.

  8. skipBytes

    This 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.

  9. reserved

    Reserved space.

  10. desfireAppKey

    Indicates 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;
  1. primaryKey

    The first encryption key for accessing Mifare card information.

  2. secondaryKey

    The second encryption key for accessing Mifare card information.

  3. startBlockIndex

    The start block index in Mifare data storage.

  4. datasize

    Indicates the size of the card data in bytes.

  5. skipBytes

    Indicates 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.

  6. reserved

    Reserved space.

  7. dataType

    Type of card data.

    ValueDescription
    0Binary
    1ASCII
    2UTF16
    3BCD
  8. useSecondaryKey

    Decides whether to use the secondary encryption key.

  9. reserved1

    Reserved space.

  10. mifare

    Set the Mifare custom card information.

  11. desfire

    Set the DESFire custom card information.

  12. mifareEx

    + v2.9.9 Saves the setting information used for AES128-encrypted Mifare Custom cards on the device.

  13. 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 BS2CustomMifareCard are applied. When set to AES128, applied to mifareEx settings of BS2CustomMifareConfigEx.

    ValueDescription
    0CRYPTO1
    1AES128
  14. reserved3

    Reserved space.

  15. smartCardByteOrder

    The output method can be selected from MSB or LSB.

    ValueDescription
    0MSB
    1LSB
  16. reserved4

    Reserved space.

  17. formatID

    This is an identifier that can be used when the BioStar 2 application needs to manage the card configuration as a database.

  18. reserved5

    Reserved 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;
  1. primaryKey

    This is the first encryption key for accessing Mifare card information.

  2. secondaryKey

    This is the second encryption key for accessing Mifare card information.

  3. startBlockIndex

    This is the start block index in Mifare data storage.

  4. reserved

    Reserved 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;
  1. numFacilityCode

    Set the number of FacilityCode to set. Up to 16 are supported.

  2. reserved0

    Reserved space.

  3. BS2FacilityCode

    Used as an authentication code when the OSDP connection between the Door Interface (DI-24) and the master device is lost.

  4. reserved1

    Reserved 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)

  1. baudRate

The RS-485 communication speed which can be configured as below.

값
9600
19200
38400
57600
115200
  1. channelIndex

    Communication channel index of the RS-485 network.

  2. useRegistance

    Decides whether to use a resistance.

  3. numOfDevices

    Number of slave devices.

  4. channelType

    Type of slave device connected to the port.

    ValueDescription
    0No connection
    1Suprema device
    2OSDP standard device
    3Cannot connect anymore
  5. slaveDevices

    List of slave devices connected to the device.

    Maximum Number of Devices Connectable per Port

    PortCount
    Host port16
    Port 02
    Port 12
  6. mode

    This flag determines the operating mode on the RS485 network.

    ValueDescription
    1Master
    2Slave
    3Standalone

    CoreStation can only be used as a Master. Other values cannot be configured.

  7. numOfChannels

    Number of RS485 channel.

  8. reserved

    Reserved space.

  9. reserved1

    Reserved space.

  10. channels

    List of RS-485 channels, which can be configured up to 8 channels.

脚注​

  1. Maximum Transmission Unit ↩

  2. Most Significant Bit ↩

  3. Least Significant Bit ↩

このページは役に立ちましたか?