2.3 버전
릴리즈|2016-08-03
새로운 기능
-
Multi Wiegand Format 지원
-
BioEntry W2 지원
추가 및 변경된 기능
-
새로운 멀티 위겐드 기능이 추가되었습니다. 이제 한 장치로 여러 포맷을 사용할 수 있게 되었습니다. 만약 장치에서 여러 종류의 카드를 지원한다면, 여러 포맷을 다양한 카드 종류에 적용할 수 있습니다. 최대 15개의 포맷까지 설정할 수 있습니다.
-
구조체 BS2WiegandMultiConfig 추가
-
필드
wiegandMultiSupported가 BS2SimpleDeviceInfo 구조체에 추가되었습니다.BS2SimpleDeviceInfo 구조체는 해당 장치에서 특정 기능의 지원 여부를 나타내기 위해 사용됩니다. 멀티 위겐드 기능이 추가됨으로써, 해당 기능의 지원 여부를 나타내기 위한 필드가 추가되었습니다.
-
마스크
0x0D(BioEntry W2) 값이 BS2SimpleDeviceInfo 구조체에 추가 되었습니다.BS2SimpleDeviceInfo 구조체는 장치의 간략한 정보를 나타내기 위해 사용됩니다. 이번 SDK 버전에서부터 신규 출시된 BioEntry W2가 지원되며, 이를 나타내기 위해 마스크값이 추가되었습니다.
-
IsAcceptableUserID파라미터가 BS2_GetUserList 함수에 추가되었습니다.이 콜백 함수는 BioStar 2 Device SDK를 이용하여 개발하는 개발자들에게는 아무런 관련이 없습니다. 이 필드는 BioStar v1.91에서만 사용되며 BioStar v1.91은 최신 장치들인 BioStation 2, BioStation A2, BioStation L2, BioEntry W2를 지원할 수 있도록 BioStar 2 Device SDK를 인테그레이션한 버전입니다. BioStar 1에서 사용자 ID의 최댓값은 4294967295이지만 2세대 장치들은 최대 32 자리의 ID를 가질 수 있도록 설계되었습니다. 장치에서 BioStar 1 서버로 기존 BioStar 1의 최대 사용자 ID를 넘어가는 값을 전송하지 못하도록 막기 위해 해당 파라미터가 추가되었습니다.
변경 전#include "BS_API.h"int BS2_GetUserList(void* context, uint32_t deviceId, char** uidsObjs, uint32_t* numUid);변경 후#include "BS_API.h"int BS2_GetUserList(void* context, uint32_t deviceId, char** uidsObjs, uint32_t* numUid, IsAcceptableUserID ptrIsAcceptableUserID);예제BS2_GetUserList(context, deviceId, uidsObjs, numUid, null); -
함수 BS2_GetLastFingerprintImage가 추가되었습니다.
지문의 실제 이미지를 취득할 수 있는 함수가 추가되었습니다. 해당 함수는 기존의 BioStar 2에서 존재하는 기능을 제공하기 위해 추가되었습니다. 이 함수를 이용하여 지문 템플릿의 상태가 아닌 실제 지문의 상태를 확인할 수 있습니다. 그러나, 이 함수로 취득하는 이미지는 실제 매칭에 사용되지 않습니다.
-
templateFormat파라미터가 BS2_ScanFingerprint 함수에 추가되었습니다.슈프리마의 지문 단말기들은 슈프리마 템플릿, ISO 19794-2, 그리고 ANSI 384 총 3종류의 템플릿을 지원합니다.
값 설명 0 Suprema Template 1 ISO19794-2 2 ANSI-378 변경 전#include "BS_API.h"int BS2_ScanFingerprint(void* context, uint32_t deviceId, BS2Fingerprint* finger, uint32_t templateIndex, uint32_t quality, OnReadyToScan ptrReadyToScan);변경 후#include "BS_API.h"int BS2_ScanFingerprint(void* context, uint32_t deviceId, BS2Fingerprint* finger, uint32_t templateIndex, uint32_t quality, uint8_t templateFormat, OnReadyToScan ptrReadyToScan); -
wiegandMultiConfig필드가 BS2Configs 구조체에 추가되었습니다.설정과 관련된 모든 구조체들은 BS2Configs 구조체로 관리할 수 있습니다. 멀티 위겐드를 위한 새로운 구조체가 추가되었기 때문에, BS2Configs 구조체에 해당 구조체가 추가되었습니다.
-
wiegandInputMask필드가 BS2WiegandConfig 구조체에 추가되었습니다.멀티 위겐드 기능이 추가되면서, 어떠한 포맷이 사용될 것인지에 대해 나타낼 수 있는 마스크 값이 필요해졌습니다. 이 필드는 마스터 장치가 위겐드 카드 리더기나 RS-485를 통해 연결된 슬레이브 장치에서 보내지는 카드 데이터 중 처리를 해야 하는 포맷들을 나타냅니다. 이 필드는 장치가 위겐드 신호를 받아들이도록 설정되었을 때 사용 가능합니다. 예를 들어, 포맷 인덱스 0번, 2번, 6번을 사용하고 싶다면, 마스크 값을 0000000010001010로 설정하면 됩니다. 0번째 비트는 하위호환을 위해 따로 잡아둔 비트입니다.
-
wiegandCardMask필드가 BS2WiegandConfig 구조체에 추가되었습니다.멀티 위겐드 기능이 추가되면서, 어떠한 포맷이 사용될 것인지에 대해 나타낼 수 있는 마스크 값이 필요해졌습니다. 이 필드는 장치에 직접 카드를 읽혔을 때 장치가 처리를 해야 하는 포맷들을 나타냅니다. 이 필드는 장치가 위겐드 신호를 내보내도록 설정되었을 때 사용 가능합니다. 예를 들어, 포맷 인덱스 0번, 1번, 2번, 3번을 사용하고 싶다면, 마스크 값을 0000000000011110로 설정하면 됩니다. 0번째 비트는 하위호환을 위해 따로 잡아둔 비트입니다.
-
wiegandCSNIndex필드가 BS2WiegandConfig 구조체에 추가되었습니다.카드의 CSN 만 사용한다고 해도, 여전히 특정 포맷으로 위겐드 값을 내보낼 수 있습니다. 이 필드는 Mifare 나 EM 카드 같은 카드의 CSN을 사용하지만, 여전히 위겐드 신호를 내보내야하는 경우에 사용할 수 있습니다. 예를 들어, 인증했을 때 CSN 카드의 값을 포맷 인덱스 0번의 포맷으로 내보내고 싶을 경우, 값을 0으로 설정하면 됩니다. 해당 기능은 하나의 포맷만 설정할 수 있습니다.
-
BS2WiegandConfig 구조체의
reserved필드가uint8_t reserved[27]에서uint8_t reserved[32]으로 변경되었습니다.BS2WiegandConfig 구조체에 위에서 언급된 필드 3개가 더 추가 되었습니다. 이로 인해 reserved에서 5바이트를 사용하게 되었습니다.
-
BS2Door 구조체의
alarmFlags필드가uint8_t alarmFlags에서uint8_t unconditionalLock로 변경되었습니다.alarmFlags필드는 BS2Door 구조체에서 사용되지 않습니다. 그 대신,unconditionalLock필드가 새로운 기능을 지원하기 위해 추가되었으며, 기존alarmFlags의 메모리를 그대로 사용합니다.unconditionalLock자동문을 효율적으로 제어하기 위해 추가되었습니다. 일반적인 데드볼트형의 락을 사용할 때는 설정해놓은 문 열림 시간이 지나도 문이 닫히기 전에 락이 잠금이 되면 안 됩니다. 하지만 자동 개폐식 문을 사용할 때는, 문이 열려있다고 해도 설정해놓은 시간이 지나면 락이 잠겨야 합니다. 이 필드의 값을 변경하면 문 열림 시간이 지나면 바로 문이 닫히도록 설정할 수 있습니다.