TCWORLD / AstroEQ

DIY Electronics System for connecting a non-Goto telescope to EQMOD
https://www.astroeq.co.uk
Other
52 stars 40 forks source link

GUI-related bug in the utility #23

Closed marcocipriani01 closed 7 years ago

marcocipriani01 commented 7 years ago

Hello, I'm new to AstroEQ, so I haven't built / bought it yet. However, I tried to install the "AstroEQ Firmware Update Utility V3.7.3" on my Kubuntu 17.04 computer using the latest deb installer available. It seem to work fine, although I can't, obviously, select a device. I want to report the following bug: whenever I try to maximize the window it starts to blink, as the screenshot shows.

screenshot_astroeq_bug

Something similar happens if I try to resize the window horizontally. I know that the utility has been written in Processing 3, so it may be a Processing or ControlP5 lib bug (but I'm not a Processing developer, so I'm not able to debug it). java -version:

java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

Output of the Processing IDE:

No library found for processing.awt.PSurfaceAWT Starting AstroEQ Config Utility, V3.8.0 Time is 21:36:13 OS: Linux. JRE Version: 1.8.0_144. JRE Arch: amd64 Creating Window. Setting DPI Scaling to 1 Setting Window Size to: 510 x 520 Setting Frame Rate Creating Executioner thread Connecting to Clipboard Current Dir: /usr/share/doc/astroequploader/ 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=352 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 Board Version: AstroEQV4-DIYBoard(includingKits) Matched to firmware file: AstroEQV4-DIYBoard(includingKits).hex Initialising Serial Ports /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3 /dev/ttyS4 /dev/ttyS5 /dev/ttyS6 /dev/ttyS7 /dev/ttyS8 /dev/ttyS9 /dev/ttyS10 /dev/ttyS11 /dev/ttyS12 /dev/ttyS13 /dev/ttyS14 /dev/ttyS15 /dev/ttyS16 /dev/ttyS17 /dev/ttyS18 /dev/ttyS19 /dev/ttyS20 /dev/ttyS21 /dev/ttyS22 /dev/ttyS23 /dev/ttyS24 /dev/ttyS25 /dev/ttyS26 /dev/ttyS27 /dev/ttyS28 /dev/ttyS29 /dev/ttyS30 /dev/ttyS31 Matched to firmware file: AstroEQV4-DIYBoard(includingKits).hex JFW:524 JFWO:8 JFW:578 JFWO:8 JFW:667 JFWO:8 JFW:696 JFWO:8 JFW:696 JFWO:8 IB:520 JFH:730 JFHO:33 JFW:1374 JFWO:8 JFW:1374 JFWO:8

I hope this helps. Thanks, SquareBoot

P.S.: why don't you move the utility to Java, better if using a GUI builder like IntelliJ's one? As far as I know, it hasn't got similar bugs.

TCWORLD commented 7 years ago

Hi,

The utility isn't meant to be maximised, nor does it need to be. It's really not designed to be resized other than vertically. So the workaround is simply don't maximise the window.

It was written in a hurry some years ago to get away from having to use command line and excel spreadsheets for the configuration. Moreover it was intended for Windows, and then essentially tweaked and patched to get it to run natively on Linux. All of the code is in fact Java, it's just using processing libraries.

The whole thing is not well written and could use a complete overhaul, but given that it does what it needs to do which is to get the configuration on to the controller, it isn't worth the time it would take to completely redesign it.

The source is available, so you are more than welcome to have a go at building a better GUI (bearing in mind whatever is made must be compatible with Windows), and I can provide guidance as to the lower level parts if needed.

Kind Regards, Tom.

marcocipriani01 commented 7 years ago

Thanks for your reply! By the way, can the firmware be run on an Arduino Due instead of Mega 2560 without modifications? SquareBoot

TCWORLD commented 7 years ago

No, the Arduino Due is an entirely different architecture (ARM), and in no way supported. It would require a massive amount of low level assembly rewrite to support it.

marcocipriani01 commented 7 years ago

OK, thanks again. I'll close this report. SquareBoot