-
-
Notifications
You must be signed in to change notification settings - Fork 851
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable ASCOM on Qt6 #3887
Disable ASCOM on Qt6 #3887
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -514,7 +514,7 @@ \subsection{Abilities and limitations} | |
their powerful indoor PCs via RemoteDesktop or similar setups. Keep in mind that Stellarium | ||
is a graphics-heavy program that may challenge the outdoor computer's graphics subsystem or network. | ||
See framerate intent settings on page~\pageref{sec:gui:configuration:tools:fps} for optimizing your screen refresh rates. | ||
Better, run Stellarium on your indoor system and use INDI or ASCOM protocols. | ||
Better, run Stellarium on your indoor system and use INDI or ASCOM network protocols. | ||
|
||
\subsection{Using this plug-in} | ||
\label{sec:plugins:TelescopeControl:using} | ||
|
@@ -921,7 +921,7 @@ \subsection{INDI} | |
\item IOptron GotoNova Upgrade Kit 8400 | ||
\end{itemize} | ||
|
||
\subsection{ASCOM (Windows only)} | ||
\subsection{ASCOM (Windows and Qt5-based builds only)} | ||
\label{sec:plugins:TelescopeControl:ASCOM} | ||
|
||
\indexterm{ASCOM} \newFeature{0.19.3}is probably the most widely used | ||
|
@@ -933,7 +933,10 @@ \subsection{ASCOM (Windows only)} | |
and most of the astronomy software and tools can communicate with | ||
ASCOM compatible devices. | ||
|
||
The ASCOM telescope support has been added to Stellarium's Telescope Control plugin by Gion Kunz in version 0.19.3. | ||
The ASCOM telescope support has been added to Stellarium's Telescope Control plugin by Gion Kunz in version 0.19.3.\footnote{% | ||
Unfortunately ASCOM seems to be incompatible with Qt6. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not ASCOM, but "COM ASCOM" or "ASCOM COM". This is the name their official website uses for this Windows-specific interface (the other being Alpaca). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK. 20 years ago ASCOM was presented, the COM part of the name coming from Windows-specific COM. Maybe "traditional ASCOM". So far we do not mention Alpaca. |
||
Starting with version 24.3 ASCOM support is no longer available on Qt6-based builds. | ||
If you depend on ASCOM support, please use a Qt5-based build of the same version.} | ||
|
||
Note that in order for Stellarium to communicate with your ASCOM | ||
compatible mount, you will need to have the ASCOM platform installed | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,7 +40,11 @@ long long int GetNow(void) | |
qint64 t; | ||
} tmp; | ||
GetSystemTimeAsFileTime(&tmp.file_time); | ||
t = (tmp.t/10) - 86400000000LL*(369*365+89); // TODO: Explain this magic please! | ||
// convert from NT/NTFS time epoch (1601-01-01 0:00:00 UTC) in μs to UNIX epoch (1970-01-01 0:00:00 UTC) in μs. The difference is: | ||
// 24 hour/day × 3600 s/hour × ((369×365+89) day). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This misses the 106μs/s factor that I edited into the comment a few minutes after posting it. Without it you get a million times smaller number. |
||
// Here 369=1970-1601, and 89 is the number of leap years in the interval. | ||
// The division by 10 in the minuend is to convert from 100-nanosecond intervals to microseconds. | ||
t = (tmp.t/10) - 86400000000LL*(369*365+89); | ||
#else | ||
struct timeval tv; | ||
gettimeofday(&tv, 0); | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,7 +26,7 @@ | |
#include "TelescopeControl.hpp" | ||
#include "ui_telescopeConfigurationDialog.h" | ||
|
||
#ifdef Q_OS_WIN | ||
#if defined(Q_OS_WIN) && QT_VERSION<QT_VERSION_CHECK(6,0,0) | ||
#include "../common/ASCOMSupport.hpp" | ||
#endif | ||
|
||
|
@@ -132,7 +132,7 @@ void TelescopeConfigurationDialog::createDialogContent() | |
ui->setupUi(dialog); | ||
|
||
// ASCOM Telescope client widget needs to be dynamically added in order to make use of preprocessors to exclude for non-windows | ||
#ifdef Q_OS_WIN | ||
#if defined(Q_OS_WIN) && QT_VERSION<QT_VERSION_CHECK(6,0,0) | ||
ascomWidget = new TelescopeClientASCOMWidget(ui->scrollAreaWidgetContents); | ||
ui->ASCOMLayout->addWidget(ascomWidget); | ||
|
||
|
@@ -155,7 +155,12 @@ void TelescopeConfigurationDialog::createDialogContent() | |
connect(ui->radioButtonTelescopeRTS2, SIGNAL(toggled(bool)), this, SLOT(toggleTypeRTS2(bool))); | ||
connect(ui->radioButtonTelescopeINDI, SIGNAL(toggled(bool)), this, SLOT(toggleTypeINDI(bool))); | ||
#ifdef Q_OS_WIN | ||
connect(ui->radioButtonTelescopeASCOM, SIGNAL(toggled(bool)), this, SLOT(toggleTypeASCOM(bool))); | ||
#if (QT_VERSION>=QT_VERSION_CHECK(6,0,0)) | ||
ui->radioButtonTelescopeASCOM->setToolTip(q_("Disabled due to apparent incompatibility. Please use Qt5-based build.")); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Use Qt5-based build" is a very cryptic advice for people far from software development. At the very least it should be "Use the Qt5-based build of Stellarium". Maybe even "Use the Qt5 build of Stellarium (the one for Windows 7+)" or something like this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How large shall tooltips get? Are hyperlinks to the download allowed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hyperlinks will not work in tooltips There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The tooltips can have line breaks, which will reduce their horizontal size. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is always room for improvement... |
||
ui->radioButtonTelescopeASCOM->setDisabled(true); | ||
#else | ||
connect(ui->radioButtonTelescopeASCOM, SIGNAL(toggled(bool)), this, SLOT(toggleTypeASCOM(bool))); | ||
#endif | ||
#else | ||
ui->radioButtonTelescopeASCOM->hide(); | ||
#endif | ||
|
@@ -193,7 +198,7 @@ void TelescopeConfigurationDialog::initConfigurationDialog() | |
ui->groupBoxDeviceSettings->hide(); | ||
ui->groupBoxRTS2Settings->hide(); | ||
ui->INDIProperties->hide(); | ||
#ifdef Q_OS_WIN | ||
#if defined(Q_OS_WIN) && QT_VERSION<QT_VERSION_CHECK(6,0,0) | ||
ascomWidget->hide(); | ||
#endif | ||
|
||
|
@@ -347,7 +352,7 @@ void TelescopeConfigurationDialog::initExistingTelescopeConfiguration(int slot) | |
ui->INDIProperties->setPort(portTCP); | ||
ui->INDIProperties->setSelectedDevice(deviceModelName); | ||
} | ||
#ifdef Q_OS_WIN | ||
#if defined(Q_OS_WIN) && QT_VERSION<QT_VERSION_CHECK(6,0,0) | ||
else if (connectionType == TelescopeControl::ConnectionASCOM) | ||
{ | ||
ui->radioButtonTelescopeASCOM->setChecked(true); | ||
|
@@ -456,7 +461,7 @@ void TelescopeConfigurationDialog::toggleTypeINDI(bool enabled) | |
ui->INDIProperties->setVisible(enabled); | ||
} | ||
|
||
#ifdef Q_OS_WIN | ||
#if defined(Q_OS_WIN) && QT_VERSION<QT_VERSION_CHECK(6,0,0) | ||
void TelescopeConfigurationDialog::toggleTypeASCOM(bool enabled) | ||
{ | ||
ascomWidget->setVisible(enabled); | ||
|
@@ -545,7 +550,7 @@ void TelescopeConfigurationDialog::buttonSavePressed() | |
telescopeManager->addTelescopeAtSlot(configuredSlot, type, name, equinox, ui->INDIProperties->host(), | ||
ui->INDIProperties->port(), delay, connectAtStartup, circles, ui->INDIProperties->selectedDevice()); | ||
} | ||
#ifdef Q_OS_WIN | ||
#if defined(Q_OS_WIN) && QT_VERSION<QT_VERSION_CHECK(6,0,0) | ||
else if (ui->radioButtonTelescopeASCOM->isChecked()) | ||
{ | ||
type = TelescopeControl::ConnectionASCOM; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without "and" it will be less ambiguous.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a simple Boolean "and". I can live with a comma instead.