Киевский клуб любителей астрономии "Астрополис"

astromagazin.net
* *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
16 Декабря 2017, 15:01:32


Автор Тема: Нужна помощь программиста под win32  (Прочитано 1808 раз)

0 Пользователей и 1 Гость просматривают эту тему.

algon

  • Оффлайн Оффлайн
  • Сообщений: 410
  • Благодарностей: 22
    • Astroshop.ua
Нужна помощь программиста под win32
« : 04 Мая 2009, 22:13:56 »
. - .

привет!

кто-то может написать небольшую утилиту, которую можно будет запускать с консоли и которая будет парковать через  ASCOM либо все подключенные телескопы или заранее выбранный (что проще?)

Записан
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, EQ6, AZ-EQ5 GT SynScan, Star Adventurer, WO Eazy Touch, QHY2Pro, Orion SSDSpro, Orion SSAG, Meade DSI Pro.
astroshop.ua

Freedeniz

  • Модератор
  • Оффлайн Оффлайн
  • Сообщений: 5071
  • Благодарностей: 117
  • с ув.Денис
Re: Нужна помощь программиста под win32
« Ответ #1 : 04 Мая 2009, 23:07:42 »
. - .

Поясните, что значит парковать?..желательно тех задание поподробней описать.
Записан
"АстроНик" 46 58' Сш 31 58' Вд

Lisnyk

  • Оффлайн Оффлайн
  • Сообщений: 313
  • Благодарностей: 0
Re: Нужна помощь программиста под win32
« Ответ #2 : 04 Мая 2009, 23:32:32 »
. - .

Паркування - переміщення монтування телескопа у певну визначену позицію, наприклад на Полярну, перед її вимкненням. Після повторного вмикання монтування не потрібно знову здійснювати її налаштування... :clever:
Записан
SW BK127, SW AZ3, Philips ToUcam PCVC 840K

algon

  • Оффлайн Оффлайн
  • Сообщений: 410
  • Благодарностей: 22
    • Astroshop.ua
Re: Нужна помощь программиста под win32
« Ответ #3 : 04 Мая 2009, 23:37:18 »
. - .

Поясните, что значит парковать?..желательно тех задание поподробней описать.

даже не знаю как можно подробнее написать

создать объект Telescope для подключенной к компу монтировке
выполнить для него Park();
выход

если будет "час та надхнення" то корректно закрыть аскомовские камеры. но это не обязательно.

цель: при отключении 220в комп достнимет последний кадр и корректно все закроет. при включении привязка по звездам уже будет не нужна.
« Последнее редактирование: 04 Мая 2009, 23:43:42 от algon »
Записан
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, EQ6, AZ-EQ5 GT SynScan, Star Adventurer, WO Eazy Touch, QHY2Pro, Orion SSDSpro, Orion SSAG, Meade DSI Pro.
astroshop.ua

Uterr

  • Оффлайн Оффлайн
  • Сообщений: 138
  • Благодарностей: 0
Re: Нужна помощь программиста под win32
« Ответ #4 : 05 Мая 2009, 08:25:00 »
. - .

а как вообще можно запарковать телескоп, если не мы его распарковывали и управляли им? у телескопа, точнее у монтировки, энкодера же нету.. тоесть мы не знаем в каком положении телескоп, когда включаем нашу утилиту для парковки

но я могу и путать  ::)
Записан

tlgleonid

  • Клуб Астрополис, Модератор
  • Оффлайн Оффлайн
  • Сообщений: 6618
  • Благодарностей: 404
Re: Нужна помощь программиста под win32
« Ответ #5 : 05 Мая 2009, 09:00:23 »
. - .

Насколько я понял, все данные о координатах имеет аском. Так что написание програмки при наличии монтировки для тестирования, не очень сложная задача.
Записан
Задокументировано наблюдение  >1500 Deepsky объектов.
ТАЛ75R, GSO 6" 1:4 +HEQ5Pro SynScan+Canon1000D+QHY6+фильтры R,V+Юпитер21М+QHY5, 265мм и 415 мм Добсоны HandMade+o3+hb+uhc+...
FAQ по любительской астрономии

algon

  • Оффлайн Оффлайн
  • Сообщений: 410
  • Благодарностей: 22
    • Astroshop.ua
Re: Нужна помощь программиста под win32
« Ответ #6 : 05 Мая 2009, 09:03:09 »
. - .

Насколько я понял, все данные о координатах имеет аском. Так что написание програмки при наличии монтировки для тестирования, не очень сложная задача.

по координатам - именно так.
монтировка не нужна. с аскомом идет эмулятор.
Записан
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, EQ6, AZ-EQ5 GT SynScan, Star Adventurer, WO Eazy Touch, QHY2Pro, Orion SSDSpro, Orion SSAG, Meade DSI Pro.
astroshop.ua


Shadow

  • Оффлайн Оффлайн
  • Сообщений: 3799
  • Благодарностей: 132
    • Lenses
Re: Нужна помощь программиста под win32
« Ответ #7 : 05 Мая 2009, 09:10:41 »
. - .

привет!
могу  сделать на delphi либо на Visual C++
надо только более развернутое ТЗ и API ASCOM-а ..

algon

  • Оффлайн Оффлайн
  • Сообщений: 410
  • Благодарностей: 22
    • Astroshop.ua
Re: Нужна помощь программиста под win32
« Ответ #8 : 05 Мая 2009, 10:23:28 »
. - .

привет!
могу  сделать на delphi либо на Visual C++
надо только более развернутое ТЗ и API ASCOM-а ..

API
http://ascom-standards.org/Standards/Index.htm

ТЗ
утилита, выполняемая с коммандной строки. не приложение с окнами!!!!

запускаемся;
находим активный телескоп (или настраиваем что будем отключать, любой вариант. что проще);
делаем ему Park();
закрываем соединение;
выходим;
Записан
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, EQ6, AZ-EQ5 GT SynScan, Star Adventurer, WO Eazy Touch, QHY2Pro, Orion SSDSpro, Orion SSAG, Meade DSI Pro.
astroshop.ua

tlgleonid

  • Клуб Астрополис, Модератор
  • Оффлайн Оффлайн
  • Сообщений: 6618
  • Благодарностей: 404
Re: Нужна помощь программиста под win32
« Ответ #9 : 05 Мая 2009, 10:44:44 »
. - .

Я так понимаю, что нужно взять вот этот визуабэйсиковский фрагмент из EQMOD и реализовать его на нормальном языке: ??? (Во вложении хедер к библиотеке с функциями драйвера и dll эмулятора)
Как все будет работать с настоящим драйвером, я не знаю.

Public Sub ParkHome()
    Dim currentdecpos As Double
    Dim currentrapos As Double
    Dim i As Long
    Dim j As Long

    HC.TrackingFrame.Caption = HC.oLangDll.GetLangString(121) & " " & HC.oLangDll.GetLangString(178)
    gEQparkstatus = 2

    ' Save Alignment if required
    Call StarEditform.AligmentStarsPark

    PEC_StopTracking

    eqres = EQ_MotorStop(0)          ' Stop RA Motor
    If eqres <> EQ_OK Then
            GoTo Endhome
    End If
    eqres = EQ_MotorStop(1)          ' Stop DEC Motor
    If eqres <> EQ_OK Then
            GoTo Endhome
    End If

    'Wait until RA motor is stable

    Do
       eqres = EQ_GetMotorStatus(0)
       If (eqres = EQ_NOTINITIALIZED) Or (eqres = EQ_COMNOTOPEN) Or (eqres = EQ_COMTIMEOUT) Then
            GoTo Endhome
       End If
    Loop While (eqres And EQ_MOTORBUSY) <> 0
   
    'Wait until DEC motor is stable

    Do
       eqres = EQ_GetMotorStatus(1)
       If (eqres = EQ_NOTINITIALIZED) Or (eqres = EQ_COMNOTOPEN) Or (eqres = EQ_COMTIMEOUT) Then
            GoTo Endhome
       End If
    Loop While (eqres And EQ_MOTORBUSY) <> 0
   
    'Read Motor Values
   
'    currentrapos = Delta_RA_Map(EQ_GetMotorValues(0))
'    currentdecpos = Delta_DEC_Map(EQ_GetMotorValues(1))

    gTrackingStatus = 0
   
    currentrapos = EQ_GetMotorValues(0)
    currentdecpos = EQ_GetMotorValues(1)
   
    gRAEncoderlastpos = currentrapos
    gDECEncoderlastpos = currentdecpos
   
    writelastpos   ' Save current position
   
    gRAEncoderUNPark = RAEncoder_Home_pos
    gDECEncoderUNPark = gDECEncoder_Home_pos
   
    writeUnpark
   
    i = Abs(currentrapos - RAEncoder_Home_pos)
    j = Abs(currentdecpos - gDECEncoder_Home_pos)
   
    ' Slew Both motors to the home position
   
    If i <> 0 Then
        If currentrapos < RAEncoder_Home_pos Then
            eqres = EQ_StartMoveMotor(0, 0, 0, i, GetSlowdown(i))
        Else
            eqres = EQ_StartMoveMotor(0, 0, 1, i, GetSlowdown(i))
        End If
    End If
   
    If j <> 0 Then
        If currentdecpos < gDECEncoder_Home_pos Then
            eqres = EQ_StartMoveMotor(1, 0, 0, j, GetSlowdown(j))
        Else
            eqres = EQ_StartMoveMotor(1, 0, 1, j, GetSlowdown(j))
        End If
    End If

   
    HC.Add_Message (HC.oLangDll.GetLangString(5035))
    HC.ParkTimer.Enabled = True
    ' No need to wait at this point - return control to main routine
   
    HC.Frame15.Caption = HC.oLangDll.GetLangString(146) & " " & HC.oLangDll.GetLangString(50)
    Call writeRAlimit
    Call SetParkCaption

Endhome:

End Sub
Записан
Задокументировано наблюдение  >1500 Deepsky объектов.
ТАЛ75R, GSO 6" 1:4 +HEQ5Pro SynScan+Canon1000D+QHY6+фильтры R,V+Юпитер21М+QHY5, 265мм и 415 мм Добсоны HandMade+o3+hb+uhc+...
FAQ по любительской астрономии

LifeIsGood

  • Клуб Астрополис, Модератор
  • Онлайн Онлайн
  • Сообщений: 4955
  • Благодарностей: 261
Re: Нужна помощь программиста под win32
« Ответ #10 : 05 Мая 2009, 11:23:06 »
. - .

Леня, все намного проще. VB Script для этого дела вполне достаточно, а он есть на любой Win32 машине. Другой вопрос как получить доступ к уже активному телескопу минуя POTH. Это может быть невозможно :(
Записан

algon

  • Оффлайн Оффлайн
  • Сообщений: 410
  • Благодарностей: 22
    • Astroshop.ua
Re: Нужна помощь программиста под win32
« Ответ #11 : 05 Мая 2009, 11:40:52 »
. - .

Да там есть метод Park(). По идее он знает куда надо повернуть телескоп. Этого должно быть достаточно.

Basic в любой реинкарнации не хочется...
Записан
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, EQ6, AZ-EQ5 GT SynScan, Star Adventurer, WO Eazy Touch, QHY2Pro, Orion SSDSpro, Orion SSAG, Meade DSI Pro.
astroshop.ua

tlgleonid

  • Клуб Астрополис, Модератор
  • Оффлайн Оффлайн
  • Сообщений: 6618
  • Благодарностей: 404
Re: Нужна помощь программиста под win32
« Ответ #12 : 05 Мая 2009, 11:56:17 »
. - .

Метод Park() я видел, но почему-то в EQMOD он не используется.
Записан
Задокументировано наблюдение  >1500 Deepsky объектов.
ТАЛ75R, GSO 6" 1:4 +HEQ5Pro SynScan+Canon1000D+QHY6+фильтры R,V+Юпитер21М+QHY5, 265мм и 415 мм Добсоны HandMade+o3+hb+uhc+...
FAQ по любительской астрономии

Thomas

  • Оффлайн Оффлайн
  • Сообщений: 2313
  • Благодарностей: 1
  • Натер зеркало - получи +1 в карму
Re: Нужна помощь программиста под win32
« Ответ #13 : 05 Мая 2009, 12:10:58 »
. - .

Судя из архива что прислал tlgleonid есть готовая dll'ка с довольно хорошим описанием. + есть описание метода на VBasic выше. Вызывать dll хоть с Visual C++, хоть с делфи не такая уж сложная задача (писал как-то dll на C++ и вызывал с Delphi). Не могу понять в чем проблема, надо взять и попробовать.  :hz:
Записан
Телескоп Алькор производства НПЗ
Телескоп-самопал D=150mm, F=1250, ГЗ - сфера собственного изготовления
Canon EOS 350D, Canon EF 24-85 USM, Юпитер 37 MC

LifeIsGood

  • Клуб Астрополис, Модератор
  • Онлайн Онлайн
  • Сообщений: 4955
  • Благодарностей: 261
Re: Нужна помощь программиста под win32
« Ответ #14 : 05 Мая 2009, 12:53:42 »
. - .

Я вас умоляю :) Вам шашечки или ехать? Или это религиозное? :) Это же не проект, требующий поддержки 100 программистов по всему миру. Хотя можно конечно это все написать используя какой-нить супер-пупер инструментарий за хххх$

Вот скрипт паркующимй скоп

dim objTelescope
set objTelescope = wscript.CreateObject("POTH.Telescope")
objTelescope.Connected = True
objTelescope.Park
objTelescope.Connected = False


Проблема в том, что скоп должен быть настроен через ПОС. Проблема в организации подобного для произвольного активного скопа.
Для EQMod такое тоже должно сработать, так как он работает подобно хабу.


Записан

algon

  • Оффлайн Оффлайн
  • Сообщений: 410
  • Благодарностей: 22
    • Astroshop.ua
Re: Нужна помощь программиста под win32
« Ответ #15 : 05 Мая 2009, 13:34:41 »
. - .

Я вас умоляю :) Вам шашечки или ехать? Или это религиозное? :) Это же не проект, требующий поддержки 100 программистов по всему миру. Хотя можно конечно это все написать используя какой-нить супер-пупер инструментарий за хххх$

это я вас умоляю :) кто у нас платит ХХХХ...
ну это тоже не критично, но че-то хочется грузить сотни килобайт ненужного кода.

dim objTelescope
set objTelescope = wscript.CreateObject("POTH.Telescope")
objTelescope.Connected = True
objTelescope.Park
objTelescope.Connected = False

пасибо!
проблема как раз в том что собрать это у меня нечем :) можно было бы обойтись максимом но он врядли получит сигнал что винда в hibernate уходит.
ставить себе среду разработки чтобы скомпилировать десяток строк не хочется, но, похоже, придется

произвольный не обязательно. можно конткретный, но как его указать?



Записан
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, EQ6, AZ-EQ5 GT SynScan, Star Adventurer, WO Eazy Touch, QHY2Pro, Orion SSDSpro, Orion SSAG, Meade DSI Pro.
astroshop.ua

LifeIsGood

  • Клуб Астрополис, Модератор
  • Онлайн Онлайн
  • Сообщений: 4955
  • Благодарностей: 261
Re: Нужна помощь программиста под win32
« Ответ #16 : 05 Мая 2009, 14:26:54 »
. - .

Поэтому и предложил VB Script
Его не нужно устанавливать. Создать файлик ParkScope.vbs в него записать указанный текст. И давжды на нем КЛИКНУТЬ!  :D
Записан

Thomas

  • Оффлайн Оффлайн
  • Сообщений: 2313
  • Благодарностей: 1
  • Натер зеркало - получи +1 в карму
Re: Нужна помощь программиста под win32
« Ответ #17 : 05 Мая 2009, 14:28:38 »
. - .

Поэтому и предложил VB Script
Его не нужно устанавливать. Создать файлик ParkScope.vbs в него записать указанный текст. И давжды на нем КЛИКНУТЬ!  :D
+1  :up:
Записан
Телескоп Алькор производства НПЗ
Телескоп-самопал D=150mm, F=1250, ГЗ - сфера собственного изготовления
Canon EOS 350D, Canon EF 24-85 USM, Юпитер 37 MC

tlgleonid

  • Клуб Астрополис, Модератор
  • Оффлайн Оффлайн
  • Сообщений: 6618
  • Благодарностей: 404
Re: Нужна помощь программиста под win32
« Ответ #18 : 05 Мая 2009, 14:34:10 »
. - .

А есть уверенность в том, что этот скриптик сработает правильно с EQMOD? Похоже, что там есть использование дополнительной математики, связанной с алгоритмами выравнивания по N звездам и PEC и идет пересчет данных в связи с этим.
Записан
Задокументировано наблюдение  >1500 Deepsky объектов.
ТАЛ75R, GSO 6" 1:4 +HEQ5Pro SynScan+Canon1000D+QHY6+фильтры R,V+Юпитер21М+QHY5, 265мм и 415 мм Добсоны HandMade+o3+hb+uhc+...
FAQ по любительской астрономии

LifeIsGood

  • Клуб Астрополис, Модератор
  • Онлайн Онлайн
  • Сообщений: 4955
  • Благодарностей: 261
Re: Нужна помощь программиста под win32
« Ответ #19 : 05 Мая 2009, 14:36:41 »
. - .

Метод Park() за это и отвечает.
Записан