Skip to content

Commit

Permalink
[*] Release V1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
suprema-charlie committed Sep 12, 2023
1 parent 6c21033 commit e7eee74
Show file tree
Hide file tree
Showing 13 changed files with 215 additions and 17 deletions.
24 changes: 14 additions & 10 deletions docs/_apis/action.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ A trigger is fired when its specific condition is met. You can configure three t
message Trigger {
uint32 deviceID;
TriggerType type;
EventTrigger event;
InputTrigger input;
ScheduleTrigger schedule;
oneof entity {
EventTrigger event;
InputTrigger input;
ScheduleTrigger schedule;
}
}
```
{: #Trigger }
Expand Down Expand Up @@ -126,13 +128,15 @@ message Action {
StopFlag stopFlag;
uint32 delay;
RelayAction relay;
OutputPortAction outputPort;
DisplayAction display;
SoundAction sound;
LEDAction LED;
BuzzerAction buzzer;
LiftAction lift;
oneof entity {
RelayAction relay;
OutputPortAction outputPort;
DisplayAction display;
SoundAction sound;
LEDAction LED;
BuzzerAction buzzer;
LiftAction lift;
}
}
```
{: #Action }
Expand Down
8 changes: 8 additions & 0 deletions docs/_apis/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ A master gateway manages devices through one or more device gateways. Due to thi
| [Tenant]({{'/api/tenant/' | relative_url}}) | X | O | manage tenants |
| [Gateway]({{'/api/gateway/' | relative_url}}) | X | O | manage device gateways |
| [Server]({{'/api/server/' | relative_url}}) | O | X | implement server matching |
| [UDP]({{'/api/udp/' | relative_url}}) | O | X | manage devices directly |
| [UDP Master]({{'/api/udpMaster/' | relative_url}}) | X | O | manage devices via device gateways |


### API definition
Expand Down Expand Up @@ -190,6 +192,12 @@ You can configure several types of zones for high-level functions such as anti p

## Misc. APIs

### [UDP]({{ 'api/udp/' | relative_url }})
Manage UDP communication between the device gateway and the devices.

### [UDPMaster]({{ 'api/udpMaster/' | relative_url }})
Manage UDP communication between the master gateway and the devices through device gateways.

### [Admin]({{ 'api/admin/' | relative_url }})
Get the version of G-SDK.

Expand Down
23 changes: 21 additions & 2 deletions docs/_apis/card.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,16 @@ message SmartCardHeader {
uint32 headerCRC;
uint32 cardCRC;
Type type;
uint32 numOfTemplate;
oneof templateCount {
uint32 numOfTemplate;
uint32 numOfFaceTemplate; // Only for FaceStation F2 and BioStation 3
}
uint32 templateSize;
uint32 issueCount;
uint32 duressMask;
uint32 cardAuthMode;
bool useAlphanumericID;
uint32 cardAuthModeEx; // Only for FaceStation F2 and BioStation 3
}
```
{: #SmartCardHeader }
Expand All @@ -128,15 +134,28 @@ type
numOfTemplate
: The number of fingerprint templates stored in the card. Maximum 4 templates can be stored on a card.

numOfFaceTemplate
: The number of face templates stored in the card. Maximum 2 templates can be stored on a card.

templateSize
: The size of fingerprint template in bytes.
: The size of fingerprint/face template in bytes. Typically, 384 or 552

issueCount
: You can issue a card multiple times. In this case, you can differentiate each issue by this parameter.

duressMask
: Specify whether any of the fingerprint templates is of a duress finger. For example, if the first template is of a duress finger, it should be 0x01.

useAlphanumericID
: If true, cardID should be string.

cardAuthMode
: Specify the private authentication mode for the card.

cardAuthModeEx
: Specify the extended private authentication mode for the card.



```protobuf
message SmartCardCredential {
Expand Down
4 changes: 4 additions & 0 deletions docs/_apis/connect.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ With [the asynchronous APIs](#asynchronous-connection) and [the device-to-server
```protobuf
message DeviceInfo {
uint32 deviceID;
device.Type type;
ConnectionMode connectionMode;
string IPAddr;
int32 port;
Expand Down Expand Up @@ -256,6 +257,7 @@ If a device is trying to connect to the gateway but is not included in the accep
```protobuf
message PendingDeviceInfo {
uint32 deviceID;
device.Type type;
string IPAddr;
uint32 lastTry;
}
Expand Down Expand Up @@ -312,6 +314,8 @@ message SearchDeviceInfo {
ConnectionMode connectionMode;
string IPAddr;
int32 port;
bool useSSL;
string serverAddr;
}
```
{: #SearchDeviceInfo }
Expand Down
2 changes: 1 addition & 1 deletion docs/_apis/connectMaster.md
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ Delete the slave device information from the master gateway database.
| slaveDeviceInfos | [SlaveDeviceInfo[]]({{'/api/connect/' | relative_url}}#SlaveDeviceInfo) | The slave device information to be deleted |


### GetSlaveDeviceIDB
### GetSlaveDeviceDB

Get the slave device information of a device gateway stored on the database.

Expand Down
2 changes: 2 additions & 0 deletions docs/_apis/device.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ enum Type {
IM_120 = 0x21;
XSTATION_2_FP = 0x22;
BIOSTATION_3 = 0x23;
BIOSTANION_2A = 0x26;
}
```
{: #Type }
Expand Down
10 changes: 9 additions & 1 deletion docs/_apis/finger.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,23 @@ Get the image of the fingerprint, which was captured by the last [Scan](#scan).
[FingerData](#FingerData) consists of two templates of a finger. You can verify if the two templates match each other using [Verify](#verify).

```protobuf
enum FingerFlag {
BS2_FINGER_FLAG_NONE = 0x00;
BS2_FINGER_FLAG_DURESS = 0x01;
}
message FingerData {
int32 index;
uint32 flag;
repeated bytes templates;
}
```
index/flag
index
: Can be used for managing the fingerprint data in your application. Ignored by the device.

flag
: Indicates the purpose of the fingerprint.

templates
: Two fingerprint templates of a same finger. The size of the fingerprint template should not be larger than 384 byte.

Expand Down
1 change: 1 addition & 0 deletions docs/_apis/rs485.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ message RS485Channel {
uint32 channelID;
Mode mode;
uint32 baudRate;
repeated SlaveDeviceInfo slaveDevices;
}
```
{: #RS485Channel }
Expand Down
11 changes: 9 additions & 2 deletions docs/_apis/schedule.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,18 @@ toc_label: "Schedule"
A schedule is used for access control and other configurations such as authentication mode. You can configure a [DailySchedule](#DailySchedule) or a [WeeklySchedule](#WeeklySchedule).

```protobuf
enum PredefinedSchedule {
NEVER = 0;
ALWAYS = 1;
}
message ScheduleInfo {
uint32 ID;
string name;
DailySchedule daily;
WeeklySchedule weekly;
oneof ordinary {
DailySchedule daily;
WeeklySchedule weekly;
}
repeated HolidaySchedule holidays;
}
```
Expand Down
50 changes: 50 additions & 0 deletions docs/_apis/udp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: "UDP API"
toc_label: "UDP"
---

For the device gateway only. Refer to [the UDP Master API]({{'/api/udpMaster/' | relative_url}}) for the master gateway.
{: .notice--info}

## Overview

The UDP API is for communicating with devices via UDP.

## IP

You can get/set IP configuration of a device within a subnet using [GetIPConfig](#getipconfig)/[SetIPConfig](#setipconfig).

### GetIPConfig

Get the IP configuration of a device.

```protobuf
message DeviceInfo {
uint32 deviceID;
string IPAddr;
}
```
{: #DeviceInfo }

| Request |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| deviceInfo | [DeviceInfo](#DeviceInfo) | The information of the device in the subnet |

| Response |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| config | [IPConfig]({{'/api/network/' | relative_url}}#IPConfig) | The IP configuration read from the device |

### SetIPConfig

Set the IP configuration of a device.

| Request |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| deviceInfo | [DeviceInfo](#DeviceInfo) | The information of the device in the subnet |
| config | [IPConfig]({{'/api/network/' | relative_url}}#IPConfig) | The IP configuration to be written to the device |
44 changes: 44 additions & 0 deletions docs/_apis/udpMaster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: "UDP Master API"
toc_label: "UDP Master"
---

For the master gateway only. Refer to [the UDP API]({{'/api/udp/' | relative_url}}) for the device gateway.
{: .notice--info}

## Overview

A master gateway manages devices through one or more device gateways. So, you have to specify a gateway ID when calling some of the APIs. Apart from this difference, the UDP Master API shares most of the data structures with [the UDP API]({{'/api/udp/' | relative_url}}).

## IP

You can get/set IP configuration of a device within a subnet using [GetIPConfig](#getipconfig)/[SetIPConfig](#setipconfig).

### GetIPConfig

Get the IP configuration of a device.

| Request |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| gatewayID | string | The ID of the gateway |
| deviceInfo | [DeviceInfo]({{'/api/udp/' | relative_url}}#DeviceInfo) | The information of the device in the subnet |

| Response |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| config | [IPConfig]({{'/api/network/' | relative_url}}#IPConfig) | The IP configuration read from the device |

### SetIPConfig

Set the IP configuration of a device.

| Request |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| gatewayID | string | The ID of the gateway |
| deviceInfo | [DeviceInfo]({{'/api/udp/' | relative_url}}#DeviceInfo) | The information of the device in the subnet |
| config | [IPConfig]({{'/api/network/' | relative_url}}#IPConfig) | The IP configuration to be written to the device |
49 changes: 48 additions & 1 deletion docs/_apis/user.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ message UserHdr {
int32 numOfCard;
int32 numOfFinger;
int32 numOfFace;
uint32 authGroupID;
uint32 authGroupID;
uint32 updateMask; // for Update(Multi)Request only
}
```
{: #UserHdr}
Expand All @@ -37,6 +38,9 @@ numOfFace
authGroupID
: Used only for group matching of face. Refer to [Face.AuthGroup]({{'/api/face/' | relative_url}}#auth-group).

updateMask
: Used only for UpdateRequest/UpdateMultiRequest.

### User Setting

You can specify the effective and expiry time of a user using __startTime__ and __endTime__. You can also specify the private authentication modes of the user using __fingerAuthMode__, __cardAuthMode__, and __IDAuthMode__. For the available modes, refer to [authentication modes]({{'/api/auth/' | relative_url}}#AuthMode). Since FaceStation F2 and BioStation 3 provides [different authentication modes]({{'/api/auth/' | relative_url}}#authentication-mode-for-facestation-f2), you have to use __faceAuthExtMode__, __fingerAuthExtMode__, __cardAuthExtMode__, and __IDAuthExtMode__ for it.
Expand Down Expand Up @@ -313,6 +317,49 @@ Enroll users to multiple devices.
| users | [UserInfo[]](#UserInfo) | The information of the users to be enrolled |
| overwrite | bool | If true, overwrite the existing users with the same IDs. If false, return an error |

## Update
Set the partial user information with specific user IDs. For example, if you want update only the card and PIN, you should specify [updateMask](#UpdateMask) as KEEP_USER_PHRASE | KEEP_USER_JOB_CODE | KEEP_USER_NAME | KEEP_USER_PHOTO | KEEP_USER_FINGER | KEEP_USER_FACE. If the [updateMask](#UpdateMask) is KEEP_NONE, it is works as [Enroll](#Enroll) with overwrite option.

### UpdateMask
```protobuf
enum UpdateMask {
KEEP_NONE = 0x00;
KEEP_USER_PHRASE = 0x01;
KEEP_USER_JOB_CODE = 0x02;
KEEP_USER_NAME = 0x04;
KEEP_USER_PHOTO = 0x08;
KEEP_USER_PIN = 0x10;
KEEP_USER_CARD = 0x20;
KEEP_USER_FINGER = 0x40;
KEEP_USER_FACE = 0x80;
KEEP_ALL = 0xFF;
}
```

### Update

Update users to a device.

| Request |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| deviceID | uint32 | The ID of the device |
| users | [UserInfo[]](#UserInfo) | The information of the users to be updated |

### UpdateMulti

Update users to multiple devices.

| Request |

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| deviceIDs | uint32[] | The IDs of the devices |
| users | [UserInfo[]](#UserInfo) | The information of the users to be updated |

## Delete

### Delete
Expand Down
4 changes: 4 additions & 0 deletions docs/_data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ api:
url: /api/user/
- title: RTSP
url: /api/rtsp/
- title: UDP
url: /api/udp/
- title: UDPMaster
url: /api/udpMaster/
- title: VoIP
url: /api/voip/
- title: Wiegand
Expand Down

0 comments on commit e7eee74

Please sign in to comment.