Skip to content

Commit

Permalink
- updated documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
mzillgith committed Aug 13, 2024
1 parent f0c59be commit d5e8382
Show file tree
Hide file tree
Showing 6 changed files with 111 additions and 32 deletions.
28 changes: 26 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The library support the following IEC 61850 protocol features:
* GOOSE and SV control block handling
* Support for R-session protocol/R-GOOSE/R-SMV (BETA)
* Simple SNTP client code (BETA)
* TLS support
* TLS support (IEC 62351-3/4)
* C and C#/.NET API


Expand Down Expand Up @@ -88,6 +88,16 @@ You can test the server examples by using a generic client or the provided clien

## Building the library with TLS support

The library has an implementation agnostic interface for TLS configuration.

Currently it comes with two different implementations of this interface.

One for the old mbedtls 2.28 LTS version that support TLS versions up to TLS 1.2.

Another implementation support the current mbedtls 3.6.0 version. This newer mbedtls version supports only TLS 1.2 and 1.3.

### mbedtls 2.28

Download, unpack, and copy mbedtls-2.28 into the third_party/mbedtls folder.

NOTE: The current version support mbedtls version 2.28. When you download the source archive from https://tls.mbed.org/ you have to rename the extracted folder to "mbedtls-2.28".
Expand All @@ -100,6 +110,20 @@ make WITH_MBEDTLS=1

When using CMake the library is built automatically with TLS support when the folder third_party/mbedtls/mbedtls-2.28 is present.

### mbedtls 3.6

Alternatively you can also use mbedtls 3.6.

Download, unpack, and copy mbedtls-3.6.0 into the third_party/mbedtls folder

In the main libiec61850 folder run

```
make WITH_MBEDTLS3=1
```

When using CMake the library is built automatically with TLS support when the folder third_party/mbedtls/mbedtls-3.6.0 is present.

## Installing the library and the API headers

The make and cmake build scripts provide an install target. This target copies the API header files and the static library to a single directory for the headers (INSTALL_PREFIX/include) and the static library (INSTALL_PREFIX/lib). With this feature it is more easy to integrate libiec61850 in an external application since you only have to add a simple include directory to the build tool of your choice.
Expand All @@ -119,7 +143,7 @@ For the cmake build script you have to provide the CMAKE_INSTALL_PREFIX variable

## Building on windows with GOOSE support

To build the library and run libiec61850 applications with GOOSE support on Windows (7/8/10) the use of a third-party library (winpcap) is required. This is necessary because current versions of Windows have no working support for raw sockets. You can download winpcap here (http://www.winpcap.org).
To build the library and run libiec61850 applications with GOOSE support on Windows (10/11) the use of a third-party library (winpcap) is required. This is necessary because current versions of Windows have no working support for raw sockets. You can download winpcap here (http://www.winpcap.org).

1. Download and install winpcap. Make sure that the winpcap driver is loaded at boot time (you can choose this option at the last screen of the winpcap installer).
2. Reboot the system (you can do this also later, but you need to reboot or load the winpcap driver before running any llibiec61850 applications that use GOOSE).
Expand Down
2 changes: 2 additions & 0 deletions src/iec61850/inc/iec61850_cdc.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ extern "C" {
/**
* @defgroup COMMON_DATA_CLASSES Helper functions to create common data classes (CDC) using the dynamic model API
*
* \brief Helper functions to create compliant common data classes (CDC) using the dynamic model API.
*
* Currently supports CDCs from IEC 61850-7-3:2010 (Edition 2)
*
* @{
Expand Down
2 changes: 2 additions & 0 deletions src/iec61850/inc/iec61850_config_file_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ extern "C" {
/**
* @defgroup CONFIG_FILE_PARSER Create data models by configuration files
*
* \brief Functions to create data models from simple text configuration files create with the configuration file tool.
*
* @{
*/

Expand Down
2 changes: 2 additions & 0 deletions src/iec61850/inc/iec61850_dynamic_model.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ extern "C" {
/**
* @defgroup DYNAMIC_MODEL General dynamic model creation functions
*
* \brief Functions to dynamically create IEC 61850 data models without using SCL or configuration files
*
* @{
*/

Expand Down
4 changes: 3 additions & 1 deletion src/iec61850/inc/iec61850_model.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* model.h
*
* Copyright 2013-2016 Michael Zillgith
* Copyright 2013-2024 Michael Zillgith
*
* This file is part of libIEC61850.
*
Expand Down Expand Up @@ -37,6 +37,8 @@ extern "C" {
/**
* @defgroup DATA_MODEL General data model definitions, access and iteration functions
*
* \brief Functions and structures to access and iterate the IEC 61850 data model
*
* @{
*/

Expand Down
Loading

0 comments on commit d5e8382

Please sign in to comment.