[uquote="pvit",url="/forum/viewtopic.php?p=3458890#p3458890"]Имелось в виду, что в коде очень мало завязок на HAL. Там математика и алгоритмы всякие. Ну и по вполне понятным причинам, имеющееся время хочется тратить именно на них.[/uquote]
Сразу почти с первой строчки:
// Polling for flag which indicates that ADC data is ready
while (!adc_data_ready) {}
- очень плохой стиль! Никогда так не делаю и коллегам не позволяю.
Вот это одна из причин, почему не люблю всякие либы со стороны - там такого полно. А всё вычищать и переделывать, как тут некоторые предлагают, так это всю эту "либу" и придётся переделать. А это значит - всё равно изучать мануал. Так что быстрее - сразу начать с мануала.
Я вроде объяснял про применимость поллинга. Заниматься болтовней про идеальный шарообразный код в вакууме не вижу смысла. Это ничего не прибавляет в голове.
Вообщем задача -перетащить с аурдуньи в калокуб.
Здесь проще и действенней написать все с нуля.
Из того что успел ухватить - какой то регулятор скорости движка.
А ну все верно -регулятор мощности/оборотов на симисторе с зерокросс...
Последний раз редактировалось dosikus Пн сен 17, 2018 18:13:26, всего редактировалось 1 раз.
- очень плохой стиль! Никогда так не делаю и коллегам не позволяю.[/uquote]
Самый плохой стиль -- это когда полуграмотный выскочка начинает изображать из себя крутейшего спеца. Там весь алгоритм завязан на поступлении данных с АЦП. Нет данных, значит делать нечего. Можно в сон МК класть, можно в цикле крутиться. Без разницы.
Мда, это и есть то нев***ено уникальное устройство где нужна "необычная" мощь F103.
Медианный фильтр, PID регулятор...
Здесь и стм8L справится не то что F0.
[uquote="pvit",url="/forum/viewtopic.php?p=3458901#p3458901"]Я вроде объяснял про применимость поллинга. Заниматься болтовней про идеальный шарообразный код в вакууме не вижу смысла. Это ничего не прибавляет в голове.[/uquote]
Применимость для чего? Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.
[uquote="jcxz",url="/forum/viewtopic.php?p=3458914#p3458914"]Применимость для чего?[/uquote]
Например для экономии времени разработки.
[uquote="jcxz",url="/forum/viewtopic.php?p=3458914#p3458914"]Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.[/uquote]
Спасибо, кэп. Но здесь нет нужды экономить потребление и нет других задач.
И хочу напомнить в обратную сторону - я же Вас не заставляю писать на поллинге. А на данном конкретном проекте мне удобнее именно так.
[uquote="dosikus",url="/forum/viewtopic.php?p=3458903#p3458903"]Вообщем задача -перетащить с аурдуньи в калокуб.
Здесь проще и действенней написать все с нуля.
Из того что успел ухватить - какой то регулятор скорости движка.
А ну все верно -регулятор мощности/оборотов на симисторе с зерокросс...[/uquote]
Ну там написано регулятор для Hilda 180W, плата под нее трассировалась.
Advanced speed control for grinder AC brushed motor. With RPM stabilization via Back EMF measure. Replacement for default board.
Только я не понял чей это проект и что надо.
Последний раз редактировалось Oxford Пн сен 17, 2018 18:37:53, всего редактировалось 1 раз.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Клава, я с вас торчу. Флейма уже на полдесятка страниц, но никто из крутых спецов так и не подсказал мне, что я высмотрел не ту функцию... плин, былв магазине, забыл попкорн купить
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
[uquote="dosikus",url="/forum/viewtopic.php?p=3457239#p3457239"]HAL_TIM_Base_Start_DMA - эта хрень только конфигурирует реквесты UP к DMA.
Все остальное - источник и приемник , размер данных, источник реквестов и счетчик конфигурируется в канале DMA , это если F1 в F4 -потоки.[/uquote]
uldemir, дуся . Внезапно да?
Тебе это с самого начала объяснили, но мы же видим только что нам надо...
[uquote="Oxford",url="/forum/viewtopic.php?p=3458916#p3458916"]pvit, используйте внешний кварц в своем проекте, тогда вместо 64мгц будет 72мгц. Теряете в производительности.[/uquote]
Нет потребности, да и людям меньше паять.
Хотелось бы вернуться к интересующему вопросу - какие есть варианты сваливания с куба малыми силами и без особой потери удобств.
Добавлено after 4 minutes 48 seconds:
[uquote="Oxford",url="/forum/viewtopic.php?p=3458920#p3458920"]Только я не понял чей это проект и что надо.[/uquote]
Мой и знакомого. В коммитах же авторы указаны.
Не то чтобы "надо", просто интересно стало "как там на CMSIS-ах бывает". Вы вроде в них разбираетесь, поэтому спросил.
[uquote="pvit",url="/forum/viewtopic.php?p=3458919#p3458919"]И хочу напомнить в обратную сторону - я же Вас не заставляю писать на поллинге. А на данном конкретном проекте мне удобнее именно так.[/uquote]
Конечно - дело Ваше.
Ещё бы я заменил реализацию синуса таблицей на реализацию полиномом. Всё-ж таки ARM, а не АВР какой-то....
Ещё плохой стиль - это "магические числа". Типа этого:
[uquote="pvit",url="/forum/viewtopic.php?p=3458928#p3458928"]какие есть варианты сваливания с куба[/uquote]
А на сколько реально нужно сваливать с куба? Назрело? Какие аргументы?
Если работаешь с ним, тебя устраивает, зачем?
Альтернатив ему нету, по крайней мере пока. Если он помогает решать стоящие задачи, зачем с него уходить? Если у кого то есть личная неприязнь, это личное, но тебе никто не запрещает иметь своё мнение.
Ведь это всё инструменты. Главное задача. А уж как ты её решишь, это не важно.
[uquote="jcxz",url="/forum/viewtopic.php?p=3458933#p3458933"]Ещё бы я заменил реализацию синуса таблицей на реализацию полиномом. Всё-ж таки ARM, а не АВР какой-то....[/uquote]
Там арксинус растянутый. Не было смысла кроить, я даже до четверти не стал ужимать.
Типа, если у кого будет дикое непреодолимое желание - потом зашлет PR. Там в трекере еще много чего записано из серии полирования яиц.
pvit писал(а):
Хотелось бы вернуться к интересующему вопросу - какие есть варианты сваливания с куба малыми силами и без особой потери удобств.
Не то чтобы "надо", просто интересно стало "как там на CMSIS-ах бывает". Вы вроде в них разбираетесь, поэтому спросил.
А зачем вам сваливать с куба? Я просто не понимаю вас, вы же проект в кубе делаете. Вот это выражение "как там на CMSIS-ах бывает" не совсем понимаю что означает. У вас в проекте там ADC c DMA, Таймер и GPIO ножка. Вы не понимаете с чего начать настраивать на CMSIS это? Вы же в кубе как то понимали и сделали заготовку.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
[uquote="jcxz",url="/forum/viewtopic.php?p=3458933#p3458933"]Ещё плохой стиль - это "магические числа". Типа этого:[/uquote]
Слушайте, ну не надо пытаться с нахрапа критикой заниматься. Во-первых те константы не магические. Во-вторых я не просил
[uquote="Oxford",url="/forum/viewtopic.php?p=3458946#p3458946"]А зачем вам сваливать с куба?[/uquote]
Мож копирайт не устраивает. ST разрешает использовать этот код, но не передает права на него.
[uquote="Oxford",url="/forum/viewtopic.php?p=3458946#p3458946"]А зачем вам сваливать с куба? Я просто не понимаю вас, вы же проект в кубе делаете.[/uquote]
Мне не нравится что приходится делать ради подключения кубовского кода. Это расстраивает мое эстетическое чувство прекрасного. Но еще не настолько, чтобы тратить заметное количество времени на программирование регистров вручную .
[uquote="Oxford",url="/forum/viewtopic.php?p=3458946#p3458946"]Вот это выражение "как там на CMSIS-ах бывает" не совсем понимаю что означает. У вас в проекте там ADC c DMA, Таймер и GPIO ножка. Вы не понимаете с чего начать настраивать на CMSIS это? Вы же в кубе как то понимали и сделали заготовку.[/uquote]
В кубе мышкой натыкал. Мне это показалось относительно несложным. По крайней мере время на то чтобы глубоко ковыряться в референс мануале тратить не пришлось. По верхам вполне хватило.
Хотелось бы чего-то аналогичного, но с менее уродским кодом, который не нуждается в ручном редактировании, а работает как обычная библиотека.
[uquote="pvit",url="/forum/viewtopic.php?p=3458961#p3458961"]В кубе мышкой натыкал. Мне это показалось относительно несложным.[/uquote]
Принцип Парето -- 20% усилий дают 80% результата. Оставшиеся 20% можно добрать только вложив еще 80% усилий.
В четвертом регулярном канале АЦП (канал VREFINT) у вас неправильное время семплирования. Запросто может привести к тому, что все измерения будут врать. Кстати, налицо ситуация, когда даже великолепное знание хала и куба не обеспечивает написание безошибочного софта.
Последний раз редактировалось a5021 Пн сен 17, 2018 20:20:04, всего редактировалось 2 раза.