GithubHelp home page GithubHelp logo

ardulink / ardulink-2 Goto Github PK

View Code? Open in Web Editor NEW
45.0 12.0 18.0 8.77 MB

The evolution of a complete, open source, java solution for the control and coordination of Arduino boards

Home Page: http://www.ardulink.org

License: Apache License 2.0

Java 90.60% Batchfile 0.03% Processing 1.06% Lua 0.67% C++ 7.34% Shell 0.29% Vim Snippet 0.02%

ardulink-2's Introduction

Ardulink-2 Build Status

This is the repository for Ardulink 2. Ardulink 2 is a complete, open source, java solution for the control and coordination of Arduino boards. This repository contains Ardulink Version 0.6.2 and all upcoming releases.

public static void main(String[] args) throws InterruptedException, IOException {
	Link link = Links.getDefault();
	DigitalPin pin = Pin.digitalPin(2);
	for (boolean power = true;; power = !power) {
		System.out.println("Send power: " + power);
		link.switchDigitalPin(pin, power);
		TimeUnit.SECONDS.sleep(2);
	}
}

Recommended way of using Ardulink-2 inside your own application is declaring a dependency on “ardulink-core-base” using your favorite build system. When using maven please add

<dependency>
    <groupId>org.ardulink</groupId>
    <artifactId>ardulink-core-base</artifactId>
    <version>2.1.0</version>
</dependency>

Without adding additional jars Links.getDefault() would throw an exception because no link type is available. For each link type a separate jar is available. So if you like to connect using a serial link you have to add the corresponding module.For serial link this is

<dependency>
    <groupId>org.ardulink</groupId>
    <artifactId>ardulink-core-serial-jssc</artifactId>
    <version>2.1.0</version>
</dependency>

To see all available link types and a how to use Ardulink with other build systems see https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.ardulink%22

see Ardulink site: www.ardulink.org

ardulink-2's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ardulink-2's Issues

Waited for arduino to boot but no response received

I set up the link using:
Link link = Links.getLink(URIs.newURI("ardulink://serial-jssc?port=9600&baudrate=9600"));
and it seems to connect to the arduino successfully. After about 5 seconds however, i get this error:
Exception in thread "main" java.lang.IllegalStateException: Waited for arduino to boot but no response received

When I run the program, the TX lights on my arduino blink for 5 seconds or so, which means that it finds the connection successfully. Do I need to make a sketch that replies to the computer once my program runs?

Thanks

Any connection logs available?

Hi, I'm just starting to look into ardulink. My primary goal is to use it as a bridge between a cloud based MQTT broker and the board itself (my system is based on Win 10 + an USB connected Arduino Duemilanove). I uploaded the ArduinoProtocol sketch on the board and started the ardulink-mqtt jar.
On the console I read "INFO: Connected to mqtt broker", but I don't understand if it really works or not: seems like all the commands I tried to send just went unnoticed.

Is there any log available to investigate what exactly is moved between the board and the ardulink-mqtt running on my PC?

eclipse palettes

Hi!
Is it possible to add inside normal palettes into general swing components, ardulink palettes components?
example ad-hoc: a JFrame connectionPanel or a buttonConnect, SignalButton etc..
In such a way it'd be more easy to make a mask for whom is a very beginner programmer.

Check if pingprobe bug on windows is solved

The pingprobe bug on windows is solved. Actually it should be tested on Linux systems.
The org.ardulink.core.ConnectionBasedLink.waitForArduinoToBoot(int, TimeUnit, Mode) implementation is changed. Now it uses a BlockingQueue instead of explicitly Lock and Condition objects.

Maybe the problem on windows was caused by Condition implementation. BlockingQueue should work on both Linux and Windows systems.

Maybe also org.ardulink.core.qos.ResponseAwaiter implementation should change accordingly. It actually works on windows but it has the same logic of the previous waitForArduinoToBoot method.

With the fix we have reintroduced a Scanner too. It isn't the JDK Scanner for text streams but a specific Ardulink scanner able to scan binary streams. Separator messages string is fixed as well.

CI build on Ardulink-2

We should do a CI build on Ardulink-2. Travis-CI could be a choice. Since I am missing the admin access attribute on Ardulink-2 I cannot do this by myself.

Migrate mqtt to apache camel

Instead of directly referring mqtt third party mqtt libraries we could integrate into apache camel like we did with ardulink-mail.

Ardulink-2 examples

Hello
I tried to find some example code to connect to an arduino device with jssc, but I can't seem to find any.
I did compile the source so I think the libraries should work but I'm kind of lost around the documentation of any sort for the ardulink-2.
Would anyone be kind enough to share an example or two with me for how to connect to a certain COM port with the jssc and ardulink-2.
Thank you.

Best Regards, Martin

Port Busy

Hello !!

I'm starting to study ardulink on intellij, but i always receive this exception:

Exception in thread "main" java.lang.RuntimeException: jssc.SerialPortException: Port name - COM3; Method name - openPort(); Exception type - Port busy.

My test code:

package com.arduino.model;


import org.ardulink.core.Link;
import org.ardulink.core.Pin;
import org.ardulink.core.convenience.Links;

import org.ardulink.core.linkmanager.LinkManager;
import org.ardulink.core.serial.rxtx.SerialLinkConfig;
import org.ardulink.util.URIs;

import java.util.concurrent.TimeUnit;

public class Ardulink {
    SerialLinkConfig config;
    LinkManager.Configurer configurer;
    Link link;

    public Ardulink() {
        System.out.println("ae");
        String s = "ardulink://serial?port=COM3&baudrate=115200&pingprobe=true&proto=ardulink2&waitsecs=20";
        link = LinkManager.getInstance()
                 .getConfigurer(URIs.newURI
         (s)).newLink();
       // Link link = Links.getDefault();
      // Link link = Links.getLink(URIs.newURI("ardulink://serial-jssc?port=COM3"));


        try {
            Pin.DigitalPin pin = Pin.digitalPin(11);
            boolean power = true;
            while (true) {
                System.out.println("Send power:" + power);

                link.switchDigitalPin(pin, power);

                power = !power;
                TimeUnit.SECONDS.sleep(2);
            }
            } catch(Exception e){
                e.printStackTrace();
            }
        }
    }

The ardulink console works fine, but my code isn't.

Error on Ardulink Console

image

During the execution of the Ardulink Console, the attached error appeared. Is something missing to run?

Need help! receiving custom messages

Hello Luciano,

I need to print rotary encoder values from arduino in java.
But cannot catch the serial values in java.

This is my Java Code:

			private RplyEvent rplyEvent2;
                         public void U_speed(int pwm) throws InterruptedException, IOException {
		            System.out.println("pwm of u = " + pwm);
		            link.sendCustomMessage("encoder");
		            rplyEvent2 = null;
		            int reply = (int) rplyEvent2.getParameterValue("encoder_reply");
		            System.out.println("it is" + reply);
		            }

This is my arduino code:

 else if(inputString.substring(6,15) == "cust/encoder") {
          Serial.print("alp://rply/");
          Serial.print("ok?id=");
        Serial.print("0");
         Serial.print("&encoder_reply=");
          Serial.print(encoder_val);
         
        Serial.print('\n'); // End of Message
        Serial.flush();
      }

jSSC and RXTX crashing JVM in Windows 10

I was running Ardulink with jSSC just fine in Elementary OS Juno, but now that I'm trying to run it in Windows 10, it crashes in both jSSC and in RXTX, with EXCEPTION_ACCESS_VIOLATION.

Here is the full log:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000007110b5db, pid=2928, tid=940
#
# JRE version: Java(TM) SE Runtime Environment (12.0+33) (build 12+33)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (12+33, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [jSSC-2.8_x86_64.dll+0xb5db]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: -javaagent:D:\Users\EIGHT\Documents\ideaC.2019.1\lib\idea_rt.jar=50160:D:\Users\EIGHT\Documents\ideaC.2019.1\bin -Dfile.encoding=UTF-8 com.kerbodyne.rocketcontroller.KerbodyneRocketController

Host: Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz, 4 cores, 7G,  Windows 8.1 , 64 bit Build 9600 (6.3.9600.17415)
Time: Mon May 13 08:58:03 2019 Hora oficial do Brasil elapsed time: 1 seconds (0d 0h 0m 1s)

---------------  T H R E A D  ---------------

Current thread (0x000000e3ae3a4800):  JavaThread "main" [_thread_in_native, id=940, stack(0x000000e3ada50000,0x000000e3adb50000)]

Stack: [0x000000e3ada50000,0x000000e3adb50000],  sp=0x000000e3adb4ee30,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [jSSC-2.8_x86_64.dll+0xb5db]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  jssc.SerialNativeInterface.openPort(Ljava/lang/String;Z)J+0
j  jssc.SerialPort.openPort()Z+65
j  org.ardulink.core.serial.jssc.SerialLinkFactory.serialPort(Lorg/ardulink/core/serial/jssc/SerialLinkConfig;Ljava/lang/String;)Ljssc/SerialPort;+10
j  org.ardulink.core.serial.jssc.SerialLinkFactory.newLink(Lorg/ardulink/core/serial/jssc/SerialLinkConfig;)Lorg/ardulink/core/convenience/LinkDelegate;+8
j  org.ardulink.core.serial.jssc.SerialLinkFactory.newLink(Lorg/ardulink/core/linkmanager/LinkConfig;)Lorg/ardulink/core/Link;+5
j  org.ardulink.core.linkmanager.LinkManager$DefaultConfigurer.newLink()Lorg/ardulink/core/Link;+12
j  org.ardulink.core.convenience.Links.getLink(Lorg/ardulink/core/linkmanager/LinkManager$Configurer;)Lorg/ardulink/core/Link;+40
j  org.ardulink.core.convenience.Links.getDefault()Lorg/ardulink/core/Link;+3
j  com.kerbodyne.kerbolang.comms.ArdulinkCommunotron.<init>()V+5
j  com.kerbodyne.rocketcontroller.KerbodyneRocketController.reconnectArduino()V+4
j  com.kerbodyne.rocketcontroller.KerbodyneRocketController.main([Ljava/lang/String;)V+11
v  ~StubRoutines::call_stub

siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0xffffffffac32e3e3


Register to memory mapping:

RIP=0x000000007110b5db jSSC-2.8_x86_64.dll
RAX=0xffffffffac32e3e3 is an unknown value
RBX=0x000000e3adb4eea0 is pointing into the stack for thread: 0x000000e3ae3a4800
RCX=0x00007ffc3f750d3a ntdll.dll
RDX=0x0 is NULL
RSP=0x000000e3adb4ee30 is pointing into the stack for thread: 0x000000e3ae3a4800
RBP=0x000000e3adb4efb0 is pointing into the stack for thread: 0x000000e3ae3a4800
RSI=0x000000e3ae3a4b30 points into unknown readable memory: e0 1d 3b 24 fc 7f 00 00
RDI=0x0000000000000484 is an unknown value
R8 =0x000000e3adb4ed28 is pointing into the stack for thread: 0x000000e3ae3a4800
R9 =0x000000e3adb4ee20 is pointing into the stack for thread: 0x000000e3ae3a4800
R10=0x0 is NULL
R11=0x0000000000000213 is an unknown value
R12=0x000000e3adb4f068 is pointing into the stack for thread: 0x000000e3ae3a4800
R13=0x000000e3cea4f640 points into unknown readable memory: 44 00 3a 00 2e 00 00 00
R14=0x000000e3adb4ef60 is pointing into the stack for thread: 0x000000e3ae3a4800
R15=0x000000e3ae3a4800 is a thread


Registers:
RAX=0xffffffffac32e3e3, RBX=0x000000e3adb4eea0, RCX=0x00007ffc3f750d3a, RDX=0x0000000000000000
RSP=0x000000e3adb4ee30, RBP=0x000000e3adb4efb0, RSI=0x000000e3ae3a4b30, RDI=0x0000000000000484
R8 =0x000000e3adb4ed28, R9 =0x000000e3adb4ee20, R10=0x0000000000000000, R11=0x0000000000000213
R12=0x000000e3adb4f068, R13=0x000000e3cea4f640, R14=0x000000e3adb4ef60, R15=0x000000e3ae3a4800
RIP=0x000000007110b5db, EFLAGS=0x0000000000010206

Top of Stack: (sp=0x000000e3adb4ee30)
0x000000e3adb4ee30:   000000e3ae3a4800 000000e3cea4f640
0x000000e3adb4ee40:   000000007110b230 0000000000000000
0x000000e3adb4ee50:   000000e3ae3a4800 0000000000000004
0x000000e3adb4ee60:   000000e3ae3a4b30 0000000000000484
0x000000e3adb4ee70:   000000e3adb4efb0 0000000071112590
0x000000e3adb4ee80:   000000e3adb4ef00 00007ffc3f6f206a
0x000000e3adb4ee90:   0000000000000020 0000000040000000
0x000000e3adb4eea0:   0000000000000000 0000000000000000
0x000000e3adb4eeb0:   000000e3ae3a4800 000000e3adb4f068
0x000000e3adb4eec0:   000000e3adb4ef60 0000000000000484
0x000000e3adb4eed0:   0000000071113500 0000000071113be8
0x000000e3adb4eee0:   000000e3adb4ef10 0000000071112641
0x000000e3adb4eef0:   000000e3adb4ee80 0000000000000000
0x000000e3adb4ef00:   0000000000000000 0000000000000000
0x000000e3adb4ef10:   000000e3adb4efb0 0000000071101595
0x000000e3adb4ef20:   000000000000001c 000000e300000000 

Instructions: (pc=0x000000007110b5db)
0x000000007110b5bb:   c5 0f 1f 40 00 55 57 56 53 48 83 ec 28 48 8b 05
0x000000007110b5cb:   39 33 01 00 48 89 cb 48 85 c0 0f 84 c5 00 00 00
0x000000007110b5db:   8b 38 85 ff 0f 88 ab 00 00 00 48 8b 05 1c 33 01
0x000000007110b5eb:   00 48 85 c0 0f 84 bc 00 00 00 8b 30 85 f6 74 57 


Stack slot to memory mapping:
stack at sp + 0 slots: 0x000000e3ae3a4800 is a thread
stack at sp + 1 slots: 0x000000e3cea4f640 points into unknown readable memory: 44 00 3a 00 2e 00 00 00
stack at sp + 2 slots: 0x000000007110b230 jSSC-2.8_x86_64.dll
stack at sp + 3 slots: 0x0 is NULL
stack at sp + 4 slots: 0x000000e3ae3a4800 is a thread
stack at sp + 5 slots: 0x0000000000000004 is an unknown value
stack at sp + 6 slots: 0x000000e3ae3a4b30 points into unknown readable memory: e0 1d 3b 24 fc 7f 00 00
stack at sp + 7 slots: 0x0000000000000484 is an unknown value


---------------  P R O C E S S  ---------------

Threads class SMR info:
_java_thread_list=0x000000e3cde9aa80, length=12, elements={
0x000000e3ae3a4800, 0x000000e3cc8bc800, 0x000000e3cc8bd800, 0x000000e3cc8cf000,
0x000000e3cc8d0800, 0x000000e3cc8d2800, 0x000000e3cdbf0000, 0x000000e3cc8fb800,
0x000000e3cdca9000, 0x000000e3cdd2f800, 0x000000e3cde9c000, 0x000000e3cde75000
}

Java Threads: ( => current thread )
=>0x000000e3ae3a4800 JavaThread "main" [_thread_in_native, id=940, stack(0x000000e3ada50000,0x000000e3adb50000)]
  0x000000e3cc8bc800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4940, stack(0x000000e3cd400000,0x000000e3cd500000)]
  0x000000e3cc8bd800 JavaThread "Finalizer" daemon [_thread_blocked, id=2148, stack(0x000000e3cd500000,0x000000e3cd600000)]
  0x000000e3cc8cf000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4620, stack(0x000000e3cd8b0000,0x000000e3cd9b0000)]
  0x000000e3cc8d0800 JavaThread "Attach Listener" daemon [_thread_blocked, id=180, stack(0x000000e3cd9b0000,0x000000e3cdab0000)]
  0x000000e3cc8d2800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=2820, stack(0x000000e3cdab0000,0x000000e3cdbb0000)]
  0x000000e3cdbf0000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=4284, stack(0x000000e3cdfb0000,0x000000e3ce0b0000)]
  0x000000e3cc8fb800 JavaThread "Sweeper thread" daemon [_thread_blocked, id=1572, stack(0x000000e3ce0b0000,0x000000e3ce1b0000)]
  0x000000e3cdca9000 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=2860, stack(0x000000e3ce1b0000,0x000000e3ce2b0000)]
  0x000000e3cdd2f800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=4176, stack(0x000000e3ce2b0000,0x000000e3ce3b0000)]
  0x000000e3cde9c000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=5112, stack(0x000000e3ce3b0000,0x000000e3ce4b0000)]
  0x000000e3cde75000 JavaThread "Service Thread" daemon [_thread_blocked, id=2284, stack(0x000000e3ce4b0000,0x000000e3ce5b0000)]

Other Threads:
  0x000000e3cc8b4000 VMThread "VM Thread" [stack: 0x000000e3cd300000,0x000000e3cd400000] [id=4900]
  0x000000e3cde76000 WatcherThread [stack: 0x000000e3ce5b0000,0x000000e3ce6b0000] [id=4372]
  0x000000e3ae3df800 GCTaskThread "GC Thread#0" [stack: 0x000000e3ae1c0000,0x000000e3ae2c0000] [id=4104]
  0x000000e3ce915800 GCTaskThread "GC Thread#1" [stack: 0x000000e3ceeb0000,0x000000e3cefb0000] [id=4892]
  0x000000e3ae3ec800 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000e3ca0c0000,0x000000e3ca1c0000] [id=4876]
  0x000000e3ae3ef000 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000e3ca1c0000,0x000000e3ca2c0000] [id=4396]
  0x000000e3cc723800 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000e3cc900000,0x000000e3cca00000] [id=4832]
  0x000000e3cc725800 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x000000e3cca00000,0x000000e3ccb00000] [id=1776]

Threads with active compile tasks:

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap address: 0x0000000084e00000, size: 1970 MB, Compressed Oops mode: 32-bit
Narrow klass base: 0x0000000800000000, Narrow klass shift: 3
Compressed class space size: 1073741824 Address: 0x00000008011a0000

Heap:
 garbage-first heap   total 126976K, used 12016K [0x0000000084e00000, 0x0000000100000000)
  region size 1024K, 11 young (11264K), 2 survivors (2048K)
 Metaspace       used 6868K, capacity 8566K, committed 8704K, reserved 1056768K
  class space    used 786K, capacity 965K, committed 1024K, reserved 1048576K
Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TAMS=top-at-mark-start (previous, next)
|   0|0x0000000084e00000, 0x0000000084f00000, 0x0000000084f00000|100%| O|  |TAMS 0x0000000084e00000, 0x0000000084e00000| Untracked 
|   1|0x0000000084f00000, 0x0000000084fbc200, 0x0000000085000000| 73%| O|  |TAMS 0x0000000084f00000, 0x0000000084f00000| Untracked 
|   2|0x0000000085000000, 0x0000000085000000, 0x0000000085100000|  0%| F|  |TAMS 0x0000000085000000, 0x0000000085000000| Untracked 
|   3|0x0000000085100000, 0x0000000085100000, 0x0000000085200000|  0%| F|  |TAMS 0x0000000085100000, 0x0000000085100000| Untracked 
|   4|0x0000000085200000, 0x0000000085200000, 0x0000000085300000|  0%| F|  |TAMS 0x0000000085200000, 0x0000000085200000| Untracked 
|   5|0x0000000085300000, 0x0000000085300000, 0x0000000085400000|  0%| F|  |TAMS 0x0000000085300000, 0x0000000085300000| Untracked 
|   6|0x0000000085400000, 0x0000000085400000, 0x0000000085500000|  0%| F|  |TAMS 0x0000000085400000, 0x0000000085400000| Untracked 
|   7|0x0000000085500000, 0x0000000085500000, 0x0000000085600000|  0%| F|  |TAMS 0x0000000085500000, 0x0000000085500000| Untracked 
|   8|0x0000000085600000, 0x0000000085600000, 0x0000000085700000|  0%| F|  |TAMS 0x0000000085600000, 0x0000000085600000| Untracked 
|   9|0x0000000085700000, 0x0000000085700000, 0x0000000085800000|  0%| F|  |TAMS 0x0000000085700000, 0x0000000085700000| Untracked 
|  10|0x0000000085800000, 0x0000000085800000, 0x0000000085900000|  0%| F|  |TAMS 0x0000000085800000, 0x0000000085800000| Untracked 
|  11|0x0000000085900000, 0x0000000085900000, 0x0000000085a00000|  0%| F|  |TAMS 0x0000000085900000, 0x0000000085900000| Untracked 
|  12|0x0000000085a00000, 0x0000000085a00000, 0x0000000085b00000|  0%| F|  |TAMS 0x0000000085a00000, 0x0000000085a00000| Untracked 
|  13|0x0000000085b00000, 0x0000000085b00000, 0x0000000085c00000|  0%| F|  |TAMS 0x0000000085b00000, 0x0000000085b00000| Untracked 
|  14|0x0000000085c00000, 0x0000000085c00000, 0x0000000085d00000|  0%| F|  |TAMS 0x0000000085c00000, 0x0000000085c00000| Untracked 
|  15|0x0000000085d00000, 0x0000000085d00000, 0x0000000085e00000|  0%| F|  |TAMS 0x0000000085d00000, 0x0000000085d00000| Untracked 
|  16|0x0000000085e00000, 0x0000000085e00000, 0x0000000085f00000|  0%| F|  |TAMS 0x0000000085e00000, 0x0000000085e00000| Untracked 
|  17|0x0000000085f00000, 0x0000000085f00000, 0x0000000086000000|  0%| F|  |TAMS 0x0000000085f00000, 0x0000000085f00000| Untracked 
|  18|0x0000000086000000, 0x0000000086000000, 0x0000000086100000|  0%| F|  |TAMS 0x0000000086000000, 0x0000000086000000| Untracked 
|  19|0x0000000086100000, 0x0000000086100000, 0x0000000086200000|  0%| F|  |TAMS 0x0000000086100000, 0x0000000086100000| Untracked 
|  20|0x0000000086200000, 0x0000000086200000, 0x0000000086300000|  0%| F|  |TAMS 0x0000000086200000, 0x0000000086200000| Untracked 
|  21|0x0000000086300000, 0x0000000086300000, 0x0000000086400000|  0%| F|  |TAMS 0x0000000086300000, 0x0000000086300000| Untracked 
|  22|0x0000000086400000, 0x0000000086400000, 0x0000000086500000|  0%| F|  |TAMS 0x0000000086400000, 0x0000000086400000| Untracked 
|  23|0x0000000086500000, 0x0000000086500000, 0x0000000086600000|  0%| F|  |TAMS 0x0000000086500000, 0x0000000086500000| Untracked 
|  24|0x0000000086600000, 0x0000000086600000, 0x0000000086700000|  0%| F|  |TAMS 0x0000000086600000, 0x0000000086600000| Untracked 
|  25|0x0000000086700000, 0x0000000086700000, 0x0000000086800000|  0%| F|  |TAMS 0x0000000086700000, 0x0000000086700000| Untracked 
|  26|0x0000000086800000, 0x0000000086800000, 0x0000000086900000|  0%| F|  |TAMS 0x0000000086800000, 0x0000000086800000| Untracked 
|  27|0x0000000086900000, 0x0000000086900000, 0x0000000086a00000|  0%| F|  |TAMS 0x0000000086900000, 0x0000000086900000| Untracked 
|  28|0x0000000086a00000, 0x0000000086a00000, 0x0000000086b00000|  0%| F|  |TAMS 0x0000000086a00000, 0x0000000086a00000| Untracked 
|  29|0x0000000086b00000, 0x0000000086b00000, 0x0000000086c00000|  0%| F|  |TAMS 0x0000000086b00000, 0x0000000086b00000| Untracked 
|  30|0x0000000086c00000, 0x0000000086c00000, 0x0000000086d00000|  0%| F|  |TAMS 0x0000000086c00000, 0x0000000086c00000| Untracked 
|  31|0x0000000086d00000, 0x0000000086d00000, 0x0000000086e00000|  0%| F|  |TAMS 0x0000000086d00000, 0x0000000086d00000| Untracked 
|  32|0x0000000086e00000, 0x0000000086e00000, 0x0000000086f00000|  0%| F|  |TAMS 0x0000000086e00000, 0x0000000086e00000| Untracked 
|  33|0x0000000086f00000, 0x0000000086f00000, 0x0000000087000000|  0%| F|  |TAMS 0x0000000086f00000, 0x0000000086f00000| Untracked 
|  34|0x0000000087000000, 0x0000000087000000, 0x0000000087100000|  0%| F|  |TAMS 0x0000000087000000, 0x0000000087000000| Untracked 
|  35|0x0000000087100000, 0x0000000087100000, 0x0000000087200000|  0%| F|  |TAMS 0x0000000087100000, 0x0000000087100000| Untracked 
|  36|0x0000000087200000, 0x0000000087200000, 0x0000000087300000|  0%| F|  |TAMS 0x0000000087200000, 0x0000000087200000| Untracked 
|  37|0x0000000087300000, 0x0000000087300000, 0x0000000087400000|  0%| F|  |TAMS 0x0000000087300000, 0x0000000087300000| Untracked 
|  38|0x0000000087400000, 0x0000000087400000, 0x0000000087500000|  0%| F|  |TAMS 0x0000000087400000, 0x0000000087400000| Untracked 
|  39|0x0000000087500000, 0x0000000087500000, 0x0000000087600000|  0%| F|  |TAMS 0x0000000087500000, 0x0000000087500000| Untracked 
|  40|0x0000000087600000, 0x0000000087600000, 0x0000000087700000|  0%| F|  |TAMS 0x0000000087600000, 0x0000000087600000| Untracked 
|  41|0x0000000087700000, 0x0000000087700000, 0x0000000087800000|  0%| F|  |TAMS 0x0000000087700000, 0x0000000087700000| Untracked 
|  42|0x0000000087800000, 0x0000000087800000, 0x0000000087900000|  0%| F|  |TAMS 0x0000000087800000, 0x0000000087800000| Untracked 
|  43|0x0000000087900000, 0x0000000087900000, 0x0000000087a00000|  0%| F|  |TAMS 0x0000000087900000, 0x0000000087900000| Untracked 
|  44|0x0000000087a00000, 0x0000000087a00000, 0x0000000087b00000|  0%| F|  |TAMS 0x0000000087a00000, 0x0000000087a00000| Untracked 
|  45|0x0000000087b00000, 0x0000000087b00000, 0x0000000087c00000|  0%| F|  |TAMS 0x0000000087b00000, 0x0000000087b00000| Untracked 
|  46|0x0000000087c00000, 0x0000000087c00000, 0x0000000087d00000|  0%| F|  |TAMS 0x0000000087c00000, 0x0000000087c00000| Untracked 
|  47|0x0000000087d00000, 0x0000000087d00000, 0x0000000087e00000|  0%| F|  |TAMS 0x0000000087d00000, 0x0000000087d00000| Untracked 
|  48|0x0000000087e00000, 0x0000000087e00000, 0x0000000087f00000|  0%| F|  |TAMS 0x0000000087e00000, 0x0000000087e00000| Untracked 
|  49|0x0000000087f00000, 0x0000000087f00000, 0x0000000088000000|  0%| F|  |TAMS 0x0000000087f00000, 0x0000000087f00000| Untracked 
|  50|0x0000000088000000, 0x0000000088000000, 0x0000000088100000|  0%| F|  |TAMS 0x0000000088000000, 0x0000000088000000| Untracked 
|  51|0x0000000088100000, 0x0000000088100000, 0x0000000088200000|  0%| F|  |TAMS 0x0000000088100000, 0x0000000088100000| Untracked 
|  52|0x0000000088200000, 0x0000000088200000, 0x0000000088300000|  0%| F|  |TAMS 0x0000000088200000, 0x0000000088200000| Untracked 
|  53|0x0000000088300000, 0x0000000088300000, 0x0000000088400000|  0%| F|  |TAMS 0x0000000088300000, 0x0000000088300000| Untracked 
|  54|0x0000000088400000, 0x0000000088400000, 0x0000000088500000|  0%| F|  |TAMS 0x0000000088400000, 0x0000000088400000| Untracked 
|  55|0x0000000088500000, 0x0000000088500000, 0x0000000088600000|  0%| F|  |TAMS 0x0000000088500000, 0x0000000088500000| Untracked 
|  56|0x0000000088600000, 0x0000000088600000, 0x0000000088700000|  0%| F|  |TAMS 0x0000000088600000, 0x0000000088600000| Untracked 
|  57|0x0000000088700000, 0x0000000088700000, 0x0000000088800000|  0%| F|  |TAMS 0x0000000088700000, 0x0000000088700000| Untracked 
|  58|0x0000000088800000, 0x0000000088800000, 0x0000000088900000|  0%| F|  |TAMS 0x0000000088800000, 0x0000000088800000| Untracked 
|  59|0x0000000088900000, 0x0000000088900000, 0x0000000088a00000|  0%| F|  |TAMS 0x0000000088900000, 0x0000000088900000| Untracked 
|  60|0x0000000088a00000, 0x0000000088a00000, 0x0000000088b00000|  0%| F|  |TAMS 0x0000000088a00000, 0x0000000088a00000| Untracked 
|  61|0x0000000088b00000, 0x0000000088b00000, 0x0000000088c00000|  0%| F|  |TAMS 0x0000000088b00000, 0x0000000088b00000| Untracked 
|  62|0x0000000088c00000, 0x0000000088c00000, 0x0000000088d00000|  0%| F|  |TAMS 0x0000000088c00000, 0x0000000088c00000| Untracked 
|  63|0x0000000088d00000, 0x0000000088d00000, 0x0000000088e00000|  0%| F|  |TAMS 0x0000000088d00000, 0x0000000088d00000| Untracked 
|  64|0x0000000088e00000, 0x0000000088e00000, 0x0000000088f00000|  0%| F|  |TAMS 0x0000000088e00000, 0x0000000088e00000| Untracked 
|  65|0x0000000088f00000, 0x0000000088f00000, 0x0000000089000000|  0%| F|  |TAMS 0x0000000088f00000, 0x0000000088f00000| Untracked 
|  66|0x0000000089000000, 0x0000000089000000, 0x0000000089100000|  0%| F|  |TAMS 0x0000000089000000, 0x0000000089000000| Untracked 
|  67|0x0000000089100000, 0x0000000089100000, 0x0000000089200000|  0%| F|  |TAMS 0x0000000089100000, 0x0000000089100000| Untracked 
|  68|0x0000000089200000, 0x0000000089200000, 0x0000000089300000|  0%| F|  |TAMS 0x0000000089200000, 0x0000000089200000| Untracked 
|  69|0x0000000089300000, 0x0000000089300000, 0x0000000089400000|  0%| F|  |TAMS 0x0000000089300000, 0x0000000089300000| Untracked 
|  70|0x0000000089400000, 0x0000000089400000, 0x0000000089500000|  0%| F|  |TAMS 0x0000000089400000, 0x0000000089400000| Untracked 
|  71|0x0000000089500000, 0x0000000089500000, 0x0000000089600000|  0%| F|  |TAMS 0x0000000089500000, 0x0000000089500000| Untracked 
|  72|0x0000000089600000, 0x0000000089600000, 0x0000000089700000|  0%| F|  |TAMS 0x0000000089600000, 0x0000000089600000| Untracked 
|  73|0x0000000089700000, 0x0000000089700000, 0x0000000089800000|  0%| F|  |TAMS 0x0000000089700000, 0x0000000089700000| Untracked 
|  74|0x0000000089800000, 0x0000000089800000, 0x0000000089900000|  0%| F|  |TAMS 0x0000000089800000, 0x0000000089800000| Untracked 
|  75|0x0000000089900000, 0x0000000089900000, 0x0000000089a00000|  0%| F|  |TAMS 0x0000000089900000, 0x0000000089900000| Untracked 
|  76|0x0000000089a00000, 0x0000000089a00000, 0x0000000089b00000|  0%| F|  |TAMS 0x0000000089a00000, 0x0000000089a00000| Untracked 
|  77|0x0000000089b00000, 0x0000000089b00000, 0x0000000089c00000|  0%| F|  |TAMS 0x0000000089b00000, 0x0000000089b00000| Untracked 
|  78|0x0000000089c00000, 0x0000000089c00000, 0x0000000089d00000|  0%| F|  |TAMS 0x0000000089c00000, 0x0000000089c00000| Untracked 
|  79|0x0000000089d00000, 0x0000000089d00000, 0x0000000089e00000|  0%| F|  |TAMS 0x0000000089d00000, 0x0000000089d00000| Untracked 
|  80|0x0000000089e00000, 0x0000000089e00000, 0x0000000089f00000|  0%| F|  |TAMS 0x0000000089e00000, 0x0000000089e00000| Untracked 
|  81|0x0000000089f00000, 0x0000000089f00000, 0x000000008a000000|  0%| F|  |TAMS 0x0000000089f00000, 0x0000000089f00000| Untracked 
|  82|0x000000008a000000, 0x000000008a000000, 0x000000008a100000|  0%| F|  |TAMS 0x000000008a000000, 0x000000008a000000| Untracked 
|  83|0x000000008a100000, 0x000000008a100000, 0x000000008a200000|  0%| F|  |TAMS 0x000000008a100000, 0x000000008a100000| Untracked 
|  84|0x000000008a200000, 0x000000008a200000, 0x000000008a300000|  0%| F|  |TAMS 0x000000008a200000, 0x000000008a200000| Untracked 
|  85|0x000000008a300000, 0x000000008a300000, 0x000000008a400000|  0%| F|  |TAMS 0x000000008a300000, 0x000000008a300000| Untracked 
|  86|0x000000008a400000, 0x000000008a400000, 0x000000008a500000|  0%| F|  |TAMS 0x000000008a400000, 0x000000008a400000| Untracked 
|  87|0x000000008a500000, 0x000000008a500000, 0x000000008a600000|  0%| F|  |TAMS 0x000000008a500000, 0x000000008a500000| Untracked 
|  88|0x000000008a600000, 0x000000008a600000, 0x000000008a700000|  0%| F|  |TAMS 0x000000008a600000, 0x000000008a600000| Untracked 
|  89|0x000000008a700000, 0x000000008a700000, 0x000000008a800000|  0%| F|  |TAMS 0x000000008a700000, 0x000000008a700000| Untracked 
|  90|0x000000008a800000, 0x000000008a800000, 0x000000008a900000|  0%| F|  |TAMS 0x000000008a800000, 0x000000008a800000| Untracked 
|  91|0x000000008a900000, 0x000000008a900000, 0x000000008aa00000|  0%| F|  |TAMS 0x000000008a900000, 0x000000008a900000| Untracked 
|  92|0x000000008aa00000, 0x000000008aa00000, 0x000000008ab00000|  0%| F|  |TAMS 0x000000008aa00000, 0x000000008aa00000| Untracked 
|  93|0x000000008ab00000, 0x000000008ab00000, 0x000000008ac00000|  0%| F|  |TAMS 0x000000008ab00000, 0x000000008ab00000| Untracked 
|  94|0x000000008ac00000, 0x000000008ac00000, 0x000000008ad00000|  0%| F|  |TAMS 0x000000008ac00000, 0x000000008ac00000| Untracked 
|  95|0x000000008ad00000, 0x000000008ad00000, 0x000000008ae00000|  0%| F|  |TAMS 0x000000008ad00000, 0x000000008ad00000| Untracked 
|  96|0x000000008ae00000, 0x000000008ae00000, 0x000000008af00000|  0%| F|  |TAMS 0x000000008ae00000, 0x000000008ae00000| Untracked 
|  97|0x000000008af00000, 0x000000008af00000, 0x000000008b000000|  0%| F|  |TAMS 0x000000008af00000, 0x000000008af00000| Untracked 
|  98|0x000000008b000000, 0x000000008b000000, 0x000000008b100000|  0%| F|  |TAMS 0x000000008b000000, 0x000000008b000000| Untracked 
|  99|0x000000008b100000, 0x000000008b100000, 0x000000008b200000|  0%| F|  |TAMS 0x000000008b100000, 0x000000008b100000| Untracked 
| 100|0x000000008b200000, 0x000000008b200000, 0x000000008b300000|  0%| F|  |TAMS 0x000000008b200000, 0x000000008b200000| Untracked 
| 101|0x000000008b300000, 0x000000008b300000, 0x000000008b400000|  0%| F|  |TAMS 0x000000008b300000, 0x000000008b300000| Untracked 
| 102|0x000000008b400000, 0x000000008b400000, 0x000000008b500000|  0%| F|  |TAMS 0x000000008b400000, 0x000000008b400000| Untracked 
| 103|0x000000008b500000, 0x000000008b500000, 0x000000008b600000|  0%| F|  |TAMS 0x000000008b500000, 0x000000008b500000| Untracked 
| 104|0x000000008b600000, 0x000000008b600000, 0x000000008b700000|  0%| F|  |TAMS 0x000000008b600000, 0x000000008b600000| Untracked 
| 105|0x000000008b700000, 0x000000008b700000, 0x000000008b800000|  0%| F|  |TAMS 0x000000008b700000, 0x000000008b700000| Untracked 
| 106|0x000000008b800000, 0x000000008b800000, 0x000000008b900000|  0%| F|  |TAMS 0x000000008b800000, 0x000000008b800000| Untracked 
| 107|0x000000008b900000, 0x000000008b900000, 0x000000008ba00000|  0%| F|  |TAMS 0x000000008b900000, 0x000000008b900000| Untracked 
| 108|0x000000008ba00000, 0x000000008bb00000, 0x000000008bb00000|100%| S|CS|TAMS 0x000000008ba00000, 0x000000008ba00000| Complete 
| 109|0x000000008bb00000, 0x000000008bc00000, 0x000000008bc00000|100%| S|CS|TAMS 0x000000008bb00000, 0x000000008bb00000| Complete 
| 110|0x000000008bc00000, 0x000000008bc00000, 0x000000008bd00000|  0%| F|  |TAMS 0x000000008bc00000, 0x000000008bc00000| Untracked 
| 111|0x000000008bd00000, 0x000000008bd00000, 0x000000008be00000|  0%| F|  |TAMS 0x000000008bd00000, 0x000000008bd00000| Untracked 
| 112|0x000000008be00000, 0x000000008be00000, 0x000000008bf00000|  0%| F|  |TAMS 0x000000008be00000, 0x000000008be00000| Untracked 
| 113|0x000000008bf00000, 0x000000008bf00000, 0x000000008c000000|  0%| F|  |TAMS 0x000000008bf00000, 0x000000008bf00000| Untracked 
| 114|0x000000008c000000, 0x000000008c000000, 0x000000008c100000|  0%| F|  |TAMS 0x000000008c000000, 0x000000008c000000| Untracked 
| 115|0x000000008c100000, 0x000000008c184010, 0x000000008c200000| 51%| E|  |TAMS 0x000000008c100000, 0x000000008c100000| Complete 
| 116|0x000000008c200000, 0x000000008c300000, 0x000000008c300000|100%| E|CS|TAMS 0x000000008c200000, 0x000000008c200000| Complete 
| 117|0x000000008c300000, 0x000000008c400000, 0x000000008c400000|100%| E|CS|TAMS 0x000000008c300000, 0x000000008c300000| Complete 
| 118|0x000000008c400000, 0x000000008c500000, 0x000000008c500000|100%| E|CS|TAMS 0x000000008c400000, 0x000000008c400000| Complete 
| 119|0x000000008c500000, 0x000000008c600000, 0x000000008c600000|100%| E|CS|TAMS 0x000000008c500000, 0x000000008c500000| Complete 
| 120|0x000000008c600000, 0x000000008c700000, 0x000000008c700000|100%| E|CS|TAMS 0x000000008c600000, 0x000000008c600000| Complete 
| 121|0x000000008c700000, 0x000000008c800000, 0x000000008c800000|100%| E|CS|TAMS 0x000000008c700000, 0x000000008c700000| Complete 
| 122|0x000000008c800000, 0x000000008c900000, 0x000000008c900000|100%| E|CS|TAMS 0x000000008c800000, 0x000000008c800000| Complete 
| 123|0x000000008c900000, 0x000000008ca00000, 0x000000008ca00000|100%| E|CS|TAMS 0x000000008c900000, 0x000000008c900000| Complete 

Card table byte_map: [0x000000e3c5b60000,0x000000e3c5f40000] _byte_map_base: 0x000000e3c5739000

Marking Bits (Prev, Next): (CMBitMap*) 0x000000e3ae3e04f8, (CMBitMap*) 0x000000e3ae3e0538
 Prev Bits: [0x000000e3c6320000, 0x000000e3c81e8000)
 Next Bits: [0x000000e3c81f0000, 0x000000e3ca0b8000)

Polling page: 0x000000e3ac2d0000

Metaspace:

Usage:
  Non-class:      7.42 MB capacity,     5.94 MB ( 80%) used,     1.47 MB ( 20%) free+waste,    13.25 KB ( <1%) overhead. 
      Class:    965.00 KB capacity,   786.03 KB ( 81%) used,   172.16 KB ( 18%) free+waste,     6.81 KB ( <1%) overhead. 
       Both:      8.37 MB capacity,     6.71 MB ( 80%) used,     1.64 MB ( 20%) free+waste,    20.06 KB ( <1%) overhead. 

Virtual space:
  Non-class space:        8.00 MB reserved,       7.50 MB ( 94%) committed 
      Class space:        1.00 GB reserved,       1.00 MB ( <1%) committed 
             Both:        1.01 GB reserved,       8.50 MB ( <1%) committed 

Chunk freelists:
   Non-Class:  1.88 KB
       Class:  0 bytes
        Both:  1.88 KB

CodeHeap 'non-profiled nmethods': size=120064Kb used=384Kb max_used=384Kb free=119679Kb
 bounds [0x000000e3be240000, 0x000000e3be4b0000, 0x000000e3c5780000]
CodeHeap 'profiled nmethods': size=120000Kb used=2055Kb max_used=2055Kb free=117944Kb
 bounds [0x000000e3b6d10000, 0x000000e3b6f80000, 0x000000e3be240000]
CodeHeap 'non-nmethods': size=5696Kb used=1114Kb max_used=1141Kb free=4581Kb
 bounds [0x000000e3b6780000, 0x000000e3b69f0000, 0x000000e3b6d10000]
 total_blobs=1730 nmethods=1052 adapters=331
 compilation: enabled
              stopped_count=0, restarted_count=0
 full_count=0

Compilation events (10 events):
Event: 1.188 Thread 0x000000e3cdbf0000 1046       3       java.util.zip.ZipFile$InflaterCleanupAction::run (12 bytes)
Event: 1.188 Thread 0x000000e3cdbf0000 nmethod 1046 0x000000e3b6f10210 code [0x000000e3b6f103e0, 0x000000e3b6f105b0]
Event: 1.188 Thread 0x000000e3cdbf0000 1047   !   3       java.util.zip.ZipFile$CleanableResource::releaseInflater (53 bytes)
Event: 1.189 Thread 0x000000e3cdbf0000 nmethod 1047 0x000000e3b6f10690 code [0x000000e3b6f10880, 0x000000e3b6f10e10]
Event: 1.189 Thread 0x000000e3cdbf0000 1048   !   3       java.util.zip.Inflater::reset (64 bytes)
Event: 1.189 Thread 0x000000e3cdbf0000 nmethod 1048 0x000000e3b6f11010 code [0x000000e3b6f11200, 0x000000e3b6f116e0]
Event: 1.190 Thread 0x000000e3cdbf0000 1050       3       org.ardulink.core.beans.finder.impl.WriteMethod::<init> (20 bytes)
Event: 1.190 Thread 0x000000e3cdbf0000 nmethod 1050 0x000000e3b6f11890 code [0x000000e3b6f11a60, 0x000000e3b6f11d58]
Event: 1.190 Thread 0x000000e3cdbf0000 1051       1       java.util.concurrent.CopyOnWriteArrayList::getArray (5 bytes)
Event: 1.190 Thread 0x000000e3cdbf0000 nmethod 1051 0x000000e3be29f910 code [0x000000e3be29fac0, 0x000000e3be29fbf8]

GC Heap History (2 events):
Event: 0.842 GC heap before
{Heap before GC invocations=0 (full 0):
 garbage-first heap   total 126976K, used 13312K [0x0000000084e00000, 0x0000000100000000)
  region size 1024K, 14 young (14336K), 0 survivors (0K)
 Metaspace       used 4185K, capacity 6890K, committed 6912K, reserved 1056768K
  class space    used 469K, capacity 746K, committed 768K, reserved 1048576K
}
Event: 0.849 GC heap after
{Heap after GC invocations=1 (full 0):
 garbage-first heap   total 126976K, used 3824K [0x0000000084e00000, 0x0000000100000000)
  region size 1024K, 2 young (2048K), 2 survivors (2048K)
 Metaspace       used 4185K, capacity 6890K, committed 6912K, reserved 1056768K
  class space    used 469K, capacity 746K, committed 768K, reserved 1048576K
}

Deoptimization events (10 events):
Event: 0.976 Thread 0x000000e3ae3a4800 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000000e3be28e868 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 126 c2
Event: 0.977 Thread 0x000000e3ae3a4800 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000000e3be28e868 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 126 c2
Event: 0.983 Thread 0x000000e3ae3a4800 Uncommon trap: reason=bimorphic_or_optimized_type_check action=maybe_recompile pc=0x000000e3be28e868 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 126 c2
Event: 1.019 Thread 0x000000e3ae3a4800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000e3be28f368 method=java.lang.String.startsWith(Ljava/lang/String;I)Z @ 14 c2
Event: 1.080 Thread 0x000000e3ae3a4800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000e3be290960 method=java.net.URI.match(CJJ)Z @ 45 c2
Event: 1.130 Thread 0x000000e3ae3a4800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000e3be28ff9c method=java.util.concurrent.ConcurrentHashMap.get(Ljava/lang/Object;)Ljava/lang/Object; @ 76 c2
Event: 1.144 Thread 0x000000e3ae3a4800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000e3be29a3bc method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 129 c2
Event: 1.145 Thread 0x000000e3ae3a4800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000e3be295394 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 129 c2
Event: 1.174 Thread 0x000000e3ae3a4800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000e3be28ad1c method=sun.net.www.ParseUtil.firstEncodeIndex(Ljava/lang/String;)I @ 51 c2
Event: 1.175 Thread 0x000000e3ae3a4800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000e3be2893c0 method=sun.net.www.ParseUtil.firstEncodeIndex(Ljava/lang/String;)I @ 51 c2

Classes redefined (0 events):
No events

Internal exceptions (8 events):
Event: 0.658 Thread 0x000000e3ae3a4800 Exception <a 'java/lang/ClassNotFoundException'{0x000000008bf1f8f0}: sun/util/logging/resources/spi/loggingProvider> (0x000000008bf1f8f0) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 235]
Event: 0.733 Thread 0x000000e3ae3a4800 Exception <a 'java/lang/NoSuchMethodError'{0x000000008bebf5d0}: java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I> (0x000000008bebf5d0) thrown at [t:/worksp
Event: 1.002 Thread 0x000000e3cc8d0800 Exception <a 'java/lang/NoSuchMethodError'{0x000000008c5e4758}: java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(Ljava/lang/Object;I)Ljava/lang/Object;> (0x000000008c5e4758) thrown at [t:/workspace/open/src/hotspot/share/interpreter/linkResolve
Event: 1.113 Thread 0x000000e3ae3a4800 Exception <a 'java/lang/ClassNotFoundException'{0x000000008c228b90}: org/ardulink/core/serial/jssc/SerialLinkConfigBeanInfo> (0x000000008c228b90) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 235]
Event: 1.114 Thread 0x000000e3ae3a4800 Exception <a 'java/lang/ClassNotFoundException'{0x000000008c229408}: java/lang/ObjectBeanInfo> (0x000000008c229408) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 235]
Event: 1.115 Thread 0x000000e3ae3a4800 Exception <a 'java/lang/ClassNotFoundException'{0x000000008c22aa78}: java/lang/ObjectCustomizer> (0x000000008c22aa78) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 235]
Event: 1.118 Thread 0x000000e3ae3a4800 Exception <a 'java/lang/IncompatibleClassChangeError'{0x000000008c22ff90}: Found class java.lang.Object, but interface was expected> (0x000000008c22ff90) thrown at [t:/workspace/open/src/hotspot/share/interpreter/linkResolver.cpp, line 843]
Event: 1.134 Thread 0x000000e3ae3a4800 Exception <a 'java/lang/ClassNotFoundException'{0x000000008c25a7a0}: org/ardulink/core/serial/jssc/SerialLinkConfigCustomizer> (0x000000008c25a7a0) thrown at [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 235]

Events (10 events):
Event: 1.191 loading class jssc/SerialPort
Event: 1.191 loading class jssc/SerialPort done
Event: 1.192 loading class jssc/SerialPortException
Event: 1.192 loading class jssc/SerialPortException done
Event: 1.192 loading class jssc/SerialPort$EventThread
Event: 1.192 loading class jssc/SerialPort$EventThread done
Event: 1.192 loading class jssc/SerialPort$LinuxEventThread
Event: 1.192 loading class jssc/SerialPort$LinuxEventThread done
Event: 1.193 loading class jssc/SerialPortTimeoutException
Event: 1.193 loading class jssc/SerialPortTimeoutException done


Dynamic libraries:
0x00007ff72fdd0000 - 0x00007ff72fddf000 	D:\Users\EIGHT\Documents\jdk-12\bin\java.exe
0x00007ffc3f6c0000 - 0x00007ffc3f86c000 	C:\Windows\SYSTEM32\ntdll.dll
0x00007ffc3d240000 - 0x00007ffc3d37e000 	C:\Windows\system32\KERNEL32.DLL
0x00007ffc3c8e0000 - 0x00007ffc3c9f5000 	C:\Windows\system32\KERNELBASE.dll
0x00007ffc2d0c0000 - 0x00007ffc2d0d8000 	D:\Users\EIGHT\Documents\jdk-12\bin\jli.dll
0x00007ffc2d060000 - 0x00007ffc2d076000 	D:\Users\EIGHT\Documents\jdk-12\bin\VCRUNTIME140.dll
0x00007ffc35140000 - 0x00007ffc35144000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-stdio-l1-1-0.dll
0x00007ffc30910000 - 0x00007ffc30914000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-runtime-l1-1-0.dll
0x00007ffc2d180000 - 0x00007ffc2d183000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-environment-l1-1-0.dll
0x00007ffc2d0b0000 - 0x00007ffc2d0b5000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-math-l1-1-0.dll
0x00007ffc2d050000 - 0x00007ffc2d053000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-locale-l1-1-0.dll
0x00007ffc2cd70000 - 0x00007ffc2cd73000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-heap-l1-1-0.dll
0x00007ffc3d9a0000 - 0x00007ffc3da4a000 	C:\Windows\system32\ADVAPI32.dll
0x00007ffc3a750000 - 0x00007ffc3a9cb000 	C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17415_none_6240486fecbd8abb\COMCTL32.dll
0x00007ffc3f0c0000 - 0x00007ffc3f237000 	C:\Windows\system32\USER32.dll
0x00007ffc35c90000 - 0x00007ffc35c9a000 	C:\Windows\SYSTEM32\VERSION.dll
0x00007ffc2ca70000 - 0x00007ffc2ca73000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-filesystem-l1-1-0.dll
0x00007ffc2ba10000 - 0x00007ffc2ba14000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-string-l1-1-0.dll
0x00007ffc29750000 - 0x00007ffc29754000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-convert-l1-1-0.dll
0x00007ffc3ce40000 - 0x00007ffc3ceea000 	C:\Windows\system32\msvcrt.dll
0x00007ffc3d110000 - 0x00007ffc3d169000 	C:\Windows\SYSTEM32\sechost.dll
0x00007ffc3f240000 - 0x00007ffc3f381000 	C:\Windows\system32\RPCRT4.dll
0x00007ffc3f390000 - 0x00007ffc3f4e1000 	C:\Windows\system32\GDI32.dll
0x00007ffc262f0000 - 0x00007ffc263e6000 	D:\Users\EIGHT\Documents\jdk-12\bin\ucrtbase.DLL
0x00007ffc3cd40000 - 0x00007ffc3cd76000 	C:\Windows\system32\IMM32.DLL
0x00007ffc3cef0000 - 0x00007ffc3d043000 	C:\Windows\system32\MSCTF.dll
0x00007ffc282e0000 - 0x00007ffc2838a000 	D:\Users\EIGHT\Documents\jdk-12\bin\msvcp140.dll
0x00007ffc29740000 - 0x00007ffc29745000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-multibyte-l1-1-0.dll
0x00007ffc296e0000 - 0x00007ffc296e3000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-time-l1-1-0.dll
0x00007ffc296d0000 - 0x00007ffc296d3000 	D:\Users\EIGHT\Documents\jdk-12\bin\api-ms-win-crt-utility-l1-1-0.dll
0x00007ffc239a0000 - 0x00007ffc24514000 	D:\Users\EIGHT\Documents\jdk-12\bin\server\jvm.dll
0x00007ffc2c9a0000 - 0x00007ffc2c9a9000 	C:\Windows\SYSTEM32\WSOCK32.dll
0x00007ffc35470000 - 0x00007ffc35492000 	C:\Windows\SYSTEM32\WINMM.dll
0x00007ffc3f0b0000 - 0x00007ffc3f0b7000 	C:\Windows\system32\PSAPI.DLL
0x00007ffc3dad0000 - 0x00007ffc3db2a000 	C:\Windows\system32\WS2_32.dll
0x00007ffc35440000 - 0x00007ffc3546a000 	C:\Windows\SYSTEM32\WINMMBASE.dll
0x00007ffc3d560000 - 0x00007ffc3d569000 	C:\Windows\system32\NSI.dll
0x00007ffc3cc40000 - 0x00007ffc3cc8f000 	C:\Windows\SYSTEM32\cfgmgr32.dll
0x00007ffc3b610000 - 0x00007ffc3b638000 	C:\Windows\SYSTEM32\DEVOBJ.dll
0x00007ffc29060000 - 0x00007ffc29071000 	D:\Users\EIGHT\Documents\jdk-12\bin\verify.dll
0x00007ffc30d60000 - 0x00007ffc30eea000 	C:\Windows\SYSTEM32\DBGHELP.DLL
0x00007ffc28780000 - 0x00007ffc287a6000 	D:\Users\EIGHT\Documents\jdk-12\bin\java.dll
0x00007ffc28690000 - 0x00007ffc2869e000 	D:\Users\EIGHT\Documents\jdk-12\bin\instrument.dll
0x00007ffc29020000 - 0x00007ffc29037000 	D:\Users\EIGHT\Documents\jdk-12\bin\zip.dll
0x00007ffc29050000 - 0x00007ffc2905a000 	D:\Users\EIGHT\Documents\jdk-12\bin\jimage.dll
0x00007ffc3db90000 - 0x00007ffc3f0a8000 	C:\Windows\system32\SHELL32.dll
0x00007ffc3d580000 - 0x00007ffc3d791000 	C:\Windows\SYSTEM32\combase.dll
0x00007ffc3db30000 - 0x00007ffc3db84000 	C:\Windows\system32\SHLWAPI.dll
0x00007ffc3ade0000 - 0x00007ffc3ae92000 	C:\Windows\SYSTEM32\SHCORE.dll
0x00007ffc3c810000 - 0x00007ffc3c825000 	C:\Windows\SYSTEM32\profapi.dll
0x00007ffc28e20000 - 0x00007ffc28e39000 	D:\Users\EIGHT\Documents\jdk-12\bin\net.dll
0x00007ffc35150000 - 0x00007ffc35219000 	C:\Windows\SYSTEM32\WINHTTP.dll
0x00007ffc36230000 - 0x00007ffc363b5000 	C:\Windows\SYSTEM32\urlmon.dll
0x00007ffc3d7a0000 - 0x00007ffc3d934000 	C:\Windows\system32\ole32.dll
0x00007ffc35cf0000 - 0x00007ffc35fb7000 	C:\Windows\SYSTEM32\iertutil.dll
0x00007ffc35fc0000 - 0x00007ffc36208000 	C:\Windows\SYSTEM32\WININET.dll
0x00007ffc3bc70000 - 0x00007ffc3bc91000 	C:\Windows\SYSTEM32\USERENV.dll
0x00007ffc3c130000 - 0x00007ffc3c189000 	C:\Windows\system32\mswsock.dll
0x00007ffc286e0000 - 0x00007ffc286f3000 	D:\Users\EIGHT\Documents\jdk-12\bin\nio.dll
0x00007ffc28620000 - 0x00007ffc2863a000 	D:\Users\EIGHT\Documents\ideaC.2019.1\bin\breakgen64.dll
0x0000000071100000 - 0x0000000071125000 	C:\Users\EIGHT\.jssc\windows\jSSC-2.8_x86_64.dll

dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;D:\Users\EIGHT\Documents\jdk-12\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17415_none_6240486fecbd8abb;D:\Users\EIGHT\Documents\jdk-12\bin\server;D:\Users\EIGHT\Documents\ideaC.2019.1\bin;C:\Users\EIGHT\.jssc\windows

VM Arguments:
jvm_args: -javaagent:D:\Users\EIGHT\Documents\ideaC.2019.1\lib\idea_rt.jar=50160:D:\Users\EIGHT\Documents\ideaC.2019.1\bin -Dfile.encoding=UTF-8 
java_command: com.kerbodyne.rocketcontroller.KerbodyneRocketController
java_class_path (initial): D:\Users\EIGHT\Documents\IdeaProjects\kerbodyne-rocket-controller\target\classes;C:\Users\EIGHT\.m2\repository\com\fifesoft\rsyntaxtextarea\3.0.3\rsyntaxtextarea-3.0.3.jar;C:\Users\EIGHT\.m2\repository\com\fifesoft\autocomplete\3.0.0\autocomplete-3.0.0.jar;C:\Users\EIGHT\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\EIGHT\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;C:\Users\EIGHT\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;C:\Users\EIGHT\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;C:\Users\EIGHT\.m2\repository\org\graalvm\js\js\1.0.0-rc16\js-1.0.0-rc16.jar;C:\Users\EIGHT\.m2\repository\org\graalvm\regex\regex\1.0.0-rc16\regex-1.0.0-rc16.jar;C:\Users\EIGHT\.m2\repository\org\graalvm\truffle\truffle-api\1.0.0-rc16\truffle-api-1.0.0-rc16.jar;C:\Users\EIGHT\.m2\repository\org\graalvm\sdk\graal-sdk\1.0.0-rc16\graal-sdk-1.0.0-rc16.jar;C:\Users\EIGHT\.m2\repository\org\ow2\asm\asm\6.2.1\asm-6.2.1.jar;C:\Users\EIGHT\.m2\repository\org\ow2\asm\asm-tree\6.2.1\asm-tree-6.2.1.jar;C:\Users\EIGHT\.m2\repository\org\ow2\asm\asm-analysis\6.2.1\asm-analysis-6.2.1.jar;C:\Users\EIGHT\.m2\repository\org\ow2\asm\asm-commons\6.2.1\asm-commons-6.2.1.jar;C:\Users\EIGHT\.m2\repository\org\ow2\asm\asm-util\6.2.1\asm-util-6.2.1.jar;C:\Users\EIGHT\.m2\repository\com\ibm\icu\icu4j\62.1\icu4j-62.1.jar;C:\Users\EIGHT\.m2\repository\org\graalvm\js\js-scriptengine\1.0.0-rc16\js-scriptengine-1.0.0-rc16.jar;C:\Users\EIGHT\.m2\repository\org\ardulink\ardulink-core-base\2.1.0\ardulink-core-base-2.1.0.jar;C:\Users\EIGHT\.m2\repository\org\ardulink\ardulink-core-util\2.1.0\ardulink-core-util-2.1.0.jar;C:\Users\EIGHT\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\EIGHT\.m2\repository\org\slf4j\slf4j-jdk14\1.7.12\slf4j-jdk14-1.7.12.jar;C:\Users\EIGHT\.m2\repository\javax\validation\validatio
Launcher Type: SUN_STANDARD

[Global flags]
     intx CICompilerCount                          = 3                                         {product} {ergonomic}
     uint ConcGCThreads                            = 1                                         {product} {ergonomic}
     uint G1ConcRefinementThreads                  = 4                                         {product} {ergonomic}
   size_t G1HeapRegionSize                         = 1048576                                   {product} {ergonomic}
    uintx GCDrainStackTargetSize                   = 64                                        {product} {ergonomic}
   size_t InitialHeapSize                          = 130023424                                 {product} {ergonomic}
   size_t MarkStackSize                            = 4194304                                   {product} {ergonomic}
   size_t MaxHeapSize                              = 2065694720                                {product} {ergonomic}
   size_t MaxNewSize                               = 1239416832                                {product} {ergonomic}
   size_t MinHeapDeltaBytes                        = 1048576                                   {product} {ergonomic}
    uintx NonNMethodCodeHeapSize                   = 5830732                                {pd product} {ergonomic}
    uintx NonProfiledCodeHeapSize                  = 122913754                              {pd product} {ergonomic}
    uintx ProfiledCodeHeapSize                     = 122913754                              {pd product} {ergonomic}
    uintx ReservedCodeCacheSize                    = 251658240                              {pd product} {ergonomic}
     bool SegmentedCodeCache                       = true                                      {product} {ergonomic}
     bool UseCompressedClassPointers               = true                                 {lp64_product} {ergonomic}
     bool UseCompressedOops                        = true                                 {lp64_product} {ergonomic}
     bool UseG1GC                                  = true                                      {product} {ergonomic}
     bool UseLargePagesIndividualAllocation        = false                                  {pd product} {ergonomic}

Logging:
Log output configuration:
 #0: stdout all=warning uptime,level,tags
 #1: stderr all=off uptime,level,tags

Environment Variables:
PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin
USERNAME=EIGHT
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows 8.1 , 64 bit Build 9600 (6.3.9600.17415)

CPU:total 4 (initial active 4) (2 cores per cpu, 2 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, clmul, erms, ht, tsc, tscinvbit, tscinv

Memory: 4k page, system-wide physical 7878M (3665M free)
TotalPageFile size 9094M (AvailPageFile size 4480M)
current process WorkingSet (physical memory assigned to process): 69M, peak: 69M
current process commit charge ("private bytes"): 209M, peak: 211M

vm_info: Java HotSpot(TM) 64-Bit Server VM (12+33) for windows-amd64 JRE (12+33), built on Feb 21 2019 02:31:50 by "mach5one" with MS VC++ 15.5 (VS2017)

END.

ardulink-mqtt memory leak?

It seems I may have run into a bug. I was running ardulink-mqtt on a Windows 10 machine with an arduino with a PIR sensor attached and I noticed that nothing had been logged since last night. I hit ctrl-c at the ardulink-mqtt command line and rather than quitting it suddenly blasted through hundreds of entries as if they had buffered up, This was also visible at the MQTT broker.

Here’s a sample of what this looked like:

Nov 29, 2016 11:32:59 PM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get false
Nov 29, 2016 11:33:03 PM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get true
Nov 29, 2016 11:33:07 PM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get false
Nov 29, 2016 11:33:10 PM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get true
Nov 30, 2016 9:34:38 AM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get false
Nov 30, 2016 9:34:38 AM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get true
Nov 30, 2016 9:34:38 AM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get false
Nov 30, 2016 9:34:38 AM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D2/value/get true

I then ran into the following issue when trying to run it a bit later.. It is almost immediate:

C:\Users\michal\Downloads\ardulink-V2.0.1-20161105-1901\ardulink\lib>java -jar ardulink-mqtt-2.0.1.jar -brokerHost homepi -d 3 -connection ardulink://serial?port=COM10
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/michal/Downloads/ardulink-V2.0.1-20161105-1901/ardulink/lib/slf4j-jdk14-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/michal/Downloads/ardulink-V2.0.1-20161105-1901/ardulink/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
Nov 30, 2016 7:21:31 PM org.ardulink.mqtt.MqttMain$MqttClient connect
INFO: Connected to mqtt broker
Nov 30, 2016 7:21:31 PM org.ardulink.core.ConnectionBasedLink startListening
INFO: Starting listening on pin DIGITAL 3
Nov 30, 2016 7:21:31 PM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D3/value/get true
Nov 30, 2016 7:21:33 PM org.ardulink.mqtt.MqttMain$MqttClient fromArduino
INFO: Publishing arduino state change home/devices/ardulink/D3/value/get false
Exception in thread "hawtdispatch-DEFAULT-1" java.lang.OutOfMemoryError: Java heap space
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:35)
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:25)
        at org.fusesource.hawtdispatch.util.ThreadLocalPool.checkout(ThreadLocalPool.java:78)
        at org.fusesource.hawtdispatch.transport.AbstractProtocolCodec.read(AbstractProtocolCodec.java:310)
        at org.fusesource.hawtdispatch.transport.TcpTransport.drainInbound(TcpTransport.java:706)
        at org.fusesource.hawtdispatch.transport.TcpTransport$9.run(TcpTransport.java:770)
        at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
        at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:35)
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:25)
        at org.fusesource.hawtdispatch.util.ThreadLocalPool.checkout(ThreadLocalPool.java:78)
        at org.fusesource.hawtdispatch.transport.AbstractProtocolCodec.read(AbstractProtocolCodec.java:310)
        at org.fusesource.hawtdispatch.transport.TcpTransport.drainInbound(TcpTransport.java:706)
        at org.fusesource.hawtdispatch.transport.TcpTransport$6.run(TcpTransport.java:588)
        at org.fusesource.hawtdispatch.internal.NioDispatchSource$3.run(NioDispatchSource.java:209)
        at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
        at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:35)
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:25)
        at org.fusesource.hawtdispatch.util.ThreadLocalPool.checkout(ThreadLocalPool.java:78)
        at org.fusesource.hawtdispatch.transport.AbstractProtocolCodec.allocateNextWriteBuffer(AbstractProtocolCodec.java:153)
        at org.fusesource.hawtdispatch.transport.AbstractProtocolCodec.flushNextWriteBuffer(AbstractProtocolCodec.java:186)
        at org.fusesource.hawtdispatch.transport.AbstractProtocolCodec.flush(AbstractProtocolCodec.java:229)
        at org.fusesource.hawtdispatch.transport.TcpTransport.flush(TcpTransport.java:674)
        at org.fusesource.hawtdispatch.transport.TcpTransport$5.run(TcpTransport.java:575)
        at org.fusesource.hawtdispatch.internal.HawtCustomDispatchSource$1.run(HawtCustomDispatchSource.java:127)
        at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
        at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:35)
        at org.fusesource.hawtdispatch.util.BufferPool.create(BufferPool.java:25)
        at org.fusesource.hawtdispatch.util.ThreadLocalPool.checkout(ThreadLocalPool.java:78)
        at org.fusesource.hawtdispatch.transport.AbstractProtocolCodec.read(AbstractProtocolCodec.java:310)
        at org.fusesource.hawtdispatch.transport.TcpTransport.drainInbound(TcpTransport.java:706)
        at org.fusesource.hawtdispatch.transport.TcpTransport$6.run(TcpTransport.java:588)
        at org.fusesource.hawtdispatch.internal.NioDispatchSource$3.run(NioDispatchSource.java:209)
        at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
        at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "hawtdispatch-DEFAULT-2" java.lang.OutOfMemoryError: Java heap space

And it just continues like that for MANY entries before occasionally getting a few more mqtt updates in.

EDIT: FWIW I found this which seems related: https://groups.google.com/forum/#!topic/sitewhere/9qAeEQCvFjo

Regards,
Michal

Separate unit tests

Separate the fast and stable unit tests from them who have integrative character so that the ci build gets stable.

maven central

We should setup poms to deploy our artifacts on a maven repo. I start to setup they but actually there are still some problems.

connection notifies

connection behavior has to be reviewed. Actually Console connect button doesn't work as expected

Doc / WebPage improvements

Hi,
I'm writing down my steps and thought to show, how a "new user" (like me) approaches things on your webpage to get things going.
( Please consider: I have 35 years of iT+programming experience, 2y home-control specialisation, etc... so if I'm not finding something easily, than probably others with less experience won't either... )

I'm not doing this as a "critic" but to show my steps, so maybe the documentation can be improved for others.

  1. I'd recommend to start ardulink.org with the current "What is..." page
  2. "Home" should be rather renamed to "News"
  3. "What is" (the new homepage) should be improved with:
  • a few pictures
    -- from some Arduino boards +
    -- from the Arduino IDE +
    -- from your java app
  • a "Getting Started" infos:
    -- Here you can download the .INO files ...
    -- instractions to install it to Windows / linux ... watch video
    -- first "blinking-Led" example
    -- MQTT example ...
  1. The "Compatible Boards" section should be rather a long list, than 2 simple lines:
  • Digispark (USB)
  • Arduino UNO (USB / serial)
  • Arduino micro
    ...
  • ... and theoretically ALL other Arduino or compatible boards too!
    This will help with google search too.

ardulink-camel

Export ardulink camel endpoint from ardulink-mail to another software module

Can`t read data sent from arduinio in java.

`package arduino1;
import com.fazecast.jSerialComm.*;

import java.util.Scanner;

import javax.swing.*;

public class arduino {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	/*JFrame wind=new JFrame();
	JSlider slider= new JSlider();
	slider.setMaximum(1023);
	wind.add(slider);
	wind.pack();
	wind.setVisible(true);*/
	//SerialComm ports[] = SerialComm.getCommPorts();
	SerialPort ports[] = SerialPort.getCommPorts();
	
	int i=1;
	System.out.println("Available Ports");
	for(SerialPort port : ports)
	{
		System.out.println(i++ +": "+port.getSystemPortName());
	}
	Scanner sc =new Scanner(System.in);
	System.out.println("Select a port\n");
	int choosenPort;
	choosenPort = sc.nextInt();
	
	SerialPort port= ports[choosenPort-1];
	try
	{
		port.openPort();
		System.out.println("Successfully opened port");
	}catch(Exception e){
		System.out.println(e);
	}
	
	port.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 0, 0);


	Scanner data =new Scanner(port.getInputStream());  //error line
	int number=0;
	while(data.hasNextLine())
	{
		try{number=Integer.parseInt(data.nextLine());}catch(Exception e) {}
		System.out.println(number);
	}	
}

}`

error:
Available Ports
1: COM3
Select a port

1
Successfully opened port
Exception in thread "main" java.lang.NullPointerException
at java.base/java.io.Reader.(Unknown Source)
at java.base/java.io.InputStreamReader.(Unknown Source)
at java.base/java.util.Scanner.(Unknown Source)
at arduino1.arduino.main(arduino.java:44)

It showed output once but has been giving this error ever since then. I need to have the data from the 6 sensors i have connected to the arduino which are sending digital data 0/1.

I am new to github please comment if this way of writing, asking, posting is wrong.

Generalize proxy connection

Instead of just supporting serial connection proxy connection could accept ardulink-URIs. The proxy server would than send back the serialized Configurer.

Custom components panel

Please,
Could I send a command as "ppin" or "ppsw" through the panel above?
If so, whats the command format?
Thanks

Console

Hi There!
When I try to send via the panel monitor a command to arduino, I get the error java.lang.null.pointer. The connection uses serial-jssc library.
Why this?
Thanks in advance

UniqueID example

Hi!
I tried it but I got everytime the same message "Something went wrong"
Ardulink-2 version is ardulink-V2.1.0-20180113-1035

NodeMCU support

NodeMCU is a very interesting board. It is based on ESP8266 chip so it has Wi-Fi capabilities. NodeMCU (http://www.nodemcu.com/index_en.html) has a firmware based on eLua (https://github.com/nodemcu/nodemcu-firmware) so Ardulink support will:

  1. develop a protocol (called LUA) to send commands in LUA scripts instead of our proprietary ALProtocol. In this configuration Ardulink will send its event with a serial connection (USB cable).

  2. develop a LUA script for upload into NodeMCU to receive MQTT events sent by Ardulink

  3. or develop another NET way to comunicate with it

OpenHAB Binding

Dear Developer,

Many enthusiastic people, like me are looking for a solution to connect more fix-wired IO ports + I2C sensors to the JAVA based words #1 open source smarthome solution called OpenHAB.
(There are hundreds of topics where people tried and failed... )

After 200 hours of digging forums, I have found your project, and as a programmer myself I have to say:

  • it's an amazing work!

What would you say, I would ask you in name of out community to help us integrate your project by creating a Binding for OH?

There is a huge need to be able to connect cheap things like:

  • Arduino NANO boards or
  • Digispark AtTiny85 based dongles
  • many I2C GPIO extensions, like: PCF8574 (8bit) and MCP23017 (16bit GPIO)
  • and other I2C sensors like temp, light, voltage, dust, proximity, etc
    to make a smarthouse "work".

Width your skills I think it would be a peace of case ;)

Since I don't know anything about JAVA, I could only help with:

  • testing
  • promoting
  • donating

What do you think?

Do you have the mood + time to drop quickly something like that together?
IMHO it would boost the popularity of this project a lot. ;) ...

Servo

Ti ringrazio per la bellissima libreria utilissima,
volevo sapere se era possibile controllare direttamente dei servo, pensavo di inviare un msg ad arduino con i dati dei servo. c'è la possibilità di un controllo diretto?

grazie
Giacomo

Getting it to run in Windows 10, IntelliJ

Hi devs, I start a new thread here so other people may benefit from my/our endeavor.
This is a follow up from our earlier discussions started by VTHMgNPipola.
Running the pre compiled jars was unsuccesful so I decided to import sources and work from there, since I want to be programming with it anyway.

I have succesfuly imported ardulink-core-base 2.1.1 and ardulink-core-console 2.1.1 per Maven into my IDE.
I noticed Console is runnable with a main, and I am able to compile and run it. When running this a start of a Jframe pops up and then I get this: (I only post the first and last three erorr lines:)

java.lang.IllegalStateException: asciiString must not be null

at org.ardulink.util.Preconditions.checkNotNull(Preconditions.java:35)
at org.ardulink.util.URIs.newURI(URIs.java:18)
at org.ardulink.gui.connectionpanel.ConnectionPanel .getListCellRendererComponent(ConnectionPanel.java:91)

........................................lots more of these.........................

at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

What Java JDK are you using? I'm on 11, but I could set it to a lower one.
Else, what could be going on? I tried to trace what is throwing this or what the preConditions are, but the rabithole just runs to deep. I gave up after four calls deep.

By the way, thank you very much for helping out! This will be very interesting and fun once we get it to run. I have a couple of other technologies under my belt like some electronics and intermediate Java programming and charting with Jfree, and PID control. If I can combine them using this it will be awesome. First up is a battery computer charge and discharge machine.

LCD control

Hi!
Does the ardulink protocol implement an LCD control library too?

ardulink-mail

We should consider ardulink-mail for Ardulink-1 features and reintroduce them in ardulink-mail for Ardulink-2.

We should consider this issue after issue: #4

[security enh.] Setting board name / password

To prevent:

  • multiple boards getting mixed up or
  • "intruder board" getting plugged to the system

it would be essential the add basic name + password for safety.

.INO example:
name="" // fill this to force-check and enable connection. If empty = not safe = not checked.
psw="" // Security check. Fill this with SHA256 hexa format of the password you are sending. If empty, check will be skipped.

[ x ] Also force Firmata group to implement it the same way.

NullPointerException when connecting via network proxy server

Hi!

First I had problems with TRTX library on Linux. Library files (.so) aren't included in the lib folder. Easiest way is install them using apt-get install librxtx-java in Debian or Ubuntu but the version 2.2pre2 might be too new because it expects 2.1-7. Then I found the right version in "3rds\rxtx-2.1-7-bins-r2.zip\rxtx-2.1-7-bins-r2\Linux\i686-unknown-linux-gnu" folder. But then I need to tell its path: java -Djava.library.path=/var/ardulink/lib -jar ardulink-networkproxyserver-2.1.0.jar start on start script.

Second problem is the NullPointerException when trying to connect Arduino. I can connect to the proxy and list ports. The only port that i have is /dev/ttyUSB0. When i click Connect I get the following stacktrace:

Ardulink Network Proxy Server running...
OpenJDK Server VM warning: You have loaded library /var/ardulink/lib/librxtxSerial.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.
Experimental: JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Oct 14, 2018 9:15:11 PM org.ardulink.core.StreamReader readUntilClosed
SEVERE: Error while Reader Initialization
java.lang.NullPointerException
at org.ardulink.core.StreamReader.readUntilClosed(StreamReader.java:68)
at org.ardulink.connection.proxy.NetworkProxyServerConnection.run(NetworkProxyServerConnection.java:96)
at java.lang.Thread.run(Thread.java:748)

Oct 14, 2018 9:15:11 PM org.ardulink.connection.proxy.NetworkProxyServerConnection run
SEVERE: Error while doing proxy
java.lang.NullPointerException
at org.ardulink.core.StreamReader.readUntilClosed(StreamReader.java:83)
at org.ardulink.connection.proxy.NetworkProxyServerConnection.run(NetworkProxyServerConnection.java:96)
at java.lang.Thread.run(Thread.java:748)

Oct 14, 2018 9:15:12 PM org.ardulink.connection.proxy.NetworkProxyServerConnection run
INFO: /192.168.1.55:55678 connection closed.

I seems that scanner is null when calling that:

StreamScanner isn't initialized on constructor so it is null when calling readUntilClosed. Maybe the proxy misses calling runReaderThread or someting.

ardulink-core-mqtt prevents resolving dependencies

I am looking forward to compare several serial communication protocol for Arduino. Ardulink2 looks promising to me.

But I found ardulink-core-mqtt is preventing the building.

I use Intellij IDEA 2016.1.1. Removing several related packages with it can make it possible to run. But I suppose there is a problem which I don't understand.

I attempted to put a bintray https url, took a partial snippet from bintray website and updating to the latest 0.7 for moquette-broker. Though none of those can work :(

https://bintray.com/andsel/maven/org.dna.mqtt.moquette-broker/view

MQTT Authorization support

Hi. I'm not found in docs how to pass authorization credentials for MQTT server. Is this feature supported or any plan to implement it?

Console serial link with pingprobe doesn't work

From the console with serial link if pingprobe property is selected an exception is thrown and console doesn't permit connections anymore.

java.lang.IllegalStateException: Waited for arduino to boot but no response received
at org.ardulink.util.Preconditions.checkState(Preconditions.java:55)
at org.ardulink.core.serial.rxtx.SerialLinkFactory.waitForArdulink(SerialLinkFactory.java:86)
at org.ardulink.core.serial.rxtx.SerialLinkFactory.newLink(SerialLinkFactory.java:73)
at org.ardulink.core.serial.rxtx.SerialLinkFactory.newLink(SerialLinkFactory.java:1)
at org.ardulink.core.linkmanager.LinkManager$DefaultConfigurer.newLink(LinkManager.java:466)
at org.ardulink.gui.ConnectionPanel.createLink(ConnectionPanel.java:231)
at org.ardulink.gui.Console.createLink(Console.java:311)
at org.ardulink.gui.Console$5.actionPerformed(Console.java:301)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6535)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6300)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

cant find ardulink.jar file

hi. new to the ardulink scene. very new to programming.
i am working with java and would like to build a command line interface using ardulink. i have opened the ardulink console and it is communicating to my arduino which means everything is set up correctly on my computer and the arduino sketch is working.
i cannot however seem to get it working from a java perspective. i do not want the GUI. just text input. i cannot find anything on the web that can help me. the trouble that i have is importing the ardulink jar files. i do not know which one or ones i should use. i tried importing the entire lib folder into eclipse and pasted all the jar files in the lib folder where my source program is. still no joy
any help would be appreciated

Migrate to (at least) Java 8

2.x.x will be the latest release that does not require Java8+
We will switch to a new major version 3.x.x which will require at least Java 8

Button to publish to MQTT, LED to receive MQTT subscriptions

Hello. I'm not sure if this is the right place to ask this, but here goes.

I want to use Ardulink to publish commands to Mosquitto by pressing a button on the Arduino. I also want subscriptions to Mosquitto to operate an LED on the Arduino. I have Ardulink, Ardulink-MQTT, Mosquitto, etc installed on Ubuntu 16.04 and everything is working. But I'm not sure what the next step is.

I have a more thorough write up of my issue on the Arduino forum.

Thank you,
Jeremy

URISyntaxException Thrown while Calling Links.getDefault()

Hi As per the description given at ArduinoLink2-Github, I am following the same way to control the Arduino LED.

I have added dependencies to my pom.xml as below

                <dependency>
			<groupId>org.ardulink</groupId>
			<artifactId>ardulink-core-base</artifactId>
			<version>2.1.0</version>
		</dependency>
               <dependency>
			<groupId>org.ardulink</groupId>
			<artifactId>ardulink-core-serial-jssc</artifactId>
			<version>2.1.0</version>
		</dependency>

I am having one sample java application which is calling the below line from main() method
Link link = Links.getDefault();

but when I run this HelloWorld program I am getting this error

java.lang.RuntimeException: java.net.URISyntaxException: Illegal character in path at index 7: wh�what

Please let me know why is this happening? How can I fix it?

Make CI artifacts available on Travis

CI build artifacts should be downloadable by all users so feature request and bug fixes could be verified by users very early. We would not to have to release them nor users have to build the artifacts by their own. So the ardulink snapshot zip build by Travis should be available public.

Mention Stackoverflow tag in README.md

We should offer a way for Ardulink users to discuss things. Stackoverflow provides such a functionality. There is at least one question with tag "ardulink" and I did subscribe on that tag.

If you agree you should add a note in README.md like "We are listening on #ardulink at stackoverflow". If you prefer some other platforms please refer them or just close the issue if you think there is no need.

java.lang.NullPointerException

Exception in thread "main" java.lang.NullPointerException
at org.zu.ardulink.gui.SerialConnectionPanel.getConnectionPort(SerialConnectionPanel.java:129)
at AdbClient.runApp(AdbClient.java:60)
at AdbClient.(AdbClient.java:31)
at AdbClient.main(AdbClient.java:36)

What are the possible reasons for this error to occur ? Would really appreciate your help in this . I have attached Adafruit flora on the port and serial monitor is running at 115200 baud rate.

I am calling the runApp() in my constructor.
private void runApp() {

    // Register a RawDataListener to receive data from Arduino
    link.addRawDataListener(this);
    
    // add an action listener to the connect button
              if(serialCOM == null || link == null){
                  System.out.println("SERIAL COM or link is null");
		return;
              }
           
             String comPort = serialCOM.getConnectionPort();
            String baudRateS = serialCOM.getBaudRate();
            if (comPort == null || "".equals(comPort)) {
               System.out.println("Invalid COM PORT setted.");
            } else if (baudRateS == null || "".equals(baudRateS)) {
                System.out.println("Invalid baud rate setted. Advice: set ");
            } else {
                try {
                    int baudRate = Integer.parseInt(baudRateS);
                    // init the connection between Arduino and PC
                    boolean connected = link.connect(comPort, baudRate);
                    if (connected) {
		   System.out.println("Serial Arduino Connection Established");
                        //connect.setEnabled(false);
                        serialCOM.setEnabled(false);
                        //disconnect.setEnabled(true);
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                    String message = ex.getMessage();
                    if (message == null || message.trim().equals("")) {
                        message = "Generic Error on connection";
                    }
                    //JOptionPane.showMessageDialog(connect, message, "Error", JOptionPane.ERROR_MESSAGE);
                }       
    // add an  action  listener to disconnect button 
     
}}

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.