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

juvf

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    2

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


  1. 2topor_topor LCD драйвер реализует программный I2C. Соответственно если он идёт в MAIN то забивает надолго любую другую активность. А в отдельном потоке он работает паралельно и не видимо. Вы читайте полностью пост. Так а зачем тогда вообще очереди и драйвер выводить в отдельный поток? Вам же пишет haker_fox - " Другие в это время, да, курят бамбук", а вам нужно "работает паралельно и не видимо". Вы уже определитесь - вам шашечки или ехать? Вот я и спрашиваю, если писать код, что другие в это время курят бамбук - то зачем тогда вообще LCD в другой поток и очереди, если всё равно при таком решении MAIN забивает надолго любую другую активность?
  2. Так а зачем тогда вообще очереди и драйвер выводить в отдельный поток? Из любого потока вызывай драйвер LCD::ReadID() и жди ответа. На вскидку: TRetVal MeasCore::sendMsg( Msg &request, Msg &replay, TickType_t _tout )
  3. как вариант вторая очередь будет работать. Если ответов мало.... тасков мало.... вполне рабочий лёгкий вариант, без оверинженеринга. НО.... вот допустим, в очереди команд у вас уже 10 команд на выполнение, в обратной очереди 5 ответов (с других тасков были запросы). Ваш текущий таск отправляет Command::ReadID, получаем следуещее состояние: в очереди команд 11 команд в очереди ответов 5 ответов как ваш таск найдет/дождется именно ваш ответ? нужно перебрать всю очередь, в объекты Command/Ответ вводить id по которому таск найдет свой ответ. А если MAIN не дождется ответа и продолжит что-то делать, после появится ответ в очереди. Но этот ответ уже ни кому не нужен. Кто его удалит из очереди ответов? Ваша MAIN должда выдать и дождаться Command::ReadID. Т.е. MAIN заблокируется на команде. Если MAIN блокируется, то зачем Command::ReadID передавать в задачу драйвера LCD? Выполните непосредственно из MAIN медленную LCD::ReadID(). LCD::ReadID() должна быть потокозащищённая (мьютекс или симафор). Ещё вариант.... (если хорошо владеете ООП, а то ногу отстрелите), то создать очередь команд из указателей на Command. В таске драйвера lcd извлекаете из очереди указатель на Command, выполняете команду, И.... если команда с ответом, то в Command помещаете ответ и выставляет в Command флаг "выполененно". Если Command безответная (типа clear), то после выполнения команды удаляете этот объект (Command) по указателю. В MAIN ждите флаг в нужной своей Command. ps Command::флаг можно оформить через фриртосовский эвент, тогда не нужно в MAIN периодически проверять флаг, а заблокироваться на ожидании евента.
  4. Почему не подходит? См паттрен Command. Делайте очередь из Command-ов. Или, на вскидку.... структура struct Command { void (*f)(void *data); //указатель на LCD::print(void *)/rect(void*)/clear(void*) void *data; }; в очередь структуру Command. в lcd-Таске из очереди извлекать структуру и выполнять Command::f(Command::data); в методе аргумент void * приводить к нужному, например void LCD::print(void *data) { char *text = (char*)data; this->print(text); } void LCD::rect(void *data) { Rect *rect = (Rect *)data; this->drawHorizon(rect->x0, rect->x1); ... } ну как-то так... зы ну и ещё нужно быть уверенным, что память Command::data освободиться после выполнения.
  5. Как вариант, я бы так сделал: Два варианта с 2-х и 3-х клеммными колодками. На ПП оба футпринта разместил бы по одним координатам, в правилах бы сделал исключение. Если есть более кошерный вариант, может кто подскажет, сам возьму на заметку.
  6. По мойму тут мухи с котлетами в куче. Что значит альтернативный компонент? Есть альтернативный режим (Mode) для отображения УГО. Компонент один и тот же, а отображение на схеме альтернативное. Можно выбрать альтернативный футпринт, для компонента, но он (футпринт компонента) будет для всех вариантов один и тот же. Судя по картинке, у вас на варианте совершенно другой компонент. Соответственно у него будет свой футпринт. Вы хотите в варианте сделать другую ПП с другим футпринтом для Х5? Но варианты вроде не так работают. Рисуется общая схема, делается одна общая печатная плата для всех вариантов. Делается вариант, в котором указывается, что "транзистор VT6 не устанавливать". Но на ПП футпринт под VT6 останется. Разве можно на варианте ставить другие компоненты с другими футпринтами?
  7. Да, вы правы. Были скрытые полигоны, рудименты. Спасибо.
  8. AD16. Добавил полигоны земляные. Всё как обычно. 90% пинов с цепью GND не подключилось термопадами к полигону. Почему? В правилах нет каких либо указаний про "не подключать". При этом нет "нити" которая показывает что пин не подключен. На картинке одинаковые пины, но один не подключается термопадами. ps ps ps "Смотри правила" - что там смотреть и как?
  9. Arbeit macht frei

  10. загляните на UltraLibrarian. Там много готовой "не экзотики". 3Д модель поинтересней, чем в АД. Вот ваш МК. И элементы не только для АД, но и для всяких орлов, канадсев, ментеров..... и прочих кад. Даже для нафталинового PCad-а есть.
  11. Обмоточный провод с лаковой изоляцией всегда будет неизолированным для доступных для прикосновения проводящих частей часть. Да и хер с ним. Я не спорю. Что не так с терминологией? " Эмалированный провод: 37 AWG, с двойной изоляцией." Смотрите ГОСТ 26615-85 Тааааак.... вот вот вот... вы уже приближаетесь к пониманию вашего же ГОСТа. Я вам именно это на пальцах объяснял. На что вы мне ответили - что это мои фантазии. Теперь уже это и ваши фантазии. ;) Вот интересный персонаж. Сам госты не читает, а то что читает не понимает о чем речь, зато других в них носом тычет. Ликбез - ну ну.... Я вам секрет открою - госты не только нужно читать, их нужно понимать.
  12. Вы не то что ГОСТы читать не умеете, вы ещё и сообщения читать не умеете Вы были бы правы, если бы сказали "Бывает лаковое покрытие обмоточных проводов, которое изоляцией между разными обмотками в трансформаторе не является". Вы не так сказали. Вместо сборника анекдотов почитайте ГОСТ 26615-85, вам весело будет
  13. +1, смотрите ГОСТ 26615-85 Друзья, что вы прицепились к изоляции? ТС просто скопировал, то, что выдал PI Expert . " Эмалированный провод: 37 AWG, с двойной изоляцией. " - всем мне понятно что это обычный обмоточный медный круглый провод с двойной изоляцией (пусть будет с двойным покрытием). О чем спор? Для тех кто не умеет читать - читаю гост и объясняю на пальцах: О чем это говорит? что высоковольтная обмотка от низковольтной обмотки (до которой человек может коснуться) должна быть отделена двойной или усиленной изоляцией. Но провода и так изолированны эмалью/лаком. Так вот этот пункт госта говорит что обмоточные эмалированные провода считать не изолированными. А не то что не бывает изолированных эмалированных проводов. Т.е. меж обмоток требуется дополнительная изоляция. В мануале от PI Expert это видно. Они предлагают между обмотками Добавить 3 слоя пленки для изоляции + Добавить 2 слоя пленки для изоляции. Вы были бы правы, если бы сказали "Бывает лаковое покрытие обмоточных проводов, которое изоляцией между разными обмотками в трансформаторе не является". А любителям гостов, как уже сказал - ГОСТ 26615-85 "Провода обмоточные с эмалевой изоляцией." Дата последнего изменения:12.09.2018 Статус:действующий Так что по поводу "Эмалированный провод: 37 AWG, с двойной изоляцией." - верная терминология.
  14. Это у вас фантазии про лаковые промежутки и несуществующие изолированные эмалью провода. Почитайте ГОСТы, ТУ, IEC - и наступит просветление. Предлагаю закончить полемику про несуществующие провода, которые все производят ;)
  15. Спасибо за пункт.... но вы загоняетесь вводите всех в заблуждение. ГОСТ Р МЭК 60065 - по буквам: " АУДИО-, ВИДЕО- И АНАЛОГИЧНАЯ ЭЛЕКТРОННАЯ АППАРАТУРА Требования безопасности " - требование не на провод, а на аппаратуру. Пункт 8.1 говорит следующее, если есть у аппаратуры (ЭУ) открытые провода, у которых изоляция лак или эмаль (на основе растворителя), что считать и они не защищены тканью, то рассматривать такие провода как неизолированные. Ещё проще - если есть трансформатор или катушка, у которой обмотки не защищены и к ним можно прикоснуться, то приравнять эти обмотки к неизолированным частям ЭУ. А то, что не существует проводов с лаковой и эмалевой изоляцией - тут не сказано.
  16. читаю гост: ГОСТ Р МЭК 60065 - 100500 страниц. Естественно, что текст "лаковой и эмалевой изоляции не бывает" в госте не ищется. Какие-то косвенных указаний на этот счет нет. Есть тонна перекрёстных ссылок на другие госты.... Не могли бы вы быть так любезны и сказать, где в этом госте сказано, что "лаковой и эмалевой изоляции не бывает"? Более того, в инете полно документации на провода с эмалевой изоляцией . Как однослойной, двухслойной, так и 3-х слойной. Например ПЭТД1(2) 200 - Провода круглые медные с двухслойной эмалевой изоляцией. ТУ BY 400052314.013-2005, IEC 60317-13. Тип изоляции Полиэфиримид +полиамидимид Вы говорите что таких проводов не бывает, а их производят и продают.
  17. Какой смысл посыла? "Эмалированный провод: 37 AWG, с двойной изоляцией"- ПЭТВ2/ПЭТ-200-2/ПЭВТЛ2.... Медный провод с двухслойной эмалевой изоляцией. Что не так в терминологии?
  18. Спасибо, получилось!!! Нашел в dxp->preferences->data management->File Locking
  19. я правильно понял, что систем - это dxp->preferences->system->data?
  20. Нет. В любом механическом. Ctrl+L, снять галку Only show enable mechanical Layer, разэнейблить любой свободный механический слой, например Mechanical7, (для удобства переименвать его в Board), закрыть окно, Design->Board Shape...Create Primetiv from board shape->Mechanical7 (или Board)->Ok, в слое Mechanical7(или Board) создастся контур платы, включая вырезы. Гербер слоя контура платы будет %name%.GM7
  21. В АД16 не могу найти. Такое есть в АД16?
  22. немного офтопа.... при создании репозитория в git/svn, почему-то в мануалах пишут что-то типа "сделайте git add *.* в рабочей папке для добавления файлов. далее git commit -m 'Fist commit. Add files' ". В рабочей папке по мимо исходников куча объектников и прочего мусора. Всё это залетает в реп. Потом пользователи добавляют подобные игноры. Я добавляю файлы избирательно, например "git add MyProject.PrjPcb" и "git commit -m "Add Project"/"git push -u ....". Ни один мусорный другой какой либо файл не попадет в реп. Далее по мере появления файлов проекта добавляю *.SchDoc, *.Harness, *.PcbDoc, геерберы, сверловку, job. Ни каких хистори и превью туда сами собой не попадут и ни каких адских игноров писать не нужно. Если у вас в проекте уже 100500 файлов *.cpp, добавте только их "git add *.cpp". Ещё проще добавлять хором из черепахи в проводнике.
  23. чтобы мусор не забивал репозиторий, не нужно мусор добавлять в репозиторий.
  24. Библиотеки для STM32

    Я вижу в посте разраб83 о стм8, я вижу в посте разраб83 о spl от st. Я не вижу в посте разраб83 что стм8 == стм32. А чуть выше я вижу посты с LPC4370, с stm8, LPC1758, XMC4700, ATMega.... но я не вижу (и ни кто не заметил), что упоминание об этих процессорах, это тоже самое, что приравнивание к stm32. в сообщении разраб83 я вижу как продолжение дискуссии об библиотеках от st (и не только от st). ps внимательнее прочитайте мой пост и пост, который я комментировал, и подумайте о каком процессоре идёт в нём речь и о чём тема и раздел форума. 
  25. Библиотеки для STM32

    это вы их приравниваете. Я задавал вопрос о spl от st. И тема тут прежде всего об этом, которая также затронула и HAL, и LL, и снипеты, и в том числе были упомянуты stm8 и прочие процессоры. +1
×
×
  • Создать...