Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
en:smartcard_api [2021/01/28 09:59] yjjung [BS2CSNCard] |
en:smartcard_api [2026/03/11 16:02] (current) |
||
|---|---|---|---|
| Line 7: | Line 7: | ||
| * [[BS2_WriteCard]]: Writes data to the smart card. | * [[BS2_WriteCard]]: Writes data to the smart card. | ||
| * [[BS2_EraseCard]]: Formats the smart card. | * [[BS2_EraseCard]]: Formats the smart card. | ||
| + | * [[BS2_GetLockOverride]]: [+ 2.9.12] Gets Lock Override information from the device that meets specific conditions. | ||
| + | * [[BS2_GetAllLockOverride]]: [+ 2.9.12] Gets all Lock Override information from the device. | ||
| + | * [[BS2_SetLockOverride]]: [+ 2.9.12] Sets Lock Override information on the device. | ||
| + | * [[BS2_RemoveLockOverride]]: [+ 2.9.12] Removes Lock Override information from the device that meets specific conditions. | ||
| + | * [[BS2_RemoveAllLockOverride]]: [+ 2.9.12] Removes all Lock Override information from the device. | ||
| ===== Structure ====== | ===== Structure ====== | ||
| Line 21: | Line 26: | ||
| <WRAP group 100%> | <WRAP group 100%> | ||
| ^Value ^Description ^Used Format ^ | ^Value ^Description ^Used Format ^ | ||
| - | |0x00 |Unknown card | | + | |0x00 |Unknown card | | |
| - | |0x01 |CSN card | | + | |0x01 |CSN card | | |
| - | |0x02 |Secure card | | + | |0x02 |Secure card | | |
| - | |0x03 |Access card | | + | |0x03 |Access card | | |
| + | |0x06 |QR Code | | | ||
| |0x0A |Wiegand card | BS2WiegandConfig.format (This format is used when BS2WiegandConfig.CSNIndex and BS2WiegandConfig.CardMask is set as 0 | | |0x0A |Wiegand card | BS2WiegandConfig.format (This format is used when BS2WiegandConfig.CSNIndex and BS2WiegandConfig.CardMask is set as 0 | | ||
| + | |0x0B |Config card | | | ||
| + | |0x0D |Custom smart card | | | ||
| |0x1A |Wiegand card | BS2WiegandMultiConfig.formats[0] | | |0x1A |Wiegand card | BS2WiegandMultiConfig.formats[0] | | ||
| |0x2A |Wiegand card | BS2WiegandMultiConfig.formats[1] | | |0x2A |Wiegand card | BS2WiegandMultiConfig.formats[1] | | ||
| Line 44: | Line 52: | ||
| </WRAP> | </WRAP> | ||
| **2. //size//** \\ | **2. //size//** \\ | ||
| - | The size of card template. This field needs to be filled with a fixed value as '32'.\\ \\ | + | This is the size of the data buffer. This field needs to be filled with a fixed value as '32'.\\ \\ |
| **3. //data//** \\ | **3. //data//** \\ | ||
| The data of card template. \\ | The data of card template. \\ | ||
| In case of Secure Credential Card(SCC), users need to have card information which includes Card ID(24byte), issueCount(4byte) and TimeStamp(4byte). Also, cardObjs array of BS2UserBlob structure should be filled for SCC cards and the user should be updated after SCC issuing. \\ | In case of Secure Credential Card(SCC), users need to have card information which includes Card ID(24byte), issueCount(4byte) and TimeStamp(4byte). Also, cardObjs array of BS2UserBlob structure should be filled for SCC cards and the user should be updated after SCC issuing. \\ | ||
| \\ | \\ | ||
| - | <WRAP> | + | |
| - | TimeStamp or issueCount is an operational flag for better management but there's no validation check for TimeStamp or issueCount on the device. You can use any value as long as the data and the BS2UserBlob.cardObj match. | + | |
| - | </WRAP information> | + | <WRAP tip 70%> |
| + | **Tip**\\ | ||
| + | <wrap em> You can use any value as long as the data and the cardObj in [[user management api#BS2UserBlob|BS2UserBlob]] match. </wrap> \\ | ||
| + | TimeStamp or issueCount is an operational flag for better management but there's no validation check for TimeStamp or issueCount on the device.\\ | ||
| + | </WRAP> | ||
| ==== BS2SmartCardHeader ==== | ==== BS2SmartCardHeader ==== | ||
| Line 86: | Line 98: | ||
| </WRAP> | </WRAP> | ||
| **4. //numOfTemplate//** \\ | **4. //numOfTemplate//** \\ | ||
| - | Number of templates. \\ \\ | + | Number of fingerprint templates. \\ \\ |
| <WRAP important> | <WRAP important> | ||
| Based on AoC structure, template data is stored in [[smartcard_api#BS2SmartCardCredentials]]. \\ | Based on AoC structure, template data is stored in [[smartcard_api#BS2SmartCardCredentials]]. \\ | ||
| Line 103: | Line 115: | ||
| Mask for whether there is a duress finger. \\ | Mask for whether there is a duress finger. \\ | ||
| **8. //cardAuthMode//** \\ | **8. //cardAuthMode//** \\ | ||
| - | ''Other devices'' Card authentication mode. \\ | + | ''IR Face based'' Card authentication mode. \\ |
| - | ''FaceStation F2'' Please use **cardAuthModeEx** instead \\ | + | ''Visual Face based'' Please use **cardAuthModeEx** instead \\ |
| <WRAP group 50%> | <WRAP group 50%> | ||
| ^Value ^Description ^ | ^Value ^Description ^ | ||
| Line 118: | Line 130: | ||
| Flag of usage of Alphanumeric ID \\ | Flag of usage of Alphanumeric ID \\ | ||
| **10. //cardAuthModeEx//** \\ | **10. //cardAuthModeEx//** \\ | ||
| - | ''Other devices'' Please use **cardAuthMode** instead \\ | + | ''IR Face based'' Please use **cardAuthMode** instead \\ |
| - | [+ V2.7.1] ''FaceStation F2'' Card authentication mode \\ | + | [+ V2.7.1] ''Visual Face based'' Card authentication mode \\ |
| <WRAP group 60%> | <WRAP group 60%> | ||
| ^Value ^Level 1 ^Level 2 ^Level 3 ^ | ^Value ^Level 1 ^Level 2 ^Level 3 ^ | ||
| Line 218: | Line 230: | ||
| **3. //smartCard//** \\ | **3. //smartCard//** \\ | ||
| Smart card data.\\ | Smart card data.\\ | ||
| + | |||
| + | ==== BS2LockOverride ==== | ||
| + | <code cpp> | ||
| + | typedef struct { | ||
| + | uint8_t cardID[BS2_CARD_DATA_SIZE]; ///< 32 bytes | ||
| + | uint16_t issueCount; ///< 2 bytes | ||
| + | |||
| + | BS2_CARD_TYPE type; ///< 1 byte | ||
| + | uint8_t size; ///< 1 byte | ||
| + | |||
| + | BS2_USER_ID userID; ///< 32 bytes | ||
| + | uint8_t reserved[4]; ///< 4 bytes | ||
| + | } BS2LockOverride; | ||
| + | </code> | ||
| + | **1. //cardID//** \\ | ||
| + | 32-byte card ID. \\ \\ | ||
| + | **2. //issueCount//** \\ | ||
| + | Issue count of the smart card. \\ \\ | ||
| + | **3. //type//** \\ | ||
| + | Code value indicating the card type. Currently supported card types for Lock Override are as follows. \\ | ||
| + | <WRAP group 100%> | ||
| + | ^Value ^Description ^Format Used ^ | ||
| + | |0x01 |CSN card | | | ||
| + | |0x02 |Secure card | | | ||
| + | </WRAP> | ||
| + | **4. //size//** \\ | ||
| + | Indicates the size of the card ID, with a value of 32. \\ \\ | ||
| + | **5. //userID//** \\ | ||
| + | If the card to be assigned is already assigned to a specific user, set the ID of that user. \\ \\ | ||