roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 11:05

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 103 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 11:45 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
EdGull писал(а):
Запускаете приложение

Упс.
EdGull писал(а):
с точки зрения бутлоадера ничем

А с точки зрения прошивок? Надо ли делить прошивки простой и про версии? Т.е. разрешать ли пользователю прошивать версию прошивки для мбпро на мб?
EdGull писал(а):
уарт

Прошу прощения, аппаратные средства подключения. В магазине вот это:
*Запаяная плата без кода для моста USB-ZigBee (FT232-Mega88-CC2500)
*Микросхема интерфейса UART-RS485 MAX485 (ST485, ADM485) SO8
*Плата интерфейсная USB-UART со шнурами и подачей питания для робота МиниБот
Таким образом, получается три пресета: c виртуальным компортом и радиомодулем, с виртуальным компортом и проводом и, напоследок, с реальным компортом.


Вложения:
MBSReincornation 0.027nc.rar [635 КиБ]
Скачиваний: 38

_________________
Tomorrow will be. Better
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 12:05 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Цитата:
аппаратные средства подключения. В магазине вот это:

с точки зрения ПК и минибота это всё равно уарты

Добавлено спустя 8 минут 15 секунд:
Цитата:
А с точки зрения прошивок? Надо ли делить прошивки простой и про версии? Т.е. разрешать ли пользователю прошивать версию прошивки для мбпро на мб?

хороший вопрос, вообще-то по хорошему надо прописывать в миниботов какой avr у него на борту


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 17:12 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
Ок.
EdGull писал(а):
аппаратные средства подключения. В магазине вот это: с точки зрения ПК и минибота это всё равно уарты

Я понимаю, что это уарт. Другое дело то, что для этих видов подключения будут необходимы различные настройки компорта. Например, для радиомодуля - это пониженный битрейт, а для прямого подключения к компорту - включенный аппаратный контроль потока, например.
Вобщем, сейчас я сделаю изменяемые пресетя настроек для порта (раньше из нельзя было изменить).
EdGull писал(а):
хороший вопрос, вообще-то по хорошему надо прописывать в миниботов какой avr у него на борту

Вот из чего состоит проект. Скажите, что ещё необходимо добавить (комментарии добавлены)
Код:
    {ABOUT}
    FProjectName:string; имя проекта
    FShortComment: string; короткий комментарий
    FVersion: single; версия проекта
    FFromSite: boolean; проект авляется проектом с сайта. изменение такого проекта запрещено
    FDate: TDateTime; дата последних изменений
    FFileSize: cardinal; размер файла-проекта вместе с файлами(скрытое свойство, нужно только в текущей сессии)
    FFilePath: string; путь до файла-проекта а этой машине(скрытое свойство, нужно только в текущей сессии)
    {HEX}
    FHasHex: Has; имеет ли проект хекс(да,нет, встроенный)
    FHexPath: string; путь до внешнего файла-проекта
    FHexStr: TStrings; строки хекса
    {CODE}
    FHasCode: Has;
    FCodePath: string; тоже самое что и с хексом
    FCodeStr: TStrings;
    {WIDECOMMENT}
    FHasWideComment: boolean; имеет ли проект расширенный комментарий
    FWideCommentStr: TStrings;  строки его
    {TERMINAL CODES}
    FHasTerminalCodes: boolean; имеет ли терминальные коды
    {FILES}
    FHasFiles: boolean; имеет ли файлы
    FFiles: TStrings; строки описатели файлов

Сейчас сделал активацию-дезактивацию кнопок меню. Работаю над причесыванием программатора

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 17:36 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
я не программер, для меня это китайская граммота... :pardon:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 17:40 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Чтобы избавить пользователей форума от китайских грамот, рекомендую сделать просто ChangeLog хороший, и сюда выкладывать только новые версии, кому нужно тот сам почитает ChangeLog и поможет если захочет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 17:43 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
комментарии к каждой строке ведь есть.
2 Сергей: оно конечно и надо, но жуть не хочется. гораздо проще здесь написать, а первую страницу все-равно никто не просматривает 100%.

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 17:48 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Не, я не говорю что нада первый пост обновлять, его никто не читает. Просто новым постом прикрепляешь новую версию


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 19:58 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Эх, всеже придется ткнуть носом, что и где...

  1. Идем на http://www.bitbucket.org регистрируемся, создаем репо (бесплатно предлагают только одно и 150 метров места)
  2. Смотрим робовику [[Установка DVCS Mercurial]], выполняем.
  3. Перегружаем машину (актуально только для винды)
  4. Заходим в папку с проектом, Файл -> TortoiseHG -> Settings -> Global --> закладка User, пишем в поле Username
    строку вида username or nick <email>
  5. Файл -> TortoiseHG -> Create Repository Here
  6. Файл -> TortoiseHG -> Add Files
  7. Файл -> HG Commit, Пишешь initial а с новой строки перечисляешь что сейчас есть.
  8. Файл -> TortoiseHG -> Synchronize, адресс берешь на битбукете (Clone/Push URL), выполняеш Push

После этого на битбукете можно будет увидеть короткий лог что сделано.
Нужно только после изменения кода коммитить с внятным описанием что ты сделал и ремя от времени производить push в основной репозитарий.

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 20:03 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Не думаю что человек которому лень писать changelog и искать иконки будет юзать репо..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 20:07 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Пример того, что получится можно видеть здесь: https://www.bitbucket.org/vooon/minibot-sercontrol/

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 25 авг 2008, 21:36 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
Vooon писал(а):
Эх, всеже придется ткнуть носом, что и где... Идем на http://www.bitbucket.org регистрируемся, создаем репо (бесплатно предлагают только одно и 150 метров места) Смотрим робовику [[Установка DVCS Mercurial]], выполняем. Перегружаем машину (актуально только для винды) Заходим в папку с проектом, Файл -> TortoiseHG -> Settings -> Global --> закладка User, пишем в поле Usernameстроку вида username or nick <email> Файл -> TortoiseHG -> Create Repository Here Файл -> TortoiseHG -> Add Files Файл -> HG Commit, Пишешь initial а с новой строки перечисляешь что сейчас есть. Файл -> TortoiseHG -> Synchronize, адресс берешь на битбукете (Clone/Push URL), выполняеш PushПосле этого на битбукете можно будет увидеть короткий лог что сделано.Нужно только после изменения кода коммитить с внятным описанием что ты сделал и ремя от времени производить push в основной репозитарий

Вы уже писали про контроль версий. Не думайте, что я о нём забыл :) Прст по моему мнению, проект не дорос ещё до стадии чего-то приличного. Но если вы настаиваете...
Сергей писал(а):
Не думаю что человек которому лень писать changelog и искать иконки будет юзать репо..

1. Если это позволит экономить время, то почему бы и нет?
2. Почему бы кому-нибудь и не поискать их? Вдруг кто-нить найдется добрый :D . Хотя, врядли. :(
3. Откуда вы черпаете такую слепую уверенность?
P.S. Changelog ведется с этой версии.

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 27 авг 2008, 11:18 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
Итак, вот и очередное обновление. Версия 0,028nc.
Все изменения - в changelog'e. Если вкрадце, то добавлен терминал и полностью доведен программатор+не удержался и добавил возможность менять цветовую палитру скина и насыщенность цвета)
Кто хочет, может проверить терминал. запуск - terminalstart, стоп - terminalstop и очистка - terminalclear. Пока возможности не было проверить, вечером кину перемычку на ком-порт и проверю.

2Edgull. Программаторная часть программы уже врядли будет меняться. Проверяйте.
Инструкция:
Инструкция писал(а):
Запуск
Настройки - порт - настраиваете
Файл-новый
Проект - добавить - хекс - ДИНАМИЧЕСКИЙ.
кнопочка flasherbegin, отменить можно flasherstop

Вот проект если без кода:
Проект писал(а):
  • Имя проекта
  • Короткий комментарий
  • Версия проекта
  • Проект авляется проектом с сайта или нет. Проекты с сайта изменять нельзя.
  • Дата последних изменений
  • Hex
  • Исходник
  • Расширенный комментарий - файл .rtf - поддерживает стили текста (делается Microsoft Word'ом)
  • Терминальные коды
  • Файлы

Добавляем пункт о платформе? Что-нибудь ещё?


Вложения:
MBS 0.028nc.rar [668.62 КиБ]
Скачиваний: 38

_________________
Tomorrow will be. Better
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 28 авг 2008, 08:21 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
И ещё. Какой бутлодер используется? Которому надо отсылать "P" или тот, что на "S" реагирует?

Добавлено спустя 48 минут 25 секунд:
P.S. Быть может, отключить вообще возможность создания своих проектов? Т.е. сделать прст просмотровщик этих самых проектов?

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 28 авг 2008, 12:55 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
P.P.S. Да, кст. Терминал работает (с утра проверял). Только нзн насчет спец символов: у меня есть подозрение, что они обрабатываться не будут. Ближе к ночи проверю и подумаю что с этим можно сделать

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МиниБот Студия
СообщениеДобавлено: 29 авг 2008, 15:48 
Не в сети
Аватара пользователя

Зарегистрирован: 13 дек 2005, 16:01
Сообщения: 42
Откуда: Белгород
прог. языки: object pascal, c++, Lisp, Prolog
Насчет формата файла проекта.
Так-как речь не идёт о хранении внутри проекта больших объёмов мультимедийной информации формат XML будет предпочтительнее чем бинарный файл. И вот основные достоинства:
1. Полно стандартных парсеров.
2. Легко разобраться со структурой.
3. Легко отлаживать (просто видно глазами что не так).
4. Легко реализовать свой механизм сереализации в XML.
5. Полная поддержка UTF-8.
6. Сторонние разработчики легко смогут присоединиться к пректу и добавлять в файл проета свои вложения с данными плагинов.
7! Не нужно дополнительно заботиться об обратной совместимости пректов, сохранённых в разных версиях программы.
8. В XML можно добавлять бинарные данные.

Простейший механизм сериализации:
1. Каждый класс должен уметь сохранять и загружать себя из узла XML. Для этого у него должна быть пара методов: SaveToXML и LoadFromXML. Первый метод-функция возвращает XML-узел с сериализованным экземпляром класса. Второй процедура -- получает через параметр узел и пытается из него загрузиь своё состояние. При ошибке должен генерироваться excepton определённого класса с указанием причины ошибки.
2. Активно используем наследование, инкапсуляцию и полиморфизм. Создаём абстрактных предков с виртуальными методами описанными выше. Потомки этих классов должны лишь перекрыть виртуальные методы и добавить в узел свои поля и вложенные узлы.
3. Каждый класс должен знать свой тег. В качестве тега можно использовать название класса, а классы зарегистрировать в едином списке, дабы по имени можно было получить класс (это, кстати, можно поручить RTTI). Таким образом каждый класс сможет определить может ли он грузиться из данного ему узла или следует сгенерировать exception.
4. Используем коллекции. Делаем предка всех сохраняемых коллекций и учим его сохранять в XML-узел своё содержимое.
5. Делаем предка всех элементов коллекций и учим его сохраняться в XML. (Всё! Любые коллекции сохраняются одной строчкой!)

Как это применить в конкретном случае.
Берём простенький и шустренький парсер XML. Например этот:
Вложение:
Комментарий к файлу: Простой и быстрый парсер XML
SimpleXML_1.0.1.rar [82.73 КиБ]
Скачиваний: 20

Объектная модель этого парсера построена на основе интерфейсов. Работать с ним просто. Не надо заботиться об освобождении памяти и уничтожении объектов. В прилагаемом примере и справке всё просто и наглядно показано.

Так же в XML можно хранить и настройки программы опираясь на ту же самую модель сериализации. Можно хранить пресеты с настройками, а так же настройки плагинов, которые когда-то таки появятся, если проект не зачахнет.
Аналогичной расширяемости с использованием бинарных файлов можно добиться только реализовав чунковую структуру, аналогичную формату файлов, например 3dMAX. Однако о читабельности, прозрачности и простом стандартном парсере придётся забыть.

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

Насчет того, что ещё нужно добавить в данные о проекте:
1. Глобальный уникальный идентификатор проекта.
2. Глобальный уникальный иднтификатор версии.
В качестве них можно использовать обычные GUIDы, которые используются в технологии COM. Для их генерации помимо WIN API есть, также, и независимые от платформы функции.
Нужны эти идентификаторы, чтобы однозначно определять и различать разные версии одного и того же проекта. Ведь в перспективе речь идёт о каком-то интернет-хранилище?
В любом случае используя XML структуру нам не придётся дополнительно заботиться об обратной совместимости проектов. Это очень важный плюс, который я, кстати, чуть не забыл упомянуть выше.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 103 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO