openastrotech / openastrotracker-desktop Goto Github PK
View Code? Open in Web Editor NEWSoftware related to the OAT used in Desktop environments
Software related to the OAT used in Desktop environments
When tracking is disabled on the interface (either with the toggle or by using the arrow interface) if a stepper is not directly being driven it becomes unpowered, which can cause the relevant axis to move and lose steps.
Running OATControl V0.9.9.16 connected to firmware on addfa0f
Connection dialog says: 'Sync'd!', then 'Retrieving current location' and then it just crashes. Logs don't have anything useful:
[00:00:00.006] [01]: *********************************
[00:00:00.006] [01]: * OatControl *
[00:00:00.006] [01]: *********************************
[00:00:00.006] [01]: * Started : 2021-01-24 23:39:04 *
[00:00:00.006] [01]: * User : -------------------- *
[00:00:00.006] [01]: *********************************
[00:00:00.058] [01]: Mount: Initialization starting...
[00:00:00.058] [01]: COMMFACTORY: Device Discovery initiated.
[00:00:00.058] [01]: COMMFACTORY: Checking Serial ports....
[00:00:00.058] [01]: COMMFACTORY: Found Serial port [COM7]
[00:00:00.058] [01]: COMMFACTORY: Found Serial port [COM5]
[00:00:00.058] [01]: COMMFACTORY: Starting Wifi search by Broadcastign OAT on port 4031
[00:00:00.063] [01]: Mount: Device discovery started...
[00:00:00.064] [01]: Mount: Attempting to read Point of Interest from C:\----------\OATControl_V0.9.9.16\PointsOfInterest.xml...
[00:00:00.065] [01]: Mount: Successfully read 21 Points of Interest.
[00:00:00.066] [01]: Mount: Initialization of OATControl 0.9.9.16 complete...
[00:00:01.328] [01]: Mount: Connect to OAT requested
[00:00:01.400] [01]: Mount: Showing OAT comms Chooser Wizard
[00:00:06.596] [01]: COMMFACTORY: Attempting to connect to device Serial : COM5...
[00:00:06.596] [01]: COMMFACTORY: Creating Serial handler on COM5 at 57600 baud...
[00:00:06.597] [01]: Mount: Request OAT Firmware version
[00:00:06.601] [01]: SERIAL: Port COM5 is not open, attempting to open...
[00:00:07.355] [01]: SERIAL: Port is open, sending initial [:I#] command..
[00:00:07.356] [01]: [0002] SERIAL: [:GVP#] Sending command
[00:00:07.356] [01]: [0002] SERIAL: [:GVP#] Expecting #-delimited response for Command, waiting...
[00:00:07.366] [01]: [0002] SERIAL: [:GVP#] Received response 'OpenAstroTracker' for command
[00:00:07.366] [01]: Mount: Connected to OAT. Requesting firmware version..
[00:00:07.366] [01]: [0003] SERIAL: [:GVN#] Sending command
[00:00:07.366] [01]: [0003] SERIAL: [:GVN#] Expecting #-delimited response for Command, waiting...
[00:00:07.374] [01]: [0003] SERIAL: [:GVN#] Received response 'V1.8.65' for command
[00:00:07.374] [01]: [0004] SERIAL: [:XGM#] Sending command
[00:00:07.374] [01]: [0004] SERIAL: [:XGM#] Expecting #-delimited response for Command, waiting...
[00:00:07.394] [01]: [0004] SERIAL: [:XGM#] Received response 'Mega,NEMA|16|400,NEMA|16|400,GPS,NO_AZ_ALT,NO_GYRO,NO_LCD,' for command
[00:00:07.394] [01]: Mount: Hardware is OATCommunications.CommunicationHandlers.CommandResponse
[00:00:07.660] [01]: [0005] SERIAL: [:gT100#] Sending command
[00:00:07.661] [01]: [0005] SERIAL: [:gT100#] Expecting single digit response for command, waiting...
[00:00:07.763] [01]: [0005] SERIAL: [:gT100#] Received single digit response '0' for command
[00:00:08.065] [01]: [0006] SERIAL: [:gT100#] Sending command
[00:00:08.065] [01]: [0006] SERIAL: [:gT100#] Expecting single digit response for command, waiting...
[00:00:08.173] [01]: [0006] SERIAL: [:gT100#] Received single digit response '0' for command
[00:00:08.449] [01]: [0007] SERIAL: [:gT100#] Sending command
[00:00:08.449] [01]: [0007] SERIAL: [:gT100#] Expecting single digit response for command, waiting...
According to the documentation https://wiki.openastrotech.com/en/Knowledge/Software/OpenAstroTracker/OATControl one should be able to pickup any OATscope on WiFi. This does not appear to work and there is no other documentation on how to debug this.
I have compiled OAT for ESP32 and have had it both in infrastructure mode and AP mode and BOTH do not work with OAT-Desktop, even if I am connected on the same wifi network. Is there some addtional information on this feature?
OAT-Desktop version: 1.1.1.0
ESP32 OAT firmware: 1.13.1
The exact procedure leading to error:
Just revisited this issue recently, but I'm not sure a straightforward fix is possible. The main issue is that the DEC components are stored individually, so there's no way of differentiating 0.xx and -0.xx. This means that any DEC value between 0 and -1 will always be buggy, even if it can be fixed for -1 to -90. To be clear, the issue is that for negative DEC/latitudes, the minute and second components should be subtracted, and not added to the degrees.
I'm not sure how you want to go forward with this, if maybe storing DEC degree as a string is OK, or some other solution. Personally I would prefer having a single entry field instead of three boxes, but perhaps that is too much work.
When attempting to update the site information via N.I.N.A. or with Ascom GPS the mount does not accept the changes. NINA responds with an error, Ascom GPS does not have any feedback, but the information does not change. Attached logs from NINA showing errors, and from ASCOM logs showing where I tried to set it with ascom gps.
20240119-082706-3.0.0.2006.14944-202401.log
ASCOM.OpenAstroTracker.LocalServer.1026.466780.txt
Add a "STOP" button to the mini window - see example photo. This is especially useful for someone like me that uses AHK to keep the mini window on top while running something like stellarium to control the slewing of the OAT. If for some reason the OAT runs into an issue and starts skipping the belt or something, the STOP button can be pressed to cease all movement of the OAT.
[Hello,]
Using OATControl v0.9.9.16 (also tried v0.9.9.15) with firmware v1.8.64 and ASCOM driver v0.3.0.0. After successful connection on COM4, OATControl shows active GYRO, then upon successful GPS sync message ("SYNC'd. Receiving current location") the app immediately crashes with no error message. I am not sure where to investigate an error log. However, I used the new OATComTester and it seems to show successful connection. I have tried on two different PCs, same result. I know the MEGA has GPS, as if I plug into power, it will sync with 7+ SATs and set the correct HA (indicated with blinking GPS).
I am trying to determine under what conditions the following settings are active:
Under numerous tests I simply cannot get any of these settings to actually work.
My Configuration:
MKS 1.21 with 3 Triminiac 2209 V3.0 with UART configuration. (works flawlessly). Requires special diagonal jumper.
Firmware version V1.13.5 (latest!)
OAT 3D printed with aluminium base and modified RA and DEC mounts with belt tensioners
1.8 NEMA 17 steppers for RA and DEC,
MPU4050 and GPS
RA and DEC Hall sensors for auto-homing
DF Robot LCD (16x2) Display with keypad
modified 28BYJ-48 stepper for DIY focuser
Pi4 8GB
Bookworm OS
running latest INDI drivers (including OpenAstroTeck Mount, and LibCamera)
Minicom and Python scripts to talk to the MKS for manual adjustments
5Ghz WiFi
Pi HQ camera mounted on custom Newtonion scope (LibCamera)
Windows 11 PC running latest version of Kstars and EKOS and connected via 5 Ghz WiFi to Pi4
In Configuration_local.hpp I have set DEC and RA limits. I have also defined autohoming
// Define limits for RA...
#define RA_LIMIT_LEFT 5.5f
#define RA_LIMIT_RIGHT 6.5f
#define RA_TRACKING_LIMIT 6.75f // can't quite get to 7h...
// Define DEC limits
#define DEC_LIMIT_UP 90 // degrees from Home
#define DEC_LIMIT_DOWN 60 // degrees from Home
// Auto Homing addons
#define USE_HALL_SENSOR_RA_AUTOHOME 1
#define RA_HOMING_SENSOR_SEARCH_DEGREES 30
#define RA_HOMING_SENSOR_ACTIVE_STATE HIGH
#define USE_HALL_SENSOR_DEC_AUTOHOME 1
#define DEC_HOMING_SENSOR_SEARCH_DEGREES 60
#define DEC_HOMING_SENSOR_ACTIVE_STATE HIGH
I have determined that the RA and DEC limits are HARD limits, regardless of any settings in the auto-homing section.
I am attempting to be able to autohome my OAT without being physically near it. Reset always causes my camera/telescope to point straight up due to the weight of the camera/telescope, thus the need to autohoming.
So which settings have precedence? Configuration_local? How does one change RA/DEC start directions then?
I have included a photo of the particular hall sensor I am using for debugging. It includes a sensitivity adjustment was well as a power LED and a HIGH/LOW sensor output LED... useful for debugging. The sensors and magnets are temporarily held in place with double stick foam tape.
Here are the settings in OATCONTROL
I'm trying to use OATControl against my newly built OAT, using an MKS Gen L v2.1 board with two MEMA 17 0.9º steppers connected. In OATControl I press Connect which leads me to Available Connections, where the option ASCOM:OpenAstroTracker appears. The Setup button works fine but when I click the connection option, followed by Next, I get the message Connecting to OAT on ASCOM:OpenAstroTracker and then nothing more happens. The Cancel button still works, where I can display the log files. Each of these actions generate a new exception report as shown below:
[00:00:00.256] [01]: Mount: Initialization starting...
[00:00:00.256] [01]: Mount: Initializing communication handler factory...
[00:00:00.256] [01]: Mount: Checking whether ASCOM driver is present...
[00:00:00.256] [01]: Mount: Loading ASCOM driver ...
[00:00:00.303] [01]: Mount: ASCOM driver successfully added...
[00:00:00.303] [01]: Mount: Initiating communication device discovery...
[00:00:00.303] [01]: COMMFACTORY: Device Discovery initiated.
[00:00:00.303] [01]: SERIAL: Checking Serial ports....
[00:00:00.303] [01]: SERIAL: Found Serial port [COM3]
[00:00:00.303] [01]: COMMFACTORY: Device found: Serial: COM3
[00:00:00.303] [01]: COMMFACTORY: Device found: ASCOM: OpenAstroTracker
[00:00:00.303] [01]: Mount: Device discovery started...
[00:00:00.318] [01]: Mount: Attempting to read Point of Interest from C:\Program Files (x86)\OATControl\PointsOfInterest.xml...
[00:00:00.334] [01]: Mount: Successfully read 37 Points of Interest.
[00:00:00.334] [01]: Mount: Initialization of OATControl 1.0.2.4 complete...
[00:00:05.408] [01]: Mount: Connect to OAT requested
[00:00:05.470] [01]: Mount: Showing OAT comms Chooser Wizard
[00:00:05.528] [05]: COMMFACTORY: Device Discovery initiated.
[00:00:05.528] [05]: SERIAL: Checking Serial ports....
[00:00:05.528] [05]: SERIAL: Found Serial port [COM3]
[00:00:05.528] [05]: COMMFACTORY: Device found: Serial: COM3
[00:00:05.543] [05]: COMMFACTORY: Device found: ASCOM: OpenAstroTracker
[00:00:11.203] [01]: COMMFACTORY: Attempting to connect to device ASCOM: OpenAstroTracker@19200...
[00:00:11.312] [01]: COMMFACTORY: Creating ASCOM handler for OpenAstroTracker ...
[00:00:12.257] [01]: COMMFACTORY: ASCOM handler supported action: Telescope:getFirmwareVer ...
[00:00:12.257] [01]: COMMFACTORY: ASCOM handler supported action: Utility:JNowtoJ2000 ...
[00:00:12.257] [01]: COMMFACTORY: ASCOM handler supported action: Serial:PassThroughCommand ...
[00:00:12.304] [01]: EXCPTN: Entered AppDispatcherUnhandledException handler.
Exception:
ASCOM.DriverException: CheckDotNetExceptions ASCOM.OpenAstroTracker.Telescope Action System.IndexOutOfRangeException: Índice fuera de los límites de la matriz. (See Inner Exception for details) ---> System.IndexOutOfRangeException: Índice fuera de los límites de la matriz.
--- Fin del seguimiento de la pila de la excepción interna ---
en ASCOM.DriverAccess.MemberFactory.CheckDotNetExceptions(String memberName, Exception e) en C:\ASCOM Build\Export\ASCOM.DriverAccess\MemberFactory.cs:línea 629
en ASCOM.DriverAccess.MemberFactory.MethodTargetInvocationExceptionHandler(String memberName, Exception e) en C:\ASCOM Build\Export\ASCOM.DriverAccess\MemberFactory.cs:línea 677
en ASCOM.DriverAccess.MemberFactory.CallMember(Int32 memberCode, String memberName, Type[] parameterTypes, Object[] parms) en C:\ASCOM Build\Export\ASCOM.DriverAccess\MemberFactory.cs:línea 486
en ASCOM.DriverAccess.AscomDriver.Action(String ActionName, String ActionParameters) en C:\ASCOM Build\Export\ASCOM.DriverAccess\AscomDriver.cs:línea 399
en OATCommunications.CommunicationHandlers.ASCOMCommunicationHandler..ctor(String device)
en OATCommunications.CommunicationHandlers.ASCOMCommunicationHandler.CreateHandler(String device)
en OATCommunications.WPF.CommunicationHandlers.CommunicationHandlerFactory.ConnectToDevice(String device)
en OATControl.ViewModels.MountVM.d__192.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
en System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
en OATControl.DlgChooseOat.d__89.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
en System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
en System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
en System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Stacktrace:
en ASCOM.DriverAccess.MemberFactory.CheckDotNetExceptions(String memberName, Exception e) en C:\ASCOM Build\Export\ASCOM.DriverAccess\MemberFactory.cs:línea 629
en ASCOM.DriverAccess.MemberFactory.MethodTargetInvocationExceptionHandler(String memberName, Exception e) en C:\ASCOM Build\Export\ASCOM.DriverAccess\MemberFactory.cs:línea 677
en ASCOM.DriverAccess.MemberFactory.CallMember(Int32 memberCode, String memberName, Type[] parameterTypes, Object[] parms) en C:\ASCOM Build\Export\ASCOM.DriverAccess\MemberFactory.cs:línea 486
en ASCOM.DriverAccess.AscomDriver.Action(String ActionName, String ActionParameters) en C:\ASCOM Build\Export\ASCOM.DriverAccess\AscomDriver.cs:línea 399
en OATCommunications.CommunicationHandlers.ASCOMCommunicationHandler..ctor(String device)
en OATCommunications.CommunicationHandlers.ASCOMCommunicationHandler.CreateHandler(String device)
en OATCommunications.WPF.CommunicationHandlers.CommunicationHandlerFactory.ConnectToDevice(String device)
en OATControl.ViewModels.MountVM.d__192.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
en System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
en OATControl.DlgChooseOat.d__89.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
en System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
en System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
en System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[00:00:12.304] [01]: Shutdown logging. Maximum of 28 lines buffered.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.