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 Both sides next revision
en:configuration_api [2022/10/05 16:45]
kkshin [BS2FaceConfig]
en:configuration_api [2023/02/28 14:39]
mwkim
Line 2717: Line 2717:
 Reserved space. \\ \\ Reserved space. \\ \\
  
 +
 +==== BS2License ====
 +<code cpp>
 +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;
 +</​code>​
 +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. \\ 
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0x0000 ​ |None  |
 +|0x0001 ​ |Visual QR  |
 +</​WRAP>​
 +6. //​licenseSubType//​ \\ 
 +Detailed form of licenseType \\ \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |None  |
 +|1  |Visual QR (CodeCorp) ​ |
 +</​WRAP>​
 +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 ====
 +<code cpp>
 +typedef struct {
 +    uint8_t ​        ​version;​
 +    uint8_t ​        ​numOfLicense;​
 +    uint8_t ​        ​reserved[2];​
 +    BS2License ​     license[BS2_MAX_LICENSE_COUNT];​
 +    uint8_t ​        ​reserved1[16];​
 +} BS2LicenseConfig;​
 +</​code>​
 +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. \\ \\
 +
 +
 +==== BS2BarcodeConfig ====
 +<code cpp>
 +typedef struct {
 +    uint8_t useBarcode;
 +    uint8_t scanTimeout;​
 +    uint8_t bypassData;
 +    uint8_t treatAsCSN;
 +
 + uint8_t useVisualBarcode;​
 + uint8_t motionSensitivity;​
 +    uint8_t visualCameraScanTimeout;​
 +    uint8_t reserved[9];​
 +} BS2BarcodeConfig;​
 +</​code>​
 +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. \\ \\
 +<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//​ \\ 
 +[+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,​ \\
 +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. \\ \\
 +4. //​treatAsCSN//​ \\
 +[+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. \\
 +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. \\
 +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//​ \\
 +[+2.9.1] Visual barcode usage flag. \\
 +<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 [[qr_code_api#​BS2_EnableBarcodeLicense]]. \\ \\
 +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. \\ \\
 +
 +
 +==== BS2OsdpStandardConfig ====
 +<code cpp>
 +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
 +</​code>​
 +1. //​baudRate//​ \\ 
 +This is the baud rate of the OSDP device and the range that can be set is as follows. \\
 +<WRAP group 50%>
 +^Value ​ ^
 +|9600  |
 +|19200 ​ |
 +|38400 ​ |
 +|57600 ​ |
 +|115200 ​ |
 +</​WRAP>​
 +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. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Normal ​ |
 +|1  |Suprema Device ​ |
 +|2  |OSDP Device ​ |
 +|3  |OSDP Device FULL  |
 +</​WRAP>​
 +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. \\ \\  ​
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |Not used  |
 +|1  |Master ​ |
 +|2  |Slave ​ |
 +|3  |Standalone (Default) ​ |
 +</​WRAP>​
 +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 ====
 +<code cpp>
 +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
 +</​code>​
 +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. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |No Operation ​ |
 +|1  |Cancel ​ |
 +|2  |Set  |
 +</​WRAP>​
 +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. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |BLACK ​ |
 +|1  |RED  |
 +|2  |GREEN ​ |
 +|3  |AMBER ​ |
 +|4  |BLUE  |
 +|5  |MAGENTA ​ |
 +|6  |CYAN  |
 +|7  |WHITE ​ |
 +</​WRAP>​
 +8. //​tempOffColor//​ \\
 +Sets the LED color of the off state for Temporary command. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |BLACK ​ |
 +|1  |RED  |
 +|2  |GREEN ​ |
 +|3  |AMBER ​ |
 +|4  |BLUE  |
 +|5  |MAGENTA ​ |
 +|6  |CYAN  |
 +|7  |WHITE ​ |
 +</​WRAP>​
 +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. \\
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |None  |
 +|1  |Off  |
 +|2  |On  |
 +</​WRAP>​
 +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. \\ 
 +<WRAP group 50%>
 +^Value ​ ^Description ​ ^
 +|0  |None  |
 +|1  |Success ​ |
 +|2  |Fail  |
 +|3  |Wait input  |
 +</​WRAP>​
 +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. \\ \\