GithubHelp home page GithubHelp logo

c9katayama / nrjavaserial Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neuronrobotics/nrjavaserial

0.0 2.0 0.0 4.71 MB

This is a fork of the RXTX project that uses in jar loading of the native code.

Makefile 5.51% C 49.23% Java 45.14% HTML 0.12%

nrjavaserial's Introduction

#About

This is a fork of the RXTX library with a focus on ease of use and the ability to embed in other libraries.

##Some of the features we have added##

A simplified serial port object called NRSerialPort, see the Wiki for an example...

Self deployment of native libraries ( all native code is stored inside the jar and deployed at runtime). No more manual install of native code.

Arm Cortex support (Gumstix)

Android Support (requires a rooted phone to access the serial hardware)

Single makefile compile (simplifies the compilation of project binaries)

Ant build script for jar creation

Removal of partially implemented code to streamline the lib for just serial port access

Full Eclipse integration, for testing application code against sources.

RFC 2217 support provided by incorporating the jvser library (see http://github.com/archiecobbs/jvser)

##And a bunch of bug fixes##

Fixed the memory access error that causes OSX to crash the JVM when serial.close() is called

Fixed the windows serial port zombie bind that prevents re-accessing serial ports when exiting on an exception

Fixed erroneous printouts of native library mis-match

Building Jar

Checkout the repository.

$cd nrjavaserial/nrjavaserial

$ant

The ready to deploy .jar file will be found in the target/ directory.

#Building Native Code

Native code is built using the Makefile found in nrjavaserial/nrjavaserial . After the native code is built, the .jar is rebuilt.

$cd nrjavaserial/nrjavaserial/

$make windows #This will build the windows binaries. This will attempt to build the 64 and 32 bit binaries.

$make wine #This will build the windows binaries on Linux

$make linux #This will attempt to build both the 32 and 64 bit Linux binaries

$make linux32 or $make linux64 #This will attempt to build 32 or 64 bit Linux binaries

$make arm #This will attempt to build the binaries for all the supported ARM flavors

$make ppc #This will attempt to build the PPC binaries.

$make osx #This will attempt to build the OSX binaries.

#Windows Builds

Download mingw64: http://tdm-gcc.tdragon.net/

#This is how to use NRSerialPort objects

NRSerialPort serial = new NRSerialPort("COM3", 115200);

serial.connect();

DataInputStream ins = new DataInputStream(serial.getInputStream());

DataOutputStream outs = new DataOutputStream(serial.getOutputStream());

byte b = ins.read();

outs.write(b);

serial.disconnect();

nrjavaserial's People

Contributors

madhephaestus avatar mores avatar 50watt avatar bobbrez avatar mrdos avatar akuhtz avatar earcam avatar crea-doo avatar

Watchers

Akio Katayama avatar James Cloos 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.