aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-05-06 11:13:50 +0200
committerJakob Odersky <jodersky@gmail.com>2015-05-06 12:13:11 +0200
commit57d0893e17b12bf5f8bb10aeb6386dd25d708571 (patch)
treed1d7a98a9f756cc791832fa10a5e653313faa6d8 /README.md
parent5e611b35a891ab35d15a5eb8fcb8fcee6de1bb08 (diff)
downloadakka-serial-57d0893e17b12bf5f8bb10aeb6386dd25d708571.tar.gz
akka-serial-57d0893e17b12bf5f8bb10aeb6386dd25d708571.tar.bz2
akka-serial-57d0893e17b12bf5f8bb10aeb6386dd25d708571.zip
update documentation to reflect build refatorings
Diffstat (limited to 'README.md')
-rw-r--r--README.md23
1 files changed, 12 insertions, 11 deletions
diff --git a/README.md b/README.md
index 9daccf3..f9fb4ab 100644
--- a/README.md
+++ b/README.md
@@ -4,24 +4,22 @@ Serial communication library for Scala, designed to be reactive, lightweight and
## Motivation
The main reason for yet another serial communication library for the JVM is that all other libraries tested used blocking IO and/or consumed enormous amounts of CPU while being idle. Flow's main goal is therefore to provide a lightweight library that only does work when communication is required. This reactive concept integrates well with the Akka IO layer therefore making flow an ideal library for extending it.
-## Basic usage
-For a short guide on how to use flow see the file [documentation/basics.md](documentation/basics.md).
-
+## Dependencies
Flow is built and its examples run with SBT. To get started, include a dependency to flow in your project:
- libraryDependencies += "com.github.jodersky" %% "flow" % "2.1.0"
+ libraryDependencies += "com.github.jodersky" %% "flow" % "2.1.1"
-ATTENTION: flow uses native libraries to back serial communication, therefore before you can run any application depending on flow you must include flow's native library! To do so, you have two options.
+*ATTENTION*: flow uses native libraries to back serial communication, therefore before you can run any application depending on flow you must include flow's native library! To do so, you have two options.
1. The easy way: add a second dependency to your project:
- libraryDependencies += "com.github.jodersky" % "flow-native" % "2.1.0"
+ libraryDependencies += "com.github.jodersky" % "flow-native" % "2.1.1"
This will add a jar to your classpath containing native libraries for various platforms. At run time, the correct library for the current platform is selected, extracted and loaded. This solution enables running applications seamlessly, as if they were pure JVM applications. However, since the JVM does not enable full determination of the current platform (only OS and rough architecture are known), only a couple of platforms can be supported through this solution at the same time. Currently, these are given in the table below.
| OS | Architecture | Notes |
|-------------------|----------------------|------------------------------------------------------------------------|
- | Linux | x86<br>x86_64<br>ARM (v7, hardfloat ABI) | A user accessing a serial port may need to be in the dialout group <br> ARM may work on other versions too, any feedback is welcome!<br>|
+ | Linux | x86<br>x86_64<br>ARM (v7, hardfloat ABI) | A user accessing a serial port may need to be in the dialout group. |
| Mac OS X | x86_64 | Use /dev/cu* device instead of /dev/tty*. |
@@ -37,16 +35,19 @@ ATTENTION: flow uses native libraries to back serial communication, therefore be
It is recomended that you use the first option only for testing purposes or end-user applications. The second option is recomended for libraries, since it leaves more choice to the end-user.
+## Basic usage
+See [Documentation/basics.md](Documentation/basics.md) for a short guide on using flow.
+
## Examples
-Examples on flow's usage are located in the flow-samples directory. The examples may be run by switching to the corresponding project in sbt: `project flow-samples-<sample_name>` and typing `run`. Be sure to connect a serial device before running an example.
+Examples on flow's usage are located in the flow-samples directory. The examples may be run by switching to the corresponding project in sbt: `project samples-<sample_name>` and typing `run`. Be sure to connect a serial device before running an example.
-Since flow integrates into the Akka-IO framework, a good resource on its general design is the framework's documentation at http://doc.akka.io/docs/akka/2.3.9/scala/io.html
+Since flow integrates into the Akka-IO framework, a good resource on its general design is the framework's [documentation](http://doc.akka.io/docs/akka/2.3.10/scala/io.html).
## Native side
Since hardware is involved in serial communication, a Scala-only solution is not possible. Nevertherless, 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.
## Build
-See detailed documentation in [documentation/building.md](documentation/building.md) on how to build and install flow.
+See detailed documentation in [Documentation/building.md](Documentation/building.md) on how to build and install flow.
-## License
+## Copying
flow is released under the terms of the 3-clause BSD license. See LICENSE for details.