Перейти к содержанию
    

Cosmojam

Свой
  • Постов

    306
  • Зарегистрирован

  • Посещение

Весь контент Cosmojam


  1. Всем привет! Нужен датчик положения некого бегунка на линейке, как в цифровых штенгенциркулях: только метра 2 длиной, точность 5мм достаточно. Другой пример - измеритель роста как в школе вертикальная линейка и бегунок, только надо чтобы из этого бегунка какой-то интерфейс нараужу выливал данные о положении на линейке. Не знаю как поисковик спросить о таком, поэтому спрашиваю тут :) Если такое готовое в природе есть, то подскажите как называется. Если нет, то как дешевле самому изготовить?
  2. 1) mktime() http://linux.die.net/man/3/mktime 2) time(), ctime(), strftime() http://linux.die.net/man/2/time И не надо собственных велосипедов. Стандартная библиотека Си имеет всё необходимое для этих задач. Единственное отличие на МК - получаете текущее время не вызовом time(NULL), а из собственного источника (RTC, например).
  3. А не подскажете что за баг (небаг) с LAN?
  4. К требованиям добавился Ethernet так что по ходу бигла и остаётся. А в соседней теме пишут что там проблемы с эзернетом - это правда?
  5. Всем привет! Посоветуйте готовую недорогую плату на ARM. Нужно до 4 штуки. В дальней перспективе до 100. Требуется: 1. Разведённые на пины не менее 2 UART; 2. GPIO чем больше тем лучше. Не менее 20; 3. USB хост, не помешает и девайс; 4. VGA и/или HDMI. GUI предполагается простейший; 5. Хорошая поддержка GNU/Linux (наличие драйверов, документации, примеров от производителя и т.д.); 6. (не обязательно) Вообще супер если будет распаян GSM модем (есть ли такие вообще в природе?) или втыкаемый хэдкраб с модемом и всей обвязкой типо такого http://www.aliexpress.com/item/The-SIM900-.../891216251.html для Ардуины; Из того что уже известно: RaspberryPi - мало UART-ов и GPIO BeagleBone Black - непонятно как купить несколько штук и в соседней теме противоречивые отзывы A13-OLinuXino-MICRO - пока самое привлекательное. Есть ли у кого отзывы? И может кто знает плату под п.6 Заранее спасибо
  6. Дык в облако :) Они сейчас есть не дорогие плюс сразу много возможностей дают за свою цену. Или на любом даже бесплатном хостинге с PHP можно умудрится POST запросами слать логи и складывать в БД.
  7. Это почти биллинг. Вроде вот https://www.systemajik.com/blog/monitoring-with-munin/ нагугливается, если копнуть глубже, то можно запросто найти подходящее решение. А с логом особых проблем не вижу. Его можно по сети передавать и хоть на облако сохранять :)
  8. Вроде на DIR-100 OpenWRT не ставится Отправить письмо очень просто, если не найдёте готовый крошечный SMTP клиент, то можно свой написать в несколько килобайт. Инфо о событиях из логов можно брать и регулярно парсить демоном. Точнее не скажу ибо с OpenWRT не работал. Попробуйте в эмуляторе http://wiki.openwrt.org/doc/howto/qemu, первым делом надо настроить логи iptables и сетевых демонов от которых хотите инфо собирать. Затем верно их парсить и написать демон который бы это делал. А отправить письмо - самая простая из задач.
  9. Да я тоже далеко не супер спец чтобы советовать что-то конкретное. Начал самостоятельно с нуля, сейчас напарник тянет этот проект. Мы использовали AODV протокол маршрутизации, про него pdf в аттаче. Он же используется в ZigBee так что можно про них почитать для ознакомления. Вам конкретнее что требуется? Может и симплисити достаточно. Mesh сети сложнее. Если допустимо иметь выделенные ретранляторы, то симплисити вполне подойдёт aodv_guide.pdf
  10. В симплисити хаб должен быть включен постоянно. Нам же требовалась mesh-сеть со спящими узлами
  11. Нет, от симплисити отказались. Помучившись в итоге реализовали AODV протокол.
  12. Можно усыплять задачу не vTaskDelay, а упирая её в семафор с таймаутом и выдавая семафор будить её раньше таймаута когда это нужно
  13. Так в чём вопрос? Нужна готовая программа по ТЗ - 200$. Нужна помощь? Задавайте конкретный вопрос что не получается. Задача как раз для начинающего, изучите таймеры, прерывания и всё получится.
  14. Мне недавно таможня докопалась до ЕМС посылки с разъёмами на 200$. Забирать не стал. Можно подробнее про новые ограничения на пересылку?
  15. Дату/время сборки можно узнать из стандартных макросов ANSI C http://gcc.gnu.org/onlinedocs/cpp/Standard...ned-Macros.html А прочую инфу как размер бинарника как Ruslan1 говорит, только более надёжно писать это не в выходной хекс, а в константу в коде и запускать программку перед сборкой, а не после. Тогда при каждом билде будет подставляться размер бинарника от прошлого билда. Вам только следить за актуальностью этой информации перед выпуском релиза (собирать дважды). Вот пример Ruby-скрипта, генерирующий h-файл с номером крайнего коммита в git Dir.chdir(File.expand_path(File.dirname(__FILE__))) filename = "git_revision.h" git_exec = "git log --pretty=oneline -n1" file_included = filename.gsub(".h", "_H").upcase file = File.new(filename, "w") file.puts("#ifndef #{file_included}") file.puts("#define #{file_included}") file.print "static volatile const char *GIT_REVISION = " file.print %x[#{git_exec}].chomp.inspect file.puts ";" file.puts("#endif") file.close puts "************************************" puts "Git revision written to #{filename} " puts "************************************" Элементарно добавить сюда размер бинарника и любую другую инфу. Заодно дисциплинирует делать отдельные коммиты на финальные релизы чтобы после пересборки в коде фактически был именно тот коммит, из которого проект собран.
  16. Вот такие http://www.digikey.com/product-search/en?x...rds=277-1799-ND Новые, не паяные, одна коробка не распакована даже. 240 штук. 4500р за всё + доставка (почтой по РФ навскид 300р) . Можно частями.
  17. Eclipse не находит компилятор. Что говорит which arm-linux-g++ (тут странно т.к. нет eabi в имени кросс-компилятора) И dpkg -L arm-linux-gnueabi-gcc И на крайний случай find / -name arm-linux* -print 2>/dev/null ? Первая команда просмотрит каталоги, содержащиеся в переменной PATH и отругается если исполняемого файла arm-linux-g++ в них не найдено (видимо так и будет) Вторая выведет список файлов в пакете arm-linux-gnueabi-gcc вместе с полными путями (если он установлен) Третья брутально ищет по всему диску файл с заданным именем (если проблемы с предыдущей) Если компилятор установлен, но путей к нему нет в PATH, то зная этот путь его легко добавить и решить проблему.
  18. Не совсем. Он существует для телефонов на Symbian (усилиями Нокиа) и для других мобильных платформ http://en.wikipedia.org/wiki/Qt_%28framework%29#Platforms. Но точно так же Qt существует для десктопных платформ. Изначально библиотека создавалась чтобы быть именно дескптоным кроссплатфоремнным гуем, потом разрослась.
  19. Простите великодушно за провокацию холивара, но всё же откуда требование WinForms и MSVS? На сокетах приём-отправка UDP в одном потоке займёт 30 строк на Си вместе с инклюдами. Если нужен GUI - есть Qt, в нём для работы с сетью тоже есть классы и отличный механизм сигналов-слотов для асинхронного i/o. Можно ненавидеть C++ и тогда есть Java. Но откуда появляется желание гвоздями приковывать себя к одной платформе и одной технологии одной компании? В аттаче простейший пример на C++ с Qt на приём и отправку текста по UDP. Установите Qt SDK http://www.developer.nokia.com/info/sw.nok...5f8/Qt_SDK.html, откройте проект в QtCreator и запустите его. Проще не придумать и это всё одинаково работает на всех поддерживаемых платформах и исходники самой библиотеки открыты. udptest.zip
  20. Судя по видео http://www.youtube.com/watch?feature=playe...;v=tVTh7E5kSpE#! у них в ближайших планах выпустить LM4F29x серию со встроенным MAC+PHY. Должно быть весьма вкусно.
  21. На STM32F4 свет клином не сошёлся. Есть STM32F2 и LPC17 в до <= 100 ножных корпусах, а так же LM3S со встроенным PHY http://www.ti.com/mcu/docs/mculuminaryfeat...amp;featureId=7
  22. У NXP, например, аналогичным образом сделана настройка периферии. На мой взгляд такой код читается лучше, а следовательно и портируется легче чем напрямую запись в регистры, которые ещё надо смотреть в даташите что означают и какие битики туда надо писать. А насчёт скорости смотрите сами. Если это делается 1 раз при старте девайса, то уж лишние пару наносекунд инициализации устройтсва не сильно огорчат пользователя. Посмотрте дизассемблер что Ваш компилятор генерируется, посчитайте кол-во тактов и прикиньте подходит это под заданные нужды или нет. Например, для NXP функцию GPIO_ReadValue из фирменной библиотеки gcc с -O1 компилит менее 20 инструкций (точно не помню сейчас) что на 100МГц для M3 примерно 200нс. Можно точно посчитать и измерить если критчино. Мне не было критично :)
  23. Обучение FreeRTOS

    Как любые другие данные по указателю xQueueSend(xQueueCMD, &CmdData, 100u / portTICK_RATE_MS); /* ждать 100мс в блокированном состоянии если свободного места нет */
×
×
  • Создать...