- Intel PL/M-51 Version 1.4 2kon(204 знак., 25.07.2024 14:19, dao, ссылка)
- Приветы. В FT_Prog некомпетентый товарищ в спешке изменил у FTDI
дескрипторы. В итоге сейчас когда подключаю FTDI-ку к USB ноутбука,
исчезает питание (я вижу по светодиоду)и FT_Prog не сканирует и не
определяет FTDI-ку. Вопрос, как исправить ситуацию, зашить верные
дескрипторы, короче отменить ошибочную прошивку FTDI-ки малой
кровью не выпаиивая конфигурационный eeprom - ПyмПyм(25.07.2024 13:49, , dao, полностью)
- Мнится мне, что кто-то уже записывал такие мысли на песках
Сахары... Toчкa oпopы(463 знак., 19.06.2024 22:03, dao, ссылка, полностью)
- Так вроде давно уже сделали такое Sergey_N(1 знак., 15.07.2024 17:10, ссылка)
- Вот я охреневаю вообще с этой темы. За всю жизнь работы не
возникало затруднений зажечь светодиод и никакой потребности в
классах не возникало. Проблемы (более 80% трудоемкости) возникают
совершенно в другом месте. Это либо нехватка ОЗУ в дешманском MCU
либо новые неизведанные алгортимы прикладного уровня. - 3m(23.06.2024 13:25)
- Смысл не просто зажечь светодиод а зажечь светодиод с помощью
единого интерфейса независимо от того находится ли светодиод на
локальном пине, на шине, доступен через модбас или этот светодиод
на марсоходе, а марсоход уже летит в грунт. Boвa(24 знак., 23.06.2024 13:42 - 13:52)
- Вы пытаетесь свалить в одну кучу сущности обладающие принципиально
разными свойствами, это неприемлемо!!! Кстати типовая фича
ООПшнутых. Светодиод на GPIO зажгется всегда и мгновенно, светодиод
на hc595 зажгется после завершения spi транзакции а на модбас может
не зажечься вовсе если связь потеряна. А теперь представьте что
другой такой же гений абстракций применит ваш класс для управления
сигналом DE трансивера RS485 через оптрон (а ЧО, этож светодиод) а
оно на 595 регистре. 3m(41 знак., 23.06.2024 14:15)
- Класс Led не получится применить для RS485, если он нормально
спроектирован. Компилятор ошибку должен выдать. На этапе написания
кода даже будет ошибка. В этом суть. И на другой плате тот же код
будет работать, достаточно лишь нижний слой-распиновну сменить. А
Скрипач будет все свои функции переписывать. - Costic(24.06.2024 23:28)
- Этот, как его.. паттерн "мост" Tyмблep(1 знак., 05.07.2024 15:14, ссылка)
- Небезинтересно. Спасибо :) Cкpипaч(354 знак., 05.07.2024 15:54)
- Не совсем. Tyмблep(847 знак., 05.07.2024 17:59)
- Неправильное понимание паттерна "мост" и его назначения. Сразу пишу
что неправильно, это тонкий вопрос в дизайне и архитектуре. Смысл
паттерна "мост" не в том, чтобы соорудить некую общую абстракцию и
наделять её смысловой реализацией, разделив их. Смысл только в том
чтобы технически разделить интерфейс и технически позволить
подменять актуальную реализацию. И абстракция-интерфейс и
реализация как правило чётко определены (т.е. вообще-то глобально
мы ЗНАЕМ, однако так RxTx(1596 знак., 05.07.2024 20:34)
- Нет, не согласен. Tyмблep(1843 знак., 08.07.2024 15:44)
- Наследование вообще применимо мало где. Потому что оно предполагает
строгую иерархию без побочных эффектов. А это применимо только для
полностью абстрактных вещей типа графики, оконной системы. Там где
голимая математика в памяти можно строить иерархию классов. Как
только появляются реальные физические объекты лучше убегать в
сторону агрегирования указателей и т.п. - =AlexD=(08.07.2024 15:45)
- Приехали. =:0 Tyмблep(539 знак., 08.07.2024 15:53)
- Абстрактный класс - это костыль плюсиков, в которых изначально не
было интерфейсов. Кстати, кто-то из великих плюсоводов писал что
дружественные функции пользительнее для здоровья. - =AlexD=(08.07.2024 16:16)
- "Это другое, понимать надо" (c) Tyмблep(557 знак., 15.07.2024 14:14)
- Я и не сравниваю. Я абисняю что согласно последней моде
наследоваться - харам (за исключение абстрактных костылей типа
интерфейсов). Самый простой путь получить доступ к внутренностям -
унаследоваться, что 98% плюсовых погромиздов и делают. А дружить -
это же ДУМАТЬ надоть. Нафих вообще... - =AlexD=(15.07.2024 15:33)
- Не знаю про моду. Tyмблep(1344 знак., 16.07.2024 15:20)
- Ну, полюбому, реализовать "отличие...числовой константой" вы должны
ручками. Сами. А, потом, гордо, пользоваться получившимся объектом.
Хотя, чисто механически, смысла в этом осталось не так чтобы много. - mse homjak(16.07.2024 15:48)
- Ещё бы ! Tyмблep(440 знак., 16.07.2024 17:38)
- Не понял, почему "ручками гораздо дольше"? Не, можно упороться на
ровном месте, моё почтение. Спору нет. Но если у вас ужэ есть набор
параметризируемых функцый, то что за проблема просто передавать в
ужэ написанную функцыю параметр, соотвецтвующий конкретной микруле? mse homjak(324 знак., 16.07.2024 17:59)
- Как бы почти же самое. Tyмблep(1795 знак., 16.07.2024 18:18)
- Ну и? Все процедуры должны быть вами написаны! Под требования ООП.
Все "классы-предки", это просто абстракция. Физически, это,
условно, функция, в которую передаётся условный указатель на список
параметров конкретного жука. Которая вами написана. Вся роль
"классовой боротьбы", это передача параметров(которые вы ужэ
подготовили) в функции(котрые вы ужэ написали). Это всё хорошо и
выгодно, если всю работу за вас сделал дядя, а вы только
пользуетесь. Но дядя, как правило, не в mse homjak(49 знак., 16.07.2024 19:54)
- Модуль dummy_led.c+h и две функции в нем. Позднее, вместо dummy_led
можно подключить в проект любой другой. - Cкpипaч(05.07.2024 18:08)
- Почему? Прерпишется функцыя setLedState(0/1). Собсно, "нижний
слой-распиновка". Зачем переписывать все функцыи? - mse homjak(25.06.2024 16:38)
- Ошибки в момент компиляции можно избежать, но код конечно правильно
работать не будет. Однако это не говорит о плохости так как умелый
программист всегда найдет 1000 способов вышибить себе мозги. Boвa(262 знак., 25.06.2024 00:19)
- У него будет изменён только нижний слой, платформозависимый.
Бизнес-логика ни одной строчкой не поменяется. - POV(24.06.2024 23:35)
- Та самая дырявая в абстракция - имет больше свойств чем описано в
интерфейсе. Если мы хотим единообразия в таком вопросе, то
интерфейс нужно расширять методами и кодами ошибок на весь зоопарк,
даже на ногопортовый светодиод. А это куча лишней писанины и ещё
больше лишних проверок в коде. Изредка в этом есть смысл, например
для плагинов. Но чаще - нет. - =AlexD=(24.06.2024 09:54)
- Точнее "довожу до абсурда". - Boвa(23.06.2024 14:51)
- С дуру и хрен сломать можно :) - VladislavS.(23.06.2024 14:20)
- Не стоит брать слишком большую лопату. - Cкpипaч(23.06.2024 13:44)
- +1 - Гyдвин(23.06.2024 14:31)
- В данной теме светодиод это лишь сущность для обсуждения принципов
без залезания в дебри. - VladislavS.(23.06.2024 13:36)
- Нет никакого смысла ковыряться с этими битами. Надо код сразу
уводить на более высокий уровень абстракции, а биты оставить внутри
библиотечного кода. Один раз написать и оттестировать библиотеку
без ошибок в битах вполне посильная задача. VladislavS.(105 знак., 20.06.2024 09:07)
- Ваша позиция правильна. Эх, опустился норот без розовыхЪ членов
сообщества. Скоро под себя ходить будет. Никаких 1< < не
должно быть нигде в .с файлах. В одном лишь конфиг-хидере все
выводы описываются. - RED_LED(20.06.2024 23:49, )
- Да. Сразу на более высокий уровень абстракции. Но совершенно не так
как написали вы. Cкpипaч(71 знак., 20.06.2024 19:30 - 21:36)
- Этот код гавно, и я поясню почему. Costic(1098 знак., 22.06.2024 15:25)
- Этот код - демонстрация НЕ смешивания областей определения. Там где
определен Fucking_Silly_Led_On() не используются биты. Вообще. Ни в
явной форме, через ООП-прослойку. Cкpипaч(328 знак., 22.06.2024 18:27, ссылка)
- Вам реально нужна библиотека для манипуляции битами и регистрами?
Мне - нет. - Cкpипaч(22.06.2024 15:40)
- Всем нужна, все <gpio.h> используют. Но написать GPIO
толково на С++ пока никто не может. Средства С++ и современные IDE
имеют подсказки и помогают писать код. Т.е. на этапе написания кода
уже могут исключаться ошибки, т.к. IDE предложит только
ограниченное множество портов, пинов и иных объектов в зависимости
от контекста. Даже компилировать не надо, как у Владислава. А это
повышение производительности труда, которая тебе очень нравится. - Costic(22.06.2024 19:40)
- Для инженерных задач, думаю, такая библиотека не нужна. Но
манипулирование битами это то средство в языке С, с помощью
которого предметная область "электротехники" отображается (mapping)
в алгоритмах и программах. По-хорошему, нужны средства (классы,
операторы, функции, множества) для описания предметной области.
Современный С++ может предоставить эти средства. - Costic(22.06.2024 16:39)
- Т.е. желание впихуйнуть операции над битами в совершенно иной слой
абстракции - неистребимо. Принято. Лично я так делать не буду. И
подчиненным не позволю. - Cкpипaч(22.06.2024 18:27)
- Тут вот какая штука... Дополнительная абстракция бит, позволяет
оптимизировать код на этапе компиляции. Причём так, что
последовательность действий над волатильными регистрами аппаратуры
сохраняется, обеспечивая требуемые последовательности ввода-вывода.
И, при этом, биты разных объектов, принадлежащие одному регистру,
упаковываются в одну операцию, а не в последовательность. Nikolay_Po(107 знак., 22.06.2024 18:45)
- Я вот выше писал что классы для работы с битами это перебор, но
вспомнил как делал обёртку над системой команд RISC-V. Там при
доступе к полям спецрегистров куча разных ассемблерных команд.
Чтобы не думать как правильно и/или оптимально с ними работать
пришолось обернуть в класс и переложить заботы на компилятор. В
результате код обходит написанный вендором на асме. - VladislavS.(22.06.2024 23:21)
- А ЗАЧЕМ перемешивать работу с регистрами и прикладной код? Ради половины процента экономии по памяти программ? Я даже не
говорю "преждевременная оптимизация". Я просто молчу. Со скорбным
видом. - Cкpипaч(22.06.2024 18:54)
- А почему бы не экономить, особенно если это бесплатно делает
компилятор? И не преждевременно, а всегда и без устали. - VladislavS.(22.06.2024 22:49)
- Перечитал ветку еще раз - мы говорим о разном и друг друга не
слышим. Cкpипaч(556 знак., 23.06.2024 07:39)
- Вы противоречите своему примеру идеалного метода включения диода в
который поместили работу с битами и регистрами конкретного
контроллера. Вы этот метод будете переписывать раз за разом, а я
нет. Битовая арифметика с регистрами на каком-то уровне всё равно
появится, но этот уровень ниже чем у вас. Gpio, spi, i2c, usb - это
всё должно быть прослойкой абстракциией, позволяющей писать
прикладной уровень не думая для какого контроллера ты пишешь.
Написана эта абстракция VladislavS.(97 знак., 23.06.2024 08:28 - 09:05)
- Я - буду. Поменяю имя регистра или номер бита, если нужно. А как вы
получили гарантию что не регистр, не не номер бита никогда не
изменится в вашем случае? - Cкpипaч(23.06.2024 08:41)
- Гарантия одна, в методе включения светодиода не использовать ни имя
регистра, ни номер бита. Использовать абстракцию, я же приводил код
метода LED::On(); VladislavS.(123 знак., 23.06.2024 09:03)
- У вас есть неявное предположение что все LED гарантировано ведут
себя одинаково. Я в таком случае введу прикладной номер LED, а то какой номер, к какому биту какого регистра
относится - спрячу внутри модуля bsp. Cкpипaч(236 знак., 23.06.2024 09:12)
- В прикладном коде вам нужно будет найти инициализацию объекта LED и исправить
там. А если окажется что еще и способ нужно поменять, то искать
"способ" придется уже где-то в другом месте. Два места вместо
одного, специально выделенного в отдельный модуль. Я это называю
"объектный спагетти-код". - Cкpипaч(23.06.2024 09:04)
- Зачем вы свои проблемы на меня перекладываете? Беру схему, в
заголовочном файле описываю (именно описываю) что куда подключено.
Для светодиода это пин и наличие инверсии, для eeprom порт i2c, для
синтезатора частот порт spi и пин gpio для контроля ФАПЧ и т.д. А
дальше забота компилятора всё это связать. Нет никаких двух и более
мест, по которым вы зачем-то рыскаете. - VladislavS.(23.06.2024 09:12)
- Эти идеальности не всех посещают. У меня вполне уживаются и светики
на GPIO, и светики, подключенные через I2C расширители. И для этой
группы устройств в базовом проекте туча таргетов для 6-и процов
(один кетайский), 2 типа ядер, 3 типа периферии проца, под
конкретные конфигурации плат (там есть несколько исполнений с тучей
разных интерфейсов и т.п.) с выбранной индикацией (со своими
разношерстными расширителями)... Сильно проще идти от прикладной
задачи, имея подготовленные Vit(3 знак., 23.06.2024 09:30)
- У вас же расширитель имеет интерфейс обычного порта и предоставляет
доступ к пинам так же как gpio контроллера? И повесить светодиод на
пин расширителя можно так же как на пин контроллера? - VladislavS.(23.06.2024 09:49)
- у меня расширители PCF8574/A и PCA9534/A с жесткой адресацией на
шине. естественно стоит автодедект. но в зависимости от варианта
аппаратной сборки подключается разный набор светодиодов (да и
некоторых ключиков питания). причем сами эти расширители имеют
внутри разную физически конфигурацию выводов - в PCF8574/A
неотключаемая подтяжка, а в PCA9534/A включаемая. для управления
ключиками это важно. светодиоды всегда можно погасить и тут же
зажечь как нужно (вспомная анекдот о Vit(114 знак., 23.06.2024 10:16)
- Сам бог велел спрятать всё это непотребство в класс расширителя и
выдать светодиоду интерфейс пина к которому он подключен. - VladislavS.(23.06.2024 10:26)
- Это впорос реализации, но не применения. У меня приложение вызывает
функцию управления функциональным узлом - светодиод обмена данными
включить. Под капотом оно и проверит, а инициализирован ли драйвер,
если нет, то запустит инициализацию, и другие проверки, ну или
просто дёрнет GPIO. Класс там у драйвера или модуль (как
идентифицированная единица компиляции) с набором функций - это не
суть важно. - Vit(23.06.2024 10:57)
- Всегда есть особенности реалищации, но не надо делать из этого
винегрет. Светодиод не должен заниматься проверкой инициализации
порта. Это дело самого порта. Если у вас такой хитрый порт, то и
наворачивайте его логику. Оставьте светодиоду светодидово. Так код
будет проше и понятней. - VladislavS.(23.06.2024 11:14)
- При чём тут винегрет? Да, есть драйвер I2C_GPIO, он сам себя
инициализирует, если до того не вызывали. Да, оно под капотом и
кишки наружу не торчат. Но функция включения светодиода в
приложении вызывает ручками вписанную (назначенную) функцию от
этого драйвера или от CPU_GPIO (драйвер, как ни странно, тоже
бывает нужен). И она действительно чихать хотела как оно
реализовано. В CPU_GPIO может быть bit banding, работа с Set/Reset
регистрами, может быть чтение-модификация запись Vit(890 знак., 23.06.2024 12:44)
- Бугага! (только пожалуйста не обижайтесь, это не переход на
личности) А как насчет необходимости по-быстренькому подменить пару
входов заглушками, потому что в целевом bsp нет свободных? 8) Тоже
броситесь прикладной алгоритм переписывать? У вас это дешевле? :) Cкpипaч(176 знак., 23.06.2024 11:25 - 11:38)
- Я максималист. И преждевременная оптимизация - моя слабость и смысл
жизни. К счастью, современные компиляторы позволяют расслабиться.
Уже можно не оптимизировать. И так получится хорошо... За
исключением простыней конфигураций ввода вывода и прочего
жонглирования битами. Абстракция позволяет тонко отделить
необходимость обращения к аппаратуре как указано, без оптимизации
самого обращения, от комбинирования данных при этом обращении.
Честно говоря, я до сих пор не программирую Nikolay_Po(75 знак., 22.06.2024 19:04)
- Лишний слой абстракции - это как полиэтиленовый пакетик, в который
заворачивают пульт от ТВ, чтобы сохранить его первозданную красоту.
В растрёпанный от долгой эксплуатации полиэтиленовый пакетик.
Подсмотрено у старшего поколения :-) - SciFi(22.06.2024 16:01)
- Не надо думать о слоях и о том что лишнее, а что не лишнее. Главное
- написать решение задачи/алгоритма понятно (для людей) и в
терминах предметной области. Об эффективности компилятор и др.
позаботятся. - Costic(22.06.2024 16:42)
- Вредный совет detected. НУЖНО думать о слоях. НУЖНО проектировать
системы "сверху - вниз". НУЖНО изолировать аппаратно-зависимые слои
от чисто прикладных. Я потом объясню почему. - Cкpипaч(22.06.2024 18:00)
- Я выше написал про fread/fwrite. Никто же не думает о слое с
секторами. И пользователи (программисты) socket'ов не думают как
там PHY работает и какие регистры там нужны. И о socket-ах тоже не
все хотят думать, т.к. есть классы-обёртки в том же Boost.Asio. - Costic(22.06.2024 19:00)
- Мы пробовали писать так, как рекомендует товарищ Costic. Мой коллега умышленно добавлял уровени абстракции везде, где ему
только показалось, что это может хоть когда-нибудь пригодиться. Я удивился. А он пояснил (не дословно, смысл): "Я не
знаю, как потом я буду развивать этот код дальше. Поэтому
предусматриваю эти абстракции, чтобы можно было удобно вмешаться на
любом уровне." На моё возражение, что, быстродействие может
пострадать, он ответил: "Какое у Nikolay_Po(870 знак., 22.06.2024 18:59)
- Ключевое: symbions(266 знак., 23.06.2024 13:08)
- Вот, на мой взгляд, неплохой пример класса, описывающего полностью
всё семейство eeprom 24C. Можно ещё концептами обложить, но в угоду
совместимости с отсталыми компиляторами это не сделано. VladislavS.(5 знак., 23.06.2024 08:59, ссылка)
- Я всегда ввожу уровень абстракции, если в этом месте может быть
применена разная реализация. Тот же пин на котором висит светодиод
может быть портом AVR или STM32 или быть проброшен по радиоканалу и
включать шифрованными сообщениями "к чёрту подробности" на другом
континенте. Код светодиода от этого не меняется, компилятор сам всё
свяжет. - VladislavS.(22.06.2024 23:05)
- ЧИ-ТА-БЕЛЬ_НО-СТЬ! (орет) Мужики, вы издеваетесь?! Представьте, вы
пришли на новое место работы, получили в руки работающую систему и
несколько относительно несложных задач. Вопрос - сколько раз вы
скажите "спасибо" человеку, нагородившему сто-пятьсот промежуточных
классов и сотворившему форменный ооп-спагетти код?! Cкpипaч(375 знак., 22.06.2024 20:15)
- Ровно так и делаю.. Называю эту прослойку bsp, хотя может быть не
совсем корректно называю... POV(571 знак., 20.06.2024 22:35)
- Вы же понимаете, что светодиод это лишь затравка для обсуждения,
как самый примитивный объект. В действительности это достаточно
сложные сущности. А я никаких "bsp" не пишу. Просто указываю что
куда подключено по схеме. Это даже не код как таковой, а чисто
описание. Остаётся потом только логику работы изделия реализовать,
что достаточно просто, когда не надо думать о том как кирпичики
внутри работают. - VladislavS.(20.06.2024 23:07)
- У меня объект - коммутатор за 5М рублей. Более чем сложный с
объемной периферией. И он суко должен работать до списания не
выключаясь и без глюков. Нахер тут плюсы и многое другое. О
прекрасном я думаю на леваках, а в реальной задаче за зарплату -
только о стабильности решения и простоте отладки... POV(148 знак., 20.06.2024 23:53)
- То о чём вы пишете, это вопрос тестирования и объёма испытсний. - VladislavS.(21.06.2024 00:15)
- Вам [не] повезло. По каким-то причинам, две трети жизненного пути
того что вы пишите напрочь выпадает из вашего поля зрения. Cкpипaч(544 знак., 21.06.2024 07:31)
- А вам не приходило в голову, что вам кажется наркоманским код
только потому что вы не владеете языком? Я вот тоже по китайски
ничегошеньки не понимаю, но китайский же не стал от этого хуже. А
те кто изучал С++ свободно читают написанные на нём программы. И
даже исправляют и дорабатывают. Устрицы они такие... - VladislavS.(21.06.2024 07:51)
- Приходило. Флагманская система - на Питоне. Много смотрю чужого
кода, на тех же Плюсах и Питоне. Так что за мой кругозор не
переживайте :) Cкpипaч(117 знак., 21.06.2024 18:07)
- Да ..дь, тебе (и еще ряду категоричных персонажей) уже писали не
раз - тут многие умеют в плюсы. Я например 15 лет писал на них.
Свежий синтаксический сахар не знаю, но и не он же определяющий.
Кто менее категоричен - использует много разных инструментов, более
соответствующих задаче. - POV(21.06.2024 13:19)
- Так сказать, скинули проблему на отдел кадров. "Найдите мне ещё
одного с таким же богатым внутренним миром". Есличо, кадровики
будут крайние :-) - SciFi(21.06.2024 12:46)
- За один наркоманский cin-cout надо ...вывести в чисто поле,
поставить мордой к стенке, и пустить пулю в лоб, чтоб на всю жизнь
запомнил(С) Хорошо хоть в дуинах не стали это дерьмо прикручивать,
а вернулись к читаемым вариантам. Наверное потому что не смогли:) И
это же их и спасло от плюсов ради плюсов - Vit(21.06.2024 12:33)
- ню-ню - POV(21.06.2024 00:43)
- Спасибо. А то я уже стал сомниваться, не свихнулся ли я сам. - Cкpипaч(20.06.2024 22:43)
- Не свихнулся. Но тем не менее, вы(мы) спорим о вкусе устриц с теми,
кто их ел :-) il-2(584 знак., 21.06.2024 06:01)
- Я - примерно также. И библиотеку манипулирования битами в регистрах
писал, для того чтобы понять язык. И со скриптовыми DSL
эксперементировал. Cкpипaч(76 знак., 21.06.2024 07:54)
- Например, в С++26 можно будет обратиться к элементу списка
параметров по индексу. Всё станет совсем просто и уже
метапрограммой то не назовёшь там где раньше пришлось бы изрядно
попотеть :) VladislavS.(58 знак., 21.06.2024 07:23)
- Вы правы, в ранних стандартах метапрограммировпние было побочным
эффектом и доступно только индивидумам с вывернутым наизнанку
мозгом типа Александреску. В последних стандартах оно хоть и далеко
от идеала, но уже похоже на обычное программирование, и доступно
для понимания обычными программистами типа меня. Да, это всё ещё
зарядка для мозга, но уже доступная всем, а не только КМС. - VladislavS.(21.06.2024 06:51 - 06:58)
- Но это же ужасно. Во-первых, светодиод ничего не должен знать о том
на каком контроллере висит. Во-вторых, он не должен уметь управлять
ногами контроллера. А светодиод это просто бит. А если это
какой-нибудь синтезатор частот? Я напишу только класс, описывающий
его внутреннюю логику работы и параметром передам spi. Чтобы вообще
не думать на каком контроллере он будет работать. VladislavS.(372 знак., 20.06.2024 21:11 - 21:20)
- Если нет никакого смысла ковыряться, то плюсы не нужны! SciFi(3 знак., 20.06.2024 09:16)
- Правы оба, но у чужих библиотек есть фатальный недостаток: их писал
кто-то другой. - Boвa(20.06.2024 09:12)
- на самом хабре было Sergei_sR(416 знак., 20.06.2024 07:01, ссылка)
- озаботился шрифтами для TFT (ну того, что в STM32F746-DISCO). Везде
файлы с расширением otf или ttf. Это как я понимаю системные файлы.
А как мне растр получить? - Лaгyнoв(22.07.2024 17:02, dao, полностью)
- Вот сейчас нагуглилась красивая штука. Чуть более продвинуто, чем
нужно среднестатистическому бедуину, но если бы оно было тогда,
когда я возился с LCD, взял бы, не раздумывая >>> SciFi(1 знак., 22.07.2024 20:38, ссылка)
- спасибо - Лaгyнoв(23.07.2024 07:57)
- В пустыне перетирали не раз. Если немного поискать, то найдётся. - SciFi(22.07.2024 17:32)
- Дык, online-конвертеры вроде как присутствуют. - SERGHIO(22.07.2024 17:14)
- да чё уж там, рисуй векторные ))) POV(1 знак., 22.07.2024 17:04, ссылка)
- Ну не мог пройти мимо! Kpoк(1 знак., 16.07.2024 16:20, dao, картинка, полностью)
- Хабарка: Europa Clipper под угрозой. Подозревают MOSFET'ы Infineon. Toчкa oпopы(1 знак., 14.07.2024 21:02, dao, ссылка, полностью)
- Здравствуйте. Как в редакторе stm32CubeIDE 1.15 сделать, чтобы
после нажатия Enter курсор перескакивал на самое начало новой
строки а не под начало предыдущей строки? Спасибо - Hoвый(11.07.2024 15:42, , dao, полностью)
- Сервер для сборки и удалённая отладка embedded ПО у самокатчиков
Whoosh. [Если я правильно понял] Toчкa oпopы(1 знак., 05.07.2024 18:05, dao, ссылка, полностью)
- Выглядит как нечто крайне нездоровое - AlexG(06.07.2024 05:57)
- +1 - Гyдвин(06.07.2024 06:12)
- а почему их не угоняют? - Alex68(05.07.2024 18:56)
- Читал когда-то ещё про Калифорнию, что конструкция с максимально
неунифицированными (вплоть до крепежа) деталями, которые неясно где
и как использовать. Тогда подумал, что это у нас их нет, нашли бы,
куда присобачить. Однако ж, реальность за окном: некому, похоже,
такой фигнёй заниматься. - teap0t(05.07.2024 21:10)
- так можно по назначению. оторвать всю телеметрию и ремоте аксесс ,
запилить свой софт простейший и возить тело бренное свое
"бизваздмездно, то есть даром" глянул сколько стоит самокат -
примерно 50 тыщ рублей. не так и дешево. - Alex68(05.07.2024 22:48)
- Как устроена система безопасности самокатов RxTx(1 знак., 07.07.2024 00:39, ссылка)
- Вы его в руках держали когда-нибудь? Он весит черт знает сколько и
если на улице стоит прокатный - за него дядя отвечает, а если
личный его надо домой еще затащить... - Chip_n_Go(06.07.2024 23:02, )
- Те, кто способен "оторвать всю телеметрию" и "запилить свой софт"
50тыр заплатить смогут, ибо получают больше. Это не год у родителей
велик выпрашивать - месяца хватит, и на пиво останется. Я, правда,
видя эти СИМы, прости-господи, в своём Марьинском парке в каких-то
мрачных буреломах, думаю по советской ещё привычке всякое. Но уже
лениво, без энтузиазма. Типа, хорошо бы мост через Москву реку до
Алмаатинской, да с лавками, в которых девы младые продают всякое. А
потом думаю, teap0t(105 знак., 06.07.2024 15:46)
- В деревне разве что. В городах сразу вычислят ASDFS(44 знак., 05.07.2024 23:54)
- Расскажите про double / float. Старый код портируется на IAR 9.50,
который бухтит Warning[Pa205]: implicit conversion from float to
double. Cortex M4 (STM32L4) Из-за чего? VLLV(107 знак., 01.07.2024 18:07, dao, полностью)
- Перевел почти всё на float, но есть неожиданная засада: в функцию с
переменным числом параметров передается два float. Ругается на оба
параметра, внутри функции double не используется. - VLLV(04.07.2024 11:01)
- Не ваш-ли случай: Chip_n_Go(1 знак., 01.07.2024 20:22, ссылка)
- А объясните недалекому нах "double3 = (float) double1 * double2".
Умножаться будет все равно в доубле. Может надо так double3 =
((float) double1) *((float) double2); - IBAH(01.07.2024 18:51)
- Думаю, в более новом компиляторе, просто по-умолчанию включили
предупреждение о неявном приведении типа, или о неявном повышении
типа, float to double promotion. Такое может съедать время/память,
если исходно был задуман float. Вот и предупреждает. У меня в
проектах с GCC нарочно включены такие предупреждения - чтобы флот
был флотом, а дабл - только там, где надо. - Nikolay_Po(01.07.2024 18:27)
- Непонятно что хотели этим сказать. ASDFS(146 знак., 01.07.2024 18:20)
- сообщается о полезности в деле борьбы с винь илэвн Alex68(1 знак., 04.07.2024 10:33, dao, ссылка)
- Скажите а в Altium Git плагин живой - удобный? Или лучше SVN
поднимать? И вообще вопрос - если одному работать с проектом, то
нужен ли внешний Version Control, или достаточно Storage manager
встроенного? - Mty1(02.07.2024 16:30, dao)
- 0xFF/2 Подскажите, какой компилятор можно взять для С++ без
стабильного интернета? Племянник захотел "в программирование" и
сразу в хардкор. CLANG "с сайта" не взлетел, но тут много
тонкостей. * машинка о 8Гб памяти, но Core 2 Duo E8500 (Q4 2008) *
Win10 Home Хотел сделать ему "компьютер в компьютере", заодно с
Линуксом познакомить, но куча времени ушла на эксперименты:
актуальные версии Oracle VirtualBox не устанавливались, старую
через пень-колоду смог после Dingo(307 знак., 25.06.2024 11:50, dao, полностью)
- Мой выбор для подобных случаев - Qt4 (1697 Мб) и Microsoft Visual
C++ 2008 Express Edition (820 Мб). - AlexG(25.06.2024 17:55)
- Если винда уже есть, то можно не ставить всю студию. Можно только
С++ тулчейн поставить посвежее можно взять готовый пакет здесь ide
по вкусу, хоть clion, хоть qtcreator. qtcreator точно бесплатный и
работает сразу. дома на такой связке сижу Sergei_sR(1 знак., 25.06.2024 16:36, ссылка)
- Нормально в VirtualBox ставится Fedora. Tyмблep(41 знак., 25.06.2024 12:34)
- В точности на этом процессоре хорошо работают
версии Visual Studio вплоть до версий 2012-2014 годов, летают. Все
что позже будет тормозить. RtTxкoмaнд(137 знак., 25.06.2024 12:18, )
- CLION у дочки в институте все используют. Модно, стильно,
молодежно, инет имхо вообще непонятно при чем тут. - Andreas(25.06.2024 12:09)
- openwatcom. с++ несколько устарел по стандарту - но там всё что
надо есть (редактор отладчик хелп) и размером чтото около 100мб (
примерно. те не 1.5 гигабайта). можно кодить под виндовс, дос и
линукс (сидя в виндах) - Zoro(25.06.2024 12:05)
- какая связь между с++, интернетом и виртуалкой я не вкурил. однако
свои пять копеек: вин10(не хоме !!!) достаточно шустро фурычит (тем
более на 8гб). в виндах есть hyper-v (сиё дает нормальные виртуалки
и консольный линукс). ну а если проц позволяет вложенную
виртуализацию (но кажется этот проц такое не умеет) - то внутри
виртуалки можно запустить ещё один уровень виртуализации. эдакая
матрешка : вин10->win11->linux. но для настройки оного
зоопарка требуется инет Zoro(147 знак., 25.06.2024 11:57)
- На старте Borland C++ 3.0 под dos самое то. DH(1 знак., 25.06.2024 11:53, ссылка)
- В старину был такой Bloodshed Dev-C++. Но это было давно... SciFi(1 знак., 25.06.2024 11:52, ссылка)
- Хорошие люди выкачали все полезное с сайта ST и выложили на гитхаб.
Удалят? Andreas(2 знак., 26.06.2024 16:14, dao, ссылка, ссылка, полностью)
- Есть множество языков программирования. Но все они обладают
фатальным недостатком. Так создадим же самый супер-пупер
универсальный, всепарадигменный, наипростейший и наимощнейший новый
язык! И наречём его - Цанцзе. =AlexD=(1 знак., 26.06.2024 10:07, dao, ссылка, полностью)
- Во всяких црц и прочих хешах не силён. Но как-то нашёл программную
реализацию расчёта совместимую с аппаратной у стм32. А на ат32 это
не прокатило. POV(157 знак., 25.06.2024 11:33, dao, картинка, картинка, полностью)