где взять нормальное IDE?
- Войдите на сайт для отправки комментариев
Сб, 19/12/2015 - 02:35
1) UECIDE -- не работает прошивка (т.к. нелья задать скорость bod)
2) avr-gcc -- проблема с LiquidCrystal_I2C:
z@sp:/l/pr/arduino_gcc/1_wirgin_lib$ make avr-gcc -Wall -Os -DF_CPU=16000000 -mmcu=atmega328p main.cpp -o main.elf -I /zdisk/soft/arduino-1.6.5/hardware/arduino/avr/cores/arduino/ -I /zdisk/soft/arduino-1.6.5/hardware/arduino/avr/variants/eightanaloginputs/ -I /zdisk/soft/arduino-1.6.5/hardware/arduino/avr/libraries/Wire/ -I /zdisk/soft/arduino-1.6.5/libraries/LiquidCrystal_I2C1602V1/ In file included from main.cpp:22:0: /zdisk/soft/arduino-1.6.5/libraries/LiquidCrystal_I2C1602V1/LiquidCrystal_I2C.h:84:16: error: conflicting return type specified for ‘virtual void LiquidCrystal_I2C::write(uint8_t)’ virtual void write(uint8_t); ^ In file included from /zdisk/soft/arduino-1.6.5/hardware/arduino/avr/cores/arduino/Stream.h:26:0, from /zdisk/soft/arduino-1.6.5/hardware/arduino/avr/cores/arduino/HardwareSerial.h:29, from /zdisk/soft/arduino-1.6.5/hardware/arduino/avr/cores/arduino/Arduino.h:224, from main.cpp:3: /zdisk/soft/arduino-1.6.5/hardware/arduino/avr/cores/arduino/Print.h:48:20: error: overriding ‘virtual size_t Print::write(uint8_t)’ virtual size_t write(uint8_t) = 0; ^ make: *** [main] Error 1
3) стандартный IDE Arduino - без комментариев
написать самому с учётом всех неугодных тебе багов и отсутвующих шлюх
Еще один адепт идеального, халявного IDE. Пишите Шура, пишите.
Поставь Atmel Studio 7. Бесплатная IDE от производителя МК. Студия работает с программатором STK-500, но есть возможность прикрутить любой программатор через вызов внешней тулзы avrdude.
написать самому с учётом всех неугодных тебе багов и отсутвующих шлюх
Ну я это и пытаюсь сделать фактически. Только вот возникают проблемы с подключением сторонних библиотек (для работы с ЖКИ). Библиотеки тоже теперь самому переписывать?
Atmel Studio 7 -- не работает в Linux, на сколько я заметил.
Вот интересно. а если Вы найдёте идеальное IDE, а какой-нибудь "говно-прогер" накропет ещё кусок "говно-кода", который не компилируется - Вы снова будете IDE менять и искать такое, в котором любое дерьмо скомпилируется?
Сдаётся мне, что проблема не с LiquidCrystal_I2C, а с чем-то другим.
А чего так?
где взять нормальное IDE?
Библиотеки тоже теперь самому переписывать?
бери выше и глубже - свой язык писать.
Atmel Studio 7 -- не работает в Linux, на сколько я заметил.
проблемы линуксоидов виндузятников не волнуют.
В стандартном IDE проблема на с компиляцией, а с текстовым редактором, точнее с его отсутствием как такового. Автоматическое дополнение, которое не отключается. Табуляция не настраивается. Кодировка текста не пойми какая. Про шрифт и фон вообще молчу.
По сути надо писать в блокноте, вставлять это в IDE и компилирировать. - много лишних действией получается.
Вы Архату не родственник?
По интерфейсу среда действительно фуфел, я пишу во встроенном редакторе FAR - там и beyond EOL, и настраиваимая ширина таба (и автозамена пробелами, если нужно), плюс до кучи можно выделять вертикально, в общем зашибись.
Если не то, существует надстройка, делающая Arduino среду более-менее цивильной - MariaMole.
По проблемам с компиляцией хрен угадаешь, я просто использую среду 1.0.5. Не жалуется.
Atmel Studio 7 -- не работает в Linux, на сколько я заметил.
В стандартном IDE ... Кодировка текста не пойми какая.
Вообще-то кодировка там самая стандартная для Линукса - UTF-8. Я еще понял бы, если бы говорил виндузятник, не признающий ничего кроме 1251.
А так, мне кажется, Вы сами себе противоречите.
spyphy,
табуляция настраивается, шрифты тоже. Просто не в диалоге. а в файле preferences.txt
Но не это главное. Вы можете сформулировать критерии нормальности? Как проверить какое-то IDE нормальное оно или нет?
spyphy,
табуляция настраивается, шрифты тоже. Просто не в диалоге. а в файле preferences.txt
Но не это главное. Вы можете сформулировать критерии нормальности? Как проверить какое-то IDE нормальное оно или нет?
Нормальное IDE, это которому ставишь задачу, а оно за тебя пишет. ВОТ.
Вы можете сформулировать критерии нормальности?
Не могу, т.к. их очень много. Но вот основные:
- наличие документации.
- открытые исходные коды.
Автодополнение отключается хоть? Какая оптия? Сам должен догадатьс?
я пишу во встроенном редакторе FAR
О да... Я когда-то в FAR'е страницы на PHP пилил... (до сих пор помню, как подошёл человек с таким выражением лица О_о и спросил, что я вижу/понимаю в этой мешанине белых букв на синем фоне...). Потом на Notepad++ перешёл, отличнейший редактор.
Не могу, т.к. их очень много. Но вот основные:
- наличие документации.
- открытые исходные коды.
Автодополнение отключается хоть? Какая оптия? Сам должен догадатьс?
Ну, а раз не можете, то чего требуете? "Сделайте мне красиво"?
Я не знаю, что такое атодополнение и потому не могу сказать отключается оно или нет.
Я не знаю, что такое атодополнение и потому не могу сказать отключается оно или нет.
Это когда само ставить скобку } и т.п.
Впрочем ладно, кажется я разобрался с UECIDE. Там есть файл настроек, где можно выставить скорость upload. Единственное, что если работать из под user не root, надо после подключения платы к usb каждый раз делать делать sudo chmod a+rw /dev/ttyUSB0
p.s. этот UECIDE не сильно конечно отличается от стандартного ide, но там хоть какой-то интерфейс пользователя имеется, на первое время хватит.
Автодополнение отключается хоть? Какая оптия? Сам должен догадатьс?
блин - у меня в Дуино ИДЕ автокоплете не работает
Автодополнение отключается хоть? Какая оптия? Сам должен догадатьс?
блин - у меня в Дуино ИДЕ автокоплете не работает
Ни у кого до этого момента не работало.
У этого UECIDE закрывающая скобка тоже ставится автоматом и это не отключается! впустую временя только убил на установку этого IDE.
Похоже от wirgin и сопуствующих библиотек придется отказаться.
возник вопрос а нельзя ли сделать так, что какое-нибудь из этих IDE комплировало файл без необходимости открывать само IDE, то бишь в консольном режим..
Ну положим я ИДЕ уже тоже пользую только для проверки "а смогут ли виндузятники воспользоваться моим кодом?". В Линухе полно редакторов, настраиваемых "вдоль и поперек". Можно настроить Эклипс под работу а-ля ИДЕ, в сети полно инструкций "как", можно взять Е-макс или как он там, давно не пользовал .. я себе настроил Kate. Многооконен, вполне понимает и язык с подсветкой, есть встроенные описания под С/С++ можно описалово донастроить указав что "ino" - это тоже С++, есть встроенный терминал и можно хоть ручками запускать чего хочешь .. несколько "батников": для компиляции, для прошивки, для получения ассемблера, препроцессорного результата и тут же с загрузкой в Кате .. мне удобно и хватает. Разве что как Эклипс не переходит по вызову функции на место её определения .. да даже gedit можно точно также запилить .. и вообще: Линукс - это как Лего, чем мне и нравится. Хочешь запорожец - пожалуйста, а надо мерседес - тоже не проблема .. надо из запорожца боинг долепить - тоже можно. Разве что "углы" деталек от Лего торчать будут .. напильник в руки, если не нравится. В смысле берешь исходник ... :)
P.S. У Линукса только один недостаток: система, писанная программистами "для себя", в силу чего нормальная документация отсутствует от слова "почти совсем". Ну и последние 3-4 года, в среде разработчиков появилось слишком много виндузовых диверсантов, особенно в среде убунтоидов, пишущих "шибко умные" прибамбасы. 3-й гном - яркий тому пример. Исключительно из-за этого идиотизма ушел на кеды и уже ищу, какой дектоп не будет за меня думать. Не надо "за меня" додумывать ничего!
Легко. Можете даже MC настроить, добавив ему команды компиляции. Можете даже свой make собрать и подшивать свои либы "по умолчанию". :)
возник вопрос а нельзя ли сделать так, что какое-нибудь из этих IDE комплировало файл без необходимости открывать само IDE, то бишь в консольном режим..
Это принципиально невозможно, т.к. противоречит самой концепции IDE.
возник вопрос а нельзя ли сделать так, что какое-нибудь из этих IDE комплировало файл без необходимости открывать само IDE, то бишь в консольном режим..
Это принципиально невозможно, т.к. противоречит самой концепции IDE.
Да ладно, если не ошибаюсь Code::Blocks такое может.
Не совсем понятно чем не устраивает автодополнение команды? Тем чтобы глюки легче ловить было от невыставленных закрывающих знаков?
Компилировать можно и без ИДЕ, QT тому пример. Создается программа в оболочке, скомпилировать можно из командной строки. То что оболочка не запустится при компиляции из командной строки такого договора не было, так что не противоречит. Как запустится так и закроется.
зы В FoxPro можно вообще без компиляции выполнять программы - их все равно оболочка отрабатывает как ни крутись.
Значит, Code::Blocks либо не IDE, либо не совсекм IDE.
Либо, что вероятнее, Code::Blocks вообще не используется для работы, а используется лишь входящий в него компилятор командной строки.
Значит, Code::Blocks либо не IDE, либо не совсекм IDE.
Либо, что вероятнее, Code::Blocks вообще не используется для работы, а используется лишь входящий в него компилятор командной строки.
Воо блин !
Так и ардуино IDE тоже не IDE, так как, при компиляции зовет 'arduino-builder.exe'
который можно позвать из любого батника не запуская саму IDE.
Все IDE так устроены.
а Code::Blocks - весЩЬ ! переполз на него, редактор отменный, только один раз настроить под себя.
Не совсем понятно чем не устраивает автодополнение команды? Тем чтобы глюки легче ловить было от невыставленных закрывающих знаков?
Тем, что когда я ставлю открывающую скобку, то ставлю и закрывающуюся. IDE ставить еще одну закрывающуюся скобку, которую я должен удалять каждый раз? Надо мне такая автоматизация??
Это всё равно, что когда станешь пенсионером лет через 30, у каждого принудительно будет персональный робот-нянка, который будет кормить тебя из ложки, причем эту функцию у робота нельзя будет отключить (не будет там такой кнопки просто!). Ну все же так делают, а ты что особенный типа?
Мне нужен IDE без IDE. Ну вы поняли.
avr-gcc не компилит ардуиновы библиотеки, хз почему, я уже писал об этом, возможно нужен хороший make-файл. В остальном же это именно то, что надо (если писать на чистом C++, то всё вообще ОК).
Буду пробывать Code::Blocks.
Значит, Code::Blocks либо не IDE, либо не совсекм IDE.
Либо, что вероятнее, Code::Blocks вообще не используется для работы, а используется лишь входящий в него компилятор командной строки.
Честное слово, тратить время на пустое не хочется.
Смотрим в WiKi, что такое интегрированная среда разработки и видм из чего на состоит:
Ок, Microsoft Visual Studio - это IDE или не IDE? Система сборки у неё вполне "самостоятельная". https://msdn.microsoft.com/ru-ru/library/f35ctcxw.aspx
Дайте пруф, почему IDE не может пачкать свои белы рученьки консольной сборкой проектов? Тогда и поговорим.
Имне!! есть такое для windows? мне было бы куда удобнее с командной строки скажем build.bat e:\file.ino, upload.bat e:\file.ino чем клацать по Ino файлу Enter и ждать пока среда загрузится, чтобы собрать, залить, и насрать в каталоге %temp%.
И всё же, огромное, волосатое "НО" притаилось в углу: удобные командностроковые опции имеет только IDE >1.5. У меня 1.0.5 и менять её не хочется ваще-ваще.
Ещё в мае-июне, знакомясь со всем этим барахлом я поступил просто:
Как только вычитал, что ИДЕ умеет быть "болтливой" (в настройках кнопочки выдавать детально), так тут же запустив блинк, тщательно перекопировал чего и как вызывает ИДЕ, чтобы оно скомпилялось и прошилось .. немного времени на "разобраться что к чему" и ву-а-ля, сделал run.sh, который запускает это все, с теми же указаниями путей "где что брать" только не в /tmp/build/.. а куда мне захотелось. Постепенно оно доращивалось, по мере вычитывания опций gcc, линкеров, библиотекарей .. почему для винды нельзя пойти этим же путем? :)
да с этим Code::Blocks не понятно еще что быстрее, или оптии проекта под arduino в нем самому выставить, или make-файл написать. особой разницы, видимо, и нет.
Но проблема у меня возникла на более раннем этапе, а именно с добавлением в проект заголовочных файлов... хотя уже всеми возможными способами добавлял тот файл в проект. в общем давно я не пользовался этими IDE
Смотрим в WiKi, что такое интегрированная среда разработки и видм из чего на состоит:
Ок, Microsoft Visual Studio - это IDE или не IDE? Система сборки у неё вполне "самостоятельная". https://msdn.microsoft.com/ru-ru/library/f35ctcxw.aspx
Дайте пруф, почему IDE не может пачкать свои белы рученьки консольной сборкой проектов? Тогда и поговорим.
Пруф Вы привели сами: текстовый редактор - обязательный элемент IDE. Если он не используется, это уже не IDE.
Согласно Вашей логике, если я не использую отладчик, значит это не IDE. Пустая трата времени, дальше без меня.
spyphy, блин .. ну кто вам мешает посмотреть в опции, которые пользует ИДЕ и добавить все необходимые опции -I -D в строку компиляции скетча?!? И всё будет "находится" на ура.
spyphy, блин .. ну кто вам мешает посмотреть в опции, которые пользует ИДЕ и добавить все необходимые опции -I -D в строку компиляции скетча?!? И всё будет "находится" на ура.
это мешает
$
Все файлы для LiquidCrystal_I2C я скопировал в текущий каталог. Откуда здесь C:\Program Files вылезает вообще без понятия (т.к. я под ubuntu это делаю)
понятия не имею что и откуда у вас вылазит. Тоже сижу не под виндой .. скопировал все ключики и все работает на ура. Чудес - не бывает.
Попробуйте указать ваш контролер
и в начало файла добавьте
его нет в списке (328p)
понятия не имею что и откуда у вас вылазит. Тоже сижу не под виндой .. скопировал все ключики и все работает на ура. Чудес - не бывает.
С LiquidCrystal_I2C тоже работает?
Доберусь домой, посмотрю. Не помню, вроде как с этой либой мой LCD1602 пашет...
его нет в списке (328p)
Code::Blocks брал тут http://sourceforge.net/projects/arduinodev/files/
Ну вот есть типа такое начало скетча:
Иде компиляет вполне нормально, никаких C:\program files или как там у вас - не замечено. Воткнул в список файлов путь до этой либы, типа так: ~/Arduino/libraries/LiquidCrystal_I2C
Среди строк компиляции поймал вот такое:
~/progs/arduino-1.6.4/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -DARDUINO=10604 -DARDUINO_ARCH_AVR -DARDUINO_AVR_MEGA2560 -mmcu=atmega2560 -DF_CPU=16000000L -I~/progs/arduino-1.6.4/hardware/arduino/avr/cores/arduino -I~/progs/arduino-1.6.4/hardware/arduino/avr/variants/mega -I~/progs/arduino-1.6.4/hardware/arduino/avr/libraries/Wire -I~/Arduino/libraries/LiquidCrystal_I2C ./L298N.cpp -o ./L298N.cpp.o
, где есть подстановки из sh-ника:
PROG_DIR = '~/progs/arduino-1.6.4/hardware/tools/avr/bin/',
FLAGS = '-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -DARDUINO=10604 -DARDUINO_ARCH_AVR' -- заимствовано тупо из строк компиляции ИДЕ, даже не разбирался надо ли оно..
Проц, плата и частота - параметры запуска compile.sh как и файл с перечнем компилируемых файлов проекта. Они у меня собраны в один файл и компилируются "в цикле".
Далее выделен стандартный набор путей для тех инклудов, что в < > скобках.
Последние 2 жирным - стандартные пути, где искать типовые библиотеки Ардуино и последний инклуд - то что втыкнул в список моего "файла проекта" как путь до билиотеки.
Всё нормально скомпилялось в терминале Kate. Ну не бывает "чудес". :)
Code::Blocks брал тут http://sourceforge.net/projects/arduinodev/files/
Ну с этим я разобрался. И вернулся к тому, с чего всё начиналось:
Как присобачить к Code::Blocks файл LiquidCrystal_I2C.o ???
~/progs/arduino-1.6.4/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -DARDUINO=10604 -DARDUINO_ARCH_AVR -DARDUINO_AVR_MEGA2560 -mmcu=atmega2560 -DF_CPU=16000000L -I~/progs/arduino-1.6.4/hardware/arduino/avr/cores/arduino -I~/progs/arduino-1.6.4/hardware/arduino/avr/variants/mega -I~/progs/arduino-1.6.4/hardware/arduino/avr/libraries/Wire -I~/Arduino/libraries/LiquidCrystal_I2C ./L298N.cpp -o ./L298N.cpp.o
ключевая фраза -с
собственно на этапе компиляции у меня тоже проблем не возникает, они возникают в процесс линковки.
Как присобачить к Code::Blocks файл LiquidCrystal_I2C.o ???
а не, всё нормально. это я туплю, просто сто лет не пользовался этими IDE. Там надо было не .o вставлять, а LiquidCrystal_I2C.cpp. Сейчас вроде всё работает. Т.е. в CodeBlocks-Arduino. Попробую еще под линукс эту сборку поставить.
под ubuntu не получается настроить codeblocks (например, по этой инструкции https://github.com/provideyourown/CodeBlocks-Arduino), он начинает виснуть
Что я могу сказать, CodeBlocks надежд моих не оправдал. Сам по себе компилятор не плохой, но сборка CodeBlocks-Arduino заработала только под виндой и то не для всех либ, например Ethernet просто так там не пошел. Конечно можно настроить, но это не проще чем самому тот же make-файл написать.
Как вариант пробывал gedit+uecide+avrdude (плюс uecide в том, что он автоматически обновляет содержимое), но все же как-то через одно место получается.
И вот наконец установил себе https://github.com/sudar/Arduino-Makefile. Поначалу кажется страшноватым, но уже после мучений с CodeBlocks и прочими IDE с этим разобрался за полчаса и всё работает как ни странно!
Врочем, это же можно юзать и как плагин к CodeBlocks, так что возможно знакомство с CodeBlocks было не бесполезным.
1) UECIDE -- не работает прошивка (т.к. нелья задать скорость bod)
2) avr-gcc -- проблема с LiquidCrystal_I2C:
3) стандартный IDE Arduino - без комментариев
Тут проблема не в IDE а в API библиотеки arduino-1.6.5:
virtual
void
LiquidCrystal_I2C::write(uint8_t)
Пытается перегрузить
virtual
size_tPrint::write(uint8_t);
у них разные типы возвращаемых значений. Возьми либу отсюда https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library там этой проблемы нет