Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:configuration_api [2021/08/06 15:31] kateyu [BS2RelayActionConfig] |
en:configuration_api [2023/08/16 15:31] mashin [Configuration API] |
||
---|---|---|---|
Line 82: | Line 82: | ||
* [[BS2_GetRelayActionConfig]]: [+ 2.8.1] ''IM-120'' Retrieves Configuration related to the RelayAction. | * [[BS2_GetRelayActionConfig]]: [+ 2.8.1] ''IM-120'' Retrieves Configuration related to the RelayAction. | ||
* [[BS2_SetRelayActionConfig]]: [+ 2.8.1] ''IM-120'' Retrieves Configuration related to the RelayAction. | * [[BS2_SetRelayActionConfig]]: [+ 2.8.1] ''IM-120'' Retrieves Configuration related to the RelayAction. | ||
+ | * [[BS2_GetLicenseConfig]]: [+ 2.9.1] Gets the device license activation information. | ||
+ | * [[BS2_GetOsdpStandardConfig]]: [+ 2.9.1] Get the device's OSDP setting information. | ||
+ | * [[BS2_GetOsdpStandardActionConfig]]: [+ 2.9.1] Get the LED/buzzer settings for each action of the OSDP device. | ||
+ | * [[BS2_SetOsdpStandardActionConfig]]: [+ 2.9.1] Specifies the LED/buzzer setting for each action of the OSDP device. | ||
+ | * [[BS2_GetCustomCardConfig]]: [+ 2.9.4] Retrieves Custom smart card settings. | ||
+ | * [[BS2_SetCustomCardConfig]]: [+ 2.9.4] Stores Custom smart card settings. | ||
\\ | \\ | ||
===== Structure ===== | ===== Structure ===== | ||
Line 730: | Line 736: | ||
**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 ^ | ||
Line 1718: | Line 1724: | ||
|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 ''(FaceStation F2 v1.1.0 or higher version)'' | |
</WRAP> | </WRAP> | ||
[Note]\\ | [Note]\\ | ||
Line 1758: | Line 1764: | ||
|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. \\ | + | ''FaceStation F2'' : [+ 2.7.1] Face scan wait time, default is 20 seconds. \\ |
<WRAP group 70%> | <WRAP group 70%> | ||
^Value ^Description ^ | ^Value ^Description ^ | ||
Line 1768: | Line 1774: | ||
**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. \\ | ''FaceStation2, FaceLite'' : Default is 0. \\ | ||
- | ''FaceStation F2'' : [+ V2.7.1] Default is 1. \\ | + | ''FaceStation F2'' : [+ 2.7.1] Default is 1. \\ |
<WRAP group 50%> | <WRAP group 50%> | ||
^Value ^Description ^ | ^Value ^Description ^ | ||
Line 1779: | Line 1785: | ||
</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 1799: | ||
</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'' Configures operation mode with below values, default is Fusion mode. \\ |
<WRAP group 50%> | <WRAP group 50%> | ||
^Value ^Mode ^Description ^Default ^ | ^Value ^Mode ^Description ^Default ^ | ||
Line 1805: | Line 1811: | ||
**11. //maxRotation//** \\ | **11. //maxRotation//** \\ | ||
- | [+ V2.7.1] ''FaceStation F2'' When face is recognized normally it's front side. \\ | + | [+ 2.7.1] ''FaceStation F2'' 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 FSF2 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. \\ | ||
Line 1811: | Line 1817: | ||
**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] ''FaceStation F2'' 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. \\ |
+ | [+ 2.8.3] ''BioStation 3'' The settings are ignored. \\ | ||
+ | <WRAP group 30%> | ||
+ | ^ ^Default(min) ^Default(max) ^ | ||
+ | |FSF2 |66 |250 | | ||
+ | |BS3 |- |- | | ||
+ | </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] ''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. \\ |
- | The default values for x value and width are 144 and 432. \\ \\ | + | The default values of x and width are as follows. \\ |
- | 14. //reserved2// \\ | + | [+ 2.8.3] ''BioStation 3'' The settings are ignored. \\ |
+ | <WRAP group 30%> | ||
+ | ^ ^Default(x) ^Default(width) ^ | ||
+ | |FSF2 |144 |432 | | ||
+ | |BS3 |- |- | | ||
+ | </WRAP> | ||
+ | |||
+ | **14. //detectDistance//** \\ | ||
+ | [+ 2.8.3] ''BioStation 3'' 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) ^ | ||
+ | |BS3 |30 |100 |60 |40 |100 |255 |100 | | ||
+ | </WRAP> | ||
+ | |||
+ | **15. //wideSearch//** \\ | ||
+ | [+ 2.8.3] ''BioStation 3'' This can increase the detection range for facial recognition. \\ | ||
+ | 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. //reserved// \\ | ||
Reserved space.\\ \\ | Reserved space.\\ \\ | ||
==== BS2Rs485ConfigEX ==== | ==== BS2Rs485ConfigEX ==== | ||
Line 2410: | Line 2447: | ||
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 [[qr_code_api#BS2_EnableBarcodeLicense]]. \\ \\ | ||
+ | 6. //motionSensitivity// \\ | ||
+ | [+2.9.1] Set the sensitivity of motion sensor for visual barcode. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Macro ^Description ^ | ||
+ | |0 |BS2_MOTION_SENSITIVITY_LOW |Low | | ||
+ | |1 |BS2_MOTION_SENSITIVITY_NORMAL |Normal | | ||
+ | |2 |BS2_MOTION_SENSITIVITY_HIGH |High | | ||
+ | </WRAP> | ||
+ | 7. //visualCameraScanTimeout// \\ | ||
+ | [+2.9.1] Set the scan time for the visual camera. Units are seconds. \\ | ||
+ | The default is 10 seconds, and can be entered within a range of 3 to 20 seconds. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Macro ^Description ^ | ||
+ | |10 |BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT |Default | | ||
+ | |3 |BS2_VISUAL_BARCODE_TIMEOUT_MIN |Min Value | | ||
+ | |20 |BS2_VISUAL_BARCODE_TIMEOUT_MAX |Max Value | | ||
+ | </WRAP> | ||
+ | 8. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
==== BS2InputConfigEx ==== | ==== BS2InputConfigEx ==== | ||
Line 2435: | Line 2524: | ||
| | ||
uint8_t reserved; | uint8_t reserved; | ||
- | uint8_t supervisedResister; | + | uint8_t supervisedResistor; |
uint8_t reserved1[16]; | uint8_t reserved1[16]; | ||
| | ||
Line 2463: | Line 2552: | ||
7. //reserved// \\ | 7. //reserved// \\ | ||
Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
- | 8. //supervisedResister// \\ | + | 8. //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 2498: | Line 2587: | ||
uint8_t reserved[9]; ///< 9 bytes | uint8_t reserved[9]; ///< 9 bytes | ||
} input[BS2_MAX_RELAY_ACTION_INPUT]; ///< 192 bytes | } input[BS2_MAX_RELAY_ACTION_INPUT]; ///< 192 bytes | ||
- | } items[BS2_MAX_RELAY_ACTION]; ///< 816 bytes | + | } relay[BS2_MAX_RELAY_ACTION]; ///< 816 bytes |
uint8_t reserved2[152]; ///< 152 bytes | uint8_t reserved2[152]; ///< 152 bytes | ||
Line 2507: | Line 2596: | ||
2. //reserved// \\ | 2. //reserved// \\ | ||
Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
- | 3. //items// \\ | + | 3. //relay// \\ |
Relay Setting Information \\ \\ | Relay Setting Information \\ \\ | ||
4. //port// \\ | 4. //port// \\ | ||
Line 2525: | Line 2614: | ||
If set to Linkage, signal can be made when alarm is set to mask. \\ | If set to Linkage, signal can be made when alarm is set to mask. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
- | ^type ^Value ^Description ^ | + | ^type ^Value ^Description ^ |
|NONE |0 |OFF | | |NONE |0 |OFF | | ||
|LINKAGE |1 |Connect to the relay of the input | | |LINKAGE |1 |Connect to the relay of the input | | ||
|LATCHING |2 |''Not Supported'' | | |LATCHING |2 |''Not Supported'' | | ||
|RELEASE |3 |''Not Supported'' | | |RELEASE |3 |''Not Supported'' | | ||
- | </WRAP> | + | </WRAP> |
11. //mask// \\ | 11. //mask// \\ | ||
Set mask to Input Signal Info. \\ | Set mask to Input Signal Info. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
- | ^type ^Value ^Description ^ | + | ^type ^Value ^Description ^ |
|NONE |0 |OFF | | |NONE |0 |OFF | | ||
|ALARM |1 |Signal Made | | |ALARM |1 |Signal Made | | ||
|FAULT |2 |Signal Made when disconnected | | |FAULT |2 |Signal Made when disconnected | | ||
- | </WRAP> | + | </WRAP> |
12. //reserved// \\ | 12. //reserved// \\ | ||
Reserved Space. \\ \\ | Reserved Space. \\ \\ | ||
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 reserved2[32]; ///< 32 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. //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; | ||
+ | |||
+ | uint8_t reserved2[32]; | ||
+ | } 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. //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. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2BarcodeConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t useBarcode; | ||
+ | uint8_t scanTimeout; | ||
+ | uint8_t bypassData; | ||
+ | uint8_t treatAsCSN; | ||
+ | |||
+ | uint8_t useVisualBarcode; | ||
+ | uint8_t motionSensitivity; | ||
+ | uint8_t visualCameraScanTimeout; | ||
+ | uint8_t reserved[9]; | ||
+ | } BS2BarcodeConfig; | ||
+ | </code> | ||
+ | 1. //useBarcode// \\ | ||
+ | ''Supports XS2-QR models only'' | ||
+ | Barcode usage flag. \\ \\ | ||
+ | 2. //scanTimeout// \\ | ||
+ | Set the Barcode scan time. The unit is in seconds. \\ | ||
+ | The default is 4 seconds, and can be entered within a range of 4 to 10 seconds. \\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Macro ^Description ^ | ||
+ | |4 |BS2_BARCODE_TIMEOUT_DEFAULT |Default | | ||
+ | |4 |BS2_BARCODE_TIMEOUT_MIN |Min Value | | ||
+ | |10 |BS2_BARCODE_TIMEOUT_MAX |Max Value | | ||
+ | </WRAP> | ||
+ | 3. //bypassData// \\ | ||
+ | [+2.8.2] Used to send read barcode information to the server, not processed by the device. \\ | ||
+ | If the barcode value is stored in the user information structure for user authentication, \\ | ||
+ | There is a size constraint of 32 bytes ([[smartcard_api#BS2CSNCard|BS2CSNCard data]]) \\ | ||
+ | Call the [[BS2_SetBarcodeScanListener]], use this option to send barcodes up to 512 bytes of size to the server. \\ \\ | ||
+ | 4. //treatAsCSN// \\ | ||
+ | [+2.8.2] Indicates whether the Barcode should be treated the same as a regular CSN card. \\ | ||
+ | It is applied from XS2-QR 1.1.3 and in the case of false, it is treated the same as before. \\ | ||
+ | This allows you to freely specify character sets that can be treated as barcodes from ASCII codes 32 to 126. (See description in [[qr_code_api#BS2_WriteQRCode|BS2_WriteQRCode]]) \\ | ||
+ | If set to true, the barcode is treated like a number just like the existing CSN. \\ | ||
+ | Therefore, if you want to set the bar code card data with special characters and English characters. \\ | ||
+ | In this case, only the card type may be different, and the CSN card and barcode data may be used in the same value. \\ \\ | ||
+ | 5. //useVisualBarcode// \\ | ||
+ | [+2.9.1] Visual barcode usage flag. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Supported devices ^Firmware ^ | ||
+ | |XS2-Finger |V1.2.0 | | ||
+ | |XS2-Card |V1.2.0 | | ||
+ | |BS3 |V1.1.0 | | ||
+ | </WRAP> | ||
+ | Visual barcode scans QR code with a general visual camera instead of a QR code sensor, \\ | ||
+ | and a separate license activation is required to use this feature. \\ | ||
+ | License activation is supported through [[qr_code_api#BS2_EnableBarcodeLicense]]. \\ \\ | ||
+ | 6. //motionSensitivity// \\ | ||
+ | [+2.9.1] Set the sensitivity of motion sensor for visual barcode. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Macro ^Description ^ | ||
+ | |0 |BS2_MOTION_SENSITIVITY_LOW |Low | | ||
+ | |1 |BS2_MOTION_SENSITIVITY_NORMAL |Normal | | ||
+ | |2 |BS2_MOTION_SENSITIVITY_HIGH |High | | ||
+ | </WRAP> | ||
+ | 7. //visualCameraScanTimeout// \\ | ||
+ | [+2.9.1] Set the scan time for the visual camera. Units are seconds. \\ | ||
+ | The default is 10 seconds, and can be entered within a range of 3 to 20 seconds. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Macro ^Description ^ | ||
+ | |10 |BS2_VISUAL_BARCODE_TIMEOUT_DEFAULT |Default | | ||
+ | |3 |BS2_VISUAL_BARCODE_TIMEOUT_MIN |Min Value | | ||
+ | |20 |BS2_VISUAL_BARCODE_TIMEOUT_MAX |Max Value | | ||
+ | </WRAP> | ||
+ | 8. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint32_t baudRate; ///< 4 bytes | ||
+ | uint8_t channelIndex; ///< 1 byte | ||
+ | uint8_t useRegistance; ///< 1 byte | ||
+ | uint8_t numOfDevices; ///< 1 byte | ||
+ | BS2_OSDP_CHANNEL_TYPE channelType; ///< 1 byte | ||
+ | BS2OsdpStandardDevice slaveDevices[BS2_RS485_MAX_SLAVES_PER_CHANNEL]; ///< 28 * 32 = 896 bytes | ||
+ | uint8_t reserved[4]; ///< 4 bytes | ||
+ | } BS2OsdpStandardChannel; ///< 908 bytes | ||
+ | |||
+ | typedef struct { | ||
+ | uint8_t mode[BS2_RS485_MAX_CHANNELS_EX]; ///< 8 byte | ||
+ | uint16_t numOfChannels; ///< 2 byte | ||
+ | uint8_t reserved[2]; ///< 2 bytes (packing) | ||
+ | uint8_t reserved1[32]; ///< 32 bytes (reserved) | ||
+ | BS2OsdpStandardChannel channels[BS2_RS485_MAX_CHANNELS_EX]; ///< 908 * 8 bytes = 7264 bytes | ||
+ | } BS2OsdpStandardConfig; ///< 7308 bytes | ||
+ | </code> | ||
+ | 1. //baudRate// \\ | ||
+ | This is the baud rate of the OSDP device and the range that can be set is as follows. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^ | ||
+ | |9600 | | ||
+ | |19200 | | ||
+ | |38400 | | ||
+ | |57600 | | ||
+ | |115200 | | ||
+ | </WRAP> | ||
+ | 2. //channelIndex// \\ | ||
+ | This is the channel number when the OSDP device communicates with RS485. \\ \\ | ||
+ | 3. //useRegistance// \\ | ||
+ | Registance flag - no effect on operation. \\ \\ | ||
+ | 4. //numOfDevices// \\ | ||
+ | Number of slave devices.\\ \\ | ||
+ | 5. //channelType// \\ | ||
+ | Indicates the type to which the device communicating RS485 is connected. \\ | ||
+ | Based on CoreStation40, there are 5 assignable channels from 0 to 4, and Suprema devices and OSDP devices cannot be mixed and operated within each channel. \\ | ||
+ | If no device is connected to a specific channel, it has a 0 indicating that it can be connected even if it is a Suprema device or an OSDP device. \\ | ||
+ | If a Suprema device is connected to a specific channel, only Suprema devices are allowed to connect to that channel, and channelType has a value of 1. The OSDP device is ignored even if it is connected. \\ | ||
+ | If an OSDP device is connected to a specific channel, only OSDP devices are allowed to connect to that channel, and channelType has a value of 2. The Suprema device is ignored even if it is connected. \\ | ||
+ | Each channel of CoreStation40 can be mixed and operated as Suprema device channel and OSDP device channel. \\ | ||
+ | The maximum number of OSDP devices allowed to connect to a channel is limited to 2, and if the channel is already maxed out, the channelType will be 3, indicating that no more connections are allowed. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Normal | | ||
+ | |1 |Suprema Device | | ||
+ | |2 |OSDP Device | | ||
+ | |3 |OSDP Device FULL | | ||
+ | </WRAP> | ||
+ | 6. //slaveDevices// \\ | ||
+ | Slave device information within the channel. \\ \\ | ||
+ | 7. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 8. //mode// \\ | ||
+ | It is a flag that determines which mode to operate in the RS485 network. As of 2023/1/12, CoreStation40 is the only device that supports Osdp standard config, so it always has a master value. \\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Not used | | ||
+ | |1 |Master | | ||
+ | |2 |Slave | | ||
+ | |3 |Standalone (Default) | | ||
+ | </WRAP> | ||
+ | 9. //numOfChannels// \\ | ||
+ | Number of channel. CoreStation40 has a total of 5 channels. \\ \\ | ||
+ | 10. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 11. //reserved1// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 12. //channels// \\ | ||
+ | OSDP device information of each channel. \\ | ||
+ | You can have up to 8 channel information, but since CoreStation40 has 5 channels, only numbers 0 to 4 are valid. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2OsdpStandardActionConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct{ | ||
+ | BS2_BOOL use; ///< 1 byte | ||
+ | uint8_t readerNumber; ///< 1 byte | ||
+ | uint8_t ledNumber; ///< 1 byte | ||
+ | |||
+ | BS2_OSDP_STANDARD_LED_COMMAND tempCommand; ///< 1 byte | ||
+ | uint8_t tempOnTime; ///< 1 byte | ||
+ | uint8_t tempOffTime; ///< 1 byte | ||
+ | BS2_OSDP_STANDARD_COLOR tempOnColor; ///< 1 byte | ||
+ | BS2_OSDP_STANDARD_COLOR tempOffColor; ///< 1 byte | ||
+ | uint16_t tempRunTime; ///< 2 bytes | ||
+ | |||
+ | BS2_OSDP_STANDARD_LED_COMMAND permCommand; ///< 1 byte | ||
+ | uint8_t permOnTime; ///< 1 byte | ||
+ | uint8_t permOffTime; ///< 1 byte | ||
+ | BS2_OSDP_STANDARD_COLOR permOnColor; ///< 1 byte | ||
+ | BS2_OSDP_STANDARD_COLOR permOffColor; ///< 1 byte | ||
+ | |||
+ | uint8_t reserved; ///< 1 byte | ||
+ | } BS2OsdpStandardLedAction; ///< 16 bytes | ||
+ | |||
+ | typedef struct { | ||
+ | BS2_BOOL use; ///< 1 byte | ||
+ | uint8_t readerNumber; ///< 1 byte | ||
+ | BS2_OSDP_STANDARD_TONE tone; ///< 1 byte | ||
+ | uint8_t onTime; ///< 1 byte | ||
+ | uint8_t offTime; ///< 1 byte | ||
+ | uint8_t numOfCycle; ///< 1 byte | ||
+ | uint8_t reserved[2]; ///< 2 bytes | ||
+ | } BS2OsdpStandardBuzzerAction; ///< 8 bytes | ||
+ | |||
+ | typedef struct { | ||
+ | BS2_OSDP_STANDARD_ACTION_TYPE actionType; ///< 1 byte | ||
+ | uint8_t reserved[3]; ///< 3 bytes | ||
+ | BS2OsdpStandardLedAction led[2]; ///< 16 x 2 = 32 bytes | ||
+ | BS2OsdpStandardBuzzerAction buzzer; ///< 8 bytes | ||
+ | } BS2OsdpStandardAction; ///< 44 bytes | ||
+ | |||
+ | typedef struct | ||
+ | { | ||
+ | uint8_t version; ///< 1 byte | ||
+ | uint8_t reserved[3]; ///< 3 byes | ||
+ | BS2OsdpStandardAction actions[BS2_OSDP_STANDARD_ACTION_MAX_COUNT]; ///< 44 x 32 = 1408 | ||
+ | } BS2OsdpStandardActionConfig; ///< 1412 bytes | ||
+ | </code> | ||
+ | 1. //use// \\ | ||
+ | Indicates whether to use LED action. \\ \\ | ||
+ | 2. //readerNumber// \\ | ||
+ | The sequence number of the OSDP device. \\ \\ | ||
+ | 3. //ledNumber// \\ | ||
+ | The LED sequence number of the OSDP device. \\ \\ | ||
+ | 4. //tempCommand// \\ | ||
+ | Temporary command. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |No Operation | | ||
+ | |1 |Cancel | | ||
+ | |2 |Set | | ||
+ | </WRAP> | ||
+ | 5. //tempOnTime// \\ | ||
+ | Indicates the LED on time for Temporary command, set in units of 100 ms. \\ | ||
+ | For example, enter 20 to keep the LED on for 2 seconds. \\ \\ | ||
+ | 6. //tempOffTime// \\ | ||
+ | Indicates the LED off time for Temporary command, set in units of 100 ms. \\ | ||
+ | For example, enter 10 to turn off the LED for 1 second. \\ \\ | ||
+ | 7. //tempOnColor// \\ | ||
+ | Sets the LED color of the on state for Temporary command. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |BLACK | | ||
+ | |1 |RED | | ||
+ | |2 |GREEN | | ||
+ | |3 |AMBER | | ||
+ | |4 |BLUE | | ||
+ | |5 |MAGENTA | | ||
+ | |6 |CYAN | | ||
+ | |7 |WHITE | | ||
+ | </WRAP> | ||
+ | 8. //tempOffColor// \\ | ||
+ | Sets the LED color of the off state for Temporary command. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |BLACK | | ||
+ | |1 |RED | | ||
+ | |2 |GREEN | | ||
+ | |3 |AMBER | | ||
+ | |4 |BLUE | | ||
+ | |5 |MAGENTA | | ||
+ | |6 |CYAN | | ||
+ | |7 |WHITE | | ||
+ | </WRAP> | ||
+ | 9. //tempRunTime// \\ | ||
+ | Sets the LED On/Off time for Temporary commands in units of 100 ms. \\ | ||
+ | It blinks alternately with the color and time set in tempOnTime/tempOffTime, tempOnColor/tempOffColor, and is maintained as long as the value of tempRunTime. \\ \\ | ||
+ | 10. //permCommand// \\ | ||
+ | Permanent command. | ||
+ | 11. //permOnTime// \\ | ||
+ | Indicates the LED on time for Permanent command, set in units of 100 ms.\\ \\ | ||
+ | 12. //permOffTime// \\ | ||
+ | Indicates the LED off time for Permanent command, set in units of 100 ms. \\ \\ | ||
+ | 13. //permOnColor// \\ | ||
+ | Sets the LED color of the on state for Permanent command. \\ \\ | ||
+ | 14. //permOffColor// \\ | ||
+ | Sets the LED color of the off state for Permanent command. \\ \\ | ||
+ | 15. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 16. //use// \\ | ||
+ | Indicates whether to use tone action. \\ \\ | ||
+ | 17. //readerNumber// | ||
+ | The sequence number of the OSDP device. \\ \\ | ||
+ | 18. //tone// \\ | ||
+ | Set the buzzer. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |None | | ||
+ | |1 |Off | | ||
+ | |2 |On | | ||
+ | </WRAP> | ||
+ | 19. //onTime// \\ | ||
+ | Set the on-state holding time for tone in units of 100 ms. \\ \\ | ||
+ | 20. //offTime// \\ | ||
+ | Set the off state holding time for tone in units of 100 ms. \\ \\ | ||
+ | 21. //numOfCycle// \\ | ||
+ | Set the number of times to repeat On/Off for tone. When set to 0, it means infinite repetition. \\ \\ | ||
+ | 22. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 23. //actionType// \\ | ||
+ | Set the action. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |None | | ||
+ | |1 |Success | | ||
+ | |2 |Fail | | ||
+ | |3 |Wait input | | ||
+ | </WRAP> | ||
+ | 24. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 25. //led// \\ | ||
+ | LED setting information of OSDP device. \\ \\ | ||
+ | 26. //buzzer// \\ | ||
+ | Buzzer setting information of OSDP device. \\ \\ | ||
+ | 27. //version// \\ | ||
+ | Version information about Action configuration. Currently it is 0. \\ \\ | ||
+ | 28. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 29. //actions// \\ | ||
+ | LED/buzzer information for OSDP devices, up to 32 can be designated. \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2CustomMifareCard ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t primaryKey[6]; | ||
+ | uint8_t reserved1[2]; | ||
+ | uint8_t secondaryKey[6]; | ||
+ | uint8_t reserved2[2]; | ||
+ | uint16_t startBlockIndex; | ||
+ | uint8_t dataSize; | ||
+ | uint8_t skipBytes; | ||
+ | uint8_t reserved[4]; | ||
+ | } BS2CustomMifareCard; | ||
+ | </code> | ||
+ | 1. //primaryKey// \\ | ||
+ | Primary encryption key to access the Mifare card information. \\ \\ | ||
+ | 2. //reserved1// \\ | ||
+ | Reserved space.\\ \\ | ||
+ | 3. //secondaryKey// \\ | ||
+ | Secondary encryption key to access the Mifare card information. \\ \\ | ||
+ | 4. //reserved2// \\ | ||
+ | Reserved space.\\ \\ | ||
+ | 5. //startBlockIndex// \\ | ||
+ | Start block index on the Mifare data storage.\\ \\ | ||
+ | 6. //dataSize// \\ | ||
+ | The size in bytes of the card data. \\ \\ | ||
+ | 7. //skipBytes// \\ | ||
+ | This is where the card data appears. \\ | ||
+ | This is the starting point to read card data. It is 0 when reading from the starting point, and indicates the number of bytes skipped after the first. \\ \\ | ||
+ | 8. //reserved// \\ | ||
+ | Reserved space.\\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2CustomDesFireCard ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t primaryKey[16]; | ||
+ | uint8_t secondaryKey[16]; | ||
+ | uint8_t appID[3]; | ||
+ | uint8_t fileID; | ||
+ | uint8_t encryptionType; // 0: DES/3DES, 1: AES | ||
+ | uint8_t operationMode; // 0: legacy(use picc master key), 1: new mode(use app master, file read, file write key) | ||
+ | uint8_t dataSize; | ||
+ | uint8_t skipBytes; | ||
+ | uint8_t reserved[4]; | ||
+ | BS2DesFireAppLevelKey desfireAppKey; ///<52 bytes | ||
+ | } BS2CustomDesFireCard; ///<96 Bytes | ||
+ | </code> | ||
+ | 1. //primaryKey// \\ | ||
+ | Primary encryption key to access the DesFire card information. (General settings) \\ \\ | ||
+ | 2. //secondaryKey// \\ | ||
+ | Secondary encryption key to access the Desfire card information. (General settings) \\ \\ | ||
+ | 3. //appID// \\ | ||
+ | Application Id that is stored inside the DesFire card for user authentication.\\ \\ | ||
+ | 4. //fileID// \\ | ||
+ | File ID that is stored inside the DesFire card, which will be used by the application to read and write data.\\ \\ | ||
+ | 5. //encryptionType// \\ | ||
+ | Type of data encryption.\\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |DES/3DES | | ||
+ | |1 |AES | | ||
+ | </WRAP> | ||
+ | 6. //operationMode// \\ | ||
+ | Operation mode. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Using general settings (Using PICC master key) | | ||
+ | |1 |Using advanced settings (Using App master key) | | ||
+ | </WRAP> | ||
+ | 7. //dataSize// \\ | ||
+ | The size in bytes of the card data. \\ \\ | ||
+ | 8. //skipBytes// \\ | ||
+ | This is where the card data appears. \\ | ||
+ | This is the starting point to read card data. It is 0 when reading from the starting point, and indicates the number of bytes skipped after the first. \\ \\ | ||
+ | 9. //reserved// \\ | ||
+ | Reserved space.\\ \\ | ||
+ | 10. //desfireAppKey// \\ | ||
+ | Indicates key information to access DesFire card information. (Advanced settings) \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2CustomCardConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | BS2_CARD_DATA_TYPE dataType; | ||
+ | BS2_BOOL useSecondaryKey; | ||
+ | uint8_t reserved1[2]; | ||
+ | |||
+ | BS2CustomMifareCard mifare; | ||
+ | BS2CustomDesFireCard desfire; | ||
+ | uint8_t reserved2[24]; | ||
+ | uint8_t reserved3[96]; | ||
+ | |||
+ | BS2_CARD_BYTE_ORDER smartCardByteOrder; | ||
+ | uint8_t reserved4[3]; | ||
+ | BS2_UID formatID; | ||
+ | uint8_t reserved5[8]; | ||
+ | } BS2CustomCardConfig; | ||
+ | </code> | ||
+ | 1. //dataType// \\ | ||
+ | Type of card data. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Binary | | ||
+ | |1 |ASCII | | ||
+ | |2 |UTF16 | | ||
+ | |3 |BCD | | ||
+ | </WRAP> | ||
+ | 2. //useSecondaryKey// \\ | ||
+ | Decides whether to use the secondary encryption key. \\ \\ | ||
+ | 3. //reserved1// \\ | ||
+ | Reserved space. \\ \\ | ||
+ | 4. //mifare// \\ | ||
+ | Set the Mifare custom card information. \\ \\ | ||
+ | 5. //desfire// \\ | ||
+ | Set the DESFire custom card information. \\ \\ | ||
+ | 6. //reserved2// \\ | ||
+ | Reserved space. \\ \\ | ||
+ | 7. //reserved3// \\ | ||
+ | Reserved space. \\ \\ | ||
+ | 8. //smartCardByteOrder// \\ | ||
+ | The output method can be selected from MSB or LSB. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |MSB | | ||
+ | |1 |LSB | | ||
+ | </WRAP> | ||
+ | 9. //reserved4// \\ | ||
+ | Reserved space. \\ \\ | ||
+ | 10. //formatID// \\ | ||
+ | This is an identifier that can be used when the BioStar 2 application needs to manage the card configuration as a database. \\ \\ | ||
+ | 11. //reserved5// \\ | ||
+ | Reserved space. \\ \\ |