Jump to content

    

Harvester

Участник
  • Content Count

    390
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Harvester

  • Rank
    Местный
  • Birthday 12/24/1976

Контакты

  • Сайт
    http://

Информация

  • Город
    Королев, М.О.

Recent Profile Visitors

4334 profile views
  1. Добрый день. Система CentOS 6, кросс-компиляция для powerpc. На сборочном сервере (с той же системой) все работает хорошо, но когда я пытаюсь повторить это на локальном компе, вылезает непонятная проблема. На финальном этапе сборки (перед генерацией образа) формируется список пакетов и вызывается команда ipkg: mkdir "$(IMAGEDIR)" PACKAGES='' ; for i in $(CONTENTSDIR); do \ PACKAGES="$$PACKAGES $(PACKAGEDIR)/$${i}_*.ipk"; \ done; \ $(IPKG) -o "$(IMAGEDIR)" install $$PACKAGES Проблема в том, что для 25-и пакетов команда выдает: Clearing state_want and state_flag for pkg=xxxxxx (arch_priority=0 flag=16 want=2) И только для 6-и: Installing xxxx(20015d-vard1) to root... А в конце: Nothing to be done An error ocurred, return value: 1. Collected errors: Cannot find package busybox. Check the spelling or perhaps run 'ipkg update' ... Все пакеты есть, ведь список формируется из реального содержимого папки. Права у всех пакетов одинаковые. Почему такое может происходить? Куда смотреть?
  2. Я задал тот вопрос, который меня интересовал. В общем, я решил не использовать термин "дроссель", пока он явно не встретится в тексте.
  3. Простите, но Вы не совсем правы. Я ведь не спрашиваю, можно ли катушку индуктивности назвать просто индуктивностью. "сопротивление" vs "резистор", также как и "емкость" vs "конденсатор" - это противопоставление физической величины и компонента, работа которого основана на этой физической величине. Очевидно, что такая замена некорректна и условно допустима только в разговорной речи.
  4. Заранее прошу прощения за, возможно, глупый вопрос. Правильно ли называть индуктивность в понижающем DC-DC преобразователе дросселем? С одной стороны этот элемент используется для запасания энергии, что является одним из применений дросселя, да и в русскоязычной литературе (тот же Семенов) часто употребляется термин "дроссель". С другой стороны, в английском языке дроссель это "chocke", а в текстах обычно явно говорится о катушке индуктивности:
  5. Может я неправильно выразился. Но ведь здесь явно определяется элемент перечисления , а потом с этим же идентификатором написан define. Исходя из логики работы препроцессора все включения TFD_CLOEXEC будут заменены на идентичную строку, что в свою очередь будет обращением к элементу перечисления. Какое-то тройное "масло-масляное" получается :) Потому и вопрос возник - зачем? А Ваше предположение мне кажется неверным. Эти константы используются как битовые параметры, а не как директивы условной компиляции. timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK | TFD_CLOEXEC); И такое объединение enum + define встречается не в одном файле. Кстати, интересный вопрос - можно ли будет обратиться к элементу перечисления TFD_CLOEXEC, после того, как в коде появится #undef TFD_CLOEXEC? А в чем здесь красота? Дополнительные 5 строк кода, не несущие ни логической, ни пояснительной нагрузки.
  6. Добрый день. Наткнулся вот на такую конструкцию в заголовочном файле (linux): /* Bits to be set in the FLAGS parameter of `timerfd_create'. */ enum { TFD_CLOEXEC = 02000000, #define TFD_CLOEXEC TFD_CLOEXEC TFD_NONBLOCK = 00004000 #define TFD_NONBLOCK TFD_NONBLOCK }; Кто-нибудь может предположить, зачем надо было переопределять элементы перечисления через идентичные define-ы?
  7. Установит. А вот Ваш вариант PORTE &= ~(0<<PORTE5) - нет
  8. В том-то и дело, что не похоже. Просто подавление синфазного сигнала - это CMRR (Common Mode Rejection Ratio).
  9. Добрый день. Встретилось в статье сокращение DCMR (Differential to Common Mode Rejection). Что оно означает вроде бы понятно, но при прямом переводе на русский какая-то ерунда получается. Может быть существует устоявшийся термин для этого коэффициента? Если что, статья про синфазные дроссели.
  10. У меня на входе УЖЕ double. И далее в алгоритмах используется double. В этом случае результат не соответствует исходным требованиям, 50.11 => 50.2, а должно быть 50.0! :) Хм, попробую. Возможно этого будет достаточно :)
  11. Задача - ограничить вводимые значения с заданной дискретностью. Т.е. если задан шаг 0.2, то число xxx.19 должно превратиться в xxx, а xxx.21 - в xxx.2. Беру очевидную формулу result = (int)(value / discrete) * discrete; Однако на значениях value, кратных discrete, она не работает - неправильно производится приведение к целому. 50.19 => 250.950000 => 250 => 50 50.2 => 251.000000 => 250 => 50 <---- почему-то 50.2/0.2 = 251.0, а (int)(50.2/0.2) = 250! 50.21 => 251.050000 => 251 => 50.2 Пытаюсь сделать проверку разности if((value / discrete) - (int)(value / discrete) >= 1.0f) , но в условие не попадаю! Собственно, вопроса два - почему так происходит, и как эту задачу все же решить? PS. На всякий случай: платформа PowerPC - Linux, компилятор gcc
  12. Да. Однажды пришлось работать с QSPI, который "из коробки" не поддерживается. Нашел на просторах интернета DLL с поддержкой этого протокола.