Librería PanamaHitek_Arduino, v3.0.0 (Actualizado 24/12/17)

180
42100

***A partir de la versión 2.2.0 no es necesario el uso de la librería RXTX para que la librería Arduino librería PanamaHitek_Arduino trabaje. Ahora solo es necesario importar la librería PanamaHitek_Arduino a los proyectos en Netbeans, sin tener que preocuparse por la RXTXcomm. Luego de la versión 2.6.0, esta librería ha sido nombrada PanamaHitek_Arduino.

Desde la versión 2.7.0 no es necesaria la instalación de los archivos dll, ya que la librería crea automáticamente la ruta C:/JavaRXTX (sólo en Windows), donde almacena estos archivos y los pone a disposición de nuestra aplicación.

En la versión 2.8.0 se ha reemplazado la librería RXTX en favor de Java Simple Serial Connector y se ha agregado compatibilidad para sistemas operativos Linux, Mac y Solaris, además de Windows.

____________________________________________________________

Aquí les presento mi librería Arduino PanamaHitek_Arduino en su versión 3.0.0.

La librería está disponible en nuestro repositorio en GitHub y en SourceForge. También pueden agregar nuestra librería a sus proyectos Maven agregando el repositorio de Jitpack:

La librería PanamaHitek_Arduino debe ser agregada como una dependencia:

En este post publicaré los métodos que contiene la librería y los parámetros de los mismos.

Métodos de la versión  1.1.0

Método

Descripción

arduinoRX(string nombre del puerto, int time out, int baud rate, SerialPortEventListener evento)Este método se utiliza para iniciar la conexión de Java con Arduino SOLAMENTE PARA LA RECEPCIÓN DE DATOS. En el nombre de puerto se coloca el COM#, o sea el puerto COM donde esté conectado Arduino, el time out es el tiempo de espera (yo uso 2000), el baud rate debe ser el mismo que se usa en Arduino IDE (generalmente 9600) y el Serial PortEventListener debe ser una variable declarada antes de utilizar este método. */
arduinoTX(string nombre del puerto, int time out, int baud rate)Este método se utiliza para iniciar la conexión de Java con Arduino SOLAMENTE PARA LA TRANSMISIÓN DE DATOS. */
arduinoRXTX(string nombre del puerto, int time out, int baud rate, SerialPortEventListener evento)Este método se utiliza para iniciar la conexión de Java con Arduino PARA LA TRANSMISIÓN Y RECEPCIÓN DE DATOS. */
sendData(String data)Método utilizado para enviar datos a Arduino. Los datos se deben enviar como cadena de texto (string). */
receiveData()Devuelve un dato recibido a través del puerto serie. Este dato será numérico en formato ASCII por lo que se debe traducir de decimal a caracter. */
MessageAvailable() isMessageAvailable()Devuelve un valor boolean que nos indica si hay algún mensaje disponible para imprimir. Dicho mensaje DEBE ser enviado desde Arduino utilizando Serial.println(); */
printMessage()Devuelve una cadena de caracteres que contiene el mensaje que ha sido enviado desde Arduino, pero traducido a caracteres. SE DEBE UTILIZAR DENTRO DE UNA ESTRUCTURA CONDICIONAL UTILIZANDO MessageAvailable(). Cuando haya un mensaje disponible, se imprime utilizando este método. */

 

Métodos de la versión 1.3.0

Método

Descripción

killConnection()

Permite finalizar la conexión entre Arduino y la computadora sin tener que finalizar la aplicación que se esté ejecutando, como en versiones anteriores.

SerialPortsAvailable()

getPortsAvailable()

Devuelve un valor tipo int con la cantidad de dispositivos conectados a la computadora por medio del Puerto Serie.

NameSerialPortAt(int index)

Devuelve una cadena de caracteres con el nombre del Puerto Serie que esté en el índice que se establece como parámetro. Si se utiliza dentro de un ciclo for con el valor devuelto por SerialPortsAvailable() se pueden obtener los nombres de todos los Puertos Serie en uso. Ejemplo: (COM3, COM4, COM5, etc).

Métodos de la versión 2.5.0

showMessageDialogs(boolean Input)Permite activar o desactivar las ventanas emergentes que se muestra cuando ocurre un error en tiempo de ejecución
sendByte(int data)Similar a sendData, solo que en este método se envía un Byte en vez de una cadena de caracteres.

Métodos de la versión 2.6.0

getSerialPorts()Devuelve una lista con los puertos disponibles. Reemplazo de NameSerialPortAt();
setParity(int input_Parity)Se establece la paridad (nula por defecto)
setStopBits(int Bytes)Se establecen los StopBits (1 por defecto)
setByteSize(int Bits)Se establece la cantidad de Bytes que se manejará (8 por defecto)
setTimeOut(int time)Se establece el TimeOut (2000 milisegundos por defecto)

Métodos de la versión 2.8.0

flushSerialPorts()Se limpia los buffer de entrada y salida del puerto serie
getInputBytesAvailable()Devuelve la cantidad de bytes disponibles para ser leídos en el buffer de entrada del puerto serie
getEventListener()Devuelve el event listener que se agrega al serialPort cuando se utilizan los métodos arduinoRX() y ardunoRXTX()

A partir de la versión 2.1.0 se agrega soporte para la lectura de múltiples mensajes enviados desde Arduino. Esto se ha hecho por la dificultad que presenta algunos usuarios con la lectura de múltiples sensores en Arduino y desean enviar estos datos a Java. Ahora se ha creado una nueva clase, llamada MultiMessage.

Si deseamos leer varios sensores, necesitamos instanciar MultiMessage en nuestra aplicación de la siguiente manera:

MultiMessage nombre_del_objeto = new MultiMessage(numero de sensores a leer, instancia de la clase PanamaHitek_Arduino)

Si se desea, por ejemplo, leer 3 sensores, se trabajaría se la siguiente manera.

La clase MultiMessage posee los siguientes métodos.

Métodos de la clase MultiMessage

Método

Descripción

DataReceptionCompleted()

Devuelve un valor tipo boolean que indica si se ha terminado de recibir las lecturas indicadas en la instancia de la clase (si se declara que habrá 3 lecturas, este método sólo devolverá true cuando se haya leído los 3 valores)

getMessage(int index)

Devuelve un dato tipo String con la lectura del sensor indicado en el index

flushBuffer

Elimina la información almacenada en el buffer de datos. Se debe usar una vez se haya terminado de leer los sensores con el getMessage(). Al utilizar este método será posible hacer una nueva lectura.

Se debe recordar que para utilizar esta librería se debe importar la librería a los archivos del proyecto. También se necesita la librería RXTX.

  • Si se va a usar la conexión RX o la RXTX, hay que declarar un SerialPortEventListener y se debe agregar los métodos de esta clase (Java lo hará automáticamente).
  • Si se utiliza receiveData() se recibirán los datos directamente desde Arduino, en formato ASCII (decimal). 
  • Si se usa printMessage() se recibirán los mensajes desde Arduino traducidos a caracteres y ordenados por líneas. SE DEBE USAR PRINTLN EN ARDUINO y se recomienda que este método sólo se use cuando isMessageAvailable() devuelva un valor true.

Acá les dejo un video actualizado donde se muestra un ejemplo del funcionamiento de la librería.

Si tienen algún comentario no duden en hacérmelo llegar. Espero sus comentarios. Saludos.

[cite]

 DOI

180 Comentarios

  1. Hola, tengo un incoveniente, deseo usar la libreria pero para el programa que deseo realizar no puedo usar maven, cual seria la alternativa a usar o como se implementaria la libreria si usara Java Application, gracias de antemano.

  2. Buenos días ingeniero, por este medio quiero expresarle mi agradecimiento por tan buenos tutoriales, pero tengo una duda, mi duda es ¿Como puedo utilizar la librería 3.0.4 sin utilizar mavens, o sea como puedo llamarla y usarlo solo desde un java aplicación?

  3. Hola tengo un problema, cuando ejecuto mi programa desde netbeans funciona a la perfección pero cuando lo construyo con las librerías (unido todo) (uso su codigo de su pagina para hacerlo )se abre y se cierra creando un log como el siguiente:

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000007110b5db, pid=13088, tid=12768
    #
    # JRE version: Java(TM) SE Runtime Environment (13.0.1+9) (build 13.0.1+9)
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (13.0.1+9, 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: C:\Users\IceNightBlue\Desktop\Proyecto\AireAcondicionado\dist\AireAcondicionado.jar

    Host: Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz, 4 cores, 7G, Windows 10 , 64 bit Build 17763 (10.0.17763.475)
    Time: Mon Oct 28 21:38:18 2019 Hora estándar central (México) elapsed time: 2 seconds (0d 0h 0m 2s)

    ————— T H R E A D —————

    Current thread (0x0000014486a20800): JavaThread «AWT-EventQueue-0» [_thread_in_native, id=12768, stack(0x0000003da9500000,0x0000003da9600000)]

    Stack: [0x0000003da9500000,0x0000003da9600000], sp=0x0000003da95fe160, free space=1016k
    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 com.panamahitek.PanamaHitek_Arduino.arduinoRXTX(Ljava/lang/String;ILjssc/SerialPortEventListener;)V+58
    j Ventanas.ventana.CActionPerformed(Ljava/awt/event/ActionEvent;)V+39
    j Ventanas.ventana.access$200(LVentanas/ventana;Ljava/awt/event/ActionEvent;)V+2
    j Ventanas.ventana$2.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
    j javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84 [email protected]
    j javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5 [email protected]
    j javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+34 [email protected]
    j javax.swing.DefaultButtonModel.setPressed(Z)V+117 [email protected]
    j javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Ljava/awt/event/MouseEvent;)V+35 [email protected]
    j java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64 [email protected]
    j javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23 [email protected]
    j java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V+81 [email protected]
    j java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V+18 [email protected]
    j java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+496 [email protected]
    j java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42 [email protected]
    j java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2 [email protected]
    j java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V+349 [email protected]
    j java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z+155 [email protected]
    j java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z+50 [email protected]
    j java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+12 [email protected]
    j java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+19 [email protected]
    j java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2 [email protected]
    j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+41 [email protected]
    j java.awt.EventQueue$4.run()Ljava/lang/Void;+32 [email protected]
    j java.awt.EventQueue$4.run()Ljava/lang/Object;+1 [email protected]
    J 953 c1 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; [email protected] (17 bytes) @ 0x00000144eedac7e4 [0x00000144eedac600+0x00000000000001e4]
    j java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 [email protected]
    j java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+6 [email protected]
    j java.awt.EventQueue$5.run()Ljava/lang/Void;+11 [email protected]
    j java.awt.EventQueue$5.run()Ljava/lang/Object;+1 [email protected]
    J 953 c1 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; [email protected] (17 bytes) @ 0x00000144eedac7e4 [0x00000144eedac600+0x00000000000001e4]
    j java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 [email protected]
    j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+73 [email protected]
    j java.awt.EventDispatchThread.pumpOneEventForFilters(I)V+78 [email protected]
    j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 [email protected]
    j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 [email protected]
    j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 [email protected]
    j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 [email protected]
    j java.awt.EventDispatchThread.run()V+9 [email protected]
    v ~StubRoutines::call_stub

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

    Register to memory mapping:

    RIP=0x000000007110b5db jSSC-2.8_x86_64.dll
    RAX=0xffffffff88056374 is an unknown value
    RBX=0x0000003da95fe1d0 is pointing into the stack for thread: 0x0000014486a20800
    RCX=0x5432377e6c080000 is an unknown value
    RDX=0x0000000000000001 is an unknown value
    RSP=0x0000003da95fe160 is pointing into the stack for thread: 0x0000014486a20800
    RBP=0x0000003da95fe2e0 is pointing into the stack for thread: 0x0000014486a20800
    RSI=0x0000014486a20b10 points into unknown readable memory: 50 e8 d1 a9 fb 7f 00 00
    RDI=0x00000000000006f0 is an unknown value
    R8 =0x0000000000000002 is an unknown value
    R9 =0x0000003da95fdda8 is pointing into the stack for thread: 0x0000014486a20800
    R10=0x0 is NULL
    R11=0x0000000000000246 is an unknown value
    R12=0x0000003da95fe3a0 is pointing into the stack for thread: 0x0000014486a20800
    R13=0x0000014486f54850 points into unknown readable memory: 5c 00 00 00 00 01 00 00
    R14=0x0000003da95fe290 is pointing into the stack for thread: 0x0000014486a20800
    R15=0x0000014486a20800 is a thread

    Registers:
    RAX=0xffffffff88056374, RBX=0x0000003da95fe1d0, RCX=0x5432377e6c080000, RDX=0x0000000000000001
    RSP=0x0000003da95fe160, RBP=0x0000003da95fe2e0, RSI=0x0000014486a20b10, RDI=0x00000000000006f0
    R8 =0x0000000000000002, R9 =0x0000003da95fdda8, R10=0x0000000000000000, R11=0x0000000000000246
    R12=0x0000003da95fe3a0, R13=0x0000014486f54850, R14=0x0000003da95fe290, R15=0x0000014486a20800
    RIP=0x000000007110b5db, EFLAGS=0x0000000000010206

    Top of Stack: (sp=0x0000003da95fe160)
    0x0000003da95fe160: 0000003da95fe188 0000000000000000
    0x0000003da95fe170: 000000007110b230 00007ffc0bf7267d
    0x0000003da95fe180: 0000003da95fe3a0 0000000000000004
    0x0000003da95fe190: 0000014486a20b10 00000000000006f0
    0x0000003da95fe1a0: 0000003da95fe2e0 0000000071112590
    0x0000003da95fe1b0: 0000003da95fe210 0000003d00000000
    0x0000003da95fe1c0: 00000000c0000000 0000000000000000
    0x0000003da95fe1d0: 00000000000006f0 00007ffc086ae22c
    0x0000003da95fe1e0: 0000003da95fe290 0000014486f54850
    0x0000003da95fe1f0: 0000003da95fe3a0 00000000000006f0
    0x0000003da95fe200: 0000000071113500 0000000071113be8
    0x0000003da95fe210: 0000003da95fe240 0000000071112641
    0x0000003da95fe220: 0000003da95fe1b0 0000000000000000
    0x0000003da95fe230: 0000000000000000 0000000000000000
    0x0000003da95fe240: 0000003da95fe2e0 0000000071101595
    0x0000003da95fe250: 000000000000001c 0000014400000000

    Instructions: (pc=0x000000007110b5db)
    0x000000007110b4db: 48 85 c0 74 bf 44 8b 03 45 85 c0 0f 84 77 ff ff
    0x000000007110b4eb: ff eb 9f 66 90 e8 8b fe ff ff 48 89 05 0c 34 01
    0x000000007110b4fb: 00 eb ad 66 90 e8 7b fe ff ff 48 89 05 fc 33 01
    0x000000007110b50b: 00 eb 8b e8 8d fe ff ff c7 03 01 00 00 00 e9 6f
    0x000000007110b51b: ff ff ff 66 90 55 48 89 e5 56 53 48 83 ec 20 48
    0x000000007110b52b: 8b 05 d7 33 01 00 48 8b 31 48 89 cb 48 85 c0 74
    0x000000007110b53b: 56 44 8b 18 45 85 db 78 42 48 8b 05 bd 33 01 00
    0x000000007110b54b: 48 85 c0 74 50 44 8b 10 45 85 d2 74 1d 48 89 f1
    0x000000007110b55b: e8 d0 fd ff ff 48 8b 13 48 8d 42 40 48 8b 48 08
    0x000000007110b56b: 48 8b 6a 40 48 8b 60 10 ff e1 48 8b 05 9c 33 01
    0x000000007110b57b: 00 48 85 c0 74 2d 48 89 30 eb da e8 b5 fe ff ff
    0x000000007110b58b: 0f 1f 44 00 00 eb b2 e8 e9 fd ff ff 48 89 05 6a
    0x000000007110b59b: 33 01 00 eb 9c e8 db fd ff ff 48 89 05 5c 33 01
    0x000000007110b5ab: 00 eb a2 e8 3d fd ff ff 48 89 05 5e 33 01 00 eb
    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
    0x000000007110b5fb: 48 8b 05 0e 33 01 00 48 85 c0 0f 84 e5 00 00 00
    0x000000007110b60b: 8b 28 48 8b 35 10 5e 01 00 ff d6 89 c7 89 e9 ff
    0x000000007110b61b: 15 f4 5e 01 00 89 f9 48 89 c5 ff 15 b9 5e 01 00
    0x000000007110b62b: 48 8b 05 de 32 01 00 48 89 2b 48 85 c0 74 46 48
    0x000000007110b63b: 89 da 8b 08 ff 15 d7 5e 01 00 85 c0 74 27 48 83
    0x000000007110b64b: c4 28 5b 5e 5f 5d c3 48 8b 05 bf 32 01 00 48 85
    0x000000007110b65b: c0 74 64 48 8b 10 48 89 13 48 89 18 48 83 c4 28
    0x000000007110b66b: 5b 5e 5f 5d c3 48 89 f2 48 83 c4 28 5b 5e 5f 5d
    0x000000007110b67b: 48 ff e2 66 90 e8 8b fc ff ff 48 89 05 84 32 01
    0x000000007110b68b: 00 eb ac 66 90 e8 ab fd ff ff e9 4b ff ff ff 66
    0x000000007110b69b: 0f 1f 44 00 00 e8 db fc ff ff 48 89 05 5c 32 01
    0x000000007110b6ab: 00 e9 2a ff ff ff e8 ca fc ff ff 48 89 05 4b 32
    0x000000007110b6bb: 01 00 e9 33 ff ff ff e8 29 fc ff ff 48 89 05 4a
    0x000000007110b6cb: 32 01 00 48 8b 10 48 85 c0 48 89 13 75 8b e8 12

    Stack slot to memory mapping:
    stack at sp + 0 slots: 0x0000003da95fe188 is pointing into the stack for thread: 0x0000014486a20800
    stack at sp + 1 slots: 0x0 is NULL
    stack at sp + 2 slots: 0x000000007110b230 jSSC-2.8_x86_64.dll
    stack at sp + 3 slots: 0x00007ffc0bf7267d ntdll.dll
    stack at sp + 4 slots: 0x0000003da95fe3a0 is pointing into the stack for thread: 0x0000014486a20800
    stack at sp + 5 slots: 0x0000000000000004 is an unknown value
    stack at sp + 6 slots: 0x0000014486a20b10 points into unknown readable memory: 50 e8 d1 a9 fb 7f 00 00
    stack at sp + 7 slots: 0x00000000000006f0 is an unknown value

    ————— P R O C E S S —————

    Threads class SMR info:
    _java_thread_list=0x00000144ffcc7450, length=15, elements={
    0x00000144fef54000, 0x00000144fef57800, 0x00000144fef72800, 0x00000144fef75800,
    0x00000144fef76800, 0x00000144fef81000, 0x00000144fef8b800, 0x00000144ff9ec000,
    0x00000144ff9ef800, 0x00000144ffc13800, 0x00000144ffc4d800, 0x00000144ffc54800,
    0x00000144ffc7d800, 0x0000014486a20800, 0x00000144e43e1800
    }

    Java Threads: ( => current thread )
    0x00000144fef54000 JavaThread «Reference Handler» daemon [_thread_blocked, id=12764, stack(0x0000003da8700000,0x0000003da8800000)]
    0x00000144fef57800 JavaThread «Finalizer» daemon [_thread_blocked, id=7580, stack(0x0000003da8800000,0x0000003da8900000)]
    0x00000144fef72800 JavaThread «Signal Dispatcher» daemon [_thread_blocked, id=7728, stack(0x0000003da8900000,0x0000003da8a00000)]
    0x00000144fef75800 JavaThread «Attach Listener» daemon [_thread_blocked, id=12804, stack(0x0000003da8a00000,0x0000003da8b00000)]
    0x00000144fef76800 JavaThread «C2 CompilerThread0» daemon [_thread_blocked, id=12848, stack(0x0000003da8b00000,0x0000003da8c00000)]
    0x00000144fef81000 JavaThread «C1 CompilerThread0» daemon [_thread_blocked, id=7584, stack(0x0000003da8c00000,0x0000003da8d00000)]
    0x00000144fef8b800 JavaThread «Sweeper thread» daemon [_thread_blocked, id=1956, stack(0x0000003da8d00000,0x0000003da8e00000)]
    0x00000144ff9ec000 JavaThread «Service Thread» daemon [_thread_blocked, id=11548, stack(0x0000003da8e00000,0x0000003da8f00000)]
    0x00000144ff9ef800 JavaThread «Common-Cleaner» daemon [_thread_blocked, id=12072, stack(0x0000003da9000000,0x0000003da9100000)]
    0x00000144ffc13800 JavaThread «Java2D Disposer» daemon [_thread_blocked, id=1820, stack(0x0000003da9100000,0x0000003da9200000)]
    0x00000144ffc4d800 JavaThread «AWT-Shutdown» [_thread_blocked, id=6648, stack(0x0000003da9200000,0x0000003da9300000)]
    0x00000144ffc54800 JavaThread «AWT-Windows» daemon [_thread_in_native, id=13432, stack(0x0000003da9300000,0x0000003da9400000)]
    0x00000144ffc7d800 JavaThread «Image Fetcher 0» daemon [_thread_blocked, id=10140, stack(0x0000003da9400000,0x0000003da9500000)]
    =>0x0000014486a20800 JavaThread «AWT-EventQueue-0» [_thread_in_native, id=12768, stack(0x0000003da9500000,0x0000003da9600000)]
    0x00000144e43e1800 JavaThread «DestroyJavaVM» [_thread_blocked, id=13140, stack(0x0000003da8000000,0x0000003da8100000)]

    Other Threads:
    0x00000144fef51000 VMThread «VM Thread» [stack: 0x0000003da8600000,0x0000003da8700000] [id=6612]
    0x00000144ff9ec800 WatcherThread [stack: 0x0000003da8f00000,0x0000003da9000000] [id=876]
    0x00000144e4425000 GCTaskThread «GC Thread#0» [stack: 0x0000003da8100000,0x0000003da8200000] [id=13624]
    0x00000144e4438000 ConcurrentGCThread «G1 Main Marker» [stack: 0x0000003da8200000,0x0000003da8300000] [id=3900]
    0x00000144e4439800 ConcurrentGCThread «G1 Conc#0» [stack: 0x0000003da8300000,0x0000003da8400000] [id=6884]
    0x00000144fedd0800 ConcurrentGCThread «G1 Refine#0» [stack: 0x0000003da8400000,0x0000003da8500000] [id=14212]
    0x00000144e44ab800 ConcurrentGCThread «G1 Young RemSet Sampling» [stack: 0x0000003da8500000,0x0000003da8600000] [id=9100]

    Threads with active compile tasks:

    VM state:not at safepoint (normal execution)

    VM Mutex/Monitor currently owned by a thread: None

    Heap address: 0x0000000081200000, size: 2030 MB, Compressed Oops mode: 32-bit
    Narrow klass base: 0x0000000800000000, Narrow klass shift: 3
    Compressed class space size: 1073741824 Address: 0x0000000800b40000

    Heap:
    garbage-first heap total 131072K, used 7168K [0x0000000081200000, 0x0000000100000000)
    region size 1024K, 8 young (8192K), 0 survivors (0K)
    Metaspace used 11153K, capacity 11367K, committed 11520K, reserved 1058816K
    class space used 1327K, capacity 1436K, committed 1536K, 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|0x0000000081200000, 0x0000000081200000, 0x0000000081300000| 0%| F| |TAMS 0x0000000081200000, 0x0000000081200000| Untracked
    | 1|0x0000000081300000, 0x0000000081300000, 0x0000000081400000| 0%| F| |TAMS 0x0000000081300000, 0x0000000081300000| Untracked
    | 2|0x0000000081400000, 0x0000000081400000, 0x0000000081500000| 0%| F| |TAMS 0x0000000081400000, 0x0000000081400000| Untracked
    | 3|0x0000000081500000, 0x0000000081500000, 0x0000000081600000| 0%| F| |TAMS 0x0000000081500000, 0x0000000081500000| Untracked
    | 4|0x0000000081600000, 0x0000000081600000, 0x0000000081700000| 0%| F| |TAMS 0x0000000081600000, 0x0000000081600000| Untracked
    | 5|0x0000000081700000, 0x0000000081700000, 0x0000000081800000| 0%| F| |TAMS 0x0000000081700000, 0x0000000081700000| Untracked
    | 6|0x0000000081800000, 0x0000000081800000, 0x0000000081900000| 0%| F| |TAMS 0x0000000081800000, 0x0000000081800000| Untracked
    | 7|0x0000000081900000, 0x0000000081900000, 0x0000000081a00000| 0%| F| |TAMS 0x0000000081900000, 0x0000000081900000| Untracked
    | 8|0x0000000081a00000, 0x0000000081a00000, 0x0000000081b00000| 0%| F| |TAMS 0x0000000081a00000, 0x0000000081a00000| Untracked
    | 9|0x0000000081b00000, 0x0000000081b00000, 0x0000000081c00000| 0%| F| |TAMS 0x0000000081b00000, 0x0000000081b00000| Untracked
    | 10|0x0000000081c00000, 0x0000000081c00000, 0x0000000081d00000| 0%| F| |TAMS 0x0000000081c00000, 0x0000000081c00000| Untracked
    | 11|0x0000000081d00000, 0x0000000081d00000, 0x0000000081e00000| 0%| F| |TAMS 0x0000000081d00000, 0x0000000081d00000| Untracked
    | 12|0x0000000081e00000, 0x0000000081e00000, 0x0000000081f00000| 0%| F| |TAMS 0x0000000081e00000, 0x0000000081e00000| Untracked
    | 13|0x0000000081f00000, 0x0000000081f00000, 0x0000000082000000| 0%| F| |TAMS 0x0000000081f00000, 0x0000000081f00000| Untracked
    | 14|0x0000000082000000, 0x0000000082000000, 0x0000000082100000| 0%| F| |TAMS 0x0000000082000000, 0x0000000082000000| Untracked
    | 15|0x0000000082100000, 0x0000000082100000, 0x0000000082200000| 0%| F| |TAMS 0x0000000082100000, 0x0000000082100000| Untracked
    | 16|0x0000000082200000, 0x0000000082200000, 0x0000000082300000| 0%| F| |TAMS 0x0000000082200000, 0x0000000082200000| Untracked
    | 17|0x0000000082300000, 0x0000000082300000, 0x0000000082400000| 0%| F| |TAMS 0x0000000082300000, 0x0000000082300000| Untracked
    | 18|0x0000000082400000, 0x0000000082400000, 0x0000000082500000| 0%| F| |TAMS 0x0000000082400000, 0x0000000082400000| Untracked
    | 19|0x0000000082500000, 0x0000000082500000, 0x0000000082600000| 0%| F| |TAMS 0x0000000082500000, 0x0000000082500000| Untracked
    | 20|0x0000000082600000, 0x0000000082600000, 0x0000000082700000| 0%| F| |TAMS 0x0000000082600000, 0x0000000082600000| Untracked
    | 21|0x0000000082700000, 0x0000000082700000, 0x0000000082800000| 0%| F| |TAMS 0x0000000082700000, 0x0000000082700000| Untracked
    | 22|0x0000000082800000, 0x0000000082800000, 0x0000000082900000| 0%| F| |TAMS 0x0000000082800000, 0x0000000082800000| Untracked
    | 23|0x0000000082900000, 0x0000000082900000, 0x0000000082a00000| 0%| F| |TAMS 0x0000000082900000, 0x0000000082900000| Untracked
    | 24|0x0000000082a00000, 0x0000000082a00000, 0x0000000082b00000| 0%| F| |TAMS 0x0000000082a00000, 0x0000000082a00000| Untracked
    | 25|0x0000000082b00000, 0x0000000082b00000, 0x0000000082c00000| 0%| F| |TAMS 0x0000000082b00000, 0x0000000082b00000| Untracked
    | 26|0x0000000082c00000, 0x0000000082c00000, 0x0000000082d00000| 0%| F| |TAMS 0x0000000082c00000, 0x0000000082c00000| Untracked
    | 27|0x0000000082d00000, 0x0000000082d00000, 0x0000000082e00000| 0%| F| |TAMS 0x0000000082d00000, 0x0000000082d00000| Untracked
    | 28|0x0000000082e00000, 0x0000000082e00000, 0x0000000082f00000| 0%| F| |TAMS 0x0000000082e00000, 0x0000000082e00000| Untracked
    | 29|0x0000000082f00000, 0x0000000082f00000, 0x0000000083000000| 0%| F| |TAMS 0x0000000082f00000, 0x0000000082f00000| Untracked
    | 30|0x0000000083000000, 0x0000000083000000, 0x0000000083100000| 0%| F| |TAMS 0x0000000083000000, 0x0000000083000000| Untracked
    | 31|0x0000000083100000, 0x0000000083100000, 0x0000000083200000| 0%| F| |TAMS 0x0000000083100000, 0x0000000083100000| Untracked
    | 32|0x0000000083200000, 0x0000000083200000, 0x0000000083300000| 0%| F| |TAMS 0x0000000083200000, 0x0000000083200000| Untracked
    | 33|0x0000000083300000, 0x0000000083300000, 0x0000000083400000| 0%| F| |TAMS 0x0000000083300000, 0x0000000083300000| Untracked
    | 34|0x0000000083400000, 0x0000000083400000, 0x0000000083500000| 0%| F| |TAMS 0x0000000083400000, 0x0000000083400000| Untracked
    | 35|0x0000000083500000, 0x0000000083500000, 0x0000000083600000| 0%| F| |TAMS 0x0000000083500000, 0x0000000083500000| Untracked
    | 36|0x0000000083600000, 0x0000000083600000, 0x0000000083700000| 0%| F| |TAMS 0x0000000083600000, 0x0000000083600000| Untracked
    | 37|0x0000000083700000, 0x0000000083700000, 0x0000000083800000| 0%| F| |TAMS 0x0000000083700000, 0x0000000083700000| Untracked
    | 38|0x0000000083800000, 0x0000000083800000, 0x0000000083900000| 0%| F| |TAMS 0x0000000083800000, 0x0000000083800000| Untracked
    | 39|0x0000000083900000, 0x0000000083900000, 0x0000000083a00000| 0%| F| |TAMS 0x0000000083900000, 0x0000000083900000| Untracked
    | 40|0x0000000083a00000, 0x0000000083a00000, 0x0000000083b00000| 0%| F| |TAMS 0x0000000083a00000, 0x0000000083a00000| Untracked
    | 41|0x0000000083b00000, 0x0000000083b00000, 0x0000000083c00000| 0%| F| |TAMS 0x0000000083b00000, 0x0000000083b00000| Untracked
    | 42|0x0000000083c00000, 0x0000000083c00000, 0x0000000083d00000| 0%| F| |TAMS 0x0000000083c00000, 0x0000000083c00000| Untracked
    | 43|0x0000000083d00000, 0x0000000083d00000, 0x0000000083e00000| 0%| F| |TAMS 0x0000000083d00000, 0x0000000083d00000| Untracked
    | 44|0x0000000083e00000, 0x0000000083e00000, 0x0000000083f00000| 0%| F| |TAMS 0x0000000083e00000, 0x0000000083e00000| Untracked
    | 45|0x0000000083f00000, 0x0000000083f00000, 0x0000000084000000| 0%| F| |TAMS 0x0000000083f00000, 0x0000000083f00000| Untracked
    | 46|0x0000000084000000, 0x0000000084000000, 0x0000000084100000| 0%| F| |TAMS 0x0000000084000000, 0x0000000084000000| Untracked
    | 47|0x0000000084100000, 0x0000000084100000, 0x0000000084200000| 0%| F| |TAMS 0x0000000084100000, 0x0000000084100000| Untracked
    | 48|0x0000000084200000, 0x0000000084200000, 0x0000000084300000| 0%| F| |TAMS 0x0000000084200000, 0x0000000084200000| Untracked
    | 49|0x0000000084300000, 0x0000000084300000, 0x0000000084400000| 0%| F| |TAMS 0x0000000084300000, 0x0000000084300000| Untracked
    | 50|0x0000000084400000, 0x0000000084400000, 0x0000000084500000| 0%| F| |TAMS 0x0000000084400000, 0x0000000084400000| Untracked
    | 51|0x0000000084500000, 0x0000000084500000, 0x0000000084600000| 0%| F| |TAMS 0x0000000084500000, 0x0000000084500000| Untracked
    | 52|0x0000000084600000, 0x0000000084600000, 0x0000000084700000| 0%| F| |TAMS 0x0000000084600000, 0x0000000084600000| Untracked
    | 53|0x0000000084700000, 0x0000000084700000, 0x0000000084800000| 0%| F| |TAMS 0x0000000084700000, 0x0000000084700000| Untracked
    | 54|0x0000000084800000, 0x0000000084800000, 0x0000000084900000| 0%| F| |TAMS 0x0000000084800000, 0x0000000084800000| Untracked
    | 55|0x0000000084900000, 0x0000000084900000, 0x0000000084a00000| 0%| F| |TAMS 0x0000000084900000, 0x0000000084900000| Untracked
    | 56|0x0000000084a00000, 0x0000000084a00000, 0x0000000084b00000| 0%| F| |TAMS 0x0000000084a00000, 0x0000000084a00000| Untracked
    | 57|0x0000000084b00000, 0x0000000084b00000, 0x0000000084c00000| 0%| F| |TAMS 0x0000000084b00000, 0x0000000084b00000| Untracked
    | 58|0x0000000084c00000, 0x0000000084c00000, 0x0000000084d00000| 0%| F| |TAMS 0x0000000084c00000, 0x0000000084c00000| Untracked
    | 59|0x0000000084d00000, 0x0000000084d00000, 0x0000000084e00000| 0%| F| |TAMS 0x0000000084d00000, 0x0000000084d00000| Untracked
    | 60|0x0000000084e00000, 0x0000000084e00000, 0x0000000084f00000| 0%| F| |TAMS 0x0000000084e00000, 0x0000000084e00000| Untracked
    | 61|0x0000000084f00000, 0x0000000084f00000, 0x0000000085000000| 0%| F| |TAMS 0x0000000084f00000, 0x0000000084f00000| Untracked
    | 62|0x0000000085000000, 0x0000000085000000, 0x0000000085100000| 0%| F| |TAMS 0x0000000085000000, 0x0000000085000000| Untracked
    | 63|0x0000000085100000, 0x0000000085100000, 0x0000000085200000| 0%| F| |TAMS 0x0000000085100000, 0x0000000085100000| Untracked
    | 64|0x0000000085200000, 0x0000000085200000, 0x0000000085300000| 0%| F| |TAMS 0x0000000085200000, 0x0000000085200000| Untracked
    | 65|0x0000000085300000, 0x0000000085300000, 0x0000000085400000| 0%| F| |TAMS 0x0000000085300000, 0x0000000085300000| Untracked
    | 66|0x0000000085400000, 0x0000000085400000, 0x0000000085500000| 0%| F| |TAMS 0x0000000085400000, 0x0000000085400000| Untracked
    | 67|0x0000000085500000, 0x0000000085500000, 0x0000000085600000| 0%| F| |TAMS 0x0000000085500000, 0x0000000085500000| Untracked
    | 68|0x0000000085600000, 0x0000000085600000, 0x0000000085700000| 0%| F| |TAMS 0x0000000085600000, 0x0000000085600000| Untracked
    | 69|0x0000000085700000, 0x0000000085700000, 0x0000000085800000| 0%| F| |TAMS 0x0000000085700000, 0x0000000085700000| Untracked
    | 70|0x0000000085800000, 0x0000000085800000, 0x0000000085900000| 0%| F| |TAMS 0x0000000085800000, 0x0000000085800000| Untracked
    | 71|0x0000000085900000, 0x0000000085900000, 0x0000000085a00000| 0%| F| |TAMS 0x0000000085900000, 0x0000000085900000| Untracked
    | 72|0x0000000085a00000, 0x0000000085a00000, 0x0000000085b00000| 0%| F| |TAMS 0x0000000085a00000, 0x0000000085a00000| Untracked
    | 73|0x0000000085b00000, 0x0000000085b00000, 0x0000000085c00000| 0%| F| |TAMS 0x0000000085b00000, 0x0000000085b00000| Untracked
    | 74|0x0000000085c00000, 0x0000000085c00000, 0x0000000085d00000| 0%| F| |TAMS 0x0000000085c00000, 0x0000000085c00000| Untracked
    | 75|0x0000000085d00000, 0x0000000085d00000, 0x0000000085e00000| 0%| F| |TAMS 0x0000000085d00000, 0x0000000085d00000| Untracked
    | 76|0x0000000085e00000, 0x0000000085e00000, 0x0000000085f00000| 0%| F| |TAMS 0x0000000085e00000, 0x0000000085e00000| Untracked
    | 77|0x0000000085f00000, 0x0000000085f00000, 0x0000000086000000| 0%| F| |TAMS 0x0000000085f00000, 0x0000000085f00000| Untracked
    | 78|0x0000000086000000, 0x0000000086000000, 0x0000000086100000| 0%| F| |TAMS 0x0000000086000000, 0x0000000086000000| Untracked
    | 79|0x0000000086100000, 0x0000000086100000, 0x0000000086200000| 0%| F| |TAMS 0x0000000086100000, 0x0000000086100000| Untracked
    | 80|0x0000000086200000, 0x0000000086200000, 0x0000000086300000| 0%| F| |TAMS 0x0000000086200000, 0x0000000086200000| Untracked
    | 81|0x0000000086300000, 0x0000000086300000, 0x0000000086400000| 0%| F| |TAMS 0x0000000086300000, 0x0000000086300000| Untracked
    | 82|0x0000000086400000, 0x0000000086400000, 0x0000000086500000| 0%| F| |TAMS 0x0000000086400000, 0x0000000086400000| Untracked
    | 83|0x0000000086500000, 0x0000000086500000, 0x0000000086600000| 0%| F| |TAMS 0x0000000086500000, 0x0000000086500000| Untracked
    | 84|0x0000000086600000, 0x0000000086600000, 0x0000000086700000| 0%| F| |TAMS 0x0000000086600000, 0x0000000086600000| Untracked
    | 85|0x0000000086700000, 0x0000000086700000, 0x0000000086800000| 0%| F| |TAMS 0x0000000086700000, 0x0000000086700000| Untracked
    | 86|0x0000000086800000, 0x0000000086800000, 0x0000000086900000| 0%| F| |TAMS 0x0000000086800000, 0x0000000086800000| Untracked
    | 87|0x0000000086900000, 0x0000000086900000, 0x0000000086a00000| 0%| F| |TAMS 0x0000000086900000, 0x0000000086900000| Untracked
    | 88|0x0000000086a00000, 0x0000000086a00000, 0x0000000086b00000| 0%| F| |TAMS 0x0000000086a00000, 0x0000000086a00000| Untracked
    | 89|0x0000000086b00000, 0x0000000086b00000, 0x0000000086c00000| 0%| F| |TAMS 0x0000000086b00000, 0x0000000086b00000| Untracked
    | 90|0x0000000086c00000, 0x0000000086c00000, 0x0000000086d00000| 0%| F| |TAMS 0x0000000086c00000, 0x0000000086c00000| Untracked
    | 91|0x0000000086d00000, 0x0000000086d00000, 0x0000000086e00000| 0%| F| |TAMS 0x0000000086d00000, 0x0000000086d00000| Untracked
    | 92|0x0000000086e00000, 0x0000000086e00000, 0x0000000086f00000| 0%| F| |TAMS 0x0000000086e00000, 0x0000000086e00000| Untracked
    | 93|0x0000000086f00000, 0x0000000086f00000, 0x0000000087000000| 0%| F| |TAMS 0x0000000086f00000, 0x0000000086f00000| Untracked
    | 94|0x0000000087000000, 0x0000000087000000, 0x0000000087100000| 0%| F| |TAMS 0x0000000087000000, 0x0000000087000000| Untracked
    | 95|0x0000000087100000, 0x0000000087100000, 0x0000000087200000| 0%| F| |TAMS 0x0000000087100000, 0x0000000087100000| Untracked
    | 96|0x0000000087200000, 0x0000000087200000, 0x0000000087300000| 0%| F| |TAMS 0x0000000087200000, 0x0000000087200000| Untracked
    | 97|0x0000000087300000, 0x0000000087300000, 0x0000000087400000| 0%| F| |TAMS 0x0000000087300000, 0x0000000087300000| Untracked
    | 98|0x0000000087400000, 0x0000000087400000, 0x0000000087500000| 0%| F| |TAMS 0x0000000087400000, 0x0000000087400000| Untracked
    | 99|0x0000000087500000, 0x0000000087500000, 0x0000000087600000| 0%| F| |TAMS 0x0000000087500000, 0x0000000087500000| Untracked
    | 100|0x0000000087600000, 0x0000000087600000, 0x0000000087700000| 0%| F| |TAMS 0x0000000087600000, 0x0000000087600000| Untracked
    | 101|0x0000000087700000, 0x0000000087700000, 0x0000000087800000| 0%| F| |TAMS 0x0000000087700000, 0x0000000087700000| Untracked
    | 102|0x0000000087800000, 0x0000000087800000, 0x0000000087900000| 0%| F| |TAMS 0x0000000087800000, 0x0000000087800000| Untracked
    | 103|0x0000000087900000, 0x0000000087900000, 0x0000000087a00000| 0%| F| |TAMS 0x0000000087900000, 0x0000000087900000| Untracked
    | 104|0x0000000087a00000, 0x0000000087a00000, 0x0000000087b00000| 0%| F| |TAMS 0x0000000087a00000, 0x0000000087a00000| Untracked
    | 105|0x0000000087b00000, 0x0000000087b00000, 0x0000000087c00000| 0%| F| |TAMS 0x0000000087b00000, 0x0000000087b00000| Untracked
    | 106|0x0000000087c00000, 0x0000000087c00000, 0x0000000087d00000| 0%| F| |TAMS 0x0000000087c00000, 0x0000000087c00000| Untracked
    | 107|0x0000000087d00000, 0x0000000087d00000, 0x0000000087e00000| 0%| F| |TAMS 0x0000000087d00000, 0x0000000087d00000| Untracked
    | 108|0x0000000087e00000, 0x0000000087e00000, 0x0000000087f00000| 0%| F| |TAMS 0x0000000087e00000, 0x0000000087e00000| Untracked
    | 109|0x0000000087f00000, 0x0000000087f00000, 0x0000000088000000| 0%| F| |TAMS 0x0000000087f00000, 0x0000000087f00000| Untracked
    | 110|0x0000000088000000, 0x0000000088000000, 0x0000000088100000| 0%| F| |TAMS 0x0000000088000000, 0x0000000088000000| Untracked
    | 111|0x0000000088100000, 0x0000000088100000, 0x0000000088200000| 0%| F| |TAMS 0x0000000088100000, 0x0000000088100000| Untracked
    | 112|0x0000000088200000, 0x0000000088200000, 0x0000000088300000| 0%| F| |TAMS 0x0000000088200000, 0x0000000088200000| Untracked
    | 113|0x0000000088300000, 0x0000000088300000, 0x0000000088400000| 0%| F| |TAMS 0x0000000088300000, 0x0000000088300000| Untracked
    | 114|0x0000000088400000, 0x0000000088400000, 0x0000000088500000| 0%| F| |TAMS 0x0000000088400000, 0x0000000088400000| Untracked
    | 115|0x0000000088500000, 0x0000000088500000, 0x0000000088600000| 0%| F| |TAMS 0x0000000088500000, 0x0000000088500000| Untracked
    | 116|0x0000000088600000, 0x0000000088600000, 0x0000000088700000| 0%| F| |TAMS 0x0000000088600000, 0x0000000088600000| Untracked
    | 117|0x0000000088700000, 0x0000000088700000, 0x0000000088800000| 0%| F| |TAMS 0x0000000088700000, 0x0000000088700000| Untracked
    | 118|0x0000000088800000, 0x0000000088800000, 0x0000000088900000| 0%| F| |TAMS 0x0000000088800000, 0x0000000088800000| Untracked
    | 119|0x0000000088900000, 0x0000000088900000, 0x0000000088a00000| 0%| F| |TAMS 0x0000000088900000, 0x0000000088900000| Untracked
    | 120|0x0000000088a00000, 0x0000000088ada010, 0x0000000088b00000| 85%| E| |TAMS 0x0000000088a00000, 0x0000000088a00000| Complete
    | 121|0x0000000088b00000, 0x0000000088c00000, 0x0000000088c00000|100%| E|CS|TAMS 0x0000000088b00000, 0x0000000088b00000| Complete
    | 122|0x0000000088c00000, 0x0000000088d00000, 0x0000000088d00000|100%| E|CS|TAMS 0x0000000088c00000, 0x0000000088c00000| Complete
    | 123|0x0000000088d00000, 0x0000000088e00000, 0x0000000088e00000|100%| E|CS|TAMS 0x0000000088d00000, 0x0000000088d00000| Complete
    | 124|0x0000000088e00000, 0x0000000088f00000, 0x0000000088f00000|100%| E|CS|TAMS 0x0000000088e00000, 0x0000000088e00000| Complete
    | 125|0x0000000088f00000, 0x0000000089000000, 0x0000000089000000|100%| E|CS|TAMS 0x0000000088f00000, 0x0000000088f00000| Complete
    | 126|0x0000000089000000, 0x0000000089100000, 0x0000000089100000|100%| E|CS|TAMS 0x0000000089000000, 0x0000000089000000| Complete
    | 127|0x0000000089100000, 0x0000000089200000, 0x0000000089200000|100%| E|CS|TAMS 0x0000000089100000, 0x0000000089100000| Complete

    Card table byte_map: [0x00000144fe120000,0x00000144fe520000] _byte_map_base: 0x00000144fdd17000

    Marking Bits (Prev, Next): (CMBitMap*) 0x00000144e4425bd8, (CMBitMap*) 0x00000144e4425c18
    Prev Bits: [0x0000014480000000, 0x0000014481fb8000)
    Next Bits: [0x0000014481fc0000, 0x0000014483f78000)

    Polling page: 0x00000144e44b0000

    Metaspace:

    Usage:
    Non-class: 9.70 MB capacity, 9.60 MB ( 99%) used, 83.90 KB ( <1%) free+waste, 21.25 KB ( <1%) overhead.
    Class: 1.40 MB capacity, 1.30 MB ( 92%) used, 95.46 KB ( 7%) free+waste, 13.19 KB ( <1%) overhead.
    Both: 11.10 MB capacity, 10.89 MB ( 98%) used, 179.36 KB ( 2%) free+waste, 34.44 KB ( <1%) overhead.

    Virtual space:
    Non-class space: 10.00 MB reserved, 9.75 MB ( 98%) committed
    Class space: 1.00 GB reserved, 1.50 MB ( <1%) committed
    Both: 1.01 GB reserved, 11.25 MB ( 1%) committed

    Chunk freelists:
    Non-Class: 53.00 KB
    Class: 4.00 KB
    Both: 57.00 KB

    MaxMetaspaceSize: 17179869184.00 GB
    CompressedClassSpaceSize: 1.00 GB

    CodeHeap 'non-profiled nmethods': size=120064Kb used=310Kb max_used=310Kb free=119753Kb
    bounds [0x00000144f6140000, 0x00000144f63b0000, 0x00000144fd680000]
    CodeHeap 'profiled nmethods': size=120000Kb used=1753Kb max_used=1753Kb free=118246Kb
    bounds [0x00000144eec10000, 0x00000144eee80000, 0x00000144f6140000]
    CodeHeap 'non-nmethods': size=5696Kb used=1329Kb max_used=1346Kb free=4366Kb
    bounds [0x00000144ee680000, 0x00000144ee8f0000, 0x00000144eec10000]
    total_blobs=2056 nmethods=1015 adapters=536
    compilation: enabled
    stopped_count=0, restarted_count=0
    full_count=0

    Compilation events (20 events):
    Event: 2.034 Thread 0x00000144fef81000 1009 1 sun.awt.SunHints$Value::getIndex (5 bytes)
    Event: 2.034 Thread 0x00000144fef81000 nmethod 1009 0x00000144f618cb10 code [0x00000144f618cca0, 0x00000144f618cdd8]
    Event: 2.034 Thread 0x00000144fef81000 1007 3 javax.swing.JComponent::repaint (19 bytes)
    Event: 2.034 Thread 0x00000144fef81000 nmethod 1007 0x00000144eedc3490 code [0x00000144eedc36a0, 0x00000144eedc3dc0]
    Event: 2.034 Thread 0x00000144fef81000 1008 3 javax.swing.RepaintManager::addDirtyRegion (37 bytes)
    Event: 2.035 Thread 0x00000144fef81000 nmethod 1008 0x00000144eedc4090 code [0x00000144eedc4260, 0x00000144eedc45d0]
    Event: 2.035 Thread 0x00000144fef81000 1010 3 sun.java2d.marlin.IntArrayCache$Reference::putArray (9 bytes)
    Event: 2.035 Thread 0x00000144fef76800 1011 4 sun.java2d.loops.GraphicsPrimitiveMgr::locate (104 bytes)
    Event: 2.035 Thread 0x00000144fef81000 nmethod 1010 0x00000144eedc4790 code [0x00000144eedc4940, 0x00000144eedc4b10]
    Event: 2.036 Thread 0x00000144fef81000 1012 3 sun.java2d.marlin.IntArrayCache::fill (21 bytes)
    Event: 2.036 Thread 0x00000144fef81000 nmethod 1012 0x00000144eedc4c10 code [0x00000144eedc4de0, 0x00000144eedc50d0]
    Event: 2.037 Thread 0x00000144fef81000 1013 3 sun.java2d.marlin.MarlinCache::alphaSumInTile (16 bytes)
    Event: 2.037 Thread 0x00000144fef81000 nmethod 1013 0x00000144eedc5290 code [0x00000144eedc5440, 0x00000144eedc55f8]
    Event: 2.037 Thread 0x00000144fef81000 1014 3 javax.swing.plaf.synth.SynthButtonUI::getContext (10 bytes)
    Event: 2.038 Thread 0x00000144fef81000 nmethod 1014 0x00000144eedc5710 code [0x00000144eedc5920, 0x00000144eedc5f00]
    Event: 2.038 Thread 0x00000144fef81000 1015 3 java.lang.Integer::bitCount (53 bytes)
    Event: 2.038 Thread 0x00000144fef81000 nmethod 1015 0x00000144eedc6110 code [0x00000144eedc62a0, 0x00000144eedc6418]
    Event: 2.039 Thread 0x00000144fef76800 nmethod 1011 0x00000144f618ce90 code [0x00000144f618d020, 0x00000144f618d218]
    Event: 2.229 Thread 0x00000144fef81000 1016 1 java.lang.String::value (5 bytes)
    Event: 2.230 Thread 0x00000144fef81000 nmethod 1016 0x00000144f618d510 code [0x00000144f618d6a0, 0x00000144f618d7d8]

    GC Heap History (0 events):
    No events

    Deoptimization events (20 events):
    Event: 0.749 Thread 0x0000014486a20800 DEOPT PACKING pc=0x00000144f616796c sp=0x0000003da95fd120
    Event: 0.749 Thread 0x0000014486a20800 DEOPT UNPACKING pc=0x00000144ee6c912f sp=0x0000003da95fd0c8 mode 2
    Event: 1.087 Thread 0x0000014486a20800 Uncommon trap: trap_request=0xffffff45 fr.pc=0x00000144f617cde4 relative=0x0000000000000304
    Event: 1.087 Thread 0x0000014486a20800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000144f617cde4 method=java.awt.MultipleGradientPaintContext.indexIntoGradientsArrays(F)I @ 93 c2
    Event: 1.087 Thread 0x0000014486a20800 DEOPT PACKING pc=0x00000144f617cde4 sp=0x0000003da95fce90
    Event: 1.087 Thread 0x0000014486a20800 DEOPT UNPACKING pc=0x00000144ee6c912f sp=0x0000003da95fce28 mode 2
    Event: 1.120 Thread 0x0000014486a20800 Uncommon trap: trap_request=0xffffff45 fr.pc=0x00000144f617f3b8 relative=0x0000000000000358
    Event: 1.120 Thread 0x0000014486a20800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000144f617f3b8 method=java.awt.MultipleGradientPaintContext.indexIntoGradientsArrays(F)I @ 13 c2
    Event: 1.120 Thread 0x0000014486a20800 DEOPT PACKING pc=0x00000144f617f3b8 sp=0x0000003da95fce10
    Event: 1.120 Thread 0x0000014486a20800 DEOPT UNPACKING pc=0x00000144ee6c912f sp=0x0000003da95fcd98 mode 2
    Event: 1.763 Thread 0x0000014486a20800 DEOPT PACKING pc=0x00000144eedafc4f sp=0x0000003da95fd6a0
    Event: 1.763 Thread 0x0000014486a20800 DEOPT UNPACKING pc=0x00000144ee6c964e sp=0x0000003da95fcb58 mode 0
    Event: 1.930 Thread 0x0000014486a20800 DEOPT PACKING pc=0x00000144eedafc4f sp=0x0000003da95fd5f0
    Event: 1.930 Thread 0x0000014486a20800 DEOPT UNPACKING pc=0x00000144ee6c964e sp=0x0000003da95fcaa8 mode 0
    Event: 2.023 Thread 0x0000014486a20800 Uncommon trap: trap_request=0xffffffde fr.pc=0x00000144f6161544 relative=0x00000000000001a4
    Event: 2.023 Thread 0x0000014486a20800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000144f6161544 method=java.lang.String.equals(Ljava/lang/Object;)Z @ 8 c2
    Event: 2.023 Thread 0x0000014486a20800 DEOPT PACKING pc=0x00000144f6161544 sp=0x0000003da95fe2d0
    Event: 2.023 Thread 0x0000014486a20800 DEOPT UNPACKING pc=0x00000144ee6c912f sp=0x0000003da95fe278 mode 2
    Event: 2.031 Thread 0x0000014486a20800 DEOPT PACKING pc=0x00000144eedafc4f sp=0x0000003da95fd660
    Event: 2.031 Thread 0x0000014486a20800 DEOPT UNPACKING pc=0x00000144ee6c964e sp=0x0000003da95fcb18 mode 0

    Classes unloaded (0 events):
    No events

    Classes redefined (0 events):
    No events

    Internal exceptions (20 events):
    Event: 0.516 Thread 0x00000144e43e1800 Exception (0x0000000088d15fc0)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.516 Thread 0x00000144e43e1800 Exception
    (0x0000000088d16920)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.516 Thread 0x00000144e43e1800 Exception
    (0x0000000088d16e18)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.516 Thread 0x00000144e43e1800 Exception
    (0x0000000088d17178)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.516 Thread 0x00000144e43e1800 Exception
    (0x0000000088d17640)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.516 Thread 0x00000144e43e1800 Exception
    (0x0000000088d179b0)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.516 Thread 0x00000144e43e1800 Exception
    (0x0000000088d17df0)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.517 Thread 0x00000144e43e1800 Exception
    (0x0000000088d180f8)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.517 Thread 0x00000144e43e1800 Exception
    (0x0000000088d18610)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.518 Thread 0x00000144e43e1800 Exception
    (0x0000000088d18f60)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.518 Thread 0x00000144e43e1800 Exception
    (0x0000000088d19458)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.518 Thread 0x00000144e43e1800 Exception
    (0x0000000088d197c8)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.518 Thread 0x00000144e43e1800 Exception
    (0x0000000088d19ac8)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.519 Thread 0x00000144e43e1800 Exception
    (0x0000000088d1a288)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.521 Thread 0x00000144e43e1800 Exception
    (0x0000000088d1d148)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.523 Thread 0x00000144e43e1800 Exception
    (0x0000000088d21088)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.556 Thread 0x0000014486a20800 Exception
    (0x0000000088dac8a0)
    thrown [t:/workspace/open/src/hotspot/share/classfile/systemDictionary.cpp, line 232]
    Event: 0.614 Thread 0x0000014486a20800 Implicit null exception at 0x00000144f616242f to 0x00000144f61624ad
    Event: 0.729 Thread 0x0000014486a20800 Exception
    (0x0000000088cb6ec8)
    thrown [t:/workspace/open/src/hotspot/share/interpreter/linkResolver.cpp, line 767]
    Event: 0.739 Thread 0x0000014486a20800 Exception
    (0x0000000088cde018)
    thrown [t:/workspace/open/src/hotspot/share/interpreter/linkResolver.cpp, line 767]

    Events (20 events):
    Event: 2.226 loading class jssc/SerialPort done
    Event: 2.226 Executing VM operation: RevokeBias
    Event: 2.227 Executing VM operation: RevokeBias done
    Event: 2.227 Executing VM operation: RevokeBias
    Event: 2.227 Executing VM operation: RevokeBias done
    Event: 2.227 Executing VM operation: RevokeBias
    Event: 2.227 Executing VM operation: RevokeBias done
    Event: 2.227 Executing VM operation: RevokeBias
    Event: 2.227 Executing VM operation: RevokeBias done
    Event: 2.228 loading class jssc/SerialPort$EventThread
    Event: 2.228 loading class jssc/SerialPort$EventThread done
    Event: 2.228 loading class jssc/SerialPort$LinuxEventThread
    Event: 2.228 loading class jssc/SerialPort$LinuxEventThread done
    Event: 2.229 loading class jssc/SerialPortTimeoutException
    Event: 2.229 loading class jssc/SerialPortTimeoutException done
    Event: 2.229 loading class java/lang/SecurityException
    Event: 2.229 loading class java/lang/SecurityException done
    Event: 2.229 loading class jssc/SerialNativeInterface
    Event: 2.229 loading class jssc/SerialNativeInterface done
    Event: 2.232 Loaded shared library C:\Users\IceNightBlue\.jssc\windows\jSSC-2.8_x86_64.dll

    Dynamic libraries:
    0x00007ff731df0000 – 0x00007ff731dff000 C:\Program Files\Java\jdk-13.0.1\bin\javaw.exe
    0x00007ffc0bf60000 – 0x00007ffc0c14d000 C:\Windows\SYSTEM32\ntdll.dll
    0x00007ffc09460000 – 0x00007ffc09513000 C:\Windows\System32\KERNEL32.DLL
    0x00007ffc08690000 – 0x00007ffc08923000 C:\Windows\System32\KERNELBASE.dll
    0x00007ffbed230000 – 0x00007ffbed2ed000 C:\Program Files\Bitdefender\Bitdefender Security\atcuf\264257229673675668\atcuf64.dll
    0x00007ffc08080000 – 0x00007ffc0817a000 C:\Windows\System32\ucrtbase.dll
    0x00007ffbce9d0000 – 0x00007ffbce9e8000 C:\Program Files\Java\jdk-13.0.1\bin\jli.dll
    0x00007ffc0b550000 – 0x00007ffc0b5f3000 C:\Windows\System32\ADVAPI32.dll
    0x00007ffc097a0000 – 0x00007ffc0983e000 C:\Windows\System32\msvcrt.dll
    0x00007ffc09520000 – 0x00007ffc095be000 C:\Windows\System32\sechost.dll
    0x00007ffc09180000 – 0x00007ffc092a2000 C:\Windows\System32\RPCRT4.dll
    0x00007ffc0b3b0000 – 0x00007ffc0b547000 C:\Windows\System32\USER32.dll
    0x00007ffc09160000 – 0x00007ffc09180000 C:\Windows\System32\win32u.dll
    0x00007ffc0b770000 – 0x00007ffc0b799000 C:\Windows\System32\GDI32.dll
    0x00007ffc08180000 – 0x00007ffc08319000 C:\Windows\System32\gdi32full.dll
    0x00007ffc085f0000 – 0x00007ffc08690000 C:\Windows\System32\msvcp_win.dll
    0x00007ffbce9b0000 – 0x00007ffbce9c5000 C:\Program Files\Java\jdk-13.0.1\bin\VCRUNTIME140.dll
    0x00007ffbf9360000 – 0x00007ffbf95d9000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.802_none_05b1445c0722d2cc\COMCTL32.dll
    0x00007ffc0b900000 – 0x00007ffc0bc2c000 C:\Windows\System32\combase.dll
    0x00007ffc08320000 – 0x00007ffc0839e000 C:\Windows\System32\bcryptPrimitives.dll
    0x00007ffbff0c0000 – 0x00007ffbff0ca000 C:\Windows\SYSTEM32\VERSION.dll
    0x00007ffc09770000 – 0x00007ffc0979e000 C:\Windows\System32\IMM32.DLL
    0x00007ffbce5e0000 – 0x00007ffbce67b000 C:\Program Files\Java\jdk-13.0.1\bin\msvcp140.dll
    0x00007ffba9320000 – 0x00007ffba9e86000 C:\Program Files\Java\jdk-13.0.1\bin\server\jvm.dll
    0x00007ffc09320000 – 0x00007ffc09328000 C:\Windows\System32\PSAPI.DLL
    0x00007ffc06ac0000 – 0x00007ffc06ac9000 C:\Windows\SYSTEM32\WSOCK32.dll
    0x00007ffc0bec0000 – 0x00007ffc0bf2d000 C:\Windows\System32\WS2_32.dll
    0x00007ffc053a0000 – 0x00007ffc053c4000 C:\Windows\SYSTEM32\WINMM.dll
    0x00007ffc05370000 – 0x00007ffc0539d000 C:\Windows\SYSTEM32\WINMMBASE.dll
    0x00007ffc083c0000 – 0x00007ffc0840a000 C:\Windows\System32\cfgmgr32.dll
    0x00007ffc07f70000 – 0x00007ffc07f81000 C:\Windows\System32\kernel.appcore.dll
    0x00007ffbef6c0000 – 0x00007ffbef6d0000 C:\Program Files\Java\jdk-13.0.1\bin\verify.dll
    0x00007ffc06780000 – 0x00007ffc0696d000 C:\Windows\SYSTEM32\DBGHELP.DLL
    0x00007ffbeb630000 – 0x00007ffbeb65a000 C:\Windows\SYSTEM32\dbgcore.DLL
    0x00007ffbce340000 – 0x00007ffbce366000 C:\Program Files\Java\jdk-13.0.1\bin\java.dll
    0x00007ffbcd790000 – 0x00007ffbcd7a7000 C:\Program Files\Java\jdk-13.0.1\bin\zip.dll
    0x00007ffbee610000 – 0x00007ffbee61a000 C:\Program Files\Java\jdk-13.0.1\bin\jimage.dll
    0x00007ffc09840000 – 0x00007ffc0ad34000 C:\Windows\System32\SHELL32.dll
    0x00007ffc0b1d0000 – 0x00007ffc0b278000 C:\Windows\System32\shcore.dll
    0x00007ffc089e0000 – 0x00007ffc0912d000 C:\Windows\System32\windows.storage.dll
    0x00007ffc07f90000 – 0x00007ffc07fb4000 C:\Windows\System32\profapi.dll
    0x00007ffc07fc0000 – 0x00007ffc0801d000 C:\Windows\System32\powrprof.dll
    0x00007ffc09400000 – 0x00007ffc09452000 C:\Windows\System32\shlwapi.dll
    0x00007ffc083a0000 – 0x00007ffc083b7000 C:\Windows\System32\cryptsp.dll
    0x00007ffbcd260000 – 0x00007ffbcd279000 C:\Program Files\Java\jdk-13.0.1\bin\net.dll
    0x00007ffbfe090000 – 0x00007ffbfe182000 C:\Windows\SYSTEM32\WINHTTP.dll
    0x00007ffc077c0000 – 0x00007ffc07827000 C:\Windows\system32\mswsock.dll
    0x00007ffbcd1c0000 – 0x00007ffbcd1d3000 C:\Program Files\Java\jdk-13.0.1\bin\nio.dll
    0x00007ffbc6490000 – 0x00007ffbc6629000 C:\Program Files\Java\jdk-13.0.1\bin\awt.dll
    0x00007ffc09330000 – 0x00007ffc093f4000 C:\Windows\System32\OLEAUT32.dll
    0x00007ffc043c0000 – 0x00007ffc0497e000 C:\Windows\SYSTEM32\d2d1.dll
    0x00007ffc055c0000 – 0x00007ffc0564c000 C:\Windows\SYSTEM32\apphelp.dll
    0x00007ffc05ec0000 – 0x00007ffc05f5c000 C:\Windows\system32\uxtheme.dll
    0x00007ffc0b600000 – 0x00007ffc0b76b000 C:\Windows\System32\MSCTF.dll
    0x00007ffc06140000 – 0x00007ffc0616e000 C:\Windows\system32\dwmapi.dll
    0x00007ffc08410000 – 0x00007ffc085eb000 C:\Windows\System32\CRYPT32.dll
    0x00007ffc07f50000 – 0x00007ffc07f62000 C:\Windows\System32\MSASN1.dll
    0x00007ffc0bc30000 – 0x00007ffc0bd85000 C:\Windows\System32\ole32.dll
    0x00007ffbcbbc0000 – 0x00007ffbcbc42000 C:\Program Files\Java\jdk-13.0.1\bin\freetype.dll
    0x00007ffbca860000 – 0x00007ffbca906000 C:\Program Files\Java\jdk-13.0.1\bin\fontmanager.dll
    0x00007ffbf7120000 – 0x00007ffbf7247000 C:\Windows\system32\opengl32.dll
    0x00007ffbf8d40000 – 0x00007ffbf8d6c000 C:\Windows\SYSTEM32\GLU32.dll
    0x00007ffc0b300000 – 0x00007ffc0b3a2000 C:\Windows\System32\clbcatq.dll
    0x00007ffc032a0000 – 0x00007ffc03458000 C:\Windows\SYSTEM32\WindowsCodecs.dll
    0x00007ffbee360000 – 0x00007ffbee3b6000 C:\Windows\system32\dataexchange.dll
    0x00007ffc04980000 – 0x00007ffc04bfe000 C:\Windows\system32\d3d11.dll
    0x00007ffc04d50000 – 0x00007ffc04f13000 C:\Windows\system32\dcomp.dll
    0x00007ffc06c80000 – 0x00007ffc06d42000 C:\Windows\system32\dxgi.dll
    0x00007ffc06250000 – 0x00007ffc0645d000 C:\Windows\system32\twinapi.appcore.dll
    0x00007ffc06220000 – 0x00007ffc06248000 C:\Windows\system32\RMCLIENT.dll
    0x00007ffbcd040000 – 0x00007ffbcd068000 C:\Users\IceNightBlue\AppData\Local\Temp\jSerialComm\1572320297329-jSerialComm.dll
    0x00007ffc0ad40000 – 0x00007ffc0b1b6000 C:\Windows\System32\SETUPAPI.dll
    0x00007ffc09130000 – 0x00007ffc09156000 C:\Windows\System32\bcrypt.dll
    0x00007ffc07d60000 – 0x00007ffc07d89000 C:\Windows\SYSTEM32\DEVOBJ.dll
    0x00007ffc08020000 – 0x00007ffc08079000 C:\Windows\System32\WINTRUST.dll
    0x00007ffbf88c0000 – 0x00007ffbf8955000 C:\Windows\System32\TextInputFramework.dll
    0x00007ffc036a0000 – 0x00007ffc039c2000 C:\Windows\System32\CoreUIComponents.dll
    0x00007ffc05280000 – 0x00007ffc05362000 C:\Windows\System32\CoreMessaging.dll
    0x00007ffc06fc0000 – 0x00007ffc06ff1000 C:\Windows\SYSTEM32\ntmarta.dll
    0x00007ffc03480000 – 0x00007ffc035d3000 C:\Windows\SYSTEM32\wintypes.dll
    0x00007ffbf5f00000 – 0x00007ffbf5f6c000 C:\Windows\system32\Oleacc.dll
    0x0000000071100000 – 0x0000000071125000 C:\Users\IceNightBlue\.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: .;C:\Program Files\Java\jdk-13.0.1\bin;C:\Windows\SYSTEM32;C:\Program Files\Bitdefender\Bitdefender Security\atcuf\264257229673675668;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.802_none_05b1445c0722d2cc;C:\Program Files\Java\jdk-13.0.1\bin\server;C:\Users\IceNightBlue\AppData\Local\Temp\jSerialComm;C:\Users\IceNightBlue\.jssc\windows

    VM Arguments:
    java_command: C:\Users\IceNightBlue\Desktop\Proyecto\AireAcondicionado\dist\AireAcondicionado.jar
    java_class_path (initial): C:\Users\IceNightBlue\Desktop\Proyecto\AireAcondicionado\dist\AireAcondicionado.jar
    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 = 134217728 {product} {ergonomic}
    size_t MarkStackSize = 4194304 {product} {ergonomic}
    size_t MaxHeapSize = 2128609280 {product} {ergonomic}
    size_t MaxNewSize = 1277165568 {product} {ergonomic}
    size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic}
    size_t MinHeapSize = 8388608 {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}
    size_t SoftMaxHeapSize = 2128609280 {manageable} {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:
    JAVA_HOME=C:\Program Files\Java\jdk1.8.0_201
    PATH=C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;»C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\Java\jdk1.8.0_201\bin»;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Java\jdk1.8.0_231\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\IceNightBlue\AppData\Local\Microsoft\WindowsApps
    USERNAME=IceNightBlue
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 61 Stepping 4, GenuineIntel

    ————— S Y S T E M —————

    OS: Windows 10 , 64 bit Build 17763 (10.0.17763.475)

    CPU:total 4 (initial active 4) (2 cores per cpu, 2 threads per core) family 6 model 61 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, fma

    Memory: 4k page, system-wide physical 8115M (2422M free)
    TotalPageFile size 9395M (AvailPageFile size 1717M)
    current process WorkingSet (physical memory assigned to process): 69M, peak: 69M
    current process commit charge («private bytes»): 225M, peak: 226M

    vm_info: Java HotSpot(TM) 64-Bit Server VM (13.0.1+9) for windows-amd64 JRE (13.0.1+9), built on Oct 6 2019 12:37:49 by «mach5one» with unknown MS VC++:1916

    END.

  4. Hola, tengo un problema con la librería al recibir datos del arduino, porque solicito cuantos puertos estan en uso y me los da, le pido el nombre de los puertos y me los da, pero cuando le pido de lea los datos que me manda arduino me vota el error:

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006ec4b5bb, pid=10416, tid=11244
    #
    # JRE version: OpenJDK Runtime Environment (13.0.1+9) (build 13.0.1+9)
    # Java VM: OpenJDK 64-Bit Server VM (13.0.1+9, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
    # Problematic frame:
    # C [jSSC-2.7_x86_64.dll+0xb5bb]
    #
    # No core dump will be written. Minidumps are not enabled by default on client versions of Windows
    #
    # An error report file with more information is saved as:
    # C:\Users\IceNightBlue\Desktop\Ice\jssc\hs_err_pid10416.log
    #
    # 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.
    #
    C:\Users\IceNightBlue\AppData\Local\NetBeans\Cache\11.1\executor-snippets\run.xml:111: The following error occurred while executing this line:
    C:\Users\IceNightBlue\AppData\Local\NetBeans\Cache\11.1\executor-snippets\run.xml:68: Java returned: 1
    BUILD FAILED (total time: 0 seconds)

    Ya hice todo lo que pude encontrar en internet, ya actualice el jdk, el java, descarge archivos con extencion .dll creo que esa era su extencion, encontre algunos links de esos errores pero estaban eliminados no se porque :,v, probe con la libreria jssc y me hace lo mismo, por lo que llegue a la conclusion de que falla la libreria jssc de las dos librerias (Panama y jssc) o yo que se me podrian ayudar para que me funcione la libreria por favor.

    • Ese error parece estar relacionado al JDK. Tienes que usar el JDK 1.8. Si estás en Netbeans tienes que hacer clic derecho en el proyecto y revisar donde dice Source y Compile. En ambas pestañas tienes que seleccionar el JDK 1.8

      • Ya le di click derecho a mi proyecto y me sale:
        New
        Build
        Clean and Build
        etc. y en ningun apartado me aparese el apartado source y compile, podria ser un poco mas especifico por favor.
        Nota: Disculpe mi ignorancia pero soy casi nuevo en el ide de netbeans

      • ya le di click derecho y me sale:
        NEW
        BUILD
        CLEAN AND BUILD
        CLEAN
        Etc.
        Pero no encuentro Source y compile. podria ser un poco mas especifico uso netbeans 11.1 pd: Disulpe mi ignorancia pero soy semi nuevo en este ide.

  5. Hola Amigo sabes veo que eres alguien que sabe mucho sobre el tema. Yo recién empiezo a ver el lenguaje en java y me encargaron un proyecto de Arduino utilizando Java con sensores y yo elegí el de pulso cardíaco. Creí que era fácil pero no encuentro información sobre ese sensor como lograr la comunicación de arduino a java. Podrías ayudarme donde buscar o si hay una guía sobre eso o un código de ejemplo de java. Gracias de antemano

  6. […] He utilizado la “Librería PanamaHitek” para realizar la comunicación con Arduino. En este enlace les dejo el acceso a la página donde explican los pasos que hay que realizar par instalarlo sin problemas. Yo he seguido los pasos y no he tenido problemas (pincha aquí). […]

  7. Hola,

    No sé si se publicó mi comentario anterior. Pero estoy usando la libreria para implementar un detector de color en Arduino y enviar esa información a Java para que haga una acción concreta en cada caso de color.
    El caso es que envío un String «The color is Blue» cuando detecta un color, pero cuando en Java intento hacer el condicional if (x=»The color is Blue») no consigo que el programa ejecute este if. Como si no estuviera.

    Alguna ayuda?

    Muchas gracias!

  8. Buenas tardes,

    Primero de todo muy buen trabajo! Tengo una duda: Ahora mismo estoy programando un detector de color en Arduino pero quiero tratar la información en Java, por lo que estoy usando su libreria.

    En Arduino estoy enviando de que color se trata con el mensaje «The color is Blue» pero cuando en Java pongo un if (x==»The color is Blue») no sucede nada. Simplemente no entra en este condicional. No se si se trata de que lo que se envia no es un String…
    Sabrias detectar el problema y proponerme una solución?

    Muchas gracias!

  9. Hola Antony ,Gracias por compartir esta librería .
    Quería hacerte una consulta , estoy haciendo una aplicación en java para graficar en tiempo real la entrada analógica de Arduino. Y el codigo que utilice funciona bien ,salvo para altas frecuencias de muestreo. Cuando el envio de datos desde arduino a java supera los 10 datos por segundo me sucede que printMessage() me envia de manera aleatoria dos lecturas seguidas y una sin nada .
    Ejemplo : en vez de mostrarme 1000 y en la siguiente 997 me muestra 1000997 y en la siguiente nada . Estoy buscando la forma de mejorar ya que es una aplicacion para fisica y la frecuencia de muestreo debe ser mas alta. Muchas Gracias.

    • Hola. Esta librería normalmente no te brinda buenos resultados para altas frecuencias de muestreo. Podrías intentar no utilizar el printMessage y en vez de eso usar receiveData() que te entregará los bytes tal como Arduino los envía. De esta forma podrías intentar procesar los datos y talvez encontrar un algoritmo que lo haga más rápido que printMessage. Yo en lo personal no recomiendo usar altas frecuencias de muestreo con esta librería.

  10. Disculpa cuando quiero recibir un dato en java con printMessage() y lo almaceno en una variable me aparece que no hay datos disponibles, solo los puedo usar con un System…

    • Eso se debe talvez a que no estás usando el método isMessageAvailable() o a que no estás enviando los datos desde el Arduino usando Serial.println().

  11. Hola!!
    Estoy he desarrollado una interfaz q muestra los piertos COM disponibles en el PC, permite seleccionar uno de ellos e iniciar la conexion con Arduino. Mi pregunta es ¿Como puedo chequear q en el COM seleccionado existe un Arduino conectado?

  12. hola una pregunta cuando uso el metodo killconection() siempre me sale un aviso que es persistente y no me deja seguir usando la aplicacion entonces mi pregunta es como puedo solucionar ese inconveniente que cuando cierre la conexion me permita seguir usando la aplicacion

  13. Hola tengo un problema estoy utilizando el método RXTX y envío datos perfectamente sin embargo cuando recibo datos no me los agarra bien aveces desde arduino estoy enviando serial. Println (“R»+minutos)
    serial. Println (“R»+segundos )
    serial. Println (“R»+décimas)
    serial. Println (“R»+centensimas)
    serial. Println (“R»+milésimas)
    Sin embargo aveces recibo lo siguiente
    R0R
    1
    R7
    R5
    R3

    Y yo quisiera recibir
    R0
    R1
    R7
    R5
    R3

    • En Arduino no puedes concatenar cadenas de caracteres dentro de el Serial.println. Al menos yo nunca he tenido éxito haciéndolo.

      Te recomiendo que te crees un String y concatenes los datos Luego imprimes. Por ejemplo:
      String msg = «R»;
      msg += mminutos;
      Serial.println(msg);

      Así debería funcionar.

  14. Buenas noches, quiero replicar la aplicación en un computador de mesa y no me sirve cuando le doy en el botón encender y tengo el mismo código en mi portátil y todo funciona, que podría ser, sera que falta alguna configuración? , agradezco tu ayuda mil gracias.

  15. Disculpe,una pregunta…si en el caso de que en el arduino presione un pulsador y quiero que en el programa realice algún evento,que debo utilizar?

  16. Disculpa amigo me podrías indicar como se da el funcionamiento de la clase MultiMessage, no entiendo como puedo usarlo dentro del código si por ejemplo tengo 5 sensores que detectan movimiento y que envían datos desde arduino a java

  17. No me gusta que al Crear el contructor del Objeto Arduino salga con un sout la informacion esa impresa voy a descomplilar la libreria

    • La librería es libre, no es necesario descompilarla. Y la impresión es simplemente la información de quien creó la librería. Usualmente se respeta lo que el autor del código ha puesto ahí. Igual el código es libre

  18. Hola, tengo una pregunta, ¿hay alguna manera de que al iniciar la aplicación de java, y se inicie la conexión, si desconecto el arduino del PC, este indique la perdida de conexión, y volver a recuperar la conexión si se conecta de nuevo? es algo difícil, ya que los métodos de conexión solo se ejecutan al inicio del programa de java, he intentado con hilos pero no reconoce los métodos ya que el RXTX lo reconoce como RX.
    La librería me ha funcionado muy bien es muy sencillo usarla, gracias por compartirlo y la realización de este proyecto sobre arduino y java que realizan,

  19. Una duda, disculpa, estoy intentando enviar datos desde un HC 06, pero no desde arduino, sino de un ATmega 328,( el microcontrolador sin el bootloader), y el problema con las libreiras RxTx, es que no detectan los puertos de servicio saliente, los Dev b, y en un video tuyo,conectas java, con arduino mediante bluetooth, entonces tengo la duda, si me servira tu libreria, a pesar de que realmente no tengo el arduino cargado en el ATmega

  20. ¿Cómo funciona la clase multiMessage();? Intento leer los datos de un sensor de humedad y otro de temperatura con getmessage(); pero me manda el error «java.lang.IndexOutOfBoundsException: Index: 1, Size: 0». La verdad no sé que puede estar mal. Sería tan amable de mostrarme un ejemplo, espero su respuesta a la brevedad. Es de prioridad.

  21. ¿Cómo funciona la clase multiMessage();? Intento leer los datos de un sensor de humedad y otro de temperatura con getmessage(); pero me manda el error «java.lang.IndexOutOfBoundsException: Index: 1, Size: 0». La verdad no sé que puede estar mal. Sería tan amable de mostrarme un ejemplo, espero su respuesta a la brevedad. Es de prioridad.

  22. disculpa amigo, si lo que deseo enviar desde arduino a java es un vector char o int por ejemplo, ay una funcion que me permita hacerlo?

  23. disculpa broo me esta dando un tanto de problemas el usar las nuevas librerias con el video que tienes posteado ya que en ella utilizas la libreria version1.3.0 y no la encuentro en la pagina me podrias apoyar muchisimas gracias de antemano

  24. Que tal, buen trabajo amigo.

    Pero he tenido problemillas al querer implementarlo bajo windows con un arduino nano clonado.

    Problema 1. vi que el método

    serialPort.addEventListener((SerialPortEventListener) events);

    No está trabajando bien, ya que nunca me regresa el evento de que se ha recibido datos desde el arduino.
    Solución 1:
    Investigando un poco llegué a esta dirección donde dan la respuesta, quizá sea bueno agregarlo a la libreria que has creado.
    http://embeddedfreak.wordpress.com/2008/08/12/serial-port-event-in-rxtx/

    Problema 2. Cuando el arduino me devuelve una cadena de datos («por ejemplo») las líneas de codigo siguiente

    PanamaHitek_Arduino device = new PanamaHitek_Arduino();
    device.arduinoRXTX(«COM2»,9600, null); //ignorado el tercer parametro a proposito
    device.sendData(«0»);
    String response=null;
    if (device.isMessageAvailable()){
    response = device.printMessage();
    }

    específicamente
    siempre dice falso, aunque haya
    recibido el primer valor «p» del ejemplo que el arduino esta
    devolviendo.

    Yo lo cambie así:

    PanamaHitek_Arduino device = new PanamaHitek_Arduino();
    device.arduinoRXTX(«COM2»,9600, null); //ignorar el tercer parametro
    device.sendData(«0»);
    String response=null;
    while(device.isMessageAvailable()==false);
    response = device.printMessage();
    }

    Obviamente no es la mejor forma de hacerlo pero me sirvio para salir del paso.

    Bueno, este ha sido mi aporte, sigamos mejorando.

    Un abrazo desde Bolivia.

  25. Muy buena la libreria. Mi enhorabuena. Solo una pega: aunque dices que no es necesario usar la libreria RXTXcomm a partir de la version 2.2.0 (lo que es cierto: no hay que incluir la libreria en el proyecto que estoy desarrollando en NetBeans) sí que hay que tener instaladas las dll (yo uso windows) de RXTXcomm para que funcione el compilador. Ver rxtx.qbang.org/wiki/index.php/Instalation_for_Windows para más informacion

    • Es correcto. Las dll es lo que le permite a la máquina virtual de Java comunicarse con el puerto serie, así que por lo pronto es dependiente de dichos ficheros

  26. oye pero la libreria no sirve para ubuntu has un tutorial para trabajar en ubuntu por que en windows 8 los puertos estan protegidos por uefi y esa maldita proteccion no me deja establecer la conexion con java y arduino

  27. Hoal gracias de antemano, por la libreria, estuve provando la libreria Arduino 1.3, como queria cargar los puertos com en combobox siempre me regresaba todos los puertos com con el mismo nombre era el del ultimo puerto leido, le cambie unas cuantas cosas te dejo el link del googledrive para que cheques los cambios que le hice a tu libreria y como la implemente en un combobox
    aqui esta el link de los cambios que hice:http://drive.google.com/file/d/0B4RQWx-fMFmwaXRkUDVaeHotdVU/edit?usp=sharing
    y este es el link del código de implementacion http://docs.google.com/document/d/1BF4F7fRQsiA-cN-maPYHmj7CLYlWB63wk5RtgqIMs6s/edit?usp=sharing

  28. hola amigo.
    tengo una pregunta,
    mi Sistema Operativo es LINUX MINT, así que quiero instalar RXTX en el, sabes como lo puedo
    hacer, ya que el tuto que tu realizaste lo hiciste en windows, y yo no uso windows, ademas, los archivos son diferentes en LINUX.

    ha, tus practicas son lo máximo, muy bien!!!!!!

  29. amigo una pregunta:
    yo deseo asignarle a una variable los valores que recibo desde arduino, con el fin de crear una condición para que me genere una alarma visual tanto en java como en arduino pero que a la vez continúe graficando en tiempo real, con que tipo de variable podría hacerlo y con que instrucción de la librería.

  30. Hola! Lo primero de todo agradecer tu información y material que pones a disposición de todos, son de gran ayuda para gente como yo que aun se está iniciando en este mundo.
    Estoy realizando un proyecto para la universidad con el que intento comunicar Java con Arduino. He instalado tu librería y la librería RXTX. Mi problema se encuentra en que el programa de Java no manda ningun dato a Arduino, cuando realizo arduino.sendData(String s). He probado unicamente con la libreria RXTX y con una variable OutputStream con la que le paso los datos a traves del metodo write(). He comprobado que el COM sea el correcto, y que los bauds sean los mismos. Me estoy volviendo loco, porque no entiendo en que falla.
    Lo más interesante es que si envío información dede Arduino a Java , esta si que se imprime en la consola del programa en Java, lo que me da constancia de que el programa y arduino están en contacto. El problema surge en enviar los datos desde Java a Arduino.
    Me vendría muy bien un poco de ayuda de aquel que sepa como solucionarlo.
    Un saludo.

  31. Esta muy bueno el tutorial……….tengo una duda me sales este error…. tengo windows 8…netbean 7.4……
    ava.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while
    loading gnu.io.RXTXCommDriver
    Exception in thread “main” java.lang.UnsatisfiedLinkError: no rxtxSerial in java
    .library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:83)
    at lectorBraille01.main(lectorBraille01.java:832)
    Exception in thread “Thread-2″ java.lang.NullPointerException

    aunque yo no tengo la placa de arduino….sera ese el motivo….tendra que correr con la placa conectada????

    gracias

  32. Hola antony

    Primero agradecerte por compartir esto de arduino y java, llevo un buen rato buscando infromación al respecto y tu blog es muy claro.

    Te escribo porque tengo un problema que no he podido solucionar y ya llevo varias horas estancado por el mismo problema, he hecho exactamente lo que dices en tu video tutorial, y al ejecutar el programa me genera este error:

    java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_25\jre\bin\rxtxSerial.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver
    Exception in thread «AWT-EventQueue-0» java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_25\jre\bin\rxtxSerial.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
    at java.lang.Runtime.loadLibrary0(Runtime.java:849)
    at java.lang.System.loadLibrary(System.java:1087)
    at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:123)
    at Arduino.Arduino.ArduinoRXTX(Arduino.java:131)
    at Window.(Window.java:23)
    at Window$2.run(Window.java:84)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

    Es claro que el problema sería de la plataforma, es como si hubiera descargado las librerias para 32 bits y ejecutarlas en mi maquina que es de 64 bits, pero como te digo he hecho todo al pie de la letra, todo lo tengo configurado para 64 bits pero no he podido solucionar mi problema. Sabes como puedo hacerlo?

    Gracias

    Edwin

    • Bueno les cuento lo que acabe de hacer por si alguien tiene el mismo problema le den solución

      Ya saben el error que tenía (Post anterior), Para ver si era problema de la plataforma instale java y netbeans en un pc de 32 bits y funcionó de una con la configuración que menciona en este block . Entonces en mi pc de 64 bits desinstale todo lo de java de 64 bits y netbeans e instale la version del jdk para 32 bits luego instale netbeans, utilice el archivo de instalacion de la libreria que tienes en tu blog pero no me funciono, los cambie por el de 64 bits y tampoco, en la pagina de la libreria («http://rxtx.qbang.org/wiki/index.php/Download») dice lo siguiente para las maquinas de 64 bits

      Should you wish to use RxTx on a x64 based computer, note that the downloads on this page will not work, for x64 compiled binaries go to: Mfizz RxTx page. (La página es http://mfizz.com/oss/rxtx-for-java)

      De aca descargué la versión de 64 bits y la probé de nuevo pero no me funcionó y ya por descartar me dio por bajar la version «Windows-x86» copie los archivos como usted lo menciona y listo me funcionó. OJO recordar que tengo instalado «jdk-7u45-windows-i586» y «netbeans-7.4beta-windows»

  33. Hola buenas he seguido tus tutoriales y son exelentes mucho detalle pero tengo una pregunta o duda .Necesito conectar un jostick al arduino y de hay a java , entonces como aser eso dado que el jostick tiene dos entradas analogas y una digital por lo cual necesito mandar 3 datos distintos a java puedo usar la libreria sofware serial y obtener 3 datos de salida serial pero como puedo tomar los 3 datos. por favor si me pueden ayudar.

  34. Hola
    Primero que todo gracias por la librería.
    Tengo una pequeña duda, como puedo cerrar el puerto serial, osea la conexión?,
    gracias

  35. Hola mi Amigo esta bien bueno tu blog, sobre todo por la forma de explicar
    así como utilizar arduino y java. Por cierto no puedo descargar tu código
    fuente, como otros compañeros que lo han mencionado. gracias

  36. Intento hacer un programa con múltiples interfaces. Tengo el método ArduinoRxTx en la constructora de una clase, pero cuando intento llegar desde otra interfaz a los métodos de esta clase, debo crear un objeto y al crearlo se vuelve a correr la constructora y parece que no puede correrse un programa corriendo dos veces el método ArduinoRxTx. Intenté creando una constructora por defecto y una parametrizada, la primera a usarse sólo en la inicialización, y la segunda para demás casos, pero cuando intento enviar algo, me dice que no ha sido creada una conexión. Es posible finalizar una sesión creada con el método ArduinoRxTx?
    Gracias por la librería

  37. quisiera saber si puedo hacer una especia de simulador con este codigo, en la u me pididieron hacer algo que cuando uno esta viendo una pelicula el sonido sea izquierdo o derecho depende del video al igual que hacer una especie de vibrador como los de los controles de play station que vibran cuando uno dispara o cuando se hace algo.

    podrian ayudarme porfa?

  38. Hola gracias por el aporte. Estoy probando el metodo PrintMessage() dentro de la condición MessageAvailable(), pero lo que quiero hacer es testear el String que envia arduino a java con una variable String.

    ejemplo if(Arduino.PrintMessage().equals(«next»){
    una acción
    }

    pero la condicion nunca es true, te agradeceria mucho si me ayudaras.

    • Guarda el contenido del mensaje dentro de una variable. Por ejemplo String Mensaje;

      Mensaje=Arduino.PrintMessage();

      Luego imprimes esa variable para ver los valores que estas recibiendo de Arduino. En base a eso modificas lo que necesites modificar

    • No es posible descargar el código fuente de la librería Arduino. Sería muy útil para la comunidad contar con esta posibilidad. De todas maneras muchas gracias por el trabajo y por compartirlo. Saludos.

  39. Hola! gracias por tu librería.
    Ya realizado pruebas y todo muy bien, pero me gustaría ver el código fuente solo que no me deja descargarlo.
    Me lo podrías mandar a mi correo porfavor ([email protected]) y si me pasas el tuyo para enviarte mi proyecto en cuanto lo acabe para compartirlo con ustedes.
    Se te agradece desde México.

  40. hola gracias por tu libreria.
    estoy haciendo un proyecto en java el cual manda unas coordenadas (por ejemplo: 10,34) a arduino con send data en fonrma de String, pero lo que quiero es que arduino me regrese las mismas coordenadas a java e impimirlas. Cómo le podria hacer?.

    Gracias

  41. una pregunta q vercion de sofware arduino estas utilizando en el video tutorial de la libreria arduino agradezco tu resp por adelantado y saludos de bolivia

  42. Hola Gracias Por Compartirnos tus Conocimientos 🙂
    Tengo una duda,Copie Los archivos de la RXTX a los directorios de instalacion de java todo exacto como tu dijiste, no me equivoque en nada tengo 64 bits y windows 7 y hize mi codigo en netbeans 7.3 importe jar etc y me marcaba este error

    java.lang.UnsatisfiedLinkError: C:Program Files (x86)MATLABR2007bbinwin32rxtxSerial.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver
    Exception in thread «AWT-EventQueue-0» java.lang.UnsatisfiedLinkError: C:Program Files (x86)MATLABR2007bbinwin32rxtxSerial.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:83)
    at Arduino.Arduino.ArduinoRXTX(Arduino.java:131)
    at prueba.Serial.(Serial.java:31)
    at prueba.Serial$2.run(Serial.java:90)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

    Entonces viendolo es facil deducir que lee la rxtx del directorio de matlab
    entonces borre los archivos de la rxtx del directorio de java y copie el de la rxtx (solo el rxtx serial) pero el de 64 bits a la carpeta pero de matlab
    y ya funciono a que se debe eso????? alguna configuracion o como se arregla

    gracias 🙂

  43. Hola primero que nada gracias por compartir tus conocimientos
    me podrias ayudar porfavor
    estoy trabajando con arduino y java, con la obtencion de valores de unos sensores biometricos
    solo que el problema es que no puedo separarlos para mostrarlos en diferentes campos en un solo campo me aparecen todos que puedo hacer?
    de antemano muchas gracias 🙂

  44. Muchas gracias por compartir tus conocimientos, me han servido mucho, mucho!. Podrías decirme como le hago para que los datos que recibo de arduino los visualice en java en en un icono, simulando el encendido y apagado de un led, hasta el momento solo he probado como mostrarlos con un JOptionPane….Gracias de antemano.

  45. Eres una eminencia!! Mis felicitaciones!! y muchas gracias, lo logre 😀
    Una pregunta, ¿también sirve de casualidad para controlar el puerto paralelo? (esto último solo para mini proyectos).
    No hay mejor lugar para aprender Arduino y Java 😀

  46. En cuando tenga una chansita subo tutorial de comunicacion de-xbee arduino usando tu libreria Antony. Pero antes te lo voy a hacer llegar primero. Saludos desde Mexico..

  47. gracias por compartir esto Antonio, tu libreria incluso facilita el funcionamiento la comunicacion netbeands-XBEE a arduino.
    te deja mandar datos y recibir datos inalambricamente desde netbeans a arduino reconociendote al xbee como un arduino.

  48. muchas gracias por este aporte
    la verdad soy nuevo en este tema pero tengo dos inquietudes

    1)me gustaría saber si hay algún simulador que haga lo que se muestra en el vídeo también realizando la conexión de java sin necesidad de tener la placa

  49. hola! muy buen post, pero tengo un problemita, tengo conectado mi arduino en el COM4, y el programa me marca el error de que en el COM4 no hay conectado ningún arduino, (ya revise y y si esta conectado en el COM4 y si lo estoy escribiendo con comillas). Pero si le pongo COM3 si funciona el programa, pero no me imprime nada de lo que mando desde el arduino(ya cheque el monitor serial del arduino y si imprime todo) que podria hacer??

  50. Hola Antony, otra ves molestando, con referencia al video como puedo crear un tercer botón que me envié un mensaje a la consola de Java (el mensaje esta guardado en Arduino).

    Saludos.

  51. java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while
    loading gnu.io.RXTXCommDriver
    Exception in thread “main” java.lang.UnsatisfiedLinkError: no rxtxSerial in java
    .library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:83)
    at lectorBraille01.main(lectorBraille01.java:832)
    Exception in thread “Thread-2″ java.lang.NullPointerException

    aun me da ese error Dx
    exporte las librerias como me dijiste, no se si has intentado ejecutar el .jar en tus proyectos

  52. Hola, necesito ayuda D: !
    he logrado hacer una interfaz para hacer funcionar el programa con arduino (puedes ver mi proyecto en mi blog).
    Pero me falta un unico detalle que pense que iba a realizarlo rapido… compilar el proyecto en .jar
    la idea es que sea ejecutable, pero al momento de compilar y abrir el proyecto, la interfaz se abre y tira un error diciendo que no detecta el arduino. Lo mas probable es que sea problema con las librerias de arduino.
    puedo ejecutar el proyecto desde netbeans pero no el .jar
    espero que me orientes
    saludos
    Rodrigo

  53. Nada. Lo he vuelto a instalar todo otra vez y me sigue dando el mismo error. Cuando le doy a limpiar y regenerar de da el siguiente error: warning: ArduinoArduino.class(Arduino:Arduino.class): major version 51 is newer than 50, the highest major version supported by this compiler.
    It is recommended that the compiler be upgraded.
    1 warning

  54. Te queria primero felicitar por tu pagina. Esta muy bien
    Estoy utilizando tu libreria y me da un error.
    Exception in thread «AWT-EventQueue-0» java.lang.UnsupportedClassVersionError: Arduino/Arduino : Unsupported major.minor version 51.0
    Porque es?

Dejar respuesta

Please enter your comment!
Please enter your name here