Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
en:configuration_api [2024/05/28 19:28] kkshin [BS2FaceConfig] |
en:configuration_api [2025/06/13 10:43] (current) |
||
|---|---|---|---|
| Line 92: | Line 92: | ||
| * [[BS2_GetCustomCardConfig]]: [+ 2.9.4] Retrieves Custom smart card settings. | * [[BS2_GetCustomCardConfig]]: [+ 2.9.4] Retrieves Custom smart card settings. | ||
| * [[BS2_SetCustomCardConfig]]: [+ 2.9.4] Stores Custom smart card settings. | * [[BS2_SetCustomCardConfig]]: [+ 2.9.4] Stores Custom smart card settings. | ||
| + | * [[BS2_GetMifareCardConfigEx]]: [+ 2.9.9] Gets the setting information used for AES128-encrypted Mifare cards on the device. | ||
| + | * [[BS2_SetMifareCardConfigEx]]: [+ 2.9.9] Saves the setting information used for AES128-encrypted Mifare cards on the device. | ||
| + | * [[BS2_GetFacilityCodeConfig]]: [+ 2.9.9] Gets the BS2FacilityCode used as an authentication code when the OSDP connection between the ''Door Interface (DI-24)'' and the master device is lost. | ||
| + | * [[BS2_SetFacilityCodeConfig]]: [+ 2.9.9] Saves the BS2FacilityCode setting used as an authentication code when the OSDP connection between the ''Door Interface (DI-24)'' and the master device is lost. | ||
| + | * [[BS2_GetRS485ConfigExDynamic]]: [+ 2.9.9] Gets the RS485 network setting information for ''CoreStation''. | ||
| + | * [[BS2_SetRS485ConfigExDynamic]]: [+ 2.9.9] Saves the RS485 network setting information for ''CoreStation''. | ||
| \\ | \\ | ||
| ===== Structure ===== | ===== Structure ===== | ||
| Line 396: | Line 402: | ||
| uint8_t showOsdpResult; | uint8_t showOsdpResult; | ||
| uint8_t reserved1[30]; | uint8_t reserved1[30]; | ||
| - | } BS2DisplayConfig; | + | BS2_SHOW_OSDP_RESULT showOsdpResult; ///< 1 byte |
| - | </code> | + | |
| + | 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;</code> | ||
| **1. //language//** \\ | **1. //language//** \\ | ||
| Language code. \\ | Language code. \\ | ||
| Line 508: | Line 520: | ||
| |1 |Do Not Display OSDP Authentication Result | | |1 |Do Not Display OSDP Authentication Result | | ||
| </WRAP> | </WRAP> | ||
| + | |||
| 19. //reserved1// \\ | 19. //reserved1// \\ | ||
| - | Reserved space. \\ | + | Reserved space. \\ \\ |
| + | |||
| + | **20. //authMsgUserName//** \\ | ||
| + | [+2.9.8] The display method of the user's name in the authentication result message shown on the device screen is set. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |Display All | | ||
| + | |1 |Mask All but First Letter | | ||
| + | |2 |Hide All | | ||
| + | </WRAP> | ||
| + | |||
| + | **21. //authMsgUserID//** \\ | ||
| + | [+2.9.8] The display method of the user's ID in the authentication result message shown on the device screen is set. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |Display All | | ||
| + | |1 |Mask All but First Letter | | ||
| + | |2 |Hide All | | ||
| + | </WRAP> | ||
| + | |||
| + | **22. //scrambleKeyboardMode//** \\ | ||
| + | [+2.9.8] Sets whether to use the scramble keypad. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |Use | | ||
| + | |1 |Not use | | ||
| + | </WRAP> | ||
| ==== BS2IpConfig ==== | ==== BS2IpConfig ==== | ||
| Line 684: | Line 723: | ||
| uint8_t formatID; | uint8_t formatID; | ||
| uint8_t cipher; | uint8_t cipher; | ||
| - | uint8_t reserved[24]; | + | uint8_t smartCardByteOrder; |
| + | uint8_t reserved[1]; | ||
| + | BS2_MIFARE_ENCRYPTION mifareEncType; | ||
| + | uint8_t reserved[20]; | ||
| } BS2CardConfig; | } BS2CardConfig; | ||
| </code> | </code> | ||
| Line 756: | Line 798: | ||
| |0 |Deactivate | | |0 |Deactivate | | ||
| |1 |Activate | | |1 |Activate | | ||
| - | **24. //reserved5//** \\ | + | **24. //smartCardByteOrder//** \\ |
| + | [+2.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. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |MSB | | ||
| + | |1 |LSB | | ||
| + | </WRAP> | ||
| + | **25. //reserved//** \\ | ||
| + | Reserved space. \\ \\ | ||
| + | **26. //mifareEncType//** \\ | ||
| + | [+2.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. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |CRYPTO1 | | ||
| + | |1 |AES128 | | ||
| + | </WRAP> | ||
| + | **27. //reserved//** \\ | ||
| Reserved space. \\ | Reserved space. \\ | ||
| </WRAP> | </WRAP> | ||
| Line 921: | Line 982: | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| - | |0 |Not use | | ||
| |1 |Master | | |1 |Master | | ||
| |2 |Slave | | |2 |Slave | | ||
| Line 1033: | Line 1093: | ||
| Input mask for the wiegand input of the master device. \\ \\ | Input mask for the wiegand input of the master device. \\ \\ | ||
| **16. //wiegandCSNIndex//** \\ | **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 [[configuration api#BS2CardConfig]] structure before configuring. \\ \\ | + | 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 [[configuration api#BS2CardConfig]] structure before configuring. Only one index can be set to this field. |
| + | \\ \\ | ||
| **17. //useWiegandUserID//** \\ | **17. //useWiegandUserID//** \\ | ||
| The flag you can select whether card ID or user ID to be sent via Wiegand output. \\ | The flag you can select whether card ID or user ID to be sent via Wiegand output. \\ | ||
| Line 1130: | Line 1191: | ||
| uint8_t numInputs; | uint8_t numInputs; | ||
| uint8_t numSupervised; | uint8_t numSupervised; | ||
| - | uint16_t reseved; | + | 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 { | struct { | ||
| uint8_t portIndex; | uint8_t portIndex; | ||
| Line 1170: | Line 1240: | ||
| |255 |Custom | | |255 |Custom | | ||
| </WRAP> | </WRAP> | ||
| - | **12. //reserved//** \\ | + | **12. //aux//** \\ |
| - | Reserved space. \\ \\ | + | [+2.9.8] Sets the operation of Aux. |
| + | ^Bit position ^Number of bit ^Member ^Description ^ | ||
| + | |0 |4 |tamperAuxIndex |Aux number to use as tamper (0:None, 1:Aux0, 2:Aux1) | | ||
| + | |7 |4 |acFailAuxIndex |Aux number to use as AC Fail (0:None, 1:Aux0, 2:Aux1) | | ||
| + | |8 |1 |aux0Type |Type of Aux 0 (0: NO, 1:NC) | | ||
| + | |9 |1 |aux1Type |Type of Aux 1 (0: NO, 1:NC) | | ||
| + | |10 |6 |reserved |Reserved space | | ||
| **13. //config//** \\ | **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 . \\ | Configuration that distinguishes the supervised input signal type. This configuration will be valid only when the supervised input's resistance is set as custom . \\ | ||
| Line 1957: | Line 2033: | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| - | |0 |Not use | | ||
| |1 |Master | | |1 |Master | | ||
| |2 |Slave | | |2 |Slave | | ||
| |3 |Standalone | | |3 |Standalone | | ||
| + | </WRAP> | ||
| + | <WRAP info> | ||
| + | CoreStation can only be used as a Master. Other values cannot be configured. | ||
| </WRAP> | </WRAP> | ||
| 7. //numOfChannels// \\ | 7. //numOfChannels// \\ | ||
| Line 2401: | Line 2479: | ||
| </WRAP> | </WRAP> | ||
| 2. //maskCheckMode// \\ | 2. //maskCheckMode// \\ | ||
| - | ''FaceStation F2'' Sets the Mask Check Mode. \\ | + | ''Visual Face based'' Sets the Mask Check Mode. \\ |
| - | ''FaceStation 2'' This setting is ignored. \\ | + | |
| When set to HARD, access is denied if not detecting any mask on the face based on maskDetectionLevel. \\ | 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. \\ | 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), \\ | + | If maskCheckMode is set to No use(0), The setting of maskDetectionLevel is ignored. \\ |
| - | 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. \\ | And the reject sound due to mask detection check by useRejectSound, the mask detection check by faceCheckOrder is ignored. \\ | ||
| + | [+2.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 [[device_api#bs2devicecapabilities|BS2DeviceCapabilities - authDenyMaskSupported]]. \\ | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^Default ^ | ^Value ^Description ^Default ^ | ||
| Line 2413: | Line 2490: | ||
| |1 |Mask Check Mode (HARD) | | | |1 |Mask Check Mode (HARD) | | | ||
| |2 |Mask Check Mode (SOFT) | | | |2 |Mask Check Mode (SOFT) | | | ||
| + | |3 |Require no mask | | | ||
| </WRAP> | </WRAP> | ||
| 3. //reserved// \\ | 3. //reserved// \\ | ||
| Line 2426: | Line 2504: | ||
| Reserved \\ \\ | Reserved \\ \\ | ||
| 6. //thermalThresholdLow// \\ | 6. //thermalThresholdLow// \\ | ||
| - | ''Supported version'' : ''FaceStation F2 V1.0.2'', ''FaceStation 2 V1.5.0'' \\ | ||
| 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. \\ | 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. \\ | Also, you can only enter in degrees Celsius. \\ | ||
| Line 2439: | Line 2516: | ||
| And you must set a value greater than thermalThresholdLow. \\ \\ | And you must set a value greater than thermalThresholdLow. \\ \\ | ||
| 8. //maskDetectionLevel// \\ | 8. //maskDetectionLevel// \\ | ||
| - | ''FaceStation F2'' Sets the mask detection level. The detecting level is based on internal setting value. \\ | + | ''Visual Face based'' Sets the mask detection level. The detecting level is based on internal setting value. \\ |
| - | ''FaceStation 2'' This setting is ignored. \\ | + | |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^Default ^ | ^Value ^Description ^Default ^ | ||
| Line 2576: | Line 2652: | ||
| uint8_t numInputs; | uint8_t numInputs; | ||
| uint8_t numSupervised; | uint8_t numSupervised; | ||
| - | uint8_t reserved[18]; | + | 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 { | struct { | ||
| Line 2585: | Line 2673: | ||
| uint8_t reserved; | uint8_t reserved; | ||
| uint8_t supervisedResistor; | uint8_t supervisedResistor; | ||
| - | uint8_t reserved1[16]; | + | BS2SupervisedInputConfig supervisedConfig; |
| | | ||
| uint8_t reserved2[26]; | uint8_t reserved2[26]; | ||
| Line 2597: | Line 2685: | ||
| 2. //numSupervised// \\ | 2. //numSupervised// \\ | ||
| Number of supervised input port. \\ \\ | Number of supervised input port. \\ \\ | ||
| - | 3. //reserved// \\ | + | 3. //tamperAuxIndex, acFailAuxIndex, fireAuxIndex// \\ |
| + | [+2.9.9] Sets the Aux input. It is 4bit in size and CS-20, DI-24 are fixed and cannot be changed. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Aux Name ^Index ^ | ||
| + | |AC Fail |0 | | ||
| + | |TAMPER |1 | | ||
| + | |FIRE |2 | | ||
| + | </WRAP> | ||
| + | 4. //aux0Type, aux1Type, aux2Type// \\ | ||
| + | [+2.9.9] Sets the Aux input signal type. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |Normally Open | | ||
| + | |1 |Normally Closed | | ||
| + | </WRAP> | ||
| + | 5. //reserved// \\ | ||
| Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
| - | 4. //portIndex// \\ | + | 6. //portIndex// \\ |
| Input Port Number. \\ \\ | Input Port Number. \\ \\ | ||
| - | 5. //switchType// \\ | + | 7. //switchType// \\ |
| Input Signal Type. \\ | Input Signal Type. \\ | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| Line 2608: | Line 2711: | ||
| |1 |Normally Closed | | |1 |Normally Closed | | ||
| </WRAP> | </WRAP> | ||
| - | 6. //duration// \\ | + | 8. //duration// \\ |
| Input Signal Duration Time Measurement is milliseconds(ms). \\ \\ | Input Signal Duration Time Measurement is milliseconds(ms). \\ \\ | ||
| - | 7. //reserved// \\ | + | 9. //reserved// \\ |
| Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
| - | 8. //supervisedResistor// \\ | + | 10. //supervisedResistor// \\ |
| You can set Supervised input resistance value type or unsupervise it. \\ | You can set Supervised input resistance value type or unsupervise it. \\ | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| Line 2622: | Line 2725: | ||
| |254 |Unsupervised(Default) | | |254 |Unsupervised(Default) | | ||
| </WRAP> | </WRAP> | ||
| - | 9. //reserved1// \\ | + | 11. //reserved2// \\ |
| Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
| - | 10. //reserved2// \\ | + | 12. //reserved2// \\ |
| - | Reserved Space. \\ \\ | + | |
| - | 11. //reserved2// \\ | + | |
| Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
| Line 2732: | Line 2833: | ||
| BS2ExtensionNumber phonebook[128]; | BS2ExtensionNumber phonebook[128]; | ||
| - | uint8_t reserved2[32]; ///< 32 bytes (reserved) | + | uint8_t resolution; |
| + | uint8_t transport; | ||
| + | uint8_t reserved2[30]; ///< 30 bytes (reserved) | ||
| } BS2VoipConfigExt; | } BS2VoipConfigExt; | ||
| </code> | </code> | ||
| Line 2786: | Line 2889: | ||
| 22. //phonebook// \\ | 22. //phonebook// \\ | ||
| You can specify up to 128 extensions in your phone book. \\ \\ | You can specify up to 128 extensions in your phone book. \\ \\ | ||
| - | 23. //reserved2// \\ | + | 23. //resolution// \\ |
| + | [+2.9.8] Sets the resolution of video output. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |360 x 640 | | ||
| + | |1 |720 x 480 | | ||
| + | </WRAP> | ||
| + | |||
| + | 24. //transport// \\ | ||
| + | [+2.9.8] Sets the data transfer method. | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |UDP | | ||
| + | |1 |TCP | | ||
| + | |2 |SSL | | ||
| + | </WRAP> | ||
| + | 25. //reserved2// \\ | ||
| Reserved space. \\ \\ | Reserved space. \\ \\ | ||
| Line 2800: | Line 2919: | ||
| BS2_PORT port; | BS2_PORT port; | ||
| BS2_BOOL enabled; | BS2_BOOL enabled; | ||
| - | uint8_t reserved; | + | uint8_t reserved; ///< 1 byte (packing) |
| - | + | ||
| - | uint8_t reserved2[32]; | + | uint8_t resolution; |
| + | uint8_t reserved2[31]; ///< 31 bytes (reserved) | ||
| } BS2RtspConfig; | } BS2RtspConfig; | ||
| </code> | </code> | ||
| Line 2817: | Line 2937: | ||
| 6. //reserved// \\ | 6. //reserved// \\ | ||
| Reserved space. \\ \\ | Reserved space. \\ \\ | ||
| - | 7. //reserved2// \\ | + | 7. //resolution// \\ |
| + | [+2.9.8] Sets the resolution of video output. | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |180 x 320 | | ||
| + | |1 |720 x 480 | | ||
| + | </WRAP> | ||
| + | 8. //reserved2// \\ | ||
| Reserved space. \\ \\ | Reserved space. \\ \\ | ||
| Line 2888: | Line 3015: | ||
| License information and can be set up to 16. \\ \\ | License information and can be set up to 16. \\ \\ | ||
| 5. //reserved1// \\ | 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 [[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. \\ \\ | Reserved Space. \\ \\ | ||
| Line 3269: | Line 3326: | ||
| ==== BS2CustomCardConfig ==== | ==== BS2CustomCardConfig ==== | ||
| <code cpp> | <code cpp> | ||
| + | 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 { | typedef struct { | ||
| BS2_CARD_DATA_TYPE dataType; | BS2_CARD_DATA_TYPE dataType; | ||
| Line 3276: | Line 3342: | ||
| BS2CustomMifareCard mifare; | BS2CustomMifareCard mifare; | ||
| BS2CustomDesFireCard desfire; | BS2CustomDesFireCard desfire; | ||
| - | uint8_t reserved2[24]; | + | BS2CustomMifareCardEx mifareEx; |
| - | uint8_t reserved3[96]; | + | BS2_MIFARE_ENCRYPTION mifareEncType; |
| + | uint8_t reserved3[67]; | ||
| BS2_CARD_BYTE_ORDER smartCardByteOrder; | BS2_CARD_BYTE_ORDER smartCardByteOrder; | ||
| Line 3285: | Line 3352: | ||
| } BS2CustomCardConfig; | } BS2CustomCardConfig; | ||
| </code> | </code> | ||
| - | 1. //dataType// \\ | + | 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. \\ | Type of card data. \\ | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| Line 3294: | Line 3375: | ||
| |3 |BCD | | |3 |BCD | | ||
| </WRAP> | </WRAP> | ||
| - | 2. //useSecondaryKey// \\ | + | 8. //useSecondaryKey// \\ |
| Decides whether to use the secondary encryption key. \\ \\ | Decides whether to use the secondary encryption key. \\ \\ | ||
| - | 3. //reserved1// \\ | + | 9. //reserved1// \\ |
| Reserved space. \\ \\ | Reserved space. \\ \\ | ||
| - | 4. //mifare// \\ | + | 10. //mifare// \\ |
| Set the Mifare custom card information. \\ \\ | Set the Mifare custom card information. \\ \\ | ||
| - | 5. //desfire// \\ | + | 11. //desfire// \\ |
| Set the DESFire custom card information. \\ \\ | Set the DESFire custom card information. \\ \\ | ||
| - | 6. //reserved2// \\ | + | 12. //mifareEx// \\ |
| + | [+2.9.9] Saves the setting information used for AES128-encrypted Mifare Custom cards on the device. \\ \\ | ||
| + | 13. //mifareEncType// \\ | ||
| + | [+2.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. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |CRYPTO1 | | ||
| + | |1 |AES128 | | ||
| + | </WRAP> | ||
| + | 14. //reserved3// \\ | ||
| Reserved space. \\ \\ | Reserved space. \\ \\ | ||
| - | 7. //reserved3// \\ | + | 15. //smartCardByteOrder// \\ |
| - | Reserved space. \\ \\ | + | |
| - | 8. //smartCardByteOrder// \\ | + | |
| The output method can be selected from MSB or LSB. \\ | The output method can be selected from MSB or LSB. \\ | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| Line 3313: | Line 3402: | ||
| |1 |LSB | | |1 |LSB | | ||
| </WRAP> | </WRAP> | ||
| - | 9. //reserved4// \\ | + | 16. //reserved4// \\ |
| Reserved space. \\ \\ | Reserved space. \\ \\ | ||
| - | 10. //formatID// \\ | + | 17. //formatID// \\ |
| This is an identifier that can be used when the BioStar 2 application needs to manage the card configuration as a database. \\ \\ | This is an identifier that can be used when the BioStar 2 application needs to manage the card configuration as a database. \\ \\ | ||
| - | 11. //reserved5// \\ | + | 18. //reserved5// \\ |
| + | Reserved space. \\ \\ | ||
| + | |||
| + | ==== BS2MifareCardConfigEx ==== | ||
| + | <code cpp> | ||
| + | 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; | ||
| + | </code> | ||
| + | 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 ==== | ||
| + | <code cpp> | ||
| + | typedef struct{ | ||
| + | uint8_t code[4]; | ||
| + | } BS2FacilityCode; | ||
| + | |||
| + | typedef struct{ | ||
| + | uint8_t numFacilityCode; | ||
| + | uint8_t reserved0[3]; | ||
| + | BS2FacilityCode facilityCodes[16]; | ||
| + | uint8_t reserved1[128]; | ||
| + | } BS2FacilityCodeConfig; | ||
| + | </code> | ||
| + | 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 ==== | ||
| + | <code cpp> | ||
| + | typedef struct { | ||
| + | uint32_t deviceID; ///< | ||
| + | uint16_t deviceType; ///< 2 bytes | ||
| + | uint8_t enableOSDP; ///< 1 byte | ||
| + | uint8_t connected; ///< 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; | ||
| + | </code> | ||
| + | <WRAP info> | ||
| + | All values except baudRate are read-only and cannot be changed. \\ | ||
| + | ''Supported devices:'': CoreStation 20(CS-20, CS-20P), Door Interface(DI-24) | ||
| + | </WRAP> | ||
| + | 1. //baudRate// \\ | ||
| + | The RS-485 communication speed which can be configured as below. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^ | ||
| + | |9600 | | ||
| + | |19200 | | ||
| + | |38400 | | ||
| + | |57600 | | ||
| + | |115200 | | ||
| + | </WRAP> | ||
| + | 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. //channelType// \\ | ||
| + | Type of slave device connected to the port. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |No connection | | ||
| + | |1 |Suprema device | | ||
| + | |2 |OSDP standard device | | ||
| + | |3 |Cannot connect anymore | | ||
| + | </WRAP> | ||
| + | 6. //slaveDevices// \\ | ||
| + | List of slave devices connected to the device. \\ | ||
| + | <WRAP group 50%> | ||
| + | Maximum Number of Devices Connectable per Port | ||
| + | |Host port |16 | | ||
| + | |Port 0 |2 | | ||
| + | |Port 1 |2 | | ||
| + | </WRAP> | ||
| + | 7. //mode// \\ | ||
| + | This flag determines the operating mode on the RS485 network. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |1 |Master | | ||
| + | |2 |Slave | | ||
| + | |3 |Standalone | | ||
| + | </WRAP> | ||
| + | <WRAP info> | ||
| + | CoreStation can only be used as a Master. Other values cannot be configured. | ||
| + | </WRAP> | ||
| + | 8. //numOfChannels// \\ | ||
| + | Number of RS485 channel. \\ \\ | ||
| + | 9. //reserved// \\ | ||
| + | Reserved space. \\ \\ | ||
| + | 10. //reserved1// \\ | ||
| Reserved space. \\ \\ | Reserved space. \\ \\ | ||
| + | 11. //channels// \\ | ||
| + | List of RS-485 channels, which can be configured up to 8 channels. \\ \\ | ||