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

astromagazin.net
* *
Ласкаво просимо, Гість. Будь ласка, увійдіть або зареєструйтеся.
02 Грудня 2020, 05:10:03

Увійти

google


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

0 Користувачів і 1 Гість дивляться цю тему.

algon

  • Offline Offline
  • Повідомлень: 418
  • Подяк: 40
Нужна помощь программиста под win32
« : 04 Травня 2009, 22:13:56 »
. - .

привет!

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

Записаний
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, AZ-EQ5 GT SynScan, Star Adventurer, Orion SSAG, Meade DSI Pro, ZWO ASI071

Freedeniz

  • Модератор
  • Offline Offline
  • Повідомлень: 5120
  • Подяк: 144
  • с ув.Денис
Re: Нужна помощь программиста под win32
« Reply #1 : 04 Травня 2009, 23:07:42 »
. - .

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

Lisnyk

  • Offline Offline
  • Повідомлень: 313
  • Подяк: 0
Re: Нужна помощь программиста под win32
« Reply #2 : 04 Травня 2009, 23:32:32 »
. - .

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

algon

  • Offline Offline
  • Повідомлень: 418
  • Подяк: 40
Re: Нужна помощь программиста под win32
« Reply #3 : 04 Травня 2009, 23:37:18 »
. - .

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

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

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

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

цель: при отключении 220в комп достнимет последний кадр и корректно все закроет. при включении привязка по звездам уже будет не нужна.
« Останнє редагування: 04 Травня 2009, 23:43:42 від algon »
Записаний
WO FLT98Al, WO M72, RC240(kaban), Meade 2080 OTA, AZ-EQ5 GT SynScan, Star Adventurer, Orion SSAG, Meade DSI Pro, ZWO ASI071

Uterr

  • Offline Offline
  • Повідомлень: 138
  • Подяк: 0
Re: Нужна помощь программиста под win32
« Reply #4 : 05 Травня 2009, 08:25:00 »
. - .

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

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

tlgleonid

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 6992
  • Подяк: 583
Re: Нужна помощь программиста под win32
« Reply #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

  • Offline Offline
  • Повідомлень: 418
  • Подяк: 40
Re: Нужна помощь программиста под win32
« Reply #6 : 05 Травня 2009, 09:03:09 »
. - .

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

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


Shadow

  • Offline Offline
  • Повідомлень: 3834
  • Подяк: 322
Re: Нужна помощь программиста под win32
« Reply #7 : 05 Травня 2009, 09:10:41 »
. - .

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

algon

  • Offline Offline
  • Повідомлень: 418
  • Подяк: 40
Re: Нужна помощь программиста под win32
« Reply #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, AZ-EQ5 GT SynScan, Star Adventurer, Orion SSAG, Meade DSI Pro, ZWO ASI071

tlgleonid

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 6992
  • Подяк: 583
Re: Нужна помощь программиста под win32
« Reply #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

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 5227
  • Подяк: 444
Re: Нужна помощь программиста под win32
« Reply #10 : 05 Травня 2009, 11:23:06 »
. - .

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

algon

  • Offline Offline
  • Повідомлень: 418
  • Подяк: 40
Re: Нужна помощь программиста под win32
« Reply #11 : 05 Травня 2009, 11:40:52 »
. - .

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

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

tlgleonid

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 6992
  • Подяк: 583
Re: Нужна помощь программиста под win32
« Reply #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

  • Offline Offline
  • Повідомлень: 2307
  • Подяк: 1
  • Натер зеркало - получи +1 в карму
Re: Нужна помощь программиста под win32
« Reply #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

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 5227
  • Подяк: 444
Re: Нужна помощь программиста под win32
« Reply #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

  • Offline Offline
  • Повідомлень: 418
  • Подяк: 40
Re: Нужна помощь программиста под win32
« Reply #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, AZ-EQ5 GT SynScan, Star Adventurer, Orion SSAG, Meade DSI Pro, ZWO ASI071

LifeIsGood

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 5227
  • Подяк: 444
Re: Нужна помощь программиста под win32
« Reply #16 : 05 Травня 2009, 14:26:54 »
. - .

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

Thomas

  • Offline Offline
  • Повідомлень: 2307
  • Подяк: 1
  • Натер зеркало - получи +1 в карму
Re: Нужна помощь программиста под win32
« Reply #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

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 6992
  • Подяк: 583
Re: Нужна помощь программиста под win32
« Reply #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

  • Клуб Астрополис, Модератор
  • Offline Offline
  • Повідомлень: 5227
  • Подяк: 444
Re: Нужна помощь программиста под win32
« Reply #19 : 05 Травня 2009, 14:36:41 »
. - .

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