roboforum.ru

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

ВидеоТерминал для МиниБота

Re: ВидеоТерминал для МиниБота

MiBBiM » 02 май 2009, 20:15

а C# вкупе с .NET возможно использовать, или я что-то путаю?

Re: ВидеоТерминал для МиниБота

galex1981 » 02 май 2009, 20:16

Спасибо за информацию, наверно все таки переделаю проект под wxWidgets, тоже согласен что народ не только в Windows работает, да и сам скоро в плане программирования перейду в Linux

Добавлено спустя 34 секунды:
C# и использует технологию .Net

Re: ВидеоТерминал для МиниБота

MiBBiM » 02 май 2009, 20:17

ну дык я про это и говорю

Re: ВидеоТерминал для МиниБота

blindman » 02 май 2009, 20:19

Есть Mono, но как по мне - это монстр извращенный ... Как и сам .net

Re: ВидеоТерминал для МиниБота

MiBBiM » 02 май 2009, 20:27

Wiki писал(а):технологии ASP.NET, ADO.NET и Windows.Forms не были стандартизированы ECMA/ISO и использование их в Mono находится под угрозой претензий со стороны Microsoft. Mono предоставляет реализацию ASP.NET, ADO.NET и Windows.Forms, но в то же время рекомендует обходить эти API.

видимо всамом деле неудачная идея :)

Re: ВидеоТерминал для МиниБота

Snable » 02 май 2009, 22:22

Используйте Qt лучше. Поддерживает большее число платформ. По-больше wxWidgets будет и по-распространенней. Есть embedded версия. Красивше :wink: . Кстати говоря, там и встраиваемость приложений друг в друга проще, поэтому если делать целую "платформу", то лучший выбор. Или я чего-то не догоняю :crazy:

Re: ВидеоТерминал для МиниБота

galex1981 » 03 май 2009, 00:56

Я посмотрю оба решения и на одном из них все переделаю, спасибо за консультацию

Добавлено спустя 2 часа 29 минут 46 секунд:
Нашел одну особенность в прошивке Минибота, если не конфигурировать АЦП, то температура не будет нормально показываться
Код: Выделить всёРазвернуть
Config Adc = Single , Prescaler = Auto , Reference = Internal
Вложения
AVR-DOS1.1.rar
(68.54 КиБ) Скачиваний: 18

Re: ВидеоТерминал для МиниБота

blindman » 03 май 2009, 05:25

Snable писал(а):Используйте Qt лучше. Поддерживает большее число платформ. По-больше wxWidgets будет и по-распространенней. Есть embedded версия. Красивше :wink: . Кстати говоря, там и встраиваемость приложений друг в друга проще, поэтому если делать целую "платформу", то лучший выбор. Или я чего-то не догоняю :crazy:

Мне кажется, перед каждым заявлением следовало бы добавить "ИМХО" ;)

Re: ВидеоТерминал для МиниБота

Snable » 03 май 2009, 06:11

Из-за этого топика решил предать ( :crazy: ) Qt и посмотреть в сторону wxWidgets...
Вот когда я смотрел впервые на код какой-то qt-программы, меня конечно озадачили всякие макросы типа Q_OBJECT... всякие гадости типа connect... Но тем не менее даже не зная что это на самом деле такое - я прогу понял, даже смог её подправить как мне надо было. А сейчас, собсна, изучаю qt уже глубже...
Сейчас посмотрел на wxWidgets... Я в принципе и до этого представлял себе что это такое. Смотрел, но не вглядывался. Согласен, что на ней можно сделать почти то же самое что и на qt. Есть привязка не только к сям, но и другим языкам. Вообще много вкусностей... Но проблема в том, что я "Hello World" разбирал минут 15 что к чему(правда по ходу я ни туда попал... не самый простой пример для такой проги, хотя вроде оф. сайт).
ИМХО, куда проще и понятней
Код: Выделить всёРазвернуть
    #include <QApplication>
    #include <QPushButton>

    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);

        QPushButton hello("Hello world!");
        hello.resize(100, 30);

        hello.show();
        return app.exec();
    }

, чем(кое-как нашел на вики линукс-жорнала):
Код: Выделить всёРазвернуть
#include "wx/wx.h"
class HWFrame: public wxFrame
{
public:
       HWFrame() : wxFrame(NULL, wxID_ANY, "First wxWidgets Application")
       {
             label = new wxStaticText(this, wxID_STATIC, "Hello World");
       }
       virtual ~HWFrame()
       {
             delete label;
       }
private:
       wxStaticText * label;
};
class HWApp: public wxApp
{
       virtual bool OnInit()
       {
             HWFrame * myFrame = new HWFrame();
             myFrame->Show();
             return true;
       }
};
IMPLEMENT_APP(HWApp);


Ну некрасивый код в wx, ИМХО, получается...
К тому же с документацией у них явно проблемы. Тот же ХэллоуВорлд нормальный искал минут 5, все попадались всякие проги aka "Monstrous Hello_World my Microsoft on MFC" строчек на 50...
Пользовать можно и пользуют :wink: , я б даже сказал, что немало, но... насколько я понимаю плюс перед qt только один, ито спорный - размер исполняемых модулей. У qt, если ничего не оптимизировать он больше намного выходит.
Может быть и ошибаюсь, но быстро пробежавшись по описалову, хулпу и сэмплам сложилось такое мнение :pardon:

Re: ВидеоТерминал для МиниБота

galex1981 » 03 май 2009, 19:44

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

Re: ВидеоТерминал для МиниБота

Snable » 03 май 2009, 22:32

DirectX по-любому круче чем OpenGL с такой логикой ))) У директа ведь минимальная прога - строк 30-40, а у опенгл - строк 20. :crazy:
Полез я рыть инфу о wxWidgets в общем и нарыл вот чего:
http://wiki.wxwidgets.org/WxWidgets_Com ... r_Toolkits
Здесь они пишут о других либах, в чем плюсы, в чем минусы... Вот цитатка о qt с моим кратким переводом:
[*]Both Qt (http://www.qtsoftware.com/) and wxWidgets have many non-GUI-related classes, such as date/time, containers, networking and OpenGL functionality.
КуТэ и ВХ имеют кучу классов для работы со всем чем нужно, типа 1:1.

[*]Qt4.5 is available under the LGPL for open-source and commercial applications on Windows, Mac and GNU/Linux, and under a commercial license for the customers that feel that the LGPL is unsecure from a legal standpoint. All ports of wxWidgets are distributed under a permissive modified (but explicitly OSI-approved) LGPL, which allows development and distribution of proprietary applications without license costs.
КуТэ и ВХ имеют лицензии ЛГПЛ для опенсорса - всё замечательно, но вот программмеру захотелось сделать проприетарщину и КуТэшник обязан платить, а ВХ-юзер - нет. 1:2 в пользу ВХ.

[*]Qt doesn't have true native ports like wxWidgets does. What we mean by this is that even though Qt draws them quite realistically, Qt draws its own widgets on each platform. It's worth mentioning though that Qt comes with special styles for Mac OS X and Windows XP and Vista that use native APIs (Appeareance Manager on Mac OS X, UxTheme on Windows XP) for drawing standard widget primitives (e.g. scrollbars or buttons) exactly like any native application. Event handling, the resulting visual feedback and widget layout are always implemented by Qt.
-An approach similar to Qt's is achieved with wxUniversal.
-It should be noted that on KDE and Qt for Embedded Linux platforms, Qt is the native GUI library.

Типа КуТэ не умеет юзать стандартные примитивы системы при рисовании (и вообще АПИ системы), то есть (типа в цитате оговорка) КуТэ адаптирует рисование примитивов, чтоб они отображались одинаково на всех платформах, хватает события сама, сама всё отображает на всех платформах. Но 1) почти тоже самое делает ВХ-универсал. 2) КуТэ - нативная либа для встроенной версии и кедов.
Плюс обоим, поскольку и то и то - хорошо, но по разному. 2:3 в пользу ВХ.

[*]Qt is used by several large projects like KDE and the Opera browser (on the other hand, wxWidgets is used by projects like the AOL Communicator)
На КуТэ написаны кеды и опера, а на ВХ - VLC, Code::Blocks и KiCad (это в другом месте нашел). Ну, что сказать - молодцы, конечно, но если сравнивать по сложности кеды хотя-бы и (влс+код::блокс+кикад), то qt +1 3:3 - ничья...
Хотя по иновациям даже опера, ИМХО, смогла бы эту тройку уделать. Но это ИМХО.

[*]Qt makes extremely liberal use of virtual functions (QWidget, the base class of all widgets in Qt had 51 at last count), giving it a more OO design than wxWidgets (which uses a more MFC-like approach using macros). What this means is fewer lines of code in general when using Qt, but faster execution speed when using wxWidgets (although the degree to which this occurs depends on whom you ask).
КуТэ либерально использует виртуальные функции, поэтому у КуТэ больше возможностей в ООП программировании, чем у ВХ, который юзает макросы как МФЦ (мда... не зря я привел такую аналогию раньше). Это значит - у КуТэ меньше строк кода, больше ООП - медленнее выполнение. У ВХ - больше строк, меньше ООП - быстрее выполнение. Как всегда в общем - от этого не избавиться.
Я бы поставил +КуТэ за ООП и +ВХ за скорость... Так и сдалаю. 4:4 - ничья.

[*]Qt is used by IBM and Borland Kylix (discontinued): this should yield more reliability. However, it is rumoured that wxWidgets will be used in the next version of C++BuilderX.
КуТэ используют IBM и Borland, говорят (типа слухи), что СппБилдерИкс будет юзать ВХ...
Однозначно +КуТэ - он используется и имеет поддержку. На оф. сайте КуТэ также говориться о поддержке Нокии(ессно - они владельцы), СониЭрика, Мотороллы, Фольцвагона и кучи других крупных компаний. 5:4 - КуТу впереди)

[*]Qt has a full-featured embeddable GUI (Qt for Embedded Linux) based on GNU/Linux with framebuffer, it gives you a very fast time to market. This means that once you have Linux with /dev/fb you are ready to run examples in minutes, with no additional pains. Qt for Embedded Linux has a small footprint compared with X11.
КуТэ имеет полноценную эмбеддед версию. (Типа за пару минут можно накатать, например, ХэллоуВорд для Линуха, запущенного на Арме и ничё тормозить не будет, поскоку оптимизировано.)
Опять плюс понятно кому - 6:4.

[*]There are numerious IDEs for Qt, QtDesigner, QtCreator, QDevelop, Edyuk as well as integrations with popular IDEs such as Visual Studio, Eclipse and XCode (though there are also several IDEs for wxWidgets).
Есть куча ИДЕ, работающих с КуТэ и ВХ. Эклипс и МССтудия есть, значит обоим плюсы. (Хотя мне QtCreator нравица)
7:5 - КуТэ впереди.

[*]Qt offers reliable commercial support (but so does wx, see http://www.wxwidgets.org/support/support.htm)
There is nothing to stop somebody writing a Qt-based implementation of wxWidgets, though wxWidgets applications can already be made to appear Qt-native using wxGTK and GTK-Qt.

Коммерческий саппорт есть и у КуТэ и у ВХ. Последнее предложение о том, что можно через жопу(ЖТК) писать на КуТэ на ВХ. (ИМХО - бред).
За саппорт обоим плюсы.
8:6 в пользу КуТэ.



Причем цитатка с оф. сайта))).
Все оценки - ИМХО, я лишь постарался приблизить их к объективным.
Для видеотерминала минибота важно, на мой взгляд количество строк кода поменьше, чем скорость исполнения по-выше. КуТэ в плюсе. Про крупные приложения (они же - целые "платформы")- в цитате был пример - кеды. Замечательная реализация. Надеюсь религиозных споров не будет, хотя бы потому что особо популярных десктоп-менеджеров на ВХ нет, а может и вообще нет.
И еще один плюс КуТэ о котором ясен пень не сказали на оф.сайте ВХ - Документация, учебники, самоучители. На тему КуТэ их намного больше.
Фуух... Отписался :crazy:

Re: ВидеоТерминал для МиниБота

galex1981 » 03 май 2009, 22:58

Мнение учту, не согласен только что DirectX круче OpenGL. Диплом просто делал по этому. По графике выигрывает OpenGL, по скорости DirectX

Re: ВидеоТерминал для МиниБота

Snable » 03 май 2009, 23:26

Дык то оффтопик был) Я вообще за опенгл - он кроссплатформенный. Диплом не писал, но некоторые базовые навыки есть и опенгл как-то по-удобнее будет, более прозрачный, что-ли)
Это я к тому написал, что количество кода для выполнения одного и того же != не показатель возможности/невозможности создания крупного приложения. Просто в КуТэ кода можно меньше писать, он больше делает автоматически(можно и вручную делать для оптимизации). В принципе можно и КуТэшную прогу переписать как в примере ХэллоуВорд на ВХ, но смысла в этом нет - потеряется удобочитаемость.

Re: ВидеоТерминал для МиниБота

pashteet » 29 дек 2009, 21:14

Продолжение будет?
Очень заинтересовало :good:

Re: ВидеоТерминал для МиниБота

galex1981 » 03 янв 2010, 11:24

Ты имеешь ввиду многоплатформенность?


Rambler\'s Top100 Mail.ru counter