Giter Site home page Giter Site logo

Comments (21)

TCWORLD avatar TCWORLD commented on June 22, 2024

Could you try the following version on Windows. I'm still looking into Ubuntu.

The config utility was designed for Java 8, so I have no idea if it will work on Java 14, but I've updated the version of launch4j which should now handle the new version numbers and realise that 14.0.1 is newer than 1.8.0.

AstroEQ-ConfigUtility.zip

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

For Ubuntu, could you run the following script:

#!/bin/sh
JAVA_VER=$(java -version 2>&1 | sed 's/.*version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q')
[ "$JAVA_VER" -ge 18 ] && echo "ok, java is 1.8 or newer" || echo "it's too old..."

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

On Windows I only get the loading screen, while the config utility is all grey, nothing is drawn

image

Linux:

image

I'm installing Processing to test everything from the sources.

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Could you extract this into the same folder as AstroEQ.exe and run it.
AstroEQDebug.zip

It will run AstroEQ with a command prompt to provide debugging information.

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

Looks like jSSC is outdated, among other things.
Here you go:

Starting AstroEQ Config Utility, V3.9.2
Time is 13:20:58
OS: Windows 10. JRE Version: 14.0.1. JRE Arch: amd64
Java Path: D:\Windows\Programs\JDK14\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;D:\Windows\Programs\Git\cmd;C:\Users\marco\AppData\Local\Microsoft\WindowsApps;C:\Users\marco\AppData\Local\GitHubDesktop\bin;C:\Users\marco\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;;D:\Windows\Programs\Microsoft VS Code\bin;D:\Windows\Programs\JDK14\bin;.
Creating Window. Setting DPI Scaling to 1
Setting Window Size to: 510 x 525
Setting Frame Rate
Creating Executioner thread
Connecting to Clipboard
java.lang.UnsatisfiedLinkError: C:\Users\marco\Desktop\AstroEQ-ConfigUtility\bin\jSSC-2.8.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
        at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
        at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2452)
        at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2508)
        at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2704)
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2669)
        at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:807)
        at java.base/java.lang.System.loadLibrary(System.java:1907)
        at AstroEQUploader.setup(AstroEQUploader.java:231)
        at processing.core.PApplet.handleDraw(PApplet.java:2393)
        at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1540)
        at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)
Current Dir: C:/Users/marco/Desktop/AstroEQ-ConfigUtility/AstroEQDebug.exe\
Populating Firmware Variants
The file "C:/Users/marco/Desktop/AstroEQ-ConfigUtility/AstroEQDebug.exe\hex\versions.txt" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
java.lang.NullPointerException
        at java.base/java.io.Reader.<init>(Reader.java:167)
        at java.base/java.io.BufferedReader.<init>(BufferedReader.java:101)
        at java.base/java.io.BufferedReader.<init>(BufferedReader.java:116)
        at AstroEQUploader.populateVariants(AstroEQUploader.java:432)
        at AstroEQUploader.setup(AstroEQUploader.java:267)
        at processing.core.PApplet.handleDraw(PApplet.java:2393)
        at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1540)
        at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)
Board List Loaded
Loading ControlP5
ControlP5 2.2.6 infos, comments, questions at http://www.sojamo.de/libraries/controlP5
Building GUI
x=0, y=104, width=510, height=372
buildBeginScreen --- ID is: begin
buildVersionCheckScreen --- ID is: versionCheck
buildFirmwareFetchScreen --- ID is: firmwareFetch
buildEEPROMWriterScreen --- ID is: EEPROMWriter
buildCheckEEPROMScreen --- ID is: checkEEPROM
buildRecoverEEPROMScreen --- ID is: recoverEEPROM
buildEnterConfigScreen --- ID is: enterConfig
buildProgramConfigScreen --- ID is: programConfig
buildDownloadFirmwareScreen --- ID is: downloadFirmware
buildTestFirmwareScreen --- ID is: testFirmware
buildFinishedScreen --- ID is: finished
Initialising Serial Ports
java.lang.UnsatisfiedLinkError: 'java.lang.String[] jssc.SerialNativeInterface.getSerialPortNames()'
        at jssc.SerialNativeInterface.getSerialPortNames(Native Method)
        at jssc.SerialPortList.getWindowsPortNames(SerialPortList.java:309)
        at jssc.SerialPortList.getPortNames(SerialPortList.java:298)
        at jssc.SerialPortList.getPortNames(SerialPortList.java:182)
        at processing.serial.Serial.list(Unknown Source)
        at AstroEQUploader.refreshComm(AstroEQUploader.java:303)
        at AstroEQUploader.setup(AstroEQUploader.java:293)
        at processing.core.PApplet.handleDraw(PApplet.java:2393)
        at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1540)
        at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Ok, so that makes some sense.

The Config utility only supports 32-bit Java on Windows, so you'll need to have the 32bit JRE installed. Otherwise the JSSC DLL for serial comms won't load correctly. I'll have a look into whether I can include both 32 bit and 64 bit DLLs, not sure if I can.

Also, for some reason Java 14 is giving the full exe filename for the current path rather than the folder. That will need to be fixed as well.

64bit should work on Ubuntu as it uses the jssc deb package rather than including the binary file.


For Ubuntu, what does this return:

#!/bin/sh

#https://stackoverflow.com/a/56243046/1557472
JAVA_VER=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)

[ "$JAVA_VER" -ge 8 ] && echo "ok, java is 1.8 or newer" || echo "it's too old..."

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

Debugging from Processing does work, but ofc reports it lacks a 64-bit jSSC library. I'll give you a compatible DLL in a moment. Probably you need to update Java and Processing and build everything from there, but I'm concerned about backwards compatibility with Java 8.

image

New script:

marco@marco-win:/tmp$ ./test2
ok, java is 1.8 or newer

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

I've got a copy of the 64 bit DLL, its a case of trying to figure out whether I can load it based on architecture. Last time I tried it got upset because the name didn't match.


For the ubuntu, could you modify /usr/bin/astroequploader (just a script file) and change lines 11 and 12 from:

JAVA_VER=$(java -version 2>&1 | sed 's/.*version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q')
if [ "$JAVA_VER" -lt 18 ]; then

to;

#https://stackoverflow.com/a/56243046/1557472
JAVA_VER=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)
if [ "$JAVA_VER" -lt 8 ]; then

And see if that launches.

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

I'm taking a look at the sources, and I understand why you got upset. You should use the jSSC jar library (which automatically selects the right DLL) instead of the DLLs directly. But that would mean rewriting part of the config utility, perhaps in pure Java. I'll test the new Ubuntu launcher ASAP.

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

It is using the jar library, the problem is that in order to wrap everything in a single EXE I have to merge all of the jars into a single fat jar, at which point the JSSC jar file seemed unable or unwilling to load the DLL. There seems to be some weird path issue that I never sussed.

The config utility is a bit of a mess - was written in a hurry, I've just never had the time to tidy it up.

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Hmm. In fact it seems to be working without loading the DLL. So that solves that problem. It seems that when I upgraded to JSSC 2.8 from 2.6 a while ago that problem went away.

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

New version to try out if you could

AstroEQDebug.zip

AstroEQ-ConfigUtility-LINUX.zip

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Never mind, it does need the DLL. Must be finding it on my Path somewhere.

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

AstroEQ-ConfigUtility-LINUX.zip works every once in a while, I have to open it several times before getting an usable GUI. Most of the times launches a gray window or no window at all.

Output of the new Windows Debug exe (still gray window):

Starting AstroEQ Config Utility, V3.9.3
Time is 14:7:16
OS: Windows 10. JRE Version: 14.0.1. JRE Arch: amd64
Java Path: D:\Windows\Programs\JDK14\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;D:\Windows\Programs\Git\cmd;C:\Users\marco\AppData\Local\Microsoft\WindowsApps;C:\Users\marco\AppData\Local\GitHubDesktop\bin;C:\Users\marco\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;;D:\Windows\Programs\Microsoft VS Code\bin;D:\Windows\Programs\JDK14\bin;.
Creating Window. Setting DPI Scaling to 1
Setting Window Size to: 510 x 525
Setting Frame Rate
Creating Executioner thread
Connecting to Clipboard
Current Dir: C:/Users/marco/Desktop/AstroEQ-ConfigUtility/AstroEQDebug\
Populating Firmware Variants
The file "C:/Users/marco/Desktop/AstroEQ-ConfigUtility/AstroEQDebug\hex\versions.txt" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
java.lang.NullPointerException
        at java.base/java.io.Reader.<init>(Reader.java:167)
        at java.base/java.io.BufferedReader.<init>(BufferedReader.java:101)
        at java.base/java.io.BufferedReader.<init>(BufferedReader.java:116)
        at AstroEQUploader.populateVariants(AstroEQUploader.java:431)
        at AstroEQUploader.setup(AstroEQUploader.java:266)
        at processing.core.PApplet.handleDraw(PApplet.java:2393)
        at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1540)
        at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)
Board List Loaded
Loading ControlP5
ControlP5 2.2.6 infos, comments, questions at http://www.sojamo.de/libraries/controlP5
Building GUI
x=0, y=104, width=510, height=372
buildBeginScreen --- ID is: begin
buildVersionCheckScreen --- ID is: versionCheck
buildFirmwareFetchScreen --- ID is: firmwareFetch
buildEEPROMWriterScreen --- ID is: EEPROMWriter
buildCheckEEPROMScreen --- ID is: checkEEPROM
buildRecoverEEPROMScreen --- ID is: recoverEEPROM
buildEnterConfigScreen --- ID is: enterConfig
buildProgramConfigScreen --- ID is: programConfig
buildDownloadFirmwareScreen --- ID is: downloadFirmware
buildTestFirmwareScreen --- ID is: testFirmware
buildFinishedScreen --- ID is: finished
Initialising Serial Ports
java.lang.UnsatisfiedLinkError: 'java.lang.String[] jssc.SerialNativeInterface.getSerialPortNames()'
        at jssc.SerialNativeInterface.getSerialPortNames(Native Method)
        at jssc.SerialPortList.getWindowsPortNames(SerialPortList.java:309)
        at jssc.SerialPortList.getPortNames(SerialPortList.java:298)
        at jssc.SerialPortList.getPortNames(SerialPortList.java:182)
        at processing.serial.Serial.list(Unknown Source)
        at AstroEQUploader.refreshComm(AstroEQUploader.java:302)
        at AstroEQUploader.setup(AstroEQUploader.java:292)
        at processing.core.PApplet.handleDraw(PApplet.java:2393)
        at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1540)
        at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:316)

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Take 4 - this seems to load the DLL properly when it has a different name. I've called one jSSC-2.6-x86 and the other jSSC-2.6-amd64. Hopefully that should load for you.

AstroEQDebug.zip

There is still a strange issue with the sketch path that I'm trying to figure out. This may fix that too.

Not sure about ubuntu yet. Still looking.

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

I'm sorry, go for take 5 πŸ˜„ now the GUI loads and responses, but as soon as I connect an AstroEQ V4.7 board and hit Configure it crashes the bad way with a Java EXCEPTION_ACCESS_VIOLATION. Error log: hs_err_pid9400.log. Note that the list of serial ports is loaded properly, so in theory jSSC is being found.
This still sounds like a DLL issue because there's no Java stacktrace in the log.

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Lol. That seems to be an issue with the 64bit version of JSSC itself - I can't do anything about that unfortunately. At least its loading the correct DLL now.


Meanwhile, this seems to fix Ubuntu for me - loads and talks to the AstroEQ:

AstroEQ-ConfigUtility-LINUX.zip

Occasionally it will load with a black screen, at which point resizing the window brings it back. Not sure what that is about.

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Theres a newer version of JSSC here: https://github.com/java-native/jssc/releases/tag/v2.9.1

Downloading the native library from there and renaming it to 2.8 seems to still work for the x86 version. I've attached the amd64 native from there. Might be worth a try.

jSSC-2.8-amd64.zip

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

The latest linux version loads, but I'm running it in a virtual machine, so I can't test if it connects to the board (it should work there, libjssc is a system-wide official package on Ubuntu). I'll switch to my full Ubuntu installation when I reboot the PC. jSSC 2.9.1 amd64 works like a charm on WindowsπŸ˜€

from astroeq.

TCWORLD avatar TCWORLD commented on June 22, 2024

Hurrah, 5th times the charm :D

from astroeq.

marcocipriani01 avatar marcocipriani01 commented on June 22, 2024

I confirm that the latest version works flawless on Ubuntu, bug closed! Looking forward to the next stable release πŸ˜„

from astroeq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.