Coder Social home page Coder Social logo

jw3 / akka-serial Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jodersky/akka-serial

0.0 2.0 0.0 3.83 MB

Reactive serial communication library for Akka and Scala.

Home Page: https://www.jodersky.ch/akka-serial

License: BSD 3-Clause "New" or "Revised" License

Shell 0.33% Scala 15.00% Makefile 0.60% C 37.20% C++ 42.26% Objective-C 4.17% CMake 0.43%

akka-serial's Introduction

Scaladex Build Status Download

akka-serial

Serial communication library for Scala, designed to be reactive, lightweight and easily integrable with Akka applications. See the website for a guide.

Highlights

  • Reactive: only does work when required (no constant polling of ports or blocking IO)
  • Integrates seamlessly with Akka
  • Portable to POSIX systems
  • Watchable ports: react to connection of new device
  • Compatible with Reactive Streams

Native side

Since hardware is involved in serial communication, a Scala-only solution is not possible. Nevertheless, the native code is kept simple and minimalistic with the burden of dealing with threads left to Scala. The code aims to be POSIX compliant and therefore easily portable.

Directory Structure

akka-serial/
├── Documentation         Sources for user documentation as published on the website.
├── core                  Main Scala source files.
├── dev                   Firmware samples for serial devices, to make testing easier.
├── native                C sources used to implement serial communication.
│   └── lib_native        Compiled native libraries that are published in the fat jar.
├── project               Build configuration.
├── samples               Runnable example projects.
├── stream                Stream API, used to connect with Akka streams.
└── sync                  Synchronous, non-Akka-dependent code.

Website source code is in the git branch 'gh-pages'.

Build

Detailed documentation on building akka-serial is available on the website (or, equivalently, in developer.md).

Since akka-serial integrates into the Akka-IO framework, a good resource on its general design is the framework's documentation.

This project is also an experiment on working with JNI and automating build infrastructure.

Copying

akka-serial is released under the terms of the 3-clause BSD license. See LICENSE for details.

Notes

This project used to called "flow". It was renamed to "akka-serial".

akka-serial's People

Contributors

bjarkevad avatar c9r avatar gitter-badger avatar jodersky avatar jportway avatar justgook avatar mthmulders avatar photex avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.