Update binaries to version 2.0.0

This commit is contained in:
hedgecrw85 2018-04-02 10:29:38 -05:00
parent 74fc8e0d24
commit b7c1440840
12 changed files with 257 additions and 256 deletions

View File

@ -1,14 +1,14 @@
# Maintainer # Maintainer
Will Hedgecock <will.hedgecock@fazecast.com> Will Hedgecock <will.hedgecock@fazecast.com>
# Original Authors # Original Authors
Will Hedgecock <will.hedgecock@fazecast.com> Will Hedgecock <will.hedgecock@fazecast.com>
# Contributors # Contributors
* Will Hedgecock <will.hedgecock@fazecast.com> * Will Hedgecock <will.hedgecock@fazecast.com>
* Frederik Schubert <https://github.com/frederikschubert> * Frederik Schubert <https://github.com/frederikschubert>
* Farrell Farahbod <https://github.com/farrellf> * Farrell Farahbod <https://github.com/farrellf>
* Michael Kaesbauer <https://github.com/Michael-Kaesbauer> * Michael Kaesbauer <https://github.com/Michael-Kaesbauer>

482
README.md
View File

@ -1,241 +1,241 @@
# jSerialComm # jSerialComm
_A platform-independent serial port access library for Java._ _A platform-independent serial port access library for Java._
## Usage ## Usage
For usage examples, please refer to the [Usage wiki](https://github.com/Fazecast/jSerialComm/wiki/Usage-Examples). For usage examples, please refer to the [Usage wiki](https://github.com/Fazecast/jSerialComm/wiki/Usage-Examples).
In order to use the ```jSerialComm``` library in your own project, you must simply In order to use the ```jSerialComm``` library in your own project, you must simply
include the JAR file in your build path and import it like any other include the JAR file in your build path and import it like any other
Java package using ```import com.fazecast.jSerialComm.*;```. Java package using ```import com.fazecast.jSerialComm.*;```.
Alternatively, you can automatically add ```jSerialComm``` to your project as a Alternatively, you can automatically add ```jSerialComm``` to your project as a
dependency from the ```Maven Central Repository```. Use the following dependency dependency from the ```Maven Central Repository```. Use the following dependency
declaration depending on your build system: declaration depending on your build system:
* Maven: * Maven:
``` ```
<dependency> <dependency>
<groupId>com.fazecast</groupId> <groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId> <artifactId>jSerialComm</artifactId>
<version>[2.0.0,3.0.0)</version> <version>[2.0.0,3.0.0)</version>
</dependency> </dependency>
``` ```
* Ivy: * Ivy:
``` ```
<dependency org="com.fazecast" name="jSerialComm" rev="[2.0.0,3.0.0)"/> <dependency org="com.fazecast" name="jSerialComm" rev="[2.0.0,3.0.0)"/>
``` ```
* Groovy: * Groovy:
``` ```
@Grab(group='com.fazecast', module='jSerialComm', version='[2.0.0,3.0.0)') @Grab(group='com.fazecast', module='jSerialComm', version='[2.0.0,3.0.0)')
``` ```
* Gradle: * Gradle:
``` ```
compile 'com.fazecast:jSerialComm:[2.0.0,3.0.0)' compile 'com.fazecast:jSerialComm:[2.0.0,3.0.0)'
``` ```
* Buildr: * Buildr:
``` ```
compile.with 'com.fazecast:jSerialComm:jar:[2.0.0,3.0.0)' compile.with 'com.fazecast:jSerialComm:jar:[2.0.0,3.0.0)'
``` ```
* Scala/SBT: * Scala/SBT:
``` ```
libraryDependencies += "com.fazecast" % "jSerialComm" % "[2.0.0,3.0.0)" libraryDependencies += "com.fazecast" % "jSerialComm" % "[2.0.0,3.0.0)"
``` ```
* Leiningen: * Leiningen:
``` ```
[com.fazecast/jSerialComm "[2.0.0,3.0.0)"] [com.fazecast/jSerialComm "[2.0.0,3.0.0)"]
``` ```
## Troubleshooting ## Troubleshooting
If you are using Linux and this library does not appear to be working, ensure If you are using Linux and this library does not appear to be working, ensure
that you have the correct permissions set to access the serial port on your system. that you have the correct permissions set to access the serial port on your system.
One way to test this is to run your application as root or by using the One way to test this is to run your application as root or by using the
```sudo``` command. If everything works, you will need to either run your ```sudo``` command. If everything works, you will need to either run your
application as ```root``` in the future or fix the permissions on your system. application as ```root``` in the future or fix the permissions on your system.
For further instructions, refer to the [Troubleshooting wiki](https://github.com/Fazecast/jSerialComm/wiki/Troubleshooting). For further instructions, refer to the [Troubleshooting wiki](https://github.com/Fazecast/jSerialComm/wiki/Troubleshooting).
An additional note for Linux users: If you are operating this library in An additional note for Linux users: If you are operating this library in
event-based mode, the ```LISTENING_EVENT_DATA_WRITTEN``` event will never occur. event-based mode, the ```LISTENING_EVENT_DATA_WRITTEN``` event will never occur.
This is not a bug, but rather a limitation of the Linux operating system. This is not a bug, but rather a limitation of the Linux operating system.
For other troubleshooting issues, please see if you can find an answer in either For other troubleshooting issues, please see if you can find an answer in either
the [Usage-Examples wiki](https://github.com/Fazecast/jSerialComm/wiki/Usage-Examples) the [Usage-Examples wiki](https://github.com/Fazecast/jSerialComm/wiki/Usage-Examples)
or the [Troubleshooting Wiki](https://github.com/Fazecast/jSerialComm/wiki/Troubleshooting). or the [Troubleshooting Wiki](https://github.com/Fazecast/jSerialComm/wiki/Troubleshooting).
If your question is still not answered, feel free to open an issue report on If your question is still not answered, feel free to open an issue report on
this project's [GitHub page](https://github.com/Fazecast/jSerialComm/issues), this project's [GitHub page](https://github.com/Fazecast/jSerialComm/issues),
and we will be glad to look into it. and we will be glad to look into it.
## Building ## Building
Building this library yourself is not advised (at least not for distribution) Building this library yourself is not advised (at least not for distribution)
since it requires native compilation across multiple platforms. It is since it requires native compilation across multiple platforms. It is
recommended to simply use the pre-built ```jSerialComm``` library in your recommended to simply use the pre-built ```jSerialComm``` library in your
application. For installation/usage instructions, please skip to the [usage](#usage) section. application. For installation/usage instructions, please skip to the [usage](#usage) section.
If you do choose to build this library for your specific system, the recommended If you do choose to build this library for your specific system, the recommended
methodology is to use [Gradle](https://gradle.org/) coupled with the methodology is to use [Gradle](https://gradle.org/) coupled with the
Java SDK, [version 1.6](http://www.oracle.com/technetwork/java/archive-139210.html) Java SDK, [version 1.6](http://www.oracle.com/technetwork/java/archive-139210.html)
(for backward compatibility). (for backward compatibility).
Once the Java SDK 1.6 has been installed, ensure that you have an environment Once the Java SDK 1.6 has been installed, ensure that you have an environment
variable called ```JDK_HOME``` set to the base directory of your JDK installation. variable called ```JDK_HOME``` set to the base directory of your JDK installation.
Once this has been done, refer to the section corresponding to your specific Once this has been done, refer to the section corresponding to your specific
Operating System for further instructions. Operating System for further instructions.
Please note, if you would like to edit any of the source code or view it in an Please note, if you would like to edit any of the source code or view it in an
IDE (such as Eclipse), you can automatically build the Eclipse project files by IDE (such as Eclipse), you can automatically build the Eclipse project files by
entering the following on a command line or terminal from the base directory of entering the following on a command line or terminal from the base directory of
this project: this project:
gradle eclipse gradle eclipse
You can then Import the project using the "Existing Project into Workspace" import You can then Import the project using the "Existing Project into Workspace" import
tool in Eclipse. (Note that if you use Eclipse as an IDE, you will probably want tool in Eclipse. (Note that if you use Eclipse as an IDE, you will probably want
to install the Eclipse CDT plugin for proper handling of the C source code). to install the Eclipse CDT plugin for proper handling of the C source code).
### Linux/UNIX ### Linux/UNIX
Ensure that the following tools are installed on your Linux distribution: Ensure that the following tools are installed on your Linux distribution:
# On some distros, these may be called multilib tools for gcc and binutils # On some distros, these may be called multilib tools for gcc and binutils
gcc make glibc-devel.x86_64 glibc-devel.i686 gcc make glibc-devel.x86_64 glibc-devel.i686
Ensure that the ```JDK_HOME``` environment variable has been set for the 1.6 Ensure that the ```JDK_HOME``` environment variable has been set for the 1.6
version of your Java SDK. The correct directory can usually be found by entering version of your Java SDK. The correct directory can usually be found by entering
the following command: the following command:
readlink -f /usr/bin/java readlink -f /usr/bin/java
Export the result of this command ***up to but not including*** the Export the result of this command ***up to but not including*** the
```/jre/...``` portion using the ```export``` command. For example, if ```/jre/...``` portion using the ```export``` command. For example, if
```readlink``` produced ```/usr/lib/jvm/java-6-jdk/jre/bin/java``` as an output, ```readlink``` produced ```/usr/lib/jvm/java-6-jdk/jre/bin/java``` as an output,
the export command would look like: ```export JDK_HOME=/usr/lib/jvm/java-6-jdk``` the export command would look like: ```export JDK_HOME=/usr/lib/jvm/java-6-jdk```
Run the following commands: Run the following commands:
cd src/main/c/Linux cd src/main/c/Linux
make make
cd ../../../.. cd ../../../..
gradle build gradle build
The resulting ```jSerialComm``` library can be found in the project directory The resulting ```jSerialComm``` library can be found in the project directory
```build/libs``` under the name ```jSerialComm-{VERSION}.jar```. ```build/libs``` under the name ```jSerialComm-{VERSION}.jar```.
### ARM-Based Mobile Linux (non-Android) ### ARM-Based Mobile Linux (non-Android)
Ensure that you have a cross-compiler installed on your Linux distribution Ensure that you have a cross-compiler installed on your Linux distribution
capable of compiling for ARM-based architectures. I prefer ```crosstool-ng``` capable of compiling for ARM-based architectures. I prefer ```crosstool-ng```
for this purpose. for this purpose.
Ensure that the ```JDK_HOME``` environment variable has been set for the 1.6 Ensure that the ```JDK_HOME``` environment variable has been set for the 1.6
version of your Java SDK. The correct directory can usually be found by entering version of your Java SDK. The correct directory can usually be found by entering
the following command: the following command:
readlink -f /usr/bin/java readlink -f /usr/bin/java
Export the result of this command ***up to but not including*** the Export the result of this command ***up to but not including*** the
```/jre/...``` portion using the ```export``` command. For example, if ```/jre/...``` portion using the ```export``` command. For example, if
```readlink``` produced ```/usr/lib/jvm/java-6-jdk/jre/bin/java``` as an output, ```readlink``` produced ```/usr/lib/jvm/java-6-jdk/jre/bin/java``` as an output,
the export command would look like: ```export JDK_HOME=/usr/lib/jvm/java-6-jdk``` the export command would look like: ```export JDK_HOME=/usr/lib/jvm/java-6-jdk```
Run the following commands: Run the following commands:
cd src/main/c/Linux cd src/main/c/Linux
make arm make arm
cd ../../../.. cd ../../../..
gradle build gradle build
The resulting ```jSerialComm``` library can be found in the project directory The resulting ```jSerialComm``` library can be found in the project directory
```build/libs``` under the name ```jSerialComm-{VERSION}.jar```. ```build/libs``` under the name ```jSerialComm-{VERSION}.jar```.
### Android ### Android
Ensure that the Android NDK is installed on your system. For purposes of these Ensure that the Android NDK is installed on your system. For purposes of these
instructions, assume that it is installed at ```{NDK_HOME}```. instructions, assume that it is installed at ```{NDK_HOME}```.
Run the following commands in order: Run the following commands in order:
cd src/main/c/Android cd src/main/c/Android
{NDK_HOME}/ndk-build {NDK_HOME}/ndk-build
cd ../../../.. cd ../../../..
gradle build gradle build
The resulting ```jSerialComm``` library can be found in the project directory The resulting ```jSerialComm``` library can be found in the project directory
```build/libs``` under the name ```jSerialComm-{VERSION}.jar``` ```build/libs``` under the name ```jSerialComm-{VERSION}.jar```
### macOS X ### macOS X
Ensure that [Xcode](https://developer.apple.com/xcode/) is installed on your system. Ensure that [Xcode](https://developer.apple.com/xcode/) is installed on your system.
If it is not, it can be downloaded via the App Store. You must also make sure If it is not, it can be downloaded via the App Store. You must also make sure
that the ```Xcode Command Line Tools``` are installed. This can be done by that the ```Xcode Command Line Tools``` are installed. This can be done by
entering the following command in a terminal: ```xcode-select --install``` entering the following command in a terminal: ```xcode-select --install```
Run the following commands in order: Run the following commands in order:
cd src/main/c/OSX cd src/main/c/OSX
make make
cd ../../../.. cd ../../../..
gradle build gradle build
The resulting ```jSerialComm``` library can be found in the project directory The resulting ```jSerialComm``` library can be found in the project directory
```build/libs``` under the name ```jSerialComm-{VERSION}.jar``` ```build/libs``` under the name ```jSerialComm-{VERSION}.jar```
### Windows ### Windows
Ensure that the [Visual Studio C++ Compiler](https://www.visualstudio.com/) is Ensure that the [Visual Studio C++ Compiler](https://www.visualstudio.com/) is
installed on your system. installed on your system.
On Windows, the Visual Studio Compiler must be configured to build either On Windows, the Visual Studio Compiler must be configured to build either
32- or 64-bit binaries but never both at the same time. Therefore, you will have 32- or 64-bit binaries but never both at the same time. Therefore, you will have
to build binaries for the two architectures separately. to build binaries for the two architectures separately.
Open a command prompt and run the following command: Open a command prompt and run the following command:
SET VC_DIRECTORY="C:\Program Files (x86)\Microsoft Visual Studio [version]\VC" SET VC_DIRECTORY="C:\Program Files (x86)\Microsoft Visual Studio [version]\VC"
where ```[version]``` matches the version of the ```Visual Studio C++ Compiler``` where ```[version]``` matches the version of the ```Visual Studio C++ Compiler```
that is installed. that is installed.
Then run: Then run:
PUSHD src\main\c\Windows PUSHD src\main\c\Windows
%VC_DIRECTORY%\vcvarsall.bat x64 %VC_DIRECTORY%\vcvarsall.bat x64
nmake win64 nmake win64
%VC_DIRECTORY%\vcvarsall.bat x86 %VC_DIRECTORY%\vcvarsall.bat x86
nmake win32 nmake win32
POPD POPD
gradle build gradle build
The resulting ```jSerialComm``` library can be found in the project directory The resulting ```jSerialComm``` library can be found in the project directory
```build/libs``` under the name ```jSerialComm-{VERSION}.jar``` ```build/libs``` under the name ```jSerialComm-{VERSION}.jar```

View File

@ -1,2 +1,3 @@
APP_ABI := all APP_ABI := all
APP_PLATFORM := android-14 APP_PLATFORM := android-21
APP_MODULES := jSerialComm