Menu

Tree [8a2cb6] master /
 History

HTTPS access


File Date Author Commit
 conf 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 contests 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 missing 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 INSTALL 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 Makefile 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 Makefile.win 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 cabrillo.c 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 cabrillo.h 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 config.h 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 contesta.dev 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 contesta.ico 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 contesta.layout 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 contesta_private.h 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 contesta_private.rc 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 main.c 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 main.h 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 readme.txt 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 readme.txt.utf8 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 report.c 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)
 report.h 2019-04-15 ur4mck ur4mck [8a2cb6] Initial commit (version 0.3.2)

Read Me

   ***** Contest Arbitrator ("Судья Соревнований") *****
                    версия 0.3.2

               РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ


 Программа Contest Arbitrator (contesta) предназначена для выполнения судейства
радиолюбительских соревнований. Изначально программа была написана по заказу и для
облегчения судейства мероприятий клуба RU-QRP. Открытые исходные коды, а также
модульная структура программы contesta позволяет использовать ее для судейства и
любых других соревнований.

Программа contesta находится в стадии разработки и тестирования.
Любые замечания и предложения по ее улучшению принимаются по адресу: ur4mck@gmail.com


I, УСТАНОВКА

 На данный момент программа contesta работает на платформах Linux и Windows (Проверено
на Linux Debian, CentOS Linux, Xubuntu и Microsoft Windows XP SP 2).

Если Вы собираете программу из исходных кодов, обратитесь за инструкцией к файлу INSTALL
внутри директории с исходным кодом.

Если Вы используете готовые исполняемые файлы, то следуйте инструкциям ниже.

Программа contesta является самодостаточной. Это означает, что для ее работы требуется
только операционная система и минимальный объем оперативной памяти.

Для запуска программы на платформе Win32 требуется Windows 95 или выше.
Для запуска программы на платформе Linux требуется библиотека libc-2.5 или выше.

Программа contesta не требует установки, она может работать из любой директории.
Однако, для упрощения работы с ней рекомендуется скопировать все файлы в специально
созданную для программы директорию на локальном диске, например, в C:\contesta

Таким образом, в этой директории у Вас будут находиться:

  contesta.exe           - программа Contest Arbitrator
  /conf                        - примеры конфигурационных файлов для соревнований RU-QRP

 Эти файлы откомпилированы для операционной системы Windows. Если Вам они нужны для Linux,
то Вам необходимо откомпилировать программу самостоятельно (см. инструкции в файле INSTALL).

 Проверьте, что программа запускается на Вашем компьютере. Для этого выполните следующие действия:

  1. Откройте командную строку (Пуск -> Выполнить -> в поле "Открыть" напишите cmd)

  2. В появившемся черном окне перейдите в директорию, в которую Вы скопировали .exe файлы
     программы contesta (в нашем примере это "C:\contesta"). Для этого в командной строке наберите:

      cd C:\contesta

     и нажмите [Enter]. После этого Вы должны увидеть, что сменилась текущая директория
     (последняя строка в консоли будет такой:

      C:\contesta>

  3. Теперь попробуйте запустить программу с ключом "-h". Так Вы увидите доступные опции
     программы и убедитесь, что программа запускается на Вашем компьютере. Для этого
     в командной строке наберите:

      contesta -h

     и Вы увидите краткую справку по опциям программы:

      c:\contesta>contesta -h
      Contest Arbitrator version 0.3.2
       (c) 2009-2013 by Dmitry Gorokh, UR4MCK
       This program is FREEWARE

      Usage: contesta [options] [files]
       Available options are:
         -h           - Show usage information
         -c <file>    - Specify configuration file
         -d <path>    - Specify directory with log files (default is current directory)
         -o <file>    - Specify output file with results (default is stdout)
         -r <path>    - Specify directory for log analyzis reports (default is ./reports)
         -u <path>    -Specify directory for UBN files (default is ./ubn)

      Please report bugs to ur4mck@gmail.com

      c:\contesta>

II. КОНФИГУРАЦИЯ

 Программа Contest Arbitrator является консольной программой и требует указания параметров
того или иного соревнования в конфигурационном файле.

 Файл конфигурации представляет собой обычный текстовый файл в удобочитаемым для человека формате.
Пример файлов конфигурации для вы найдете в директории /conf.

 Прежде чем начать судейство нового соревнования, нужно обязательно создать для него файл
конфигурации. Для этого можно просто скопировать файл-пример conf/general.conf в другой файл и
отредактировать его.

 Ниже приведено краткое описание формата файла конфигурации.


      ОПИСАНИЕ ФОРМАТА ФАЙЛА КОНФИГУРАЦИИ

 Файл конфигурации состоит из пары "имя параметра" и "значение", а также из комментариев к ним.
Каждый параметр, определяющий соревнование, начинается с имени параметра, после чего через пробел
указывается его значение. Числовые значения указываются как есть (без кавычек или скобок),
строковые параметры (нечисловые или такие, в которых присутствует пробел) ОБЯЗАТЕЛЬНО указываются
в кавычках. Символ '#' (без кавычек) означает, что до конца строки написан комментарий и этот текст
игнорируется программой. В файле конфигурации могут присутствовать пробелы и табуляторы в любых
местах, они, также как и пустые строки, игнорируются программой contesta. Описанный формат совместим
с принятым в операционных системах семейства *nix и мире OpenSource.

 Откройте в текстовом редакторе файл conf/general.conf и посмотрите, какие параметры там присутствуют.

 Параметр "name" - определят название соревнований. Это название фигурирует в результатах анализа
                   отчетов и итоговой рейтинговой таблице.
 Пример:
        name "RU-QRP Wake-Up! Sprint"


 Параметр "id" - определяет условный идентификатор соревнований. Он используется внутри программы
                 contesta для выбора того или иного контестового модуля.
                 Перечень идентификаторов указан в комментариях в файле conf/general.conf:
 Пример:
        id 1


 Параметр "start" - указывает на начальную дату и время соревнований. Формат такой:
                    "год-месяц-день часыминуты". Время указывается в UTC.
 Пример:
        start "2009-06-06 0600"


 Параметр "end" - указывает на конечную дату и время соревнований. Формат такой же, как и для "start".
                  Обратите внимание, что конечная дата и время указывает следующую минуту сразу
                  после последней минуты соревнований. Так, если в конфигурационном файле указано
                  окончание соревнований в 2009-06-06 0800, то последняя минута соревнований будет
                  2009-06-06 0759 (точнее время - 07:59:59)
 Пример:
        end "2009-06-06 0800"


 Параметр "rounds" - определяет количество туров (раундов) в соревнованиях. Если раунды не
                     используются, удалите этот параметр из файла конфигурации или укажите его
                     равным 1 или 0. Все раунды делят время проведения соревнований на равные интервалы.
 Пример:
        rounds 4


 Параметр "max_dt" - устанавливает для соревнований максимально допустимое время расхождения во времени в
                     отчетах участников. Время указывается в секундах. Так, 3-х минутное допустимое
                     расхождение будет иметь значение 180 (сек).
 Пример:
        max_dt 180


 Параметр "band_list" - определяет перечень допустимых в соревновании радиолюбительских диапазонов.
                        Список состоит из названий диапазонов перечисленных через запятую.
                        Допустимые диапазоны: 160M, 80M, 40M, 20M, 15M, 10M, 6M, 2M, 222, 432,
                                              902, 1.2G, 2.3G, 3.4G, 5.7G, 10G, 24G, 47G, 75G,
                                              119G, 142G, 241G, Light, ALL.
                        Список диапазонов соответствует описанию формата Cabrillo v3.
 Пример:
        band_list "40M,20M"


 Параметр "mode_list" - также как и band_list, этот параметр определяет список допустимых в
                        соревновании режимов работ. Допустимые режимы:
                        CW, SSB, DIGI, RTTY, MIXED, ALL.
 Пример:
        mode_list "CW"


 Параметр "signature" - для обеспечения возможности ручного редактирования судьей отчетов участников
                        требуется указание этого параметра. Эта своеобразная подпись судьи, которая
                        должна совпадать со значением, вручную добавляемого в отчет тэга "SIGNATURE:".
                        Подписью может являться любая строка символов. Редактирование отчетов с использованием
                        подписи может потребоваться, когда судья решает, что какое-либо конкретное QSO в
                        отчете требуется отметить для того, чтобы программа contesta форсировала решение 
                        засчитывать или нет это QSO для очков и(или) для множителя. Подпись с тэгом "SIGNATURE:" 
                        (без кавычек) в отчете может располагаться в любом месте между тэгами
                        "START-OF-LOG:" и "END-OF-LOG:".

                        Для отметок QSO в отчетах определены следующие символы (без кавычек):

                                '+' - засчитывать QSO для очков
                                '-' - не засчитывать QSO для очков
                                '*' - засчитывать QSO для множителя
                                '%' - не засчитывать QSO для множителя

                        Допускается указание нескольких отметок сразу (без пробелов), но не более двух.
                        Например, '+*' (без кавычек) означает не делать автоматическую проверку этого
                        QSO, а сразу засчитывать его для очков и для множителя.
                        Отрицательные отметки ('-', '%') имеют приоритет над положительными. Так, если
                        будет указана отметка '+-' или '-+' это будет означать не засчитывать очков.

                        Отметки указываются в самом конце значения тэга "QSO:"
                        Примеры:

                          QSO: 14000 CW 2009-06-06 0749 DL9ZP         599 040  CBS  RX3PR        559 042  AA/9 +
                          QSO: 14000 CW 2009-06-06 0757 DL9ZP         599 041  PR   UA1AFT        599 052  JMG  -*

                        В первом примере - засчитывать QSO без проверки. Во втором - не засчитывать QSO для
                        очков, но засчитывать для множителя.

                        При отсутствии тэга "SIGNATURE:" в отчете с отметками они не распознаются программой.
                        Если в отчете присутствует тэг "SIGNATURE:" со значением отличным от подписи в
                        конфигурационном файле, программа предупреждает о мошенничестве выводом сообщения
                        в результат анализа.
 Пример:
        signature "UR4MCK signature"


 Параметр "skip_rst_snt" - если значение равно 1, то при перекрестной проверке не сверяется отправленный RST.
                           Если значение равно 0 или отсутствует в файле конфигурации, то проверка осуществляется.

 Пример:
        skip_rst_snt 1


 Параметр "skip_rst_rcv" - аналогично:
                                0 - проверять принятый RST
                                1 - не проверять принятый RST
 Пример:
        skip_rst_rcv 0


 Параметр "skip_num_snt" - аналогично:
                                0 - проверять отправленный порядковый номер
                                1 - не проверять отправленный порядковый номер
 Пример:
        skip_num_snt 1


 Параметр "skip_num_rcv" - аналогично:
                                0 - проверять принятый порядковый номер
                                1 - не проверять принятый порядковый номер
 Пример:
        skip_num_rcv 0


 Параметр "skip_chk_snt" - аналогично:
                                0 - проверять отправленный контрольный номер (или слово)
                                1 - не проверять отправленный контрольный номер (или слово)
 Пример:
        skip_chk_snt 0


 Параметр "skip_chk_rcv" - аналогично:
                                0 - проверять принятый контрольный номер (или слово)
                                1 - не проверять принятый контрольный номер (или слово)
 Пример:
        skip_chk_rcv 0


 Параметр "uniq_mult" - управляет подсчетом множителей:
                                0 - все множители
                                1 - уникальные множители
 Пример:
        uniq_mult 1


 Параметр "strict_eval" - Определяет используется ли строгий режим судейства:
                                0 - обычный режим
                                1 - строгий режим
 Пример:
        strict_eval 0

 Параметр "allow_dupes" - разрешает повторные связи:
                                0 - Повторные связи запрещены и обозначаются ошибкой
                                1 - Повторные связи разрешены
 Пример:
        allow_dupes 1

 Параметр "report_dir" - директория для размещения файлов с результатами предварительного анализа
 Пример:
       report_dir "reports"

 Параметр "ubn_dir" - директория, в которой будут размещаться UBN-файлы
 Пример:
         ubn_dir "ubn"

 Параметр "log_emails" - список e-mail адресов, на которые следует высылать исправленные отчеты
 Пример:
         log_emails "contest@qrp.ru, rw3ai@mail.ru"

 Параметр "cfm_unresolved" - задает минимальное кол-во непроверенных QSO, чтобы засчитать их как
                                                            правильные QSO и для множителя.
                         Минимальное: 2
                         По-умолчанию: 2
 Пример:
         cfm_unresolved 3

 Параметр "search_tags" - определяет нужно ли пытаться искать подходящие теги для тех из них, которые
                                                     были написаны в отчете с ошибкой. Работает только при ignore_tags 0.
                                    0 - не искать и не исправлять ошибочные теги
                                    1 - искать и пытаться исправлять ошибочно написанные или недопустимые теги
 Пример:
          search_tags 0

 Параметр "ignore_tags" - игнорировать любые ошибки в неизвестных тегах.
                                   0 - не игнорировать неизвестные теги (сообщать предупреждение)
                                   1 - игнорировать неизвестные или ошибочно написанные теги
 Пример:
         ignore_tags 1

 Параметр "www" - URL (ссылка) на ресурс в сети, где публикуется информация по контесту
 Пример:
         www "http://qrp.ru/contest"


 Другие параметры конфигурационного файла появятся по мере необходимости.

 Теперь, когда Вы знакомы с параметрами конфигурации программы contesta, создайте (или отредактируйте)
файл конфигурации для своего соревнования. Обязательными параметрами являются:

   name, id, start, end, max_dt, band_list, mode_list.

 Разместите Ваш файл конфигурации в одной директории с программой contesta. (На самом деле этот файл
может находиться где угодно, но, размещая его рядом с программой Вы упрощаете указание пути к нему).


III. СУДЕЙСТВО СОРЕВНОВАНИЙ

 После того, как Вы познакомились с программой и ее конфигурацией, можно приступать к главной цели -
выполнению автоматического судейства. Естественно, что для судейства требуются отчеты участников.
 На данный момент поддерживаются отчеты в формате Cabrillo (v2, v3, Ermak). Желательно (но необязательно)
чтобы отчеты располагались в одной директории. Имена отчетов и их расширения могут быть любыми.
Перечень отчетов указывается программе contesta в командной строке.

 В качестве примера создайте директорию logs и скопируйте туда отчеты участников (например, за Wake-Up).
Теперь снова вернитесь к командной строке и вызовите программу contesta с такими параметрами:

    contesta -c conf/wakeup.conf -d logs/ -o results.txt

 Как видно, Вы передаете программе файл конфигурации wakeup.conf с помощью опции '-c', указываете на
директорию с отчетами с помощью опции '-d' и указываете файл для записи результатов с помощью
опции '-o'. Если разные отчеты хранятся в разных местах, их нужно перечислять в командной строке через пробел.

 После нажатия на [Enter] Вы запускаете судейство программы. Все результаты анализа отчетов, а также
итоговый рейтинг записываются в файл указанный в опции '-o' (results.txt в этом примере). О критических
ошибках и предупреждениях программа contesta сообщает в командную строку. Остальные сообщения направляются
в файл с результатами.

 Откройте файл результатов в текстовом редакторе и ВНИМАТЕЛЬНО просмотрите все результаты. Возможно, какие-то
отчеты содержат ошибки и нуждаются в ручной правке. По окончании исправления ошибок в отчетах, снова
запускайте программу contesta как указано выше. Имеет смысл держать оригинальные и правленые отчеты
раздельно.

 В зависимости от конфигурации того или иного контеста, программа судейства может создавать файлы с результатами
анализа каждого отчета в отдельности. По-умолчанию результаты предварительного анализа размещаются в
директории ./reports, а UBN-файлы - в директории ./ubn. Эти файлы могут рассылаться участникам при необходимости.

 В самом конце файла результатов располагается итоговая таблица соревнований. Каждый раз, когда программа
судейства запускается с новым набором отчетов, эти результаты динамически обновляются. Имейте ввиду,
что если для каких-то QSO невозможно рассчитать кол-во очков, то они не входят в итоговую таблицу.
По этой же причине, когда получены не все отчеты, для некоторых участников в таблице количество очков
может быть равным нулю.

 Итоговая таблица результатов соревнований после ее проверки главным судьей подлежит публикации
в официальных источниках.


IV. РЕШЕНИЕ ПРОБЛЕМ

 Работа над программой Contest Arbitrator продолжается. Ваша помощь в тестировании и улучшении программы
обязательно будет полезна разработчику. Каждая новая версия проходит тестирование в разных условиях,
однако без всестороннего испытания разными людьми с разными входными данными нельзя гарантировать
полное отсутствие ошибок и правильность результатов соревнований. Если Вы обнаружили ошибку, то повторите
и опишите все действия с программой.  Также не забудьте указать какую версию программы contesta Вы используете,
какая у Вас установлена операционная система, какой тип процессора и количество оперативной памяти.
Обязательно распишите по шагам, какие действия приводят к возникновению ошибки и как, по Вашему мнению,
должна вести себя программа. Любая подробная информация может оказаться полезной в деле скорейшего
устранения ошибок!

V. ОБРАТНАЯ СВЯЗЬ

 По любым вопросам относительно программы Contest Arbitrator Вы можете связаться с автором
по адресу: ur4mck@gmail.com

 Приветствуются сообщения об ошибках и предложения по улучшению программы.

 Программа Contest Arbitrator выпускается под свободной лицензией GNU GPL v3.
 Если Вы собираетесь использовать исходный код программы Contest Arbitrator в своем продукте, то
ссылка на проект Contest Arbitrator обязательна. Также обязательно условие чтобы Ваш новый продукт
предоставлялся с исходными кодами по лицензии GNU GPL.

 Программа Contest Arbiitrator является свободной (freeware) и Вы можете свободно копировать и
изменять ее в соответствии с лицензией GNU GPL. Подробная информация о GNU GPL на сайте:
http://www.gnu.org/licenses/gpl.html

-----
Written by UR4MCK
06.09.2009
Revision: 11.03.2015