A A A A Автор Тема: Написал простенькую утилиту  (Прочитано 6471 раз)

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

Оффлайн wladimirАвтор темы

  • *****
  • Сообщений: 4 700
  • Благодарностей: 690
  • Мне нравится этот форум!
    • Сообщения от wladimir
Написал простенькую утилиту
« : 08 Июн 2003 [07:01:49] »
Пока плохая  погода написал простенькую утилиту –  секундомер астронома-любителя. Замысел простой. Нажимаем любую кнопку – старт . Затем после нажимания любой кнопки отмечается время нажатия и выводится два промежутка времени: от старта до текущего нажатия и от предыдущего нажатия до текущего. После окончания цикла измерений, можно сохранить данные в файле для дальнейшей обработки.
В итоге в файле оказывается следующая запись (пример)
06-07-2003
   1  10:26:13.1
   2  10:26:14.25     1.15      1.15
   3  10:26:15.07     1.97      0.82
   
Наверху – первая строка - дата записи.
Первая колонка – номер записи
Вторая – время нажатия
Третья – промежуток времени от старта до i-й записи
Четвертая – промежуток времени от предыдущей записи до текущей.
Секунды выводятся с сотыми долями, хотя мне кажется, что точность выше 0,1 сек быть не может. Ограничена аппаратно (Таймер редко опрашивается). Но  я  не уверен в своей правоте.
По замыслу, если  стартовать в момент передачи сигнала точного времени, то шкала секундомера будет привязана с возможной точностью к сигналам точного времени. А дальше следует нажимать клавиши в момент значимых событий. Запись можно вести в форме:
1. Запуск
2. Касание Венеры края солнечного диска
3. Вспыхнул ободок атмосферы
И т.д.
И еще: Наверное удобно эту программу использовать совместно с диктофоном. Ткнув клавишу, произносим: второе (это номер), звезда погасла...
Надеюсь использовать эту программу в будущем году…
Возможно удобно использовать при покрытии астероидами звезд. Программа навеяна предстоящим покрытием звезды TYC 5757-00353-1  М 8.7 астероидом Bertholda. Центр полосы пройдет в 100-130 км от моего дома. Надеюсь выехать и пронаблюдать.
Есть ли жизнь на Марсе, нет ли жизни на Марсе... Науке это неизвестно!

an1440

  • Гость
Re:Написал простенькую утилиту
« Ответ #1 : 08 Июн 2003 [17:55:32] »
Системный таймер опрашивается 18.2 раза в секунду.
Можно добавить синхронизацию системных часов по нажатию кнопки (типа округление секунд до ближайшей минуты, или и секунд и минут до ближайшего часа).
Есть проблема: некоторые программы (особо замечено за игрушками) нарушают работу системного таймера, вплоть до изменения хода. Энергонезависимые часы в CMOS при этом обычно сохраняют правильное время и после перезагрузки системный таймер снова идет нормально.
Для бОльшей надежности можно брать время прямо из CMOS, минуя системный таймер.
Вот пример: здесь одновременно видно время из системного таймера и из CMOS...

anovikov

  • Гость
Re:Написал простенькую утилиту
« Ответ #2 : 08 Июн 2003 [21:02:19] »
1. Время получается как - GetTickCount()? Он действительно ограничен разрешением системного таймера, разрешение получается API-шкой GetSystemTimeAdjustment(). Но есть хитрая фича - на некоторых компах доступен счетчик высокого временного разрешения, это можно узнать вызовом QueryPerformanceCounter() - если он дает что-то лучше GetSystemTimeAdjustment(), можно использовать функцию QueryPerformanceCounter() для получения более точного отсчета интервалов времени. Это фича, встроенная в винды для отладки програм по времени выполнения, но ее можно использовать для чего угодно.

2. В прогу полезно добавить фичу координированных наблюдений по TCP (когда несколько человек на разных компах, смотря на одно и то же, жмут капу, а программа вычисляет среднее время и среднеквадратическое отклонение).

3. И хорошо бы добавить обновление часов по NTP от атомных часов.

В таком виде получится уже вполне маркетабельная шареварь.

anovikov

  • Гость
Re:Написал простенькую утилиту
« Ответ #3 : 08 Июн 2003 [21:04:36] »
re nm.zip - у меня от него чуть видеокарте не поплохело :-)

an1440

  • Гость
Re:Написал простенькую утилиту
« Ответ #4 : 09 Июн 2003 [01:19:07] »
re nm.zip - у меня от него чуть видеокарте не поплохело :-)
Да вроде писал под обыкновенный DOS и видеорежим "стандартный VGA"(mode 12h, 640x480x16)...

Оффлайн wladimirАвтор темы

  • *****
  • Сообщений: 4 700
  • Благодарностей: 690
  • Мне нравится этот форум!
    • Сообщения от wladimir
Re:Написал простенькую утилиту
« Ответ #5 : 09 Июн 2003 [08:00:48] »
Я писал под свой карманный компьютер Siena поэтому в тонкости не вдавался. И не мог. Там такой научный язык программирования OPL к которому нет внятного описания. Вчера опробовал на покрытии, мне понравилось. Все лучше, чем на часы глядеть.
Есть ли жизнь на Марсе, нет ли жизни на Марсе... Науке это неизвестно!

an1440

  • Гость
Re:Написал простенькую утилиту
« Ответ #6 : 09 Июн 2003 [08:39:35] »
А вместо диктофона можно сразу комментарий - в зависимости от нажатой клавиши. Типа так:
« Последнее редактирование: 09 Июн 2003 [13:51:10] от an1440 »

anovikov

  • Гость
Re:Написал простенькую утилиту
« Ответ #7 : 09 Июн 2003 [09:50:02] »
В том-то и дело, что под DOS, там что-то с частотами обновления. А не запускал дос-приложения с графикой я на этой машине, насколько помню, никогда :-)

panov

  • Гость
Re:Написал простенькую утилиту
« Ответ #8 : 09 Июн 2003 [12:39:54] »
Снова большое спасибо Ан1440. Мой мониторчик Е74 IBM 17' и его карточ-
ка справились, но! Братцы, а у кого из ЛА есть  лэптопы в массовом коли-
честве? Это раз. Второе. Или мы думаем, что принесём пользу Большой Нау-
ке своими суперточными временны'ми засечками, или мы оставим свой днев-
ник наблюдений потомкам, чтобы гордились? Разъясните чайнику.

an1440

  • Гость
Re:Написал простенькую утилиту
« Ответ #9 : 09 Июн 2003 [13:36:29] »
Снова большое спасибо Ан1440. Мой мониторчик Е74 IBM 17' и его карточ-
Это за Ответ №6 что ли?
Там же wideomode 03h - голый черный досовский экран!!!

panov

  • Гость
Re:Написал простенькую утилиту
« Ответ #10 : 09 Июн 2003 [14:29:39] »
Дорогой Ан1440, немного попутался с авторством темы и Вашим Zip. Я
хотел сказать, что мой офисный настольный комп чудесно  съел  и от-
работал эту программку.  Усилия ЛА-программеров достойны всячес-
кого поощрения. Просто хотелось обсудить нюанс, касающийся того,
как расценивают необходимость такой автоматизации профессиональ-
ные учёные ;).
« Последнее редактирование: 09 Июн 2003 [14:42:46] от Panov »

anovikov

  • Гость
Re:Написал простенькую утилиту
« Ответ #11 : 09 Июн 2003 [14:47:56] »
Так собственно если программа написана под какой-то экзотический КПК, то вряд ли от нее будет толк сообществу любителей... Можно ее выложить где-то, а то не очень приятно обсуждать то, что не имеешь возможности посмотреть. Она - Win CE? Palm? Если не то и не другое, то перспектив распространения думаю нет никаких-других КПК ни у кого уже нет.

Мне кажется все-таки, что лаптопы распространеннее КПК и прогу нужно писать все-таки под классическую Windows. Нормальная КПК стоит почти столько же, сколько и лаптоп (где-то $600 против $1000), а толку от нее куда меньше.

Оффлайн wladimirАвтор темы

  • *****
  • Сообщений: 4 700
  • Благодарностей: 690
  • Мне нравится этот форум!
    • Сообщения от wladimir
Re:Написал простенькую утилиту
« Ответ #12 : 09 Июн 2003 [23:58:56] »
Ребята! Я изложил просто свою идею, как проще регистрировать моменты времени и интервалы между ними!
Отрабатывал алгоритм под DOS на бейсике. На слабеньком ЛАПТОПЕ. Но таскать его с собой - не нравится. Тяжелый очень. А Siena, купленная очень давно, помещается в кармане. Я ее и приспосабливаю для своих нужд. А если кого заинтересовала программа под DOS - вышлю. Она что то около 30-40 кбайт. Странички у меня нет, поэтому пишите.
 По моему измерения наши никому из ученых не нужны. А на небо мы (я) смотрим из удовольствия. Мне еще и интересно что нибудь измерить. И вообще хобби не может быть продолжением или подпоркой серьезной науки. Она ведь просто является удовлетворением собственного любопытства за казенный счет. А ЛА- как правило - за свой.
Всем чистого неба! На западе вижу облачность...
Есть ли жизнь на Марсе, нет ли жизни на Марсе... Науке это неизвестно!

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 096
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Написал простенькую утилиту
« Ответ #13 : 10 Июн 2003 [05:06:25] »
По моему измерения наши никому из ученых не нужны.

Есть наблюдения, где именно любительские измерения моментов могут дать очень полезный результат - наблюдения покрытий звезд астероидами.  Продолжительность покрытия для разных географических пунктов дает материал для суждения о форме и размерах астероида. Лишь любители способны сделать это, так как любителей много и расположены они повсюду по поверхности Земли, чего лишены профессионалы Так что, при таких наблюдениях можно объединить удовольствие и пользу.

an1440

  • Гость
Re:Написал простенькую утилиту
« Ответ #14 : 10 Июн 2003 [07:29:56] »
Отрабатывал алгоритм под DOS на бейсике.
Технический вопрос: Как подобает астроному, пробовали запустить в 23:50 и остановить в 00:10 ?
..........
Что получается?

Оффлайн wladimirАвтор темы

  • *****
  • Сообщений: 4 700
  • Благодарностей: 690
  • Мне нравится этот форум!
    • Сообщения от wladimir
Re:Написал простенькую утилиту
« Ответ #15 : 10 Июн 2003 [20:32:40] »
У меня встроена проверка на совпадения дат предыдущей и текущей. Если совпадают, то никаких действий. Если нет- то к текущим секундам прибавляется 24*3600 ну очень много... Т.е я предусматривал, только такой случай, как в Вашем вопросе. Если делать "вообще", то надо считать секунды от условного начала отсчета... Например от 7.11.1917г. Я писал под самый простой случай - 23.50 - 00.10.
 Видимо никто время то не мерял... Простейший вопрос, а говорит о многом. О том, как мы наблюдаем. А то атомный стандарт, атомный стандарт, а вот если пальчиком на клавишу! Да с точностью ... Микросекунды, или там наносекунды или там фемтосекунды или.... Да при этом глазом не на клавишу, а в окулярчик запотевший!
 Про полезность. Могут то они могут, а вот кому они нужны? Что то я ни в одной статье не читал, что академик и доктор в кандидата наук в астрономии Такойто в натуре конкретно интересуется наблюдениями ЛА когда Полярная затмит Юпитер. Всегда идет разговор а вот вы, в принципе никчемные ЛА наблюдающие на уровне 16 века в 70 мм забыл какой Скайвочер тоже можете принести комунить пользу. А вот кому- не скажем! Вам ведь все равно куда глядеть, а нам глядишь и польза выйдет. Что это позиция?
Приведите опровержения. Я, например, смотрю в телескоп и получаю удовольствие, хотя ясно понимаю, что тот же Гершель видел больше и дальше меня.
  Приведу пример. Последнее затмение. Московский астроклуб. Дождь. Эффект - слезы и разошлись. Вопрос: почему в столичном нашем астроклубе не предусмотрели за год до затмения, за два года этот вариант? Почему не пронаблюдать в диапазонах волн где облака не мешают? Что в столице техники такой нет? Не верю.
 Что часто в Москве затмения бывают? Ну сегодня не посмотрели, посмотрим через неделю. ПОФИГИЗМ!
 А Вы говорите, польза от наблюдений того, что какая то звездочка мигнет на пару секунд.
 По моему пофигизм пронизал все. В части астрономии остался последний островок - ЗВЕЗДОЧЕТ. И тот дышит как то неровно. Это лишь подтверждает мой тезис о всеобщем равнодушии.
 Пишу раздраженно, т.к. приехал из Москвы купив искатель полюса. Поездка для меня дальняя и очень устал.
НО уже думаю как написать программу, для ........ чтобы рисовала изображение Полярной где ей быть сегодня внутри искателя. Идеи как приготовлю изложу.
  На такую страну всего 1500 подписчиков. Срамота.
Тем, кто довел ЛА и всю грамотнейшею страну до этого. Я лично знаю двух человек - подписались бы, но зарплату не платят 7 месяцев. Пока даю читать свой экземпляр. Оба окончили ВУЗы...
 
Есть ли жизнь на Марсе, нет ли жизни на Марсе... Науке это неизвестно!

an1440

  • Гость
Re:Написал простенькую утилиту
« Ответ #16 : 11 Июн 2003 [00:34:08] »
Если делать "вообще", то надо считать секунды от условного начала отсчета... Например от 7.11.1917г.
От 1.01.-4712 !
Я, как только познакомился с компьютером, всегда имел тягу к всевозможным календарям, часам, секундомерам... Все проблемы разом решаются, если любые отрезки времени считать в Юлианских Днях. Готовую процедуру для их вычисления любезно выложил Анатолий в этом разделе (где-то в теме "как рассчитываются...").  Мои последние (? :(  ) часы "РОЛЕКС", выложенные сдесь же в одноименной теме, целиком построены на этом (и календари и часы).
А вот секундомер (ДОС, BASIC) - тоже. Тут только не учтено переход на летнее время и нельзя переводить таймер компъютера назад:

shandrik

  • Гость
Re:Написал простенькую утилиту
« Ответ #17 : 11 Июн 2003 [01:42:08] »
Насчет использования апи-функций с большим временнЫм разрешением - я считаю, что это стоит делать лишь в целях программ-тренинга, т.к. все равно временная точность нажатия кнопки ЧЕЛОВЕКОМ будет ниже 1/18 секунды.

an1440

  • Гость
Re:Написал простенькую утилиту
« Ответ #18 : 11 Июн 2003 [05:53:03] »
По моему пофигизм пронизал все. В части...
Поздравляю всех присутствующих с ДНЕМ НЕЗАВИСИМОСТИ РОССИИ !
От кого или чего - независимости?
От здравого смысла...

Оффлайн wladimirАвтор темы

  • *****
  • Сообщений: 4 700
  • Благодарностей: 690
  • Мне нравится этот форум!
    • Сообщения от wladimir
Re:Написал простенькую утилиту
« Ответ #19 : 11 Июн 2003 [06:57:26] »
Вчера в Москве слышал разговор о празднике, пока ждал в Новогиреево искатель полюса. Большинство склонилось к тому, что это день космонавтики объявили нерабочим.
Я тоже всех поздравляю!
Есть ли жизнь на Марсе, нет ли жизни на Марсе... Науке это неизвестно!