Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
en:configuration_api [2023/02/28 14:39]
mwkim
en:configuration_api [2023/11/29 09:20]
kateyu [BS2SystemConfig]
Line 82: Line 82:
   * [[BS2_GetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.   * [[BS2_GetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.
   * [[BS2_SetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.   * [[BS2_SetRelayActionConfig]]:​​ [+ 2.8.1] ''​​IM-120''​​ Retrieves Configuration related to the RelayAction.
 +  * [[BS2_GetLicenseConfig]]:​ [+ 2.9.1] Gets the device license activation information.
 +  * [[BS2_GetOsdpStandardConfig]]:​ [+ 2.9.1] Get the device'​s OSDP setting information.
 +  * [[BS2_GetOsdpStandardActionConfig]]:​ [+ 2.9.1] Get the LED/buzzer settings for each action of the OSDP device.
 +  * [[BS2_SetOsdpStandardActionConfig]]:​ [+ 2.9.1] Specifies the LED/buzzer setting for each action of the OSDP device.
 +  * [[BS2_GetCustomCardConfig]]:​ [+ 2.9.4] Retrieves Custom smart card settings.
 +  * [[BS2_SetCustomCardConfig]]:​ [+ 2.9.4] Stores Custom smart card settings.
 \\ \\
 ===== Structure ===== ===== Structure =====
Line 160: Line 166:
 Represents standard time zone in seconds. \\ \\  Represents standard time zone in seconds. \\ \\ 
 **3. //​syncTime//​** \\  **3. //​syncTime//​** \\ 
-Stores when synchronization with BioStar ​has occurred. \\ \\ +This is a FLAG that determines time synchronization with the BioStar ​Server. \\ \\ 
 **4. //​serverSync//​** \\  **4. //​serverSync//​** \\ 
 Reserved variable. \\ \\ Reserved variable. \\ \\
Line 196: Line 202:
 Also, the required card type MASK should be combined with ''​CARD_OPERATION_USE''​. \\ 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. For example, useCardOperationMask needs to be configured ''​x0x80000001''​ when EM card is selected only.
-<WRAP group 50%>+<WRAP group 60%>
 ^Value ​ ^Description ^ ^Value ​ ^Description ^
 |0xFFFFFFFF ​ |CARD_OPERATION_MASK_DEFAULT ​ | |0xFFFFFFFF ​ |CARD_OPERATION_MASK_DEFAULT ​ |
 |0x80000000 ​ |CARD_OPERATION_USE ​ | |0x80000000 ​ |CARD_OPERATION_USE ​ |
 +|0x00000000 ​ |CARD_OPERATION_MASK_NONE ​ |
 +|0x00000800 ​ |CARD_OPERATION_MASK_CUSTOM_DESFIRE_EV1 ​ |
 +|0x00000400 ​ |CARD_OPERATION_MASK_CUSTOM_CLASSIC_PLUS ​ |
 |0x00000200 ​ |CARD_OPERATION_MASK_BLE ​ | |0x00000200 ​ |CARD_OPERATION_MASK_BLE ​ |
 |0x00000100 ​ |CARD_OPERATION_MASK_NFC ​ | |0x00000100 ​ |CARD_OPERATION_MASK_NFC ​ |
Line 2444: Line 2453:
     uint8_t treatAsCSN;     uint8_t treatAsCSN;
  
-    uint8_t reserved[12];+    ​uint8_t useVisualBarcode;​ 
 +    uint8_t motionSensitivity;​ 
 +    uint8_t visualCameraScanTimeout;​ 
 +    ​uint8_t reserved[9];
 } BS2BarcodeConfig;​ } BS2BarcodeConfig;​
 </​code>​ </​code>​
 1. //​useBarcode//​ \\  1. //​useBarcode//​ \\ 
 +''​Supports XS2-QR models only''​
 Barcode usage flag. \\ \\  Barcode usage flag. \\ \\ 
 2. //​scanTimeout//​ \\  2. //​scanTimeout//​ \\ 
 Set the Barcode scan time. The unit is in seconds. \\ 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.\\ \\+The default is 4 seconds, and can be entered within a range of 4 to 10 seconds. \\ \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Macro ​ ^Description ​ ^ 
 +|4  |BS2_BARCODE_TIMEOUT_DEFAULT ​ |Default ​ | 
 +|4  |BS2_BARCODE_TIMEOUT_MIN ​ |Min Value  | 
 +|10  |BS2_BARCODE_TIMEOUT_MAX ​ |Max Value  | 
 +</​WRAP>​
 3. //​bypassData//​ \\  3. //​bypassData//​ \\ 
 [+2.8.2] Used to send read barcode information to the server, not processed by the device. \\ [+2.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,​ \\ If the barcode value is stored in the user information structure for user authentication,​ \\
-There is a size constraint of 32 bytes ([[smartcard_api#​BS2CSNCard|BS2CSNCard data]])\\+There is a size constraint of 32 bytes ([[smartcard_api#​BS2CSNCard|BS2CSNCard data]]) \\
 Call the [[BS2_SetBarcodeScanListener]],​ use this option to send barcodes up to 512 bytes of size to the server. \\ \\ Call the [[BS2_SetBarcodeScanListener]],​ use this option to send barcodes up to 512 bytes of size to the server. \\ \\
 4. //​treatAsCSN//​ \\ 4. //​treatAsCSN//​ \\
 [+2.8.2] Indicates whether the Barcode should be treated the same as a regular CSN card. \\ [+2.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. \\ 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 [[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode]]) \\+This allows you to freely specify character sets that can be treated as barcodes from ASCII codes 32 to 126. (See description in [[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode]]) \\
 If set to true, the barcode is treated like a number just like the existing CSN. \\ 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. \\ 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. \\ +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//​ \\ 
-5. //​reserved//​ \\  +[+2.9.1] Visual barcode usage flag. \\ 
-Reserved ​space. \\+<WRAP group 50%> 
 +^Supported devices ​ ^Firmware ​ ^ 
 +|XS2-Finger ​ |V1.2.0 ​ | 
 +|XS2-Card ​ |V1.2.0 ​ | 
 +|BS3  |V1.1.0 ​ | 
 +</​WRAP>​ 
 +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//​ \\ 
 +[+2.9.1] Set the sensitivity of motion sensor for visual barcode. \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Macro ​ ^Description ​ ^ 
 +|0  |BS2_MOTION_SENSITIVITY_LOW ​ |Low  | 
 +|1  |BS2_MOTION_SENSITIVITY_NORMAL ​ |Normal ​ | 
 +|2  |BS2_MOTION_SENSITIVITY_HIGH ​ |High  | 
 +</​WRAP>​ 
 +7. //​visualCameraScanTimeout//​ \\ 
 +[+2.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. \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Macro ​ ^Description ​ ^ 
 +|10  |BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT ​ |Default ​ | 
 +|3  |BS2_VISUAL_BARCODE_TIMEOUT_MIN ​ |Min Value  | 
 +|20  |BS2_VISUAL_BARCODE_TIMEOUT_MAX ​ |Max Value  | 
 +</​WRAP>​ 
 +8. //​reserved//​ \\  
 +Reserved ​Space\\ \\
  
 ==== BS2InputConfigEx ==== ==== BS2InputConfigEx ====
Line 2836: Line 2882:
 Visual barcode scans QR code with a general visual camera instead of a QR code sensor, \\ 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. \\ and a separate license activation is required to use this feature. \\
-License activation is supported through [[qr_code_api#​BS2_EnableBarcodeLicense]]. \\ \\+License activation is supported through [[BS2_EnableDeviceLicense]]. \\ \\
 6. //​motionSensitivity//​ \\ 6. //​motionSensitivity//​ \\
 [+2.9.1] Set the sensitivity of motion sensor for visual barcode. \\ [+2.9.1] Set the sensitivity of motion sensor for visual barcode. \\
Line 3082: Line 3128:
 29. //actions// \\  29. //actions// \\ 
 LED/buzzer information for OSDP devices, up to 32 can be designated. \\ \\ LED/buzzer information for OSDP devices, up to 32 can be designated. \\ \\
 +
 +
 +==== BS2CustomMifareCard ====
 +<code cpp>
 +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;​
 +</​code>​
 +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 ====
 +<code cpp>
 +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
 +</​code>​
 +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.\\ ​
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |DES/​3DES ​ |
 +|1  |AES  |
 +</​WRAP>​
 +6. //​operationMode//​ \\ 
 +Operation mode. \\ 
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Using general settings (Using PICC master key)  |
 +|1  |Using advanced settings (Using App master key)  |
 +</​WRAP>​
 +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 ====
 +<code cpp>
 +typedef struct {
 + BS2_CARD_DATA_TYPE dataType;
 + BS2_BOOL useSecondaryKey;​
 + uint8_t reserved1[2];​
 +
 + BS2CustomMifareCard mifare;
 + BS2CustomDesFireCard desfire;
 + uint8_t reserved2[24];​
 + uint8_t reserved3[96];​
 +
 + BS2_CARD_BYTE_ORDER smartCardByteOrder;​
 + uint8_t reserved4[3];​
 + BS2_UID formatID;
 + uint8_t reserved5[8];​
 +} BS2CustomCardConfig;​
 +</​code>​
 +1. //​dataType//​ \\ 
 +Type of card data. \\ 
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Binary ​ |
 +|1  |ASCII ​ |
 +|2  |UTF16 ​ |
 +|3  |BCD  |
 +</​WRAP>​
 +2. //​useSecondaryKey//​ \\ 
 +Decides whether to use the secondary encryption key. \\ \\ 
 +3. //​reserved1//​ \\ 
 +Reserved space. \\ \\ 
 +4. //mifare// \\ 
 +Set the Mifare custom card information. \\ \\ 
 +5. //desfire// \\ 
 +Set the DESFire custom card information. \\ \\ 
 +6. //​reserved2//​ \\ 
 +Reserved space. \\ \\ 
 +7. //​reserved3//​ \\ 
 +Reserved space. \\ \\ 
 +8. //​smartCardByteOrder//​ \\
 +The output method can be selected from MSB or LSB. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |MSB  |
 +|1  |LSB  |
 +</​WRAP>​
 +9. //​reserved4//​ \\ 
 +Reserved space. \\ \\
 +10. //​formatID//​ \\ 
 +This is an identifier that can be used when the BioStar 2 application needs to manage the card configuration as a database. \\ \\ 
 +11. //​reserved5//​ \\ 
 +Reserved space. \\ \\