roboforum.ru

Технический форум по робототехнике.

МиниБот Студия

МиниБот Студия

MiBBiM » 09 авг 2008, 10:21

{*****************************************************************************************************************************************
Ботовский программатор уже начинает превращаться из простой прошивалки в сканер интернет-баз, имеющий собственный формат прошивок и способ их хранения и т.п. В связи с этим назревает необходимость в чем-то монструозном для минибота. В конце концов ПО минибота все-равно к этому придет, поэтому может начать двигаться в этом направлени уже сейчас?
******************************************************************************************************************************************}

С развитием проекта минибот все острее проявляется необходимость в едином приложении, способном "обслужить" минибота, т.к. разрозненные компоненты неудобны в использовании (спорное, конечно, утверждение, оставим в качестве допущения)).
В первую очередь программа ориентирована на неподготовленного пользователя минибота (вспомним, все начиналось как учебный проект), однако должна присутствовать возможность точной настройки профессиональных вещей (например, человек приобрел минибота с радиоинтерфейсом, но живет он в таком месте, что частота радио-модуля сильно загажена. Про уменьшение скорости порта он, конечно же, не знает, но создаст тему на форуме и добрый дадька Эдгулл ему поможет, подсказав какие знаечения утсановить в программе=)).
Кроме того, для такого пользователя можно обеспечить доставку уже готовых приложений, превратив минибот фактически в игрушку. Этот вариант тоже не стоит упускать из виду.
Ну и последнее, пользователь у нас поднаторел в некоторых аспектах и залил в минибот свою прошу. А отлаживает её через терминал программы).

Таким образом базовая составляющая программы выглядит так:
  • Менеджер готовых проектов
  • Программатор
  • Терминал

Теперь более подробно об архитектуре интерфейса:
Легенда:
  • (?) - неясность, обсуждение
  • правка - закрытый для обсуждения и/или удаленный из реализации пункт
  • правка - реализованный пункт
  • правка - пункт, ожидающий реализации
Требования к приложению:
  • Быстрый старт. Если не получится, то возможность запуска отдельно важных утилит из приложения(напр, программатор или терминал)
  • Возможность профессиональной настройки
  • А также быстрого старта со стандартными настройками для новичков
  • Приятный глазу интерфейс
  • Возможность запуска без регистрации в компьютере, т.е. портабельность
  • Поддержка Линукс
  • Другое(?)
Итак, ниже первые наработки и импровизированное ТЗ.
  1. Допущения:
    1. Приложение является MDI окном(?)
    2. Хранение настроек в ini-файле
    3. Еще(?)
  2. Интерфейс и функциональность окон приложения:
    1. Главное окно
      1. При сворачивании окон-дочек скрывать их и показывать при нажатии на нижний таб(?)
    2. Окно настроек
      1. Сделать MDI дочкой
      2. Раздельные настройки порта для программатора и терминала(один порт на всех)
    3. Окно документа
      1. Сделать MDI дочкой(?)
    4. Окно менеджера проектов
      1. Сделать MDI дочкой(?)
      2. Два списка: проекты с сайта и свои проекты(?)
    5. Окно программатора
      1. Сделать MDI дочкой(?)
      2. Предустановки для различных поставок Минибота (возможность есть, осталось толко настройки эти забить)
      3. Отдельный поток для программатора(?)
    6. Окно терминала
      1. Сделать MDI дочкой(?)
      2. Возможность лога(?)
      3. При перепрошивке мониторить порт или очищать окно(?)
      4. Отдельный поток для терминала(?)
      5. Обеспечение "подсказок" команд для текщуего зашитого проекта (наподобие Делфи)(?)
    7. Ещё окна(?)
      1. (?)
  3. Файл проекта:
    1. XML или бинарный файловый поток типа или текстовик ини(?)
    2. Прикрепление вместе с хексом текста исходного кода(?)
    3. Возможность прикрепления различных файлов: jpg, doc и т.д.(?)
    4. См. вложение. как лучше организовать?(?)
  4. Неплохо бы добавить:
  5. Баги:
    1. Не прорисовываются системные кнопки(закрыть,свернуть и т.д.) во время максимизации любого дочернего окна
    2. Неправильная реакция нижнего таба на дочек с одинаковыми заголовками(caption)
    3. При смене скина не прорисовываются спид батоны на окне настроек. Леченеие: Перезапуск окна.
    4. Нестабильная работа кнопки отключения скинов
    5. Памяти жрем дохрена. С открытыми 40 проектами (пустыми) на полный экран+окном настроек набегает 60(!!!) мегабайт.
  6. Мысли вслух
    1. Линух ф топку
    2. Прикрутить AVReAL для программирования через LPT(?)
  7. Используемые библиотеки/компоненты:
    1. AlphaControls (скины)
Во вложении самая последняя версия.
Этот пост постоянно обновляется. Он отображает процесс разработки.
P.S. Проект пишется на Delphi, среда разработки: CodeGear RAD Studio 2007.
Вложения
.rar
Набросок файловой архитектуры проектов. Насчет ини я там погорячился, внимание обращаем лишь на список тегов
(1.38 КиБ) Скачиваний: 24
MiniBotStudio 0.02nc.rar
Организовано сохранение настроек программы и порта в иник, почти работает программатор (кто хочет рискнуть, проверьте=))
(636.84 КиБ) Скачиваний: 49
Skins 0.01nc.rar
Скины для версий *nc
(1.14 МиБ) Скачиваний: 37
Студия 0.01nc.rar
Первый набросок интерфейса. Написан на Делфи с использованием Alpha Controls(скин).
(572.34 КиБ) Скачиваний: 45
Последний раз редактировалось MiBBiM 20 авг 2008, 13:36, всего редактировалось 20 раз(а).

Re: МиниБот Студия

Mars » 09 авг 2008, 13:25

Насколько мне известно, со времен шестого Делфи язык. в нем используемый, начал называться Делфи.
Он немного отличается от Паскаля, к тому же, кроме Делфи, мощных сред разработки нет.
Могу помочь в разработке.
Делфи знаю.
Сейчас интерфейс программы изучаю.
Какой пункт надо реализировать первым?

Re: МиниБот Студия

Duhas » 09 авг 2008, 13:28

Mars а BCB и Visual Studio так параша недостояная внимания ?.. мнения о вас падают ...

Re: МиниБот Студия

Vooon » 09 авг 2008, 13:47

1.b. ни в коем случае! ini и только ini

Добавлено спустя 2 минуты 46 секунд:
6. - не знаем о контроле версий?

Re: МиниБот Студия

blindman » 09 авг 2008, 13:47

Duhas писал(а):Mars а BCB и Visual Studio так параша недостояная внимания ?.. мнения о вас падают ...

Бред какой-то. Какие еще мнения?

MiBBiM, пара моментов:
1. Не с того начинаешь. Интерфейс, XML, рюшечки всякие. В первую очередь с функциональность определись. Оболочку сделать не проблема.
2. Если задумываешься над кроссплатфенностью, советую сразу смотреть в сторону C++ и библиотек типа wxWidgets.

Re: МиниБот Студия

Vooon » 09 авг 2008, 13:52

blindman писал(а):2. Если задумываешься над кроссплатфенностью, советую сразу смотреть в сторону C++ и библиотек типа wxWidgets.

Лучше на Qt.

А вообще слветую посмотреть на атмел. Они для новой серии контроллеров (AVR32) не стали писать студию с нуля, а просто допилили eclips.

Re: МиниБот Студия

Duhas » 09 авг 2008, 13:55

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

Re: МиниБот Студия

blindman » 09 авг 2008, 13:58

человек высказался, что нет серьезных сред для определенного языка, а не в общем и целом

Re: МиниБот Студия

Сергей » 09 авг 2008, 14:28

Имхо сделайте сначала движок на основе графической машины. Лучше без всяких делфей и тому подобного, а брать чистый Qt, GTK, wxWidgets или на крайняк WinAPI. А потом уже будете разговаривать насчет рюшек всяких. И то что написали в первом посту называеца ChangeLog, его нада не сюда выкладывать а прикреплять файл к проекту. мдаа

Re: МиниБот Студия

Mars » 09 авг 2008, 14:29

Blindman правильно меня понял.
Если бы я считал, что лучшая среда разработки-Delphi,то не программировал бы на Си++.
Я имел в виду, что Паскаль нормально реализован только в Delphi.
Вы лично можете работать в TP7 или ABC.
Насчет wxWidgets-согласен.
Можно еще библиотеки поискать.

Re: МиниБот Студия

MiBBiM » 09 авг 2008, 14:32

Mars писал(а):Насколько мне известно, со времен шестого Делфи язык. в нем используемый, начал называться Делфи.

Мне тоже это известно (офиц. заявления не видел, но слухи слыхивал) :). Тем не менее, имхо, язык паскаль, а среда делфи.

Vooon писал(а):1.b. ни в коем случае! ini и только ini

Почему не гуд привязка к конкретному компьютеру? Если ини нужен для "профессиональных настроек", то с таким же успехом можно редактировать реестр. А имплантироваться в реестр все равно придется, т.к. у студии будет собственный формат проекта,=> надо его регистрировать в системе.
Или вы хотите чтобы прожка могла работать без вз-я с рееестром вообще, т.е. допускала установку без прав редактирования реестра?
Vooon писал(а):6. - не знаем о контроле версий?

Не знаем. Будем курить мануалы.
blindman писал(а):1. Не с того начинаешь. Интерфейс, XML, рюшечки всякие. В первую очередь с функциональность определись. Оболочку сделать не проблема.

Интерфейс объединен с функциональностью. То что написано здесь - базовая функциональность (согласен, есть и излишества, но они в разрабатываются в режиме "если нечего делать". запостил сюда, чтобы не забыть).
Вообще, оболочка эта создана для быстрого налаживания кода. Т.е. написал, сразу же проверил. Мне так удобнее. Насчет XML^ наработки есть у svp. К тому же это студия, значит у нее должен быть свой формат проекта. В экстренной разработке прежде всего файлы-проекты, прорамматор (опять же есть наработки у svp), терминал.
blindman писал(а):2. Если задумываешься над кроссплатфенностью, советую сразу смотреть в сторону C++ и библиотек типа wxWidgets.

Это лишь возможно. Лично я на это силы тратить не буду, но если кто-нибудь захочет сделать, то пожалуйста
Последний раз редактировалось MiBBiM 09 авг 2008, 14:48, всего редактировалось 1 раз.

Re: МиниБот Студия

blindman » 09 авг 2008, 14:35

MiBBiM писал(а):Это лишь возможно. Лично я на это силы тратить не буду, но если кто-нибудь захочет сделать, то пожалуйста

Если ты сам сразу этого не сделаешь, думаешь найдутся мазохисты портировать твой код? С таким подходом можешь сразу пункт про Linux вычеркнуть.

Re: МиниБот Студия

MiBBiM » 09 авг 2008, 15:14

Сергей писал(а):Имхо сделайте сначала движок на основе графической машины. Лучше без всяких делфей и тому подобного, а брать чистый Qt, GTK, wxWidgets или на крайняк WinAPI. А потом уже будете разговаривать насчет рюшек всяких. И то что написали в первом посту называеца ChangeLog, его нада не сюда выкладывать а прикреплять файл к проекту. мдаа

1. я бы сказал что это такое тз вольного описания. Структурированный список того, что неполохо бы реализовать. Для удобства людей, поддерживающих разработку. На форум запостил для того, чтобы видно было эволюцию программы. К тому же, эта страница - индикатор скорости развития.ChangeLog - лог изменений, а раз лог,=>изменения УЖЕ произведены. Здесь такого пока нет.
2. Имхо, может я чего-то не понимаю/не знаю, но стоит ли писать то что написано до нас?
3. Насчет "мдаа". Вы что-то имеете против?
P.S. Я не волшебник, я только учусь :D . То что я написал лишь толчок для мастстых профессионалов

Добавлено спустя 9 минут 49 секунд:
blindman писал(а):
MiBBiM писал(а):Это лишь возможно. Лично я на это силы тратить не буду, но если кто-нибудь захочет сделать, то пожалуйста

Если ты сам сразу этого не сделаешь, думаешь найдутся мазохисты портировать твой код? С таким подходом можешь сразу пункт про Linux вычеркнуть.

покурю гугл. посмотрим что из этого выйдет.

Добавлено спустя 20 минут 44 секунды:
Итак, насчет кроссплаформенности.
№1: Delphi & Kylix=можно попробовать. за использование крякнутого ПО можно огрести
№2: Lazarus=багоюзерство обеспечено, но все легально
№3: C++ + wxWidgets=нзн. ничего не могу сказать. но опять же возможность легальной писанины.
Вобще, т.к. минибот продукт национальный, то все его ПО должно быть свободнораспространяемо, а т.к. полукоммерческий, то По это должно быть написано легально :) . Вот так вот.

Добавлено спустя 4 минуты 33 секунды:
Чтож, переходим на Си или пишем на Делфи?
Имхо, на делфи я пишу так себе, на си немного похуже, на Си++ вообще никак :D
Вообще, давайте опрос.
Последний раз редактировалось MiBBiM 09 авг 2008, 15:51, всего редактировалось 1 раз.

Re: МиниБот Студия

Mars » 09 авг 2008, 15:44

Посмотрел я студию.
В целом, ничего.
Надо написать справку.
Создать ярлык и установочный диск.
Еще скинов.
Расширить функционал(пока студия представляет собой просто оболочку).
Заполнить кнопки.
Я могу переводом в Си++ заняться.

Добавлено спустя 2 минуты 45 секунд:
Ты не можешь никак не писать на Си++.
Это доработанная версия языка Си.
В Си++ есть классы.
В целом, Си++ очень похож на Си.

Re: МиниБот Студия

MiBBiM » 09 авг 2008, 15:57

Марс, дело в том что даже производный язык требует изучения. Но я буду стараться. :)
По результатам голосования определим язык и снесем половину темы, наработки тоже снесем. Если хочешь скины, они во вложении

Добавлено спустя 3 минуты 26 секунд:
Mars писал(а):В целом, ничего.

я старался
Mars писал(а):Надо написать справку.

после того как базовый функционал будет реализован
Mars писал(а):Создать ярлык и установочный диск.

создают в соседних топиках
Mars писал(а):Расширить функционал(пока студия представляет собой просто оболочку).

в комментариях к вложению и написано, что это прст оболочка. это то как я себе представляю студию.
Mars писал(а):Я могу переводом в Си++ заняться.

надо заново писать все.
Как только решим нужна кроссплатформенность или нет так и начнем делать. Пока проект стоит до завтрашнего дня.
Мб как вариант отдельно разрабатывать под линукс и под винду, но это быдлокодерство.
Вложения
Skins.rar
(1.14 МиБ) Скачиваний: 43


Rambler\'s Top100 Mail.ru counter