synfinatic / alpacascope Goto Github PK
View Code? Open in Web Editor NEWASCOM/Alpaca to Telescope Protocol Gateway
License: GNU General Public License v3.0
ASCOM/Alpaca to Telescope Protocol Gateway
License: GNU General Public License v3.0
Right now we connect to the first Alpaca server that responds. In more complicated environments, we should support a chooser? Probably low priority since I doubt many people need this?
dunno if this is possible?
https://github.com/x1unix/docker-go-mingw
Seems like Stellarium and others? don't support connecting to telescopes over TCP/IP, but do over serial devices. If AlpacaScope presented itself as a serial device then they could talk to a remote telescope over Alpaca.
At least one person would like that: https://www.cloudynights.com/topic/797780-stellarium-macos-to-ascomalpaca/
Not sure what is going on, but SN8 Pro doesn't seem to work with LX200 at all.
Happens from SkySafari with Nexstar with "set date/location" feature enabled.
./dist/alpacascope-0.0.6-darwin-amd64
INFO[0000] Looking for Alpaca Remote Server locally on port 11111...
INFO[0000] No local Alpaca Remote Servers found
INFO[0000] Discovered Alpaca Server on 172.16.1.115:11111
INFO[0000] Starting SkyFi Discovery service on UDP/4031
INFO[0000] Connected to telescope 0: CPWI_ASCOM_Telescope
INFO[0000] Waiting for nexstar clients on 0.0.0.0:4030
ERRO[0033] Error talking to scope: 1024: Property write UTCDate is not implemented in this driver.
panic: runtime error: index out of range [7] with length 7
goroutine 21 [running]:
main.NexstarToLatLong(...)
/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/nexstar.go:313
main.nexstar_command(0xc00000e6a0, 0x9, 0xc0000b3000, 0x400, 0x400, 0x0, 0x0, 0x8)
/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/nexstar.go:175 +0x1813
main.handleNexstar(0x13ef500, 0xc00009c070, 0xc00000e6a0)
/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/nexstar.go:24 +0x14c
created by main.main
/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/main.go:170 +0xb05
I may be off on this. Sidereal tracking may be turned on and off via PUT /telescope/{device_number}/tracking, see the Telescope Specific Methods. Not all mounts support PUT (turning it on and off). To find out check the value of GET /telescope/{device_number}/cansettracking.
If you try to slew the scope and sidereal tracking is off, many mounts report that they cannot be slewed to RA/Dec (slewtocoordinatessync).
SkySafari can auto-discover a SkyFi on the network but not sure how that works. Probably some kind of UDP broadcast protocol. Maybe I can emulate that? I don't have a SkyFi so not sure what the response is supposed to look like though- maybe I can find someone on CloudyNights to help?
Need gcc. best option seems TDM GCC: https://jmeubank.github.io/tdm-gcc/articles/2021-05/10.3.0-release
If you enable setting time/location in SkySafari on Mac/iPad with LX200 Classic mode, there is a ~30sec delay introduced by SkySafari after AlpacaScope sends the reply. I think this is a SkySafari bug, but I could be doing something wrong?
Anyways, this issue doesn't happen with LX200 GPS mode, so users should avoid Classic for now.
udp/32227
AlpacaScope should report which version it is on startup. Right now there is no way to tell what version you have installed!
Use the storage API or something to store config settings: https://developer.fyne.io/api/v2.0/storage/
Honestly, not sure what the best way to do this with Go in Windows. Typically we'd use the registry? Something like this perhaps: https://pkg.go.dev/golang.org/x/sys/windows/registry
keep forgetting people don't understand how any of this ascom stuff actually works. need a step by step how to with pretty pics
Looks like some mounts (ASCOM telescope simulator for example) 'park' the mount which means it can't move. In theory, we should offer up an auto-unpark mount feature? Honestly, this might be better done via the web ui.
There are several unsupported commands that are continuously spamming the CLI. These commands are emitted by Stellarium Mobile. It does not seem like Stellarium Mobile is able to sync the telescope or set the location without knowing the alignment state. Furthermore, Stellarium Mobile will occasionally query the current telescope time.
The two unimplemented commands are:
This should return the time in the same format as the "H" command handled at https://github.com/synfinatic/alpacascope/blob/main/telescope/nexstar.go#L219
Should return 1
if the alignment is complete. For the sake of compatibility, this should return 1
if the alignment state is unknown.
Details of these commands may be found in the NexStar protocol document found here: https://s3.amazonaws.com/celestron-site-support-files/support_files/1154108406_nexstarcommprot.pdf
In theory computers should be able to use NTP to set time which should be very accurate, but the GPS in the iPad/etc is also very good. Not sure if Alpaca allows setting time?
Feature Request:
For those using headless setups, like a NUC or stick, the option to have "Launch AlpacaScope Services" auto start would eliminate the need to RDP into the NUC/stick to click the launch button.
Something along the lines of a checkbox that automates the following;
IF: Alpaca Server detected
THEN: Start AlpacaScope Services
Reason for request:
Ease of use in headless setups for children and neophytes.
Streamlining setup for public outreach situations.
As per our discussion on Cloudy Nights:
https://www.cloudynights.com/topic/781333-alpacascope-v200-release-now-with-a-gui/?p=12077071
Thank you
When SkySafari issues a "stop" it disables tracking and many scopes won't accept goto commands when tracking is turned off.
DEBU[0013]/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/lx200.go:74 main.lx200_command() Received 10 bytes [:St+37*17#]: : 83 116 43 51 55 42 49 55 35
DEBU[0013]/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/lx200.go:108 main.lx200_command() Consumed 10 of 10 bytes in buffer
ERRO[0013]/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/lx200.go:397 main.lx200_command() Unsupported command: ':St+37*17#'
DEBU[0013]/Users/aturner/go/src/github.com/synfinatic/alpacascope/cmd/lx200.go:46 main.handleLX200Conn() command ':St+37*17#' returned a zero length reply
If people want to reset the saved settings to default it should be a two step process:
not just "reset"
Apparently Go has a cross-platform GUI toolkit: https://fyne.io
And of course there are Web Toolkits available: github.com/labstack/echo
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.