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 [2021/08/07 15:49] kkshin [BS2InputConfigEx] |
en:configuration_api [2025/06/13 10:43] (current) |
||
|---|---|---|---|
| Line 70: | Line 70: | ||
| * [[BS2_GetDesFireCardConfigEx]]: [+ 2.6.4] Retrieves DesFire advanced configuration from the device. | * [[BS2_GetDesFireCardConfigEx]]: [+ 2.6.4] Retrieves DesFire advanced configuration from the device. | ||
| * [[BS2_SetDesFireCardConfigEx]]: [+ 2.6.4] Sets DesFire advanced configuration in the device. | * [[BS2_SetDesFireCardConfigEx]]: [+ 2.6.4] Sets DesFire advanced configuration in the device. | ||
| - | * [[BS2_GetAuthConfigExt]]: [+ 2.7.1] ''FaceStation F2'' Retrieves authentication settings from the device. | + | * [[BS2_GetAuthConfigExt]]: [+ 2.7.1] ''Visual Face-based devices'' Retrieves authentication settings from the device. |
| - | * [[BS2_SetAuthConfigExt]]: [+ 2.7.1] ''FaceStation F2'' Stores authentication settings from the device. | + | * [[BS2_SetAuthConfigExt]]: [+ 2.7.1] ''Visual Face-based devices'' Stores authentication settings from the device. |
| - | * [[BS2_GetFaceConfigExt]]: [+ 2.7.1] ''FaceStation F2, FaceStation2'' Retrieves configuration of thermal camera and mask detection. | + | * [[BS2_GetFaceConfigExt]]: [+ 2.7.1] Retrieves configuration of thermal camera and mask detection. |
| - | * [[BS2_SetFaceConfigExt]]: [+ 2.7.1] ''FaceStation F2, FaceStation2'' Stores configuration of thermal camera and mask detection. | + | * [[BS2_SetFaceConfigExt]]: [+ 2.7.1] Stores configuration of thermal camera and mask detection. |
| - | * [[BS2_GetThermalCameraConfig]]: [+ 2.7.1] ''FaceStation F2, FaceStation2'' Retrieves configuration of thermal camera. | + | * [[BS2_GetThermalCameraConfig]]: [+ 2.7.1] Retrieves configuration of thermal camera. |
| - | * [[BS2_SetThermalCameraConfig]]: [+ 2.7.1] ''FaceStation F2, FaceStation2'' Stores configuration of thermal camera. | + | * [[BS2_SetThermalCameraConfig]]: [+ 2.7.1] Stores configuration of thermal camera. |
| * [[BS2_GetBarcodeConfig]]: [+ 2.8] ''X-Station 2'' Retrieves configuration of Barcode. | * [[BS2_GetBarcodeConfig]]: [+ 2.8] ''X-Station 2'' Retrieves configuration of Barcode. | ||
| * [[BS2_SetBarcodeConfig]]: [+ 2.8] ''X-Station 2'' Stores configuration of Barcode. | * [[BS2_SetBarcodeConfig]]: [+ 2.8] ''X-Station 2'' Stores configuration of Barcode. | ||
| 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_GetVoipConfigExt]]: [+ 2.8.3] Gets the extended VoIP settings. | ||
| + | * [[BS2_SetVoipConfigExt]]: [+ 2.8.3] Save the extended VoIP settings. | ||
| + | * [[BS2_GetRtspConfig]]: [+ 2.8.3] Gets the RTSP settings. | ||
| + | * [[BS2_SetRtspConfig]]: [+ 2.8.3] Save the RTSP settings. | ||
| + | * [[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. | ||
| + | * [[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 160: | Line 176: | ||
| 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 212: | ||
| 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 381: | Line 400: | ||
| uint8_t tnaIcon[16]; | uint8_t tnaIcon[16]; | ||
| uint8_t useScreenSaver; | uint8_t useScreenSaver; | ||
| - | uint8_t reserved1[31]; | + | uint8_t showOsdpResult; |
| - | } BS2DisplayConfig; | + | uint8_t reserved1[30]; |
| - | </code> | + | 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;</code> | ||
| **1. //language//** \\ | **1. //language//** \\ | ||
| Language code. \\ | Language code. \\ | ||
| Line 486: | Line 512: | ||
| Icon displayed on the device corresponding TNA key. \\ \\ | Icon displayed on the device corresponding TNA key. \\ \\ | ||
| **17. //useScreenSaver//** \\ | **17. //useScreenSaver//** \\ | ||
| - | ''FaceStation 2'', ''FaceStation F2'' If set true, you can activate the screensaver. \\ \\ | + | If set true, you can activate the screensaver. \\ \\ |
| - | **18. //reserved1//** \\ | + | **18. //showOsdpResult//** \\ |
| - | Reserved space. \\ | + | [+ 2.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. \\ |
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |Display OSDP Authentication Result (Default) | | ||
| + | |1 |Do Not Display OSDP Authentication Result | | ||
| + | </WRAP> | ||
| + | |||
| + | 19. //reserved1// \\ | ||
| + | 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 663: | 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 730: | Line 793: | ||
| **23. //cipher//** \\ | **23. //cipher//** \\ | ||
| Activates 'Keypad card ID' option. \\ | Activates 'Keypad card ID' option. \\ | ||
| - | Default value is 0, it is only valid for XPass D2 Gangbox Keypad type. \\ | + | Default value is 0, it is only valid for Gangbox Keypad type of Xpass 2, XPass D2. \\ |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| |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 900: | Line 982: | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| - | |0 |Not use | | ||
| |1 |Master | | |1 |Master | | ||
| |2 |Slave | | |2 |Slave | | ||
| Line 1012: | 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 1109: | 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 1149: | 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 1223: | Line 1320: | ||
| uint32_t deviceID; | uint32_t deviceID; | ||
| uint8_t type; | uint8_t type; | ||
| - | uint8_t reserved[3]; | + | uint8_t reserved; |
| + | uint16_t ignoreSignalTime; | ||
| | | ||
| union { | union { | ||
| Line 1269: | Line 1367: | ||
| |3|Schedule trigger| | |3|Schedule trigger| | ||
| </WRAP> | </WRAP> | ||
| + | 11. //reserved// \\ | ||
| + | Reserved space. \\ \\ | ||
| + | 12. //ignoreSignalTime// \\ | ||
| + | [+2.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 ==== | ==== BS2Action ==== | ||
| Line 1673: | Line 1778: | ||
| Reserved space.\\ \\ | Reserved space.\\ \\ | ||
| - | ==== BS2FaceConfig==== | + | ==== BS2FaceConfig ==== |
| <code cpp> | <code cpp> | ||
| typedef struct { | typedef struct { | ||
| Line 1690: | Line 1795: | ||
| uint8_t maxRotation; | uint8_t maxRotation; | ||
| + | // Deprecated | ||
| struct { | struct { | ||
| uint16_t min; | uint16_t min; | ||
| Line 1695: | Line 1801: | ||
| } faceWidth; | } faceWidth; | ||
| + | // Deprecated | ||
| struct { | struct { | ||
| uint16_t x; | uint16_t x; | ||
| Line 1700: | Line 1807: | ||
| } searchRange; | } searchRange; | ||
| - | uint8_t reserved2[18]; | + | 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; | } BS2FaceConfig; | ||
| </code> | </code> | ||
| Line 1718: | Line 1834: | ||
| |1 |Outdoor | | |1 |Outdoor | | ||
| |2 |Automatic | | |2 |Automatic | | ||
| - | |3 |[+V2.8] Not used ''(FaceStation F2 v1.1.0 or higher version)'' | | + | |3 |[+ 2.8] Not used | |
| </WRAP> | </WRAP> | ||
| [Note]\\ | [Note]\\ | ||
| Line 1751: | Line 1867: | ||
| </WRAP> | </WRAP> | ||
| **5. //enrollTimeout//** \\ | **5. //enrollTimeout//** \\ | ||
| - | ''FaceStation2, FaceLite'' : Timeout period of face scanning which is 60 seconds by default.\\ \\ | + | ''IR Face supported'' : Timeout period of face scanning which is 60 seconds by default.\\ \\ |
| <WRAP group 60%> | <WRAP group 60%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| Line 1758: | Line 1874: | ||
| |BS2_FACE_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_ENROLL_TIMEOUT_MAX | | |BS2_FACE_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_ENROLL_TIMEOUT_MAX | | ||
| </WRAP> | </WRAP> | ||
| - | ''FaceStation F2'' : [+ V2.7.1] Face scan wait time, default is 20 seconds. \\ | + | ''Visual Face supported'' : [+ 2.7.1] Face scan wait time, default is 20 seconds. \\ |
| <WRAP group 70%> | <WRAP group 70%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| Line 1768: | Line 1884: | ||
| **6. //lfdLevel//** \\ | **6. //lfdLevel//** \\ | ||
| - | [+ V2.6.3] Configuration for the LFD(Live Face Detection - fake face detection) sensitivity. \\ | + | [+ 2.6.3] Configuration for the LFD(Live Face Detection - fake face detection) sensitivity. \\ |
| - | ''FaceStation2, FaceLite'' : Default is 0. \\ | + | ''IR Face supported'' : Default is 0. \\ |
| - | ''FaceStation F2'' : [+ V2.7.1] Default is 1. \\ | + | ''Visual Face supported'' : [+ 2.7.1] Default is 1. \\ |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| Line 1779: | Line 1895: | ||
| </WRAP> | </WRAP> | ||
| **7. //quickEnrollment//** \\ | **7. //quickEnrollment//** \\ | ||
| - | [+ V2.6.3] Quick face enrollment process. \\ | + | [+ 2.6.3] Quick face enrollment process. \\ |
| True - Face enrollment process with a single step.\\ | True - Face enrollment process with a single step.\\ | ||
| False - Face enrollment process with 3 steps.\\ | False - Face enrollment process with 3 steps.\\ | ||
| Please use false if you want to enroll with a high quality of face templates. \\ \\ | Please use false if you want to enroll with a high quality of face templates. \\ \\ | ||
| **8. //previewOption//** \\ | **8. //previewOption//** \\ | ||
| - | [+ V2.6.3] IR camera preview option when you authenticate with the face. \\ | + | [+ 2.6.3] IR camera preview option when you authenticate with the face. \\ |
| Only used to ''FaceLite''. \\ | Only used to ''FaceLite''. \\ | ||
| <WRAP group 50%> | <WRAP group 50%> | ||
| Line 1793: | Line 1909: | ||
| </WRAP> | </WRAP> | ||
| **9. //checkDuplicate//** \\ | **9. //checkDuplicate//** \\ | ||
| - | [+ V2.6.4] Check whether the scanned face is duplicated in the device. \\ \\ | + | [+ 2.6.4] Check whether the scanned face is duplicated in the device. \\ \\ |
| **10. //operationMode//** \\ | **10. //operationMode//** \\ | ||
| - | [+ V2.7.1] ''FaceStation F2'' Configures operation mode with below values, default is Fusion mode. \\ | + | [+ 2.7.1] ''FaceStation F2 V1.0.0'' can be set to the following operation modes, default is Fusion mode. \\ |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Mode ^Description ^Default ^ | ^Value ^Mode ^Description ^Default ^ | ||
| Line 1803: | Line 1919: | ||
| |2 |Visual + IR |Visual matching, IR detects only face| | | |2 |Visual + IR |Visual matching, IR detects only face| | | ||
| </WRAP> | </WRAP> | ||
| + | |||
| + | ''FaceStation F2 V1.0.1'' or later versions, ''Visual Face based'' are used in the following sense. | ||
| + | <WRAP group 50%> | ||
| + | |0 |Fusion Mode |Visual matching + IR matching |Default | | ||
| + | |1 |Fast Mode |Visual matching | | | ||
| + | </WRAP> | ||
| **11. //maxRotation//** \\ | **11. //maxRotation//** \\ | ||
| - | [+ V2.7.1] ''FaceStation F2'' When face is recognized normally it's front side. \\ | + | [+ 2.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 FSF2 detects a face. \\ | + | 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. \\ | 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. \\ \\ | maxRotation represents the maximum allowable value in this case, and the default value is 15 degrees. \\ \\ | ||
| + | [+ 2.9.6] Additional definitions of Angle \\ | ||
| + | <WRAP group 40%> | ||
| + | ^Definition ^Value ^ | ||
| + | |BS2_MAX_ROTATION_DEFAULT | 15 | | ||
| + | |BS2_MAX_ROTATION_ANGLE_15 | 15 | | ||
| + | |BS2_MAX_ROTATION_ANGLE_30 | 30 | | ||
| + | |BS2_MAX_ROTATION_ANGLE_45 | 45 | | ||
| + | |BS2_MAX_ROTATION_ANGLE_60 | 60 | | ||
| + | |BS2_MAX_ROTATION_ANGLE_75 | 75 | | ||
| + | |BS2_MAX_ROTATION_ANGLE_90 | 90 | | ||
| + | |BS2_MAX_ROTATION_ANGLE_MAX | 90 | | ||
| + | </WRAP> | ||
| **12. //faceWidth//** \\ | **12. //faceWidth//** \\ | ||
| - | [+ V2.7.1] ''FaceStation F2'' This indicates the width of the face image, and you can specify the minimum and maximum values. \\ | + | [+ 2.7.1] ''Visual Face based'' This indicates the width of the face image, and you can specify the minimum and maximum values. \\ |
| - | The minimum and maximum values default to 66 and 250. \\ \\ | + | The default values of min and max are as follows. \\ |
| + | <WRAP group 30%> | ||
| + | ^ ^Default(min) ^Default(max) ^ | ||
| + | |FSF2 |66 |250 | | ||
| + | |BS3 |130 |350 | | ||
| + | |BEW3 |130 |350 | | ||
| + | </WRAP> | ||
| **13. //searchRange//** \\ | **13. //searchRange//** \\ | ||
| - | [+ V2.7.1] ''FaceStation F2'' 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. \\ | + | [+ 2.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 for x value and width are 144 and 432. \\ \\ | + | The default values of x and width are as follows. \\ |
| - | 14. //reserved2// \\ | + | <WRAP group 30%> |
| + | ^ ^Default(x) ^Default(width) ^ | ||
| + | |FSF2 |144 |432 | | ||
| + | |BS3 |90 |540 | | ||
| + | |BEW3 |90 |540 | | ||
| + | </WRAP> | ||
| + | |||
| + | **14. //detectDistance//** \\ | ||
| + | [+ 2.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. \\ | ||
| + | <WRAP group 80%> | ||
| + | ^ ^Min limit for min detection range ^Max limit for min detection range ^Min detection range(Default) ^Min limit for max detection range ^Max limit for max detection range ^Max sensing range(No limit) ^Max sensing range(Default) ^ | ||
| + | |FSF2 |30 |130 |30 |40 |130 |255 |130 | | ||
| + | |BS3 |30 |100 |30 |40 |100 |255 |100 | | ||
| + | |BEW3 |30 |100 |30 |40 |100 |255 |100 | | ||
| + | </WRAP> | ||
| + | |||
| + | **15. //wideSearch//** \\ | ||
| + | [+ 2.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// \\ | ||
| + | [+ 2.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.\\ \\ | Reserved space.\\ \\ | ||
| ==== BS2Rs485ConfigEX ==== | ==== BS2Rs485ConfigEX ==== | ||
| Line 1860: | 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 2304: | 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 2316: | 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 2329: | 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 2342: | 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 2410: | Line 2583: | ||
| uint8_t useBarcode; | uint8_t useBarcode; | ||
| uint8_t scanTimeout; | uint8_t scanTimeout; | ||
| - | uint8_t reserved[14]; | + | uint8_t bypassData; |
| + | uint8_t treatAsCSN; | ||
| + | |||
| + | uint8_t useVisualBarcode; | ||
| + | uint8_t motionSensitivity; | ||
| + | uint8_t visualCameraScanTimeout; | ||
| + | uint8_t reserved[9]; | ||
| } BS2BarcodeConfig; | } BS2BarcodeConfig; | ||
| </code> | </code> | ||
| 1. //useBarcode// \\ | 1. //useBarcode// \\ | ||
| - | This is the flag for enabling Barcode or disabling Barcode. \\ \\ | + | ''Supports XS2-QR models only'' |
| + | Barcode usage flag. \\ \\ | ||
| 2. //scanTimeout// \\ | 2. //scanTimeout// \\ | ||
| - | This is Timeout(second) setting for scanning Barcode. \\ | + | Set the Barcode scan time. The unit is in seconds. \\ |
| - | Default second is 4 seconds. The time out can be set from 4 to 10 seconds. \\ \\ | + | The default is 4 seconds, and can be entered within a range of 4 to 10 seconds. \\ \\ |
| - | 3. //reserved// \\ | + | <WRAP group 50%> |
| - | Reserved space. \\ | + | ^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. \\ \\ | ||
| ==== BS2InputConfigEx ==== | ==== BS2InputConfigEx ==== | ||
| Line 2427: | 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 2436: | 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 2448: | 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 2459: | 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 2473: | 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 2543: | Line 2793: | ||
| 13. //reserved2// \\ | 13. //reserved2// \\ | ||
| Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
| + | |||
| + | ==== BS2VoipConfigExt ==== | ||
| + | <code cpp> | ||
| + | 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; | ||
| + | </code> | ||
| + | 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. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |* |'*' ASCII code 42 | | ||
| + | |# |'#' ASCII code 35 | | ||
| + | |0~9 |'0'~'9' ASCII code (48~57) | | ||
| + | </WRAP> | ||
| + | 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// \\ | ||
| + | [+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. \\ \\ | ||
| + | |||
| + | |||
| + | ==== BS2RtspConfig ==== | ||
| + | <code cpp> | ||
| + | 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; | ||
| + | </code> | ||
| + | 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// \\ | ||
| + | [+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. \\ \\ | ||
| + | |||
| + | |||
| + | ==== 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. \\ \\ | ||
| + | |||
| + | |||
| + | ==== 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. \\ \\ | ||
| + | |||
| + | |||
| + | ==== 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 { | ||
| + | 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; | ||
| + | </code> | ||
| + | 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. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |Binary | | ||
| + | |1 |ASCII | | ||
| + | |2 |UTF16 | | ||
| + | |3 |BCD | | ||
| + | </WRAP> | ||
| + | 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// \\ | ||
| + | [+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. \\ \\ | ||
| + | 15. //smartCardByteOrder// \\ | ||
| + | The output method can be selected from MSB or LSB. \\ | ||
| + | <WRAP group 50%> | ||
| + | ^Value ^Description ^ | ||
| + | |0 |MSB | | ||
| + | |1 |LSB | | ||
| + | </WRAP> | ||
| + | 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 ==== | ||
| + | <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. \\ \\ | ||
| + | 11. //channels// \\ | ||
| + | List of RS-485 channels, which can be configured up to 8 channels. \\ \\ | ||