Skip to content

Moving from RXTX to JSSC #67

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jantje opened this issue Oct 27, 2013 · 23 comments
Closed

Moving from RXTX to JSSC #67

jantje opened this issue Oct 27, 2013 · 23 comments

Comments

@jantje
Copy link
Member

jantje commented Oct 27, 2013

Arduino will change from RXTX to JSSC in 1.5.6.
This probably means that from 1.5.6 the rxtx libraries are no longer provided by Arduino.
As such a change in the plugin will be needed.
If anyone knows how to do this change feel free to take ownership.
Below is the allert on the developers list of arduino
Best regards
Jantje

Hi,

as most of you already noticed from the github activity, we are moving from RXTX library to JSSC:

http://code.google.com/p/java-simple-serial-connector/

This will solve a lot of issues and give us a better and efficient library for managing Serial ports in Java.

Will be released with Arduino IDE 1.5.6 (so in two releases, not the next one).

If anyone is interested in testing it the prebuilt binaries are here:

http://downloads.arduino.cc/arduino-jssc-nightly-linux32.tgz

http://downloads.arduino.cc/arduino-jssc-nightly-linux64.tgz

http://downloads.arduino.cc/arduino-jssc-nightly-windows.zip

http://downloads.arduino.cc/arduino-jssc-nightly-macosx.zip

Please report any issue here:

arduino/Arduino#1633

@jantje
Copy link
Member Author

jantje commented Dec 1, 2013

anyone has any experiance here? I'm looking for volunteers 👯

@amorellgarcia
Copy link
Contributor

I created a branch jssc-serial in my repo that replaces rxtx with jssc, it's not tested and based on an old revision.
I hope to fix that in the next days, and investigate if its possible to convert old rxtx and the new jssc in fragments so user can choose between the two implementations.

@jantje
Copy link
Member Author

jantje commented Dec 23, 2013

:-) great
Is it useful to let users choose between jssc and rxtx?

@amorellgarcia
Copy link
Contributor

In fedora I must remove provided rxtx jar because it conflicts with
SELinux and does not work by default, so it would great if I could
choose to use jssc instead. Maybe some people have problems with jssc
and want to use the old rxtx implementation.

But you are right, its easier to replace it. So I will replace it first,
and work in the fragments if I have free time.

@jantje
Copy link
Member Author

jantje commented Dec 23, 2013

as jssc is a pure java implementation (in other it doesn't need an os dependent library); there should not be conflicts as long as you do not want to use conflicting things in the same virtual machine.
I have some experience now with having a jar file used with the plugin. Don't lose to much time if you have problems having the jar as part of the delivery; I can help :-)

@maqifrnswa
Copy link

as jssc is a pure java implementation (in other it doesn't need an os dependent library)

jssc isn't a pure java implementation and actually does have an OS and architecture dependent library, it is included in the .jar so it is transparent to developers and users. The library installs the arch dependent libraries to a hidden folder in the user's home directory. The library will thus only work on i386 and amd64 machines. Debian just added a libjssc-java library which is built on many [1] other architectures. I know RPi users were using Raspbian's rxtx package to get arduino working, they should be able to use the Raspbian jssc package if they run jessie.

[1] http://packages.debian.org/unstable/libjssc-java

@jantje
Copy link
Member Author

jantje commented Dec 30, 2013

Och, I misunderstood about jssc being pure java. Lets hope not to much ... will hit the fan

@jantje
Copy link
Member Author

jantje commented May 9, 2014

@amorellgarcia
Did you get a chance to pick this one up?

@amorellgarcia
Copy link
Contributor

Yes, there is a branch in my repo, but is too old. I hope to take some free
time this week to update code and test my all my arduinos.

Sincerely, Alejandro.
El 09/05/2014 04:16, "jantje" [email protected] escribió:

@amorellgarcia https://github.com/amorellgarcia
Did you get a chance to pick this one up?


Reply to this email directly or view it on GitHubhttps://github.com//issues/67#issuecomment-42627545
.

@jantje
Copy link
Member Author

jantje commented May 13, 2014

may the force be with you. :-)

@jantje
Copy link
Member Author

jantje commented Jul 10, 2014

has the force arrived yet?

@amorellgarcia
Copy link
Contributor

Still not. But i hope to finish it between today and tomorrow.
Which versions are you supporting? Is needed to work with Juno and Luna
eclipse versions?
El 10/07/2014 02:57, "jantje" [email protected] escribió:

has the force arrived yet?


Reply to this email directly or view it on GitHub
#67 (comment)
.

@wimjongman
Copy link
Member

We don't support juno anymore.

On Thu, Jul 10, 2014 at 7:59 AM, Alejandro Morell Garcia <
[email protected]> wrote:

Still not. But i hope to finish it between today and tomorrow.
Which versions are you supporting? Is needed to work with Juno and Luna
eclipse versions?
El 10/07/2014 02:57, "jantje" [email protected] escribió:

has the force arrived yet?


Reply to this email directly or view it on GitHub
<
https://github.com/jantje/arduino-eclipse-plugin/issues/67#issuecomment-48554047>

.


Reply to this email directly or view it on GitHub
#67 (comment)
.

@jantje
Copy link
Member Author

jantje commented Jul 10, 2014

We don't support juno anymore.

For the product ... the plugin still works on both
But if you have to chose between: not delivering, only delivering juno, only delivering Luna... then go for luna only. So go for Luna
This because it also works with the rxtx dll.

@amorellgarcia
Copy link
Contributor

I created a new branch jssc-serial-alpha in my repo where rxtx implementation is replaced with jssc. It's an alpha version since it replaces rxtx completely. Needs a lot of testing and I will not be at home until Sunday.

From your comments, I understand that you want to continue providing the old rxtx code, and I agree.
Next step would be to split the Common bundle --only serial classes-- so we could continue providing both implementations. Additionally, it would be great if user could select in project configuration which implementation to use.

Any ideas?

@jantje
Copy link
Member Author

jantje commented Jul 11, 2014

I'm ok with dropping RXTX completely. If arduino can be run without it why wouldn't we?
I'm also ok to declare the latest and greatest unsafe for a while due to rxtx. I think the more people test the better. So the sooner it is out the better.
Note that Arduino dropped RXTX in 1.5.7 and I had to copy the libraries on my system (linux redhad) because the plugin became unstable. Coredumps in serial.
So I would not put any effort in supporting both. If the user want RXTX they can install V2.2
I can mark the latest V2.2.1 (the best you get without RXTX)

@amorellgarcia
Copy link
Contributor

Great news! ;)

@jantje
Copy link
Member Author

jantje commented Jul 15, 2014

do you have a update?
Do you need some help?

@amorellgarcia
Copy link
Contributor

I pushed a "final" version to jssc-serial-alpha branch that is functional.
Works fine in Fedora 20 x86_64, Luna version, with an Arduino Uno and Mega 2560. I used the build_then_launch.sh script.

But, there is an issue with jssc that currently doesn't notifies about closed port. It can be very annoying for novice users.

@jantje
Copy link
Member Author

jantje commented Aug 4, 2014

I took your code and merged it on the base.

@jantje
Copy link
Member Author

jantje commented Sep 3, 2014

I've been using the latest and greatest and I havn't noticed anything yet.
Can you explain on
But, there is an issue with jssc that currently doesn't notifies about closed port. It can be very annoying for novice users.

@amorellgarcia
Copy link
Contributor

Yes it works fine. The unique issue is when unplugging Arduino and still having opened a serial console or oscilloscope. It doesn't shows an error, and if I remember well, it still accepts sending text over serial console.
Maybe I'm doing something wrong. Nowadays, it's a bad practice (see jssc issue-4), so we can ignore it.

@jantje
Copy link
Member Author

jantje commented Sep 5, 2014

Och but that gives problems on linux and windows with RXTX as well.
In linux replugging will result in a different port (Unless udev rules...) and in windows the behaviour is not nice (and probably the same as in linux when forcing to the same port with udev rules).
Thanks again for the work :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants