Вернуться   Общая Астрономическая Конференция > Практика > Астрономическая фотография
Регистрация Справка Правила форума Календарь Поиск Сообщения за день Все разделы прочитаны

Ответ
 
Опции темы Опции просмотра
Старый 18.05.2010, 22:48   #1
monstr
Модератор астрофото
 
Аватар для monstr
 
Регистрация: 26.07.2008
Адрес: Краснодар
Сообщений: 8,840
По умолчаниюASCOM Alt/Az Syncer

Я так и не разобрался, как грамотно парковать монти, управляемую через EQMOD, да и похоже соседи не разобрались, или я пропустил. Поэтому написал маленькую прогу на том же C# 2010 (узнать бы, как перенести экзешник без установки visual studio) .

Кому нужно, могу дать код проекта. А как научусь генерить переносимые экзешники, выложу и его.

Это, пока что, alpha версия, не запоминает ничего - нет времени дописать запись в регистри.

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

Прога написана с целью плановой парковки телескопа в любую удобную позицию средствами любого планетария (о! идея, надо будет добавить кнопку "перейти" к ранее сохранённым alt/az), потом позицию сохраняю, монти можно выключать. После включения обратный процесс - данные из формы заносятся в монти (синхронизация).

Ну и ещё, если произошёл сбой, то вручную навожу трубу на какую-нить точку с известными высотой и азимутом и синхронизирую. Ну или просто несколько точек парковки. Реальное использование покажет куда прога пойдёт.

С# и ASCOM, оказались прям очень близкими родственниками, вот весь, пока кривой код:
Цитата:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using ASCOM.Interface;
using ASCOM.Helper;
using ASCOM.DriverAccess;


namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private Telescope T;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
}

private void timer1_Tick(object sender, EventArgs e)
{
if (T.Connected)
{
label1.Text = Convert.ToString(T.Altitude);
label2.Text = Convert.ToString(T.Azimuth);
}
}

private void button1_Click(object sender, EventArgs e)
{
T.Connected = true;
panel1.BackColor = System.Drawing.Color.FromName("Green");
}

private void button2_Click(object sender, EventArgs e)
{
T.Connected = false;
panel1.BackColor = System.Drawing.Color.FromName("Red");
}

private void button4_Click(object sender, EventArgs e)
{
string progID = Telescope.Choose("");
T = new Telescope(progID);
textBox1.Text = progID;
timer1.Enabled = true;
}

private void button5_Click(object sender, EventArgs e)
{
T.SyncToAltAz(Convert.ToDouble(textBox2.Text), Convert.ToDouble(textBox3.Text));
}

private void button6_Click(object sender, EventArgs e)
{
textBox3.Text = Convert.ToString(T.Altitude);
textBox2.Text = Convert.ToString(T.Azimuth);
}

private void button3_Click(object sender, EventArgs e)
{
textBox6.Text = Convert.ToString(T.Altitude);
textBox7.Text = Convert.ToString(T.Azimuth);
}

private void button10_Click(object sender, EventArgs e)
{
textBox4.Text = Convert.ToString(T.Altitude);
textBox5.Text = Convert.ToString(T.Azimuth);
}

private void button8_Click(object sender, EventArgs e)
{
textBox8.Text = Convert.ToString(T.Altitude);
textBox9.Text = Convert.ToString(T.Azimuth);
}

private void button9_Click(object sender, EventArgs e)
{
T.SyncToAltAz(Convert.ToDouble(textBox6.Text), Convert.ToDouble(textBox7.Text));
}

private void button11_Click(object sender, EventArgs e)
{
T.SyncToAltAz(Convert.ToDouble(textBox4.Text), Convert.ToDouble(textBox5.Text));
}

private void button7_Click(object sender, EventArgs e)
{
T.SyncToAltAz(Convert.ToDouble(textBox8.Text), Convert.ToDouble(textBox9.Text));
}


}
}
просто же... .
Потом добавлю обработку эксепшинов и работу с регистри, ща не до этого.
Миниатюры
Нажмите на изображение для увеличения Название: ascom-sync.JPG Просмотров: 170 Размер: 60.3 Кб ID: 67042  
__________________
skype: oleg_milantiev
monstr вне форума  Ответить с цитированием
Старый 19.05.2010, 21:19   #2
Weirdie
АстроПрофи
 
Аватар для Weirdie
 
Регистрация: 08.05.2007
Адрес: Москва
Сообщений: 2,239
По умолчаниюRe: ASCOM Alt/Az Syncer

Олег, а в чем проблема с экзешником? У меня в VS2008 всё элементарно переносится.
Класс "Telescope" описан в ASCOM?
__________________
Покинул форум
Weirdie вне форума  Ответить с цитированием
Старый 19.05.2010, 21:56   #3
monstr
Модератор астрофото
 
Аватар для monstr
 
Регистрация: 26.07.2008
Адрес: Краснодар
Сообщений: 8,840
По умолчаниюRe: ASCOM Alt/Az Syncer

Цитата:
Сообщение от Weirdie Посмотреть сообщение
Олег, а в чем проблема с экзешником? У меня в VS2008 всё элементарно переносится.
Класс "Telescope" описан в ASCOM?
Видать это прикол 2010 c#. Надо бы почитать об этом. Щас просто не до внимательного изучения, пишу прогу отдыха ради.

Класс телескопа поставляется с аскомом-клиентом:
http://ascom-standards.org/Developer/ClientToolkit.htm

Вот эти три штуки от него
Цитата:
using ASCOM.Interface;
using ASCOM.Helper;
using ASCOM.DriverAccess;
__________________
skype: oleg_milantiev
monstr вне форума  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ProGuider-1 занесен в партнеры ASCOM. Anton Полезное для астрономии 59 03.03.2005 21:24
ВНИМАНИЕ! Обновилась платформа ASCOM! Anton Астрономическое оборудование 2 09.01.2005 02:03


Часовой пояс GMT +4, время: 03:21.


Powered by vBulletin® Version 3.8.4 Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.