dnp3/opendnp3


DNP3 (IEEE-1815) protocol stack. Modern C++ with bindings for .NET and Java. https://dnp3.github.io

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.automatak:dnp3:3.1.2'
	}
	dependencies {
		implementation("com.github.automatak:dnp3:3.1.2")
	}
	<dependency>
	    <groupId>com.github.automatak</groupId>
	    <artifactId>dnp3</artifactId>
	    <version>3.1.2</version>
	</dependency>

                            
    libraryDependencies += "com.github.automatak" % "dnp3" % "3.1.2"
        
        

                            
    :dependencies [[com.github.automatak/dnp3 "3.1.2"]]
        
        

Readme


End-of-Life

This project will reach end-of-life on September 1st, 2022. On this date:

  1. This repository will be archived, making it read-only.
  2. The Google Group will be locked, but will remain publicly searchable.
  3. The project homepage, this README, and group will be updated to indicate that the project is end-of-life.

We will consider bug fixes from the community or support requests from existing customers up until this date.

Please make appropriate plans if you are using this library in production, e.g.:

  • Dedicate personnel to maintaining your own internal copy of the library.
  • Consider a commercial library such as the one offered by Step Function I/O.

You can read about this decision in these blog posts:

Overview

Opendnp3 is a portable, scalable, and rigorously tested implementation of the DNP3 protocol stack written in C++11. The library is designed for high-performance applications like many concurrent TCP sessions or huge device simulations. It also embeds with a small footprint on Linux.

Build status

| Branch | Build | Code coverage | Quality | | ------------ | ----- | ------------- | ------- | | release-2.x | CI 2.x | Codecov | - | | develop | CI 2.x | Codecov | Language grade: C/C++ |

Documentation

The documentation can be found on the project homepage.

If you want to help contribute to the official guide its in this repo.

License

Licensed under the terms of the Apache 2.0 License.

Copyright (c) 2010, 2011 Green Energy Corp

Copyright (c) 2013 - 2020 Step Function I/O LLC

Copyright (c) 2020 - 2022 Step Function I/O LLC

Copyright (c) 2010 - 2022 various contributors