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 [2020/02/19 11:29] kkshin |
en:configuration_api [2023/02/28 14:58] mwkim [Configuration API] |
||
---|---|---|---|
Line 35: | Line 35: | ||
* [[BS2_GetWiegandDeviceConfig]]: Retrieves Wiegand device settings from the device. | * [[BS2_GetWiegandDeviceConfig]]: Retrieves Wiegand device settings from the device. | ||
* [[BS2_SetWiegandDeviceConfig]]: Stores Wiegand device settings on the device. | * [[BS2_SetWiegandDeviceConfig]]: Stores Wiegand device settings on the device. | ||
- | * [[BS2_GetInputConfig]]: Retrieves input port settings from the device. | + | * [[BS2_GetInputConfig]]: Retrieves supervised input port settings from the device. |
- | * [[BS2_SetInputConfig]]: Stores input port settings on the device. | + | * [[BS2_SetInputConfig]]: Stores supervised input port settings on the device. |
* [[BS2_GetWlanConfig]]: Retrieves wireless LAN settings from the device. | * [[BS2_GetWlanConfig]]: Retrieves wireless LAN settings from the device. | ||
* [[BS2_SetWlanConfig]]: Stores wireless LAN settings on the device. | * [[BS2_SetWlanConfig]]: Stores wireless LAN settings on the device. | ||
Line 68: | Line 68: | ||
* [[BS2_GetIPV6ConfigViaUDPEx]]: [+ 2.6.3] Retrieves IPv6 configuration through UDP broadcast with host IP. | * [[BS2_GetIPV6ConfigViaUDPEx]]: [+ 2.6.3] Retrieves IPv6 configuration through UDP broadcast with host IP. | ||
* [[BS2_SetIPV6ConfigViaUDPEx]]: [+ 2.6.3] Stores IPv6 configuration through UDP broadcast with host IP. | * [[BS2_SetIPV6ConfigViaUDPEx]]: [+ 2.6.3] Stores IPv6 configuration through UDP broadcast with host IP. | ||
+ | * [[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_GetAuthConfigExt]]: [+ 2.7.1] ''FaceStation F2'' Retrieves authentication settings from the device. | ||
+ | * [[BS2_SetAuthConfigExt]]: [+ 2.7.1] ''FaceStation F2'' Stores authentication settings from the device. | ||
+ | * [[BS2_GetFaceConfigExt]]: [+ 2.7.1] ''FaceStation F2, FaceStation2'' 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_GetThermalCameraConfig]]: [+ 2.7.1] ''FaceStation F2, FaceStation2'' Retrieves configuration of thermal camera. | ||
+ | * [[BS2_SetThermalCameraConfig]]: [+ 2.7.1] ''FaceStation F2, FaceStation2'' Stores configuration of thermal camera. | ||
+ | * [[BS2_GetBarcodeConfig]]: [+ 2.8] ''X-Station 2'' Retrieves configuration of Barcode. | ||
+ | * [[BS2_SetBarcodeConfig]]: [+ 2.8] ''X-Station 2'' Stores configuration of Barcode. | ||
+ | * [[BS2_GetInputConfigEx]]: [+ 2.8.1] ''IM-120'' Retrieves Expanded Configuration related to the Input. | ||
+ | * [[BS2_SetInputConfigEx]]: [+ 2.8.1] ''IM-120'' Retrieves Expanded Configuration related to the Input. | ||
+ | * [[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_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. | ||
\\ | \\ | ||
===== Structure ===== | ===== Structure ===== | ||
Line 121: | Line 139: | ||
==== BS2SystemConfig ==== | ==== BS2SystemConfig ==== | ||
- | [[BS2_SetSystemConfig]] must be called after calling [[BS2_GetSystemConfig]] and completing necessary settings except for tamperOn. \\ | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
Line 151: | Line 168: | ||
Reserved variable. \\ \\ | Reserved variable. \\ \\ | ||
**5. //deviceLocked//** \\ | **5. //deviceLocked//** \\ | ||
- | Decides whether to show lock screen in stand-by mode. \\ \\ | + | Indicates the current locked state of the device. (Read only filed) \\ \\ |
**6. //useInterphone//** \\ | **6. //useInterphone//** \\ | ||
Decides whether to use intercom. \\ \\ | Decides whether to use intercom. \\ \\ | ||
Line 177: | Line 194: | ||
**14. //reserved//** \\ | **14. //reserved//** \\ | ||
Reserved space. \\ \\ | Reserved space. \\ \\ | ||
- | 15. //useCardOperationMask// \\ | + | **15. //useCardOperationMask//** \\ |
[+ V2.6.4] Provides a card selective option not to read all kinds of cards from the device. \\ | [+ V2.6.4] Provides a card selective option not to read all kinds of cards from the device. \\ | ||
You can select multiple cards using MASK. The user can select or deselect of a specific card reading option using this option. \\ | You can select multiple cards using MASK. The user can select or deselect of a specific card reading option using this option. \\ | ||
Line 363: | Line 380: | ||
uint8_t timeFormat; | uint8_t timeFormat; | ||
uint8_t homeFormation; | uint8_t homeFormation; | ||
- | uint8_t useUserPhrase; | + | BS2_BOOL useUserPhrase; |
- | uint8_t reserved[1]; | + | BS2_BOOL queryUserPhrase; |
uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME]; | uint8_t shortcutHome[BS2_MAX_SHORTCUT_HOME]; | ||
uint8_t tnaIcon[16]; | uint8_t tnaIcon[16]; | ||
- | uint8_t reserved1[32]; | + | uint8_t useScreenSaver; |
+ | uint8_t reserved1[31]; | ||
} BS2DisplayConfig; | } BS2DisplayConfig; | ||
</code> | </code> | ||
Line 407: | Line 425: | ||
</WRAP> | </WRAP> | ||
**6. //menuTimeout//** \\ | **6. //menuTimeout//** \\ | ||
- | Timeout in seconds for lock screen when the user is inactive. The timeout can be set from 0 to 255 seconds. 0 means no lock screen.\\ \\ | + | Timeout in seconds for lock screen when the user is inactive. The timeout can be set from 0 to 255 seconds. 0 means no lock screen.\\ |
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |No timeout. | | ||
+ | |10 |Menu timeout 10 sec. | | ||
+ | |20 |Menu timeout 20 sec. (Default) | | ||
+ | |30 |Menu timeout 30 sec. | | ||
+ | |40 |Menu timeout 40 sec. | | ||
+ | |50 |Menu timeout 50 sec. | | ||
+ | |60 |Menu timeout 60 sec. | | ||
+ | </WRAP> | ||
**7. //msgTimeout//** \\ | **7. //msgTimeout//** \\ | ||
- | Message timeout in milliseconds. The timeout can be set from 500 to 5000 milliseconds.\\ \\ | + | Message timeout in milliseconds. The timeout can be set from 500 to 5000 milliseconds.\\ |
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |500 |Message timeout 500 msec. | | ||
+ | |1000 |Message timeout 1 sec. | | ||
+ | |2000 |Message timeout 2 sec. (Default) | | ||
+ | |3000 |Message timeout 3 sec. | | ||
+ | |4000 |Message timeout 4 sec. | | ||
+ | |5000 |Message timeout 5 sec. | | ||
+ | </WRAP> | ||
**8. //backlightTimeout//** \\ | **8. //backlightTimeout//** \\ | ||
- | Backlight timeout in seconds. \\ \\ | + | Backlight timeout in seconds. \\ |
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Backlight timeout 0 sec. | | ||
+ | |10 |Backlight timeout 10 sec. | | ||
+ | |20 |Backlight timeout 20 sec. (Default) | | ||
+ | |30 |Backlight timeout 30 sec. | | ||
+ | |40 |Backlight timeout 40 sec. | | ||
+ | |50 |Backlight timeout 50 sec. | | ||
+ | |60 |Backlight timeout 60 sec. | | ||
+ | </WRAP> | ||
**9. //displayDateTime//** \\ | **9. //displayDateTime//** \\ | ||
Decides whether to display clock on screen. \\ \\ | Decides whether to display clock on screen. \\ \\ | ||
Line 436: | Line 483: | ||
**13. //useUserPhrase//** \\ | **13. //useUserPhrase//** \\ | ||
Flag that determines whether to use the user phrase feature. \\ \\ | Flag that determines whether to use the user phrase feature. \\ \\ | ||
- | **14. //shortcutHome//** \\ | + | **13. //queryUserPhrase//** \\ |
- | Home screen layout(Currently, not used). \\ \\ | + | If set true, asks for the user phrase to the server. \\ \\ |
- | **15. //tnaIcon//** \\ | + | **15. //shortcutHome//** \\ |
- | Icon displayed on the device corresponding to the job code. \\ \\ | + | Home screen layout(Going to apply later, not used currently). \\ \\ |
- | **16. //reserved1//** \\ | + | **16. //tnaIcon//** \\ |
+ | Icon displayed on the device corresponding TNA key. \\ \\ | ||
+ | **17. //useScreenSaver//** \\ | ||
+ | ''FaceStation 2'', ''FaceStation F2'' If set true, you can activate the screensaver. \\ \\ | ||
+ | **18. //reserved1//** \\ | ||
Reserved space. \\ | Reserved space. \\ | ||
Line 683: | Line 734: | ||
**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 691: | Line 742: | ||
Reserved space. \\ | Reserved space. \\ | ||
</WRAP> | </WRAP> | ||
+ | |||
==== BS2FingerprintConfig ==== | ==== BS2FingerprintConfig ==== | ||
<code cpp> | <code cpp> | ||
Line 758: | Line 810: | ||
Decides whether to display scanned fingerprint image on the screen. \\ \\ | Decides whether to display scanned fingerprint image on the screen. \\ \\ | ||
**10. //lfdLevel//** \\ | **10. //lfdLevel//** \\ | ||
- | Configuration for the LFD sensitivity. \\ | + | Configuration for the LFD(Live Fingerprint Detection - fake fingerprint detection) sensitivity. \\ |
<WRAP group 50%> | <WRAP group 50%> | ||
^Value ^Description ^ | ^Value ^Description ^ | ||
Line 766: | Line 818: | ||
|3 |Most Strict | | |3 |Most Strict | | ||
</WRAP> | </WRAP> | ||
- | **11. checkDuplicate \\ | + | **11. //checkDuplicate//** \\ |
[+ V2.6.4] If set to true, it will determine if the fingerprint is a duplicate. \\ \\ | [+ V2.6.4] If set to true, it will determine if the fingerprint is a duplicate. \\ \\ | ||
**12. //reserved3//** \\ | **12. //reserved3//** \\ | ||
Line 773: | Line 825: | ||
==== BS2Rs485Config ==== | ==== BS2Rs485Config ==== | ||
<code cpp> | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t supportConfig; | ||
+ | uint8_t useExceptionCode; | ||
+ | uint8_t exceptionCode[BS2_RS485_MAX_FAIL_CODE_LEN]; | ||
+ | uint8_t outputFormat; | ||
+ | uint8_t osdpID; | ||
+ | uint8_t reserved[4]; | ||
+ | } BS2IntelligentPDInfo; //Added 2.8.0 for Intelligent Slave Feature | ||
+ | |||
typedef struct { | typedef struct { | ||
uint32_t baudRate; | uint32_t baudRate; | ||
Line 785: | Line 846: | ||
uint8_t mode; | uint8_t mode; | ||
uint8_t numOfChannels; | uint8_t numOfChannels; | ||
- | uint8_t reserved[2]; | + | uint8_t reserved[2]; |
- | uint8_t reserved1[32]; | + | BS2IntelligentPDInfo intelligentInfo; //Updated to v2.8.0 |
+ | uint8_t reserved1[16]; | ||
BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS]; | BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS]; | ||
} BS2Rs485Config; | } BS2Rs485Config; | ||
</code> | </code> | ||
- | **1. //baudRate//** \\ | + | **1. //supportConfig//** \\ |
+ | ''[+V2.8]'' If this value is 0, the device will ignore all settings related to Intelligent PD (Peripheral Device) below. \\ | ||
+ | useExceptionCode \\ | ||
+ | exceptionCode \\ | ||
+ | outputFormat \\ | ||
+ | osdpID \\ | ||
+ | |||
+ | **2. //useExceptionCode//** \\ | ||
+ | ''[+V2.8]'' This option is available to choose whether the exception code is sent or not. | ||
+ | |||
+ | **3. //exceptionCode//** \\ | ||
+ | ''[+V2.8]'' This function sends an exception code in case of authentication failure or authentication success but no card registered user.\\ | ||
+ | Set the exception code to be used at this time.\\ | ||
+ | If the exception code is 0 (0x0000000000000000), no exception code is generated.\\ | ||
+ | |||
+ | **4. //outputFormat//** \\ | ||
+ | ''[+V2.8]'' Intelligent Slave device can send Card ID or User ID upon successful authentication. \\ | ||
+ | If it is 0, the card ID is output, if it is 1, the user ID is output. \\ | ||
+ | |||
+ | **5. //osdpID//** \\ | ||
+ | ''[+V2.8]'' This is a value used to distinguish two or more Suprema Intelligent devices from each other when connecting to the RS485 port of the same third party controller. You can set and designate a unique value between 0 and 127. | ||
+ | The default OSDP ID for Suprema intelligent devices is 0. | ||
+ | |||
+ | |||
+ | **6. //reserved//** \\ | ||
+ | ''[+V2.8]'' Reserved space.\\ | ||
+ | |||
+ | |||
+ | **7. //baudRate//** \\ | ||
The RS-485 communication speed which can be configured as below. \\ | The RS-485 communication speed which can be configured as below. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
Line 800: | Line 890: | ||
|115200 | | |115200 | | ||
</WRAP> | </WRAP> | ||
- | **2. //channelIndex//** \\ | + | **8. //channelIndex//** \\ |
- | Communication channel index of the RS-485 network. \\ \\ | + | (non configurable index) Communication channel index of the RS-485 network. \\ \\ |
- | **3. //useRegistance//** \\ | + | **9. //useRegistance//** \\ |
- | Decides whether to use a resistance. \\ \\ | + | Registance flag - no effect on operation. \\ \\ |
- | **4. //numOfDevices//** \\ | + | **10. //numOfDevices//** \\ |
Number of slave devices.\\ \\ | Number of slave devices.\\ \\ | ||
- | **5. //slaveDevices//** \\ | + | **11. //reserved//** \\ |
+ | Reserved space.\\ \\ | ||
+ | **12. //slaveDevices//** \\ | ||
List of slave devices, which can be configured up to 32 devices.\\ \\ | List of slave devices, which can be configured up to 32 devices.\\ \\ | ||
- | **6. //mode//** \\ | + | **13. //mode//** \\ |
Decides the operating mode on the RS-485 network.\\ | Decides the operating mode on the RS-485 network.\\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
Line 817: | Line 909: | ||
|3 |Standalone | | |3 |Standalone | | ||
</WRAP> | </WRAP> | ||
- | **7. //numOfChannels//** \\ | + | **14. //numOfChannels//** \\ |
Number of RS-485 channel.\\ \\ | Number of RS-485 channel.\\ \\ | ||
- | **8. //reserved//** \\ | + | **15. //reserved//** \\ |
Reserved space.\\ \\ | Reserved space.\\ \\ | ||
- | **9. //reserved1//** \\ | + | **16. //intelligentInfo//** \\ |
- | Reserved space.\\ \\ | + | ''[+V2.8]'' This is Intelligent Slave Device Information\\ |
- | **10. //channels//** \\ | + | This only works when the device mode is RS485 default.\\ |
+ | Once the Suprema device is connected to a slave device to the 3rd party ACU through RS485(OSDP), the Suprema device becomes a Peripheral Device of the OSDP automatically.\\ \\ | ||
+ | |||
+ | **17. //reserved1//** \\ | ||
+ | Reserved space.\\ \\ | ||
+ | **18. //channels//** \\ | ||
List of RS-485 channels, which can be configured up to 4 channels.\\ \\ | List of RS-485 channels, which can be configured up to 4 channels.\\ \\ | ||
Line 849: | Line 946: | ||
uint16_t wiegandCardMask; | uint16_t wiegandCardMask; | ||
uint8_t wiegandCSNIndex; | uint8_t wiegandCSNIndex; | ||
- | uint8_t reserved[27]; | + | uint8_t useWiegandUserID; |
+ | uint8_t reserved[26]; | ||
} BS2WiegandConfig; | } BS2WiegandConfig; | ||
</code> | </code> | ||
Line 919: | Line 1017: | ||
**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. \\ \\ | ||
- | **17. //reserved//** \\ | + | **17. //useWiegandUserID//** \\ |
- | Reserved space\\ \\ | + | The flag you can select whether card ID or user ID to be sent via Wiegand output. \\ |
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Not use | | ||
+ | |1 |Card ID | | ||
+ | |2 |User ID | | ||
+ | </WRAP> | ||
+ | **18. //reserved//** \\ | ||
+ | Reserved space.\\ | ||
Line 1324: | Line 1430: | ||
26. //type// \\ | 26. //type// \\ | ||
Action types. \\ | Action types. \\ | ||
+ | <WRAP round important 60%> | ||
+ | <wrap em>[DoorModule-20, CoreStation-40]</wrap> \\ | ||
+ | If the action type is relay or TTL (Output) and the action device is DM20, CS40, | ||
+ | Action type should be set only as relay action (6). (TTL setting not possible) \\ \\ | ||
+ | <wrap em>[DM20]</wrap> \\ | ||
+ | * Action type : Relay | ||
+ | * relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3) | ||
+ | * relay.relayIndex : 4 ~ 9 (OUTPUT 0 ~ 5) | ||
+ | <wrap em>[CS40]</wrap> \\ | ||
+ | * Action type : Relay | ||
+ | * relay.relayIndex : 0 ~ 3 (RELAY 0 ~ 3) | ||
+ | * relay.relayIndex : 4 ~ 11 (OUTPUT 0 ~ 7) | ||
+ | </WRAP> | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^Value ^Description ^ | ^Value ^Description ^ | ||
Line 1339: | Line 1458: | ||
|11|Led action| | |11|Led action| | ||
|12|Fire alarm input| | |12|Fire alarm input| | ||
+ | |13|Auth Success(Access granted)| | ||
+ | |14|Auth Fail(Access denied)| | ||
+ | |15|Lift action| | ||
</WRAP> | </WRAP> | ||
27. //stopFlag// \\ | 27. //stopFlag// \\ | ||
Line 1558: | Line 1680: | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
- | BS2_FACE_SECURITY_LEVEL securityLevel; | + | uint8_t securityLevel; |
- | BS2_FACE_LIGHT_CONDITON lightCondition; | + | uint8_t lightCondition; |
- | BS2_FACE_ENROLL_THRESHOLD enrollThreshold; | + | uint8_t enrollThreshold; |
- | BS2_FACE_DETECT_SENSITIVITY detectSensitivity; | + | uint8_t detectSensitivity; |
- | uint16_t enrollTimeout; | + | uint16_t enrollTimeout; |
- | uint8_t reserved3[32]; | + | uint8_t lfdLevel; |
+ | bool quickEnrollment; | ||
+ | |||
+ | uint8_t previewOption; | ||
+ | bool checkDuplicate; | ||
+ | uint8_t operationMode; | ||
+ | uint8_t maxRotation; | ||
+ | |||
+ | struct { | ||
+ | uint16_t min; | ||
+ | uint16_t max; | ||
+ | } faceWidth; | ||
+ | |||
+ | struct { | ||
+ | uint16_t x; | ||
+ | uint16_t width; | ||
+ | } searchRange; | ||
+ | |||
+ | uint8_t reserved2[18]; | ||
} BS2FaceConfig; | } BS2FaceConfig; | ||
</code> | </code> | ||
- | 1. //securityLevel// \\ | + | **1. //securityLevel//** \\ |
Face authentication security level. This is used across the system. . \\ | Face authentication security level. This is used across the system. . \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
Line 1575: | Line 1715: | ||
|2 |Most highly secure | | |2 |Most highly secure | | ||
</WRAP> | </WRAP> | ||
- | 2. //lightCondition// \\ | + | **2. //lightCondition//** \\ |
Configuration of the light condition.\\ | Configuration of the light condition.\\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
Line 1582: | Line 1722: | ||
|1 |Outdoor | | |1 |Outdoor | | ||
|2 |Automatic | | |2 |Automatic | | ||
+ | |3 |[+ 2.8] Not used ''(FaceStation F2 v1.1.0 or higher version)'' | | ||
</WRAP> | </WRAP> | ||
- | 3. //enrollThreshold// \\ | + | [Note]\\ |
- | Threshold of face enrollment.\\ | + | FaceStation F2: v1.0.0 - v1.0.5 \\ |
+ | Ambient Brightness: Normal, High, ''Auto'' \\ | ||
+ | FaceStation F2: v1.1.0 or higher version \\ | ||
+ | Light Brightness: Normal, High, ''Not Used'' \\ | ||
+ | |||
+ | **3. //enrollThreshold//** \\ | ||
+ | Threshold of face enrollment. It determines how much movement of pose is allowed when enrolling the face. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^Value ^Description ^ | ^Value ^Description ^ | ||
- | |0 |THRESHOLD_0 | | + | |0 |THRESHOLD_0 (Most strict) | |
|1 |THRESHOLD_1 | | |1 |THRESHOLD_1 | | ||
|2 |THRESHOLD_2 | | |2 |THRESHOLD_2 | | ||
Line 1596: | Line 1743: | ||
|7 |THRESHOLD_7 | | |7 |THRESHOLD_7 | | ||
|8 |THRESHOLD_8 | | |8 |THRESHOLD_8 | | ||
- | |9 |THRESHOLD_9 | | + | |9 |THRESHOLD_9 (Least strict) | |
</WRAP> | </WRAP> | ||
- | 4. //detectSensitivity// \\ | + | **4. //detectSensitivity//** \\ |
Configuration of sensitivity on detecting the face. \\ | Configuration of sensitivity on detecting the face. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
Line 1604: | Line 1751: | ||
|0 |Off | | |0 |Off | | ||
|1 |Low | | |1 |Low | | ||
- | |2 |Basic | | + | |2 |Medium | |
|3 |High | | |3 |High | | ||
</WRAP> | </WRAP> | ||
- | 5. //enrollTimeout// \\ | + | **5. //enrollTimeout//** \\ |
- | Timeout period of face scanning which is 60 seconds by default.\\ \\ | + | ''FaceStation2, FaceLite'' : Timeout period of face scanning which is 60 seconds by default.\\ \\ |
- | 6. //reserved3// \\ | + | <WRAP group 60%> |
- | Reserved space.\\ \\ | + | ^Value ^Description ^ |
+ | |BS2_FACE_ENROLL_TIMEOUT_MIN |30 | | ||
+ | |BS2_FACE_ENROLL_TIMEOUT_MAX |60 | | ||
+ | |BS2_FACE_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_ENROLL_TIMEOUT_MAX | | ||
+ | </WRAP> | ||
+ | ''FaceStation F2'' : [+ 2.7.1] Face scan wait time, default is 20 seconds. \\ | ||
+ | <WRAP group 70%> | ||
+ | ^Value ^Description ^ | ||
+ | |BS2_FACE_EX_ENROLL_TIMEOUT_MIN |10 | | ||
+ | |BS2_FACE_EX_ENROLL_TIMEOUT_MAX |20 | | ||
+ | |BS2_FACE_EX_ENROLL_TIMEOUT_DEFAULT |BS2_FACE_EX_ENROLL_TIMEOUT_MAX | | ||
+ | </WRAP> | ||
+ | |||
+ | **6. //lfdLevel//** \\ | ||
+ | [+ 2.6.3] Configuration for the LFD(Live Face Detection - fake face detection) sensitivity. \\ | ||
+ | ''FaceStation2, FaceLite'' : Default is 0. \\ | ||
+ | ''FaceStation F2'' : [+ 2.7.1] Default is 1. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Not Use | | ||
+ | |1 |Strict | | ||
+ | |2 |More Strict | | ||
+ | |3 |Most Strict | | ||
+ | </WRAP> | ||
+ | **7. //quickEnrollment//** \\ | ||
+ | [+ 2.6.3] Quick face enrollment process. \\ | ||
+ | True - Face enrollment process with a single step.\\ | ||
+ | False - Face enrollment process with 3 steps.\\ | ||
+ | Please use false if you want to enroll with a high quality of face templates. \\ \\ | ||
+ | **8. //previewOption//** \\ | ||
+ | [+ 2.6.3] IR camera preview option when you authenticate with the face. \\ | ||
+ | Only used to ''FaceLite''. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Preview not used | | ||
+ | |1 |Preview not used at first of authentication, preview at 1/2 stage | | ||
+ | |2 |Preview of all stages on authentication | | ||
+ | </WRAP> | ||
+ | **9. //checkDuplicate//** \\ | ||
+ | [+ 2.6.4] Check whether the scanned face is duplicated in the device. \\ \\ | ||
+ | |||
+ | **10. //operationMode//** \\ | ||
+ | [+ 2.7.1] ''FaceStation F2'' Configures operation mode with below values, default is Fusion mode. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Mode ^Description ^Default ^ | ||
+ | |0 |Fusion Mode |Visual matching + IR matching |Default | | ||
+ | |1 |Visual Mode |Visual matching | | | ||
+ | |2 |Visual + IR |Visual matching, IR detects only face| | | ||
+ | </WRAP> | ||
+ | |||
+ | **11. //maxRotation//** \\ | ||
+ | [+ 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. \\ | ||
+ | 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. \\ \\ | ||
+ | |||
+ | **12. //faceWidth//** \\ | ||
+ | [+ 2.7.1] ''FaceStation F2'' This indicates the width of the face image, and you can specify the minimum and maximum values. \\ | ||
+ | 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//** \\ | ||
+ | [+ 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 of x and width are as follows. \\ | ||
+ | [+ 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.\\ \\ | ||
==== BS2Rs485ConfigEX ==== | ==== BS2Rs485ConfigEX ==== | ||
<code cpp> | <code cpp> | ||
Line 1920: | Line 2162: | ||
8. //reserved// \\ | 8. //reserved// \\ | ||
Reserved space. \\ | Reserved space. \\ | ||
+ | |||
+ | |||
+ | ==== BS2AuthConfigExt ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint32_t extAuthSchedule[BS2_MAX_NUM_OF_EXT_AUTH_MODE]; | ||
+ | uint8_t useGlobalAPB; | ||
+ | uint8_t globalAPBFailAction; | ||
+ | uint8_t useGroupMatching; | ||
+ | uint8_t reserved; | ||
+ | |||
+ | uint8_t reserved2[4]; | ||
+ | |||
+ | uint8_t usePrivateAuth; | ||
+ | uint8_t faceDetectionLevel; | ||
+ | uint8_t useServerMatching; | ||
+ | uint8_t useFullAccess; | ||
+ | |||
+ | uint8_t matchTimeout; | ||
+ | uint8_t authTimeout; | ||
+ | uint8_t numOperators; | ||
+ | uint8_t reserved3[1]; | ||
+ | |||
+ | struct { | ||
+ | char userID[BS2_USER_ID_SIZE]; | ||
+ | uint8_t level; | ||
+ | uint8_t reserved[3]; | ||
+ | } operators[BS2_MAX_OPERATORS]; | ||
+ | |||
+ | uint8_t reserved4[256]; | ||
+ | } BS2AuthConfigExt; | ||
+ | </code> | ||
+ | **1. //extAuthSchedule//** \\ | ||
+ | Schedule values to operate when each authentication mode is activated. \\ | ||
+ | It has the following meanings for each value. \\ | ||
+ | If the value in the array is greater than 0, the authentication mode is activated. \\ | ||
+ | In the explanations below, biometric information means fingerprints or faces depending on the device. \\ | ||
+ | <WRAP group 70%> | ||
+ | ^Value ^Code ^Description ^ | ||
+ | |11 |BS2_EXT_AUTH_MODE_FACE_ONLY |Face | | ||
+ | |12 |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT |Face + Fingerprint | | ||
+ | |13 |BS2_EXT_AUTH_MODE_FACE_PIN |Face + PIN | | ||
+ | |14 |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_OR_PIN |Face + Fingerprint/PIN | | ||
+ | |15 |BS2_EXT_AUTH_MODE_FACE_FINGERPRINT_PIN |Face + Fingerprint + PIN | | ||
+ | |16 |BS2_EXT_AUTH_MODE_FINGERPRINT_ONLY |Fingerprint | | ||
+ | |17 |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE |Fingerprint + Face | | ||
+ | |18 |BS2_EXT_AUTH_MODE_FINGERPRINT_PIN |Fingerprint + PIN | | ||
+ | |19 |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_OR_PIN |Fingerprint + Face/PIN | | ||
+ | |20 |BS2_EXT_AUTH_MODE_FINGERPRINT_FACE_PIN |Fingerprint + Face + PIN | | ||
+ | |21 |BS2_EXT_AUTH_MODE_CARD_ONLY |Card | | ||
+ | |22 |BS2_EXT_AUTH_MODE_CARD_FACE |Cardn + Face | | ||
+ | |23 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT |Card + Fingerprint | | ||
+ | |24 |BS2_EXT_AUTH_MODE_CARD_PIN |Card + PIN | | ||
+ | |25 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT |Card + Face/Fingerprint | | ||
+ | |26 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_PIN |Card + Face/PIN | | ||
+ | |27 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_OR_PIN |Card + Fingerprint/PIN | | ||
+ | |28 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_OR_PIN |Card + Face/Fingerprint/PIN | | ||
+ | |29 |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT |Card + Face + Fingerprint | | ||
+ | |30 |BS2_EXT_AUTH_MODE_CARD_FACE_PIN |Card + Face + PIN | | ||
+ | |31 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE |Card + Fingerprint + Face | | ||
+ | |32 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_PIN |Card + Fingerprint + PIN | | ||
+ | |33 |BS2_EXT_AUTH_MODE_CARD_FACE_OR_FINGERPRINT_PIN |Card + Face/Fingerprint + PIN | | ||
+ | |34 |BS2_EXT_AUTH_MODE_CARD_FACE_FINGERPRINT_OR_PIN |Card + Face + Fingerprint/PIN | | ||
+ | |35 |BS2_EXT_AUTH_MODE_CARD_FINGERPRINT_FACE_OR_PIN |Card + Fingerprint + Face/PIN | | ||
+ | |36 |BS2_EXT_AUTH_MODE_ID_FACE |ID + Face | | ||
+ | |37 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT |ID + Fingerprint | | ||
+ | |38 |BS2_EXT_AUTH_MODE_ID_PIN |ID + PIN | | ||
+ | |39 |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT |ID + Face/Fingerprint | | ||
+ | |40 |BS2_EXT_AUTH_MODE_ID_FACE_OR_PIN |ID + Face/PIN | | ||
+ | |41 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_OR_PIN |ID + Fingerprint/PIN | | ||
+ | |42 |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_OR_PIN |ID + Face/Fingerprint/PIN | | ||
+ | |43 |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT |ID + Face + Fingerprint | | ||
+ | |44 |BS2_EXT_AUTH_MODE_ID_FACE_PIN |ID + Face + PIN | | ||
+ | |45 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE |ID + Fingerprint + Face | | ||
+ | |46 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_PIN |ID + Fingerprint + PIN | | ||
+ | |47 |BS2_EXT_AUTH_MODE_ID_FACE_OR_FINGERPRINT_PIN |ID + Face/Fingerprint + PIN | | ||
+ | |48 |BS2_EXT_AUTH_MODE_ID_FACE_FINGERPRINT_OR_PIN |ID + Face + Fingerprint/PIN | | ||
+ | |49 |BS2_EXT_AUTH_MODE_ID_FINGERPRINT_FACE_OR_PIN |ID + Fingerprint + Face/PIN | | ||
+ | </WRAP> | ||
+ | 2. //useGlobalAPB// \\ | ||
+ | This flag determines whether to enable Global APB zone. \\ \\ | ||
+ | 3. //globalAPBFailAction// \\ | ||
+ | This is a basic action to be performed when the device cannot query the server for Global APB violation. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Do not check APB | | ||
+ | |1 |Soft APB | | ||
+ | |2 |Hard APB | | ||
+ | </WRAP> | ||
+ | 4. //useGroupMatching// \\ | ||
+ | Enables facial group matching. \\ \\ | ||
+ | 5. //reserved// \\ | ||
+ | Reserved space. \\ \\ | ||
+ | 6. //reserved2// \\ | ||
+ | Reserved space. \\ \\ | ||
+ | 7. //usePrivateAuth// \\ | ||
+ | Enable private authentication mode. \\ \\ | ||
+ | 8. //faceDetectionLevel// \\ | ||
+ | This is the face detection level value when authenticating the user in BioStation A2, and if a face is detected at a level lower than the specified level, it is treated as an authentication failure.\\ | ||
+ | When enabled, the camera view according to Normal/Strict is displayed, and access is denied if the image log is not recognized as a face when successful authentication. The default is 0. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Do not detect face | | ||
+ | |1 |Normal mode | | ||
+ | |2 |Strict mode | | ||
+ | </WRAP> | ||
+ | <WRAP info> | ||
+ | It is available only in BioStation A2, not available in FaceStation2 or FaceLite. | ||
+ | </WRAP> | ||
+ | 9. //useServerMatching// \\ | ||
+ | Enable server matching for fingerprint matching or facial matching. \\ \\ | ||
+ | 10. //useFullAccess// \\ | ||
+ | This parameter is not in use. \\ \\ | ||
+ | 11. //matchTimeout// \\ | ||
+ | The maximum response time in fingerprint or facial matching and the unit is seconds(sec). \\ \\ | ||
+ | 12. //authTimeout// \\ | ||
+ | The maximum response time in user authentication and the unit is seconds(sec). \\ \\ | ||
+ | 13. //numOperators// \\ | ||
+ | The number of operators. \\ \\ | ||
+ | 14. //reserved3// \\ | ||
+ | Reserved \\ \\ | ||
+ | 15. //userID// \\ | ||
+ | User ID \\ \\ | ||
+ | 16. //level// \\ | ||
+ | It specifies the corresponding level of the user when the user is authenticated.\\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |No level | | ||
+ | |1 |Operator level | | ||
+ | |2 |System configuration level | | ||
+ | |3 |User information level | | ||
+ | </WRAP> | ||
+ | <WRAP alert> | ||
+ | **CAUTION**\\ | ||
+ | You must specify the number of operators to be added in the field **//numOperators//** when adding operators. | ||
+ | </WRAP> | ||
+ | 17. //reserved// \\ | ||
+ | Reserved \\ | ||
+ | 18. //reserved4// \\ | ||
+ | Reserved \\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2FaceConfigExt ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t thermalCheckMode; | ||
+ | uint8_t maskCheckMode; | ||
+ | uint8_t reserved[2]; | ||
+ | |||
+ | uint8_t thermalFormat; | ||
+ | uint8_t reserved2; | ||
+ | |||
+ | uint16_t thermalThresholdLow; | ||
+ | uint16_t thermalThresholdHigh; | ||
+ | uint8_t maskDetectionLevel; | ||
+ | uint8_t auditTemperature; | ||
+ | |||
+ | uint8_t useRejectSound; | ||
+ | uint8_t useOverlapThermal; | ||
+ | uint8_t useDynamicROI; | ||
+ | uint8_t faceCheckOrder; | ||
+ | } BS2FaceConfigExt; | ||
+ | </code> | ||
+ | 1. //thermalCheckMode// \\ | ||
+ | Sets the thermal check mode. \\ | ||
+ | When set to HARD, access is denied if exceeding the thermalThreshold. \\ | ||
+ | When set to SOFT, access is not affected even if exceeding the thermalThreshold but leaves a related log. \\ | ||
+ | If thermalCheckMode is set to No use(0), \\ | ||
+ | The settings of thermalFormat, thermalThreshold, auditTemperature, and useOverlapThermal are ignored. \\ | ||
+ | And the reject sound due to thermal check by useRejectSound, the temperature check by faceCheckOrder is ignored. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^Default ^ | ||
+ | |0 |No use |Default | | ||
+ | |1 |Thermal Check Mode (HARD) | | | ||
+ | |2 |Thermal Check Mode (SOFT) | | | ||
+ | </WRAP> | ||
+ | 2. //maskCheckMode// \\ | ||
+ | ''FaceStation F2'' 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 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), \\ | ||
+ | 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. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^Default ^ | ||
+ | |0 |No use |Default | | ||
+ | |1 |Mask Check Mode (HARD) | | | ||
+ | |2 |Mask Check Mode (SOFT) | | | ||
+ | </WRAP> | ||
+ | 3. //reserved// \\ | ||
+ | Reserved \\ \\ | ||
+ | 4. //thermalFormat// \\ | ||
+ | Represents the temperature unit. You may choose the unit in Fahrenheit or Celsius \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^Default ^ | ||
+ | |0 |Fahrenheit | | | ||
+ | |1 |Celsius |Default | | ||
+ | </WRAP> | ||
+ | 5. //reserved2// \\ | ||
+ | Reserved \\ \\ | ||
+ | 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. \\ | ||
+ | Also, you can only enter in degrees Celsius. \\ | ||
+ | This value is the basis for the denial of authentication, and the setting range is between 100 (1º) and 4500 (45º). \\ | ||
+ | The default value is 3200 (32º), and if a value larger or smaller than the setting range is entered, the default value a set to 3200 (32º). \\ | ||
+ | And you must set a value less than thermalThresholdHigh. \\ \\ | ||
+ | 7. //thermalThresholdHigh// \\ | ||
+ | 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. \\ | ||
+ | This value is the basis for the denial of authentication, and the setting range is between 100 (1º) and 4500 (45º). \\ | ||
+ | The default value is 3800 (38º), and if a value larger or smaller than the setting range is entered, the default value a set to 3800 (38º). \\ | ||
+ | And you must set a value greater than thermalThresholdLow. \\ \\ | ||
+ | 8. //maskDetectionLevel// \\ | ||
+ | ''FaceStation F2'' Sets the mask detection level. The detecting level is based on internal setting value. \\ | ||
+ | ''FaceStation 2'' This setting is ignored. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^Default ^ | ||
+ | |0 |No detection |Default | | ||
+ | |1 |Detection level (Normal) | | | ||
+ | |2 |Detection level (High) | | | ||
+ | |3 |Detection level (Very high) | | | ||
+ | </WRAP> | ||
+ | 9. //auditTemperature// \\ | ||
+ | Decides whether the measured temperature is recorded in the log or not. \\ \\ | ||
+ | 10. //useRejectSound// \\ | ||
+ | Decides whether it sounds when rejecting a user due to thermalThreshold or maskDetectionLevel. \\ \\ | ||
+ | 11. //useOverlapThermal// \\ | ||
+ | Displays a thermal image overlaid on the screen. \\ \\ | ||
+ | 12. //useDynamicROI// \\ | ||
+ | When set to true, when measuring temperature, the user's forehead is found and measured, not a fixed area. \\ \\ | ||
+ | 13. //faceCheckOrder// \\ | ||
+ | It defines the sequence of thermal check and mask detection and authentication. \\ | ||
+ | Because the user should touch the device in the case of ID combination authentication or PIN combination authentication,\\ | ||
+ | it is important to decide whether the device authenticates before all check modes or afterward especially in a high-risk environment.\\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^Default ^ | ||
+ | Authentication before Temperature check or Mask detection check | ||
+ | |0 |Check after authentication | Default | | ||
+ | |1 |Check before authentication | | | ||
+ | |2 |No authentication, check only | | | ||
+ | </WRAP> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== BS2ThermalCameraConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t distance; | ||
+ | uint8_t emissionRate; | ||
+ | |||
+ | struct { | ||
+ | uint16_t x; | ||
+ | uint16_t y; | ||
+ | uint16_t width; | ||
+ | uint16_t height; | ||
+ | } roi; | ||
+ | |||
+ | uint8_t useBodyCompensation; | ||
+ | int8_t compensationTemperature; | ||
+ | } BS2ThermalCameraConfig; | ||
+ | </code> | ||
+ | 1. //distance// \\ | ||
+ | The distance measured by the thermal imaging camera. The unit is cm, and the default is 100. \\ \\ | ||
+ | 2. //emissionRate// \\ | ||
+ | The emissivity of the subject reflecting heat. \\ | ||
+ | It is recommended to enter within the [95/97/98] range. If the subject is a human, 98 is recommended. \\ \\ | ||
+ | 3. //roi// \\ | ||
+ | ROI (Region of interest) refers to the region of interest. \\ | ||
+ | It can be specified through coordinates (x, y) and range (width, height) values when measuring temperature on the face. \\ \\ | ||
+ | 4. //useBodyCompensation// \\ | ||
+ | It decides whether to use the compensate the body temperature. \\ \\ | ||
+ | 5. //compensationTemperature// \\ | ||
+ | There may be a slight difference between the actual body temperature and the body temperature measurement using the camera, and you can correct the difference by setting a value here. \\ | ||
+ | It must be as the value multiplied by 10 of the temperature to be set. The value is available -50 ~ +50 \\ \\ | ||
+ | |||
+ | ==== BS2BarcodeConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t useBarcode; | ||
+ | uint8_t scanTimeout; | ||
+ | uint8_t bypassData; | ||
+ | uint8_t treatAsCSN; | ||
+ | |||
+ | uint8_t reserved[12]; | ||
+ | } BS2BarcodeConfig; | ||
+ | </code> | ||
+ | 1. //useBarcode// \\ | ||
+ | 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.\\ \\ | ||
+ | 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. //reserved// \\ | ||
+ | Reserved space. \\ | ||
+ | |||
+ | ==== BS2InputConfigEx ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t numInputs; | ||
+ | uint8_t numSupervised; | ||
+ | uint8_t reserved[18]; | ||
+ | |||
+ | struct { | ||
+ | uint8_t portIndex; | ||
+ | uint8_t switchType; | ||
+ | uint16_t duration; | ||
+ | | ||
+ | uint8_t reserved; | ||
+ | uint8_t supervisedResistor; | ||
+ | uint8_t reserved1[16]; | ||
+ | | ||
+ | uint8_t reserved2[26]; | ||
+ | } inputs[BS2_MAX_INPUT_NUM_EX]; | ||
+ | |||
+ | uint8_t reserved2[200]; | ||
+ | } BS2InputConfigEx; | ||
+ | </code> | ||
+ | 1. //numInputs// \\ | ||
+ | Number of Input port. \\ \\ | ||
+ | 2. //numSupervised// \\ | ||
+ | Number of supervised input port. \\ \\ | ||
+ | 3. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 4. //portIndex// \\ | ||
+ | Input Port Number. \\ \\ | ||
+ | 5. //switchType// \\ | ||
+ | Input Signal Type. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |Normally Open | | ||
+ | |1 |Normally Closed | | ||
+ | </WRAP> | ||
+ | 6. //duration// \\ | ||
+ | Input Signal Duration Time Measurement is milliseconds(ms). \\ \\ | ||
+ | 7. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 8. //supervisedResistor// \\ | ||
+ | You can set Supervised input resistance value type or unsupervise it. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^Value ^Description ^ | ||
+ | |0 |1K Resistance | | ||
+ | |1 |2.2K Resistance | | ||
+ | |2 |4.7K Resistance | | ||
+ | |3 |10K Resistance | | ||
+ | |254 |Unsupervised(Default) | | ||
+ | </WRAP> | ||
+ | 9. //reserved1// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 10. //reserved2// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 11. //reserved2// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | |||
+ | ==== BS2RelayActionConfig ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint32_t deviceID; ///< 4 bytes | ||
+ | uint8_t reserved[16]; ///< 16 bytes | ||
+ | |||
+ | struct { | ||
+ | uint8_t port; ///< 1 byte (relay port) | ||
+ | uint8_t reserved0; ///< 1 byte | ||
+ | uint8_t disconnEnabled; ///< 1 byte (RS485 disconnection) | ||
+ | uint8_t reserved[9]; ///< 9 bytes | ||
+ | | ||
+ | struct { | ||
+ | uint8_t port; ///< 1 byte (input port) | ||
+ | uint8_t type; ///< 1 byte (linkage/latching/release) | ||
+ | uint8_t mask; ///< 1 byte (alarm/fault) | ||
+ | uint8_t reserved[9]; ///< 9 bytes | ||
+ | } input[BS2_MAX_RELAY_ACTION_INPUT]; ///< 192 bytes | ||
+ | } relay[BS2_MAX_RELAY_ACTION]; ///< 816 bytes | ||
+ | |||
+ | uint8_t reserved2[152]; ///< 152 bytes | ||
+ | } BS2RelayActionConfig; | ||
+ | </code> | ||
+ | 1. //deviceID// \\ | ||
+ | Device Identifier \\ \\ | ||
+ | 2. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 3. //relay// \\ | ||
+ | Relay Setting Information \\ \\ | ||
+ | 4. //port// \\ | ||
+ | Relay port Number. \\ \\ | ||
+ | 5. //reserved0// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 6. //disconnEnabled// \\ | ||
+ | If set to true, a signal is made when RS485 is disconnected. \\ \\ | ||
+ | 7. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 8. //input// \\ | ||
+ | Defines to which input ports the relay ports will take action. \\ \\ | ||
+ | 9. //port// \\ | ||
+ | Input port Identifier. \\ \\ | ||
+ | 10. //type// \\ | ||
+ | Defines in which input type the input will take action. \\ | ||
+ | If set to Linkage, signal can be made when alarm is set to mask. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^type ^Value ^Description ^ | ||
+ | |NONE |0 |OFF | | ||
+ | |LINKAGE |1 |Connect to the relay of the input | | ||
+ | |LATCHING |2 |''Not Supported'' | | ||
+ | |RELEASE |3 |''Not Supported'' | | ||
+ | </WRAP> | ||
+ | 11. //mask// \\ | ||
+ | Set mask to Input Signal Info. \\ | ||
+ | <WRAP group 50%> | ||
+ | ^type ^Value ^Description ^ | ||
+ | |NONE |0 |OFF | | ||
+ | |ALARM |1 |Signal Made | | ||
+ | |FAULT |2 |Signal Made when disconnected | | ||
+ | </WRAP> | ||
+ | 12. //reserved// \\ | ||
+ | Reserved Space. \\ \\ | ||
+ | 13. //reserved2// \\ | ||
+ | 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. \\ \\ |