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 [2018/07/24 14:44]
yjjung [BS2AuthConfig]
en:configuration_api [2020/02/18 10:00]
yjjung [Configuration API]
Line 57: Line 57:
   * [[BS2_GetCardConfigEx]]:​ Retrieves iClass SEOS card settings from the device.   * [[BS2_GetCardConfigEx]]:​ Retrieves iClass SEOS card settings from the device.
   * [[BS2_SetCardConfigEx]]:​ Stores iClass SEOS card settings on the device.  ​   * [[BS2_SetCardConfigEx]]:​ Stores iClass SEOS card settings on the device.  ​
-  * [[BS2_GetDstConfig]]:​​ ​Gets the device DST information. +  * [[BS2_GetDstConfig]]:​​ ​Retrieves ​the device DST information. 
-  * [[BS2_SetDstConfig]]:​​ ​Sets the device DST information.+  * [[BS2_SetDstConfig]]:​​ ​Stores ​the device DST information
 +  * [[BS2_GetSupportedConfigMask]]:​ Retrieves supported configuration of the device. 
 +  * [[BS2_GetIPConfigViaUDPEx]]:​ [+ 2.6.3] Retrieves IP configuration through UDP broadcast with host IP.  
 +  * [[BS2_SetIPConfigViaUDPEx]]:​ [+ 2.6.3] Stores IP configuration through UDP broadcast with host IP.  
 +  * [[BS2_GetIPV6Config]]:​ [+ 2.6.3] Retrieves IPv6 configuration information.  
 +  * [[BS2_SetIPV6Config]]:​ [+ 2.6.3] Stores IPv6 configuration information. 
 +  * [[BS2_GetIPV6ConfigViaUDP]]:​ [+ 2.6.3] Retrieves IPv6 configuration through UDP broadcast. 
 +  * [[BS2_SetIPV6ConfigViaUDP]]:​ [+ 2.6.3] Stores IPv6 configuration through UDP broadcast. 
 +  * [[BS2_GetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] Retrieves IPv6 configuration through UDP broadcast with host IP.  
 +  * [[BS2_SetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] Stores IPv6 configuration through UDP broadcast with host IP
 \\ \\
 ===== Structure ===== ===== Structure =====
Line 127: Line 136:
     uint32_t cameraFrequency; ​     uint32_t cameraFrequency; ​
     bool secureTamper;​​ ​     bool secureTamper;​​ ​
-private: ​  +    ​bool reserved0    ​// (write protected) 
-    ​bool tamperOn​    ​// (write protected)  +    uint8_t reserved[2];​
-    uint8_t reserved[2];​​      ​+
     uint8_t ​reserved2[20]; ​         uint8_t ​reserved2[20]; ​    
 } BS2SystemConfig;​ } BS2SystemConfig;​
Line 146: Line 154:
 Decides whether to use intercom. \\ \\  Decides whether to use intercom. \\ \\ 
 **7. //​useUSBConnection//​** \\  **7. //​useUSBConnection//​** \\ 
-Decides whether to use USB connection. \\ \\ +This is not used anymore. (The device automatically detects ​USB connection.\\ \\ 
 **8. //​keyEncrypted//​** \\  **8. //​keyEncrypted//​** \\ 
 Decides whether to use OSDP secure key. \\ \\  Decides whether to use OSDP secure key. \\ \\ 
Line 164: Line 172:
 Flag to determine whether to use a security tamper. \\ 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) \\ \\ When Tamper on, the following data is deleted from the device. (User, log, data encryption key, SSL certificate) \\ \\
-**13. //tamperOn//** \\  +**13. //reserved0//** \\  
-The information to manage the tampering internally, which should not be set. \\ +Reserved space. \\ \\  
-Be sure to call [[BS2_SetSystemConfig]] after completing the necessary settings except for tamperOn after [[BS2_GetSystemConfig]]. \\ \\ +**14. //reserved//** \\ 
-**14. //reserved1//** \\ +
 Reserved space. \\ \\  Reserved space. \\ \\ 
 **15. //​reserved2//​** \\  **15. //​reserved2//​** \\ 
Line 197: Line 204:
 </​code>​ </​code>​
 **1. //​authSchedule//​** \\  **1. //​authSchedule//​** \\ 
-<code cpp> 
-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;​ 
-</​code>​ 
-1. //​authSchedule//​ \\  
 Stores schedules for different types of authentication modes. \\ \\  Stores schedules for different types of authentication modes. \\ \\ 
-It has the following meanings in the order of the array. \\+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. \\ 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. \\ Biometric information in the descriptions below refers to the fingerprint or face depending on the device. \\
-<WRAP group 50%> +<WRAP group 60%> 
-^Order ^Code  ^Description ​ ^+^Value ^Code  ^Description ​ ^
 |0  |BS2_AUTH_MODE_BIOMETRIC_ONLY ​ |Biometric only | |0  |BS2_AUTH_MODE_BIOMETRIC_ONLY ​ |Biometric only |
 |1  |BS2_AUTH_MODE_BIOMETRIC_PIN ​ |Biometric + PIN  | |1  |BS2_AUTH_MODE_BIOMETRIC_PIN ​ |Biometric + PIN  |
Line 257: Line 240:
 **7. //​faceDetectionLevel//​** \\  **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.\\ 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. 
 <WRAP group 50%> <WRAP group 50%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
Line 264: Line 248:
 </​WRAP>​ </​WRAP>​
 <WRAP info> <WRAP info>
-Only valid for devices ​with a camera.+Only valid for A2. Not used with FaceStation2 or FaceLite.
 </​WRAP>​ </​WRAP>​
 **8. //​useServerMatching//​** \\  **8. //​useServerMatching//​** \\ 
Line 416: Line 400:
 |0  |12 hour  | |0  |12 hour  |
 |1  |24 hour  | |1  |24 hour  |
-However, BioStation 2 and BioStation L2 have opposite settings.(0 = 24 hour / 1 = 12 hour) +However, ​Linux OS devices like BioStation 2BioStation L2, BioLite N2 and FaceLite ​have opposite settings.(0 = 24 hour / 1 = 12 hour) 
 </​WRAP>​ </​WRAP>​
 **12. //​homeFormation//​** \\  **12. //​homeFormation//​** \\ 
Line 596: Line 580:
     uint8_t fileID;     uint8_t fileID;
     uint8_t encryptionType;​     uint8_t encryptionType;​
-    uint8_t reserved[3];+    ​uint8_t operationMode;​ 
 +    ​uint8_t reserved[2];
 } BS2DesFireCard;​ } BS2DesFireCard;​
  
Line 608: Line 593:
     BS2DesFireCard desfire;     BS2DesFireCard desfire;
     uint8_t formatID;     uint8_t formatID;
 +    uint8_t cipher;
     uint8_t reserved[24];​     uint8_t reserved[24];​
 } BS2CardConfig;​ } BS2CardConfig;​
Line 641: Line 627:
 File ID that is stored inside the DesFire card, which will be used by the application to read and write data.\\ \\  File ID that is stored inside the DesFire card, which will be used by the application to read and write data.\\ \\ 
 **15. //​encryptionType//​** \\  **15. //​encryptionType//​** \\ 
-Type of data encryption. AES will be supported soon.\\ +Type of data encryption.\\ ​
 <WRAP group 50%> <WRAP group 50%>
 ^Value ​ ^Description ​ ^ ^Value ​ ^Description ​ ^
Line 647: Line 633:
 |1  |AES  | |1  |AES  |
 </​WRAP>​ </​WRAP>​
-**16. //​reserved//​** \\ +**16. //​operationMode//​** \\  
 +Operation mode. (operationMode will be supported soon.)\\  
 +<WRAP group 50%> 
 +^Value ​ ^Description ​ ^ 
 +|0  |Lagacy mode (Using PICC master key)  | 
 +|1  |New mode (Using App master key)  | 
 +</​WRAP>​ 
 +**17. //​reserved//​** \\ 
 Reserved space.\\ \\  Reserved space.\\ \\ 
-**17. //​byteOrder//​** \\ +**18. //​byteOrder//​** \\ 
 Order of how the byte of the card is stored. When it is set as 0, will function as MSB((Most Significant Bit)). When it is set as 1, will function as LSB((Least Significant Bit)). \\ \\  Order of how the byte of the card is stored. When it is set as 0, will function as MSB((Most Significant Bit)). When it is set as 1, will function as LSB((Least Significant Bit)). \\ \\ 
-**18. //​useWiegandFormat//​** \\ +**19. //​useWiegandFormat//​** \\ 
 Decides whether to use Wiegand format.\\ \\  Decides whether to use Wiegand format.\\ \\ 
-**19. //​dataType//​** \\ +**20. //​dataType//​** \\ 
 Type of card data. \\  Type of card data. \\ 
 <WRAP group 50%> <WRAP group 50%>
Line 662: Line 655:
 |3  |BCD  | |3  |BCD  |
 </​WRAP>​ </​WRAP>​
-**20. //​useSecondaryKey//​** \\ +**21. //​useSecondaryKey//​** \\ 
 Decides whether to use the secondary encryption key. \\ \\  Decides whether to use the secondary encryption key. \\ \\ 
-**21. //​formatID//​** \\ +**22. //​formatID//​** \\ 
 ID that is used when the card configuration needs to be managed from the database on the BioStar application.\\ \\  ID that is used when the card configuration needs to be managed from the database on the BioStar application.\\ \\ 
-**22. //​reserved5//​** \\ +**23. //​cipher//​** \\ 
 +Activates '​Keypad card ID' option. \\ 
 +Default value is 0, it is only valid for XPass D2 Gangbox Keypad type. \\ 
 +<WRAP group 50%> 
 +^Value ​ ^Description ​ ^ 
 +|0  |Deactivate ​ | 
 +|1  |Activate ​ | 
 +**24. //​reserved5//​** \\ 
 Reserved space. \\  ​ Reserved space. \\  ​
 +</​WRAP>​
 ==== BS2FingerprintConfig ==== ==== BS2FingerprintConfig ====
 <code cpp> <code cpp>
Line 1680: Line 1680:
 ==== BS2DstConfig ==== ==== BS2DstConfig ====
 <code cpp> <code cpp>
-<code cpp>+enum { 
 + BS2_MAX_DST_SCHEDULE = 2, 
 +}; 
 typedef struct { typedef struct {
-    uint32_t configMask+ uint16_t year; // year, 0 means every year. 
-    ​BS2FactoryConfig factoryConfig+ uint8_t month; // [0, 11] : months since January 
-    ​BS2SystemConfig systemConfig+ int8_t ordinal; // [0, -1] : first, second, ..., last 
-    ​BS2AuthConfig authConfig+ uint8_t weekDay; // [0, 6] : days since Sunday 
-    ​BS2StatusConfig statusConfig+ uint8_t hour; // [0, 23] 
-    ​BS2DisplayConfig displayConfig+ uint8_t minute; // [0, 59] 
-    ​BS2IpConfig ipConfig+ uint8_t second; // [0, 59] 
-    ​BS2IpConfigExt ipConfigExt+} BS2WeekTime
-    ​BS2TNAConfig tnaConfig; + 
-    ​BS2CardConfig cardConfig; +typedef struct { 
-    ​BS2FingerprintConfig fingerprintConfig+ BS2WeekTime startTime
-    ​BS2Rs485Config rs485Config+ BS2WeekTime endTime
-    ​BS2WiegandConfig wiegandConfig+ int32_t timeOffset; // in seconds 
-    ​BS2WiegandDeviceConfig wiegandDeviceConfig+ uint8_t reserved[4]
-    ​BS2InputConfig inputConfig+} BS2DstSchedule
-    ​BS2WlanConfig wlanConfig; + 
-    ​BS2TriggerActionConfig triggerActionConfig;​ +typedef struct { 
-    ​BS2EventConfig eventConfig+ uint8_t numSchedules
-    ​BS2WiegandMultiConfig wiegandMultiConfig+ uint8_t reserved[31]
-    ​BS1CardConfig card1xConfig;​ + 
-    BS2SystemConfigExt systemExtConfig;​ + BS2DstSchedule schedules[BS2_MAX_DST_SCHEDULE]
-    BS2VoipConfig voipConfig; +BS2DstConfig;
-    ​BS2FaceConfig faceConfig+
-BS2Configs;+
 </​code>​ </​code>​
 1. // year // \\ 1. // year // \\