- stm32, uart, борьба с эхом ))) Aleksey_75(640 знак., 02.07.2020 20:27, ARM, полностью)
- Если не склероз, эхо на LIN необходимо, чтобы определять коллизии.
Щетаю, что вам надо не подавлять его, а всячески пользовать. И
ориентироваться на RXNE/IDLE вместо TXE/TC. Ну и камень конкретный
указать, да еще и номера USART на нем, они часто разные. - LightElf(03.07.2020 10:12)
- Любое эхо можно отсечь. На то оно и эхо. il-2(635 знак., 03.07.2020 07:55)
- В общем случае от эха принципиально не избавиться. Такая же
проблема как с модемом (когда ATE1). Ты должен понимать протокол и
игноровать эхо. Трюки с запретом приёма сомнительные, т.к. требуют
исключительно точного соблюдения таймингов (на МК можно
извернуться, но и то с ньюансами), а если предположить "резиновый"
fifo-буфер на передачу и приём (как это происходит с типовой
операционкой), то никак. - fk0(02.07.2020 23:39)
- 1. Сталкивался еще на токовой петле. Нет красивого решения, эхо в
шлюзе может быть подавлено только для пакетного обмена, если
предусмотрен тайм-аут с запасом. 2. Сталкивался недавно в
оптическом канале см ссылку, но проект заглох, и хз как придется
выпутываться. - VLLV(02.07.2020 20:44)
- Что то не могу найти инфу - если я возьму stm32 , прошью его в
stm32duino - смогу ли я использовать arduino библиотеки для TFT
дисплея ili9341, или там нереальный гимор? Задача - вывести на
дисплей крупный текст, не парясь с попиксельныйм выводом, а юзая
вызов библиотеки. Что то под HAL и SPI не могу найти простого
решения для BluePill stm32f103c8t6 - Mty1(28.06.2020 01:02, ARM, полностью)
- Интересное поведение UART на STM32 Aleksey_75(552 знак., 27.06.2020 16:01, ARM, полностью)
- Любопытно, раньше мне казалось, что GCC от ARM под bare metal не
поддерживает Cortex-A*, а теперь четко написано, что он
поддерживает все известные Cortex - Evgeny_CD(21.06.2020 03:16, ARM, ссылка, полностью)
- У кого то получалось запустить SDMMC2 на STM32H743? Alt@ir(23 знак., 20.06.2020 06:10, ARM, полностью)
- git репозиторий тулсов и либ ST klen(271 знак., 18.06.2020 18:57, ARM, ссылка, полностью)
- STM32 UART работает со сбоями. Проект/код сгенерен в CUBEMX RxTx(894 знак., 16.05.2020 16:49, ARM, полностью)
- Еще раз повторюсь. Очень ценю вашу заботу и поддержку. Спасибо,
ребята! (но на этом не заканчиваем, продолжаем, продолжаем :))) - RxTx(17.05.2020 12:31)
- Всем спасибо, решено. - RxTx(16.05.2020 20:52)
- Что было-то? - NAUT(16.05.2020 21:12)
- Я пока что в командировке, так что "решено" это условно, временно.
Я к тому так написал чтобы не ломали голову из-за меня, как бы не
тратили энергию. Но если есть какие-то мысли, конечно пишите.
Приеду домой, буду разбираться, трассировать времянки итд. "Решено"
так: сделал код прерывания как можно более коротким, просто запись
в ring buffer. Об этом писал здесь: и один из UART'ов у меня уже
был так построен. Этот (отладочную консоль) я перевел, остался еще
один, RxTx(2428 знак., 17.05.2020 10:11 - 20:16, ссылка)
- Кстати в любой функции оперирующей с указателями на данные
доступными из нескольких потоков (тот же ring buffer) можно
запросто нарваться на перестановку порядка обращения к переменным.
И volatile не поможет: gcc все эти volatile аккуратненько вынесет в
конец функции и там запишет в том же порядке. Я на когда такое
впервые увидел, чуть не рехнулся пока баг разгадывал. Поэтому после
изменения указателей или после записи данных перед продвижением
указателя нужно обязательно fk0(383 знак., 17.05.2020 13:09)
- Приоритеты -- ещё один повод, почему блокирующихся функций в
обработчиках быть не должно. С равноприоритетными прерываниями оно
не так страшно. Про шаговый двигатель я вынес для себя на всю
жизнь: не нужно его крутить по шагам. Нужно крутить фазу с
фиксированным временным шагом. Достаточно коротким, чтоб на низких
скоростях разницы не было, а на высоких автоматически получается
пропуск микрошагов (иначе контроллер не успеет). И здесь важно,
чтоб джиттер был fk0(36 знак., 17.05.2020 12:26)
- Переменные status и b объявлены как volatile. Добавляем тормозов на
основании каких-то странных суеверий, видимо. - SciFi(17.05.2020 11:19)
- "В mainloop выгребаю из ringbuffer" - видимо без критической
секции, если во время выгребания придет прерывание и запишет в
буфер данные, то кирдык? запрещать прерывания надо бы на время
чтения - NAUT(17.05.2020 10:56)
- Не надо запрещать, поскольку именно эта схема "Один Писатель - Один
Читатель" с двумя изолированными и "догоняющими" друг друга readpos
и writepos переменными сравниваемыми в одном месте LockFree. RxTx(63 знак., 17.05.2020 11:15)
- Ну, кагбэ, вопрос "че делать, если в буфере нет места" - нужно
задавать до написания реализации ring buffer. Собственно вариантов четыре: LightElf(394 знак., 17.05.2020 21:47)
- +1. Проблемы с детектированием наезда, на необработанные данные,
обгона указателя чтения, можно решить, если использовать не
указатели, а индексы -- тогда освободятся старшие биты, в которых
можно хранить счётчик. Ну или если есть 64-битные атомики. А если
потеря данных не допустима, то увы, нужен семафор и условная
переменная. fk0(1191 знак., 17.05.2020 12:53, ссылка, картинка)
- скажет только под пытками. :-) - Лaгyнoв(17.05.2020 08:44)
- 1. IMHO, UART, таймеры, GPIO, *WDG - проще и практичнее
использовать LL HAL. Все равно, у вас смесь - инициализация - HAL,
непосредственно прием - используете регистры. На мой взгляд, если
уже использовать HAL - то использовать до конца. Другой вопрос, что
для простой периферии HAL избыточен. A.L.(282 знак., 16.05.2020 18:13)
- Это прекрасно, я только что задавал вопрос, как быть, если
результат кодогенерации куба подводит... Я только не понял, зачем у
тебя из USART1 перекладывается в отладочный порт -- какой в этом
смысл? Loopback test? Вначале сделай простой цикл в main, без
прерываний. Вызывать блокирующуюся функцию ITM_SendChar в
прерывании -- вообще идиотизм. Во-вторых где гарантия, что у тебя
отладочный порт _быстрее_, чем UART? А то будет, что ты в
обработчике прерывания зависаешь fk0(437 знак., 16.05.2020 17:07)
- Возможно какие-нибуь ошибки приёма - Vit(16.05.2020 16:55, ссылка)
- Поможите!!! Слетел ST-Link в Иаре. Все прекрасно работало, и
вдруг... В ST-Link Утилите прекрасно работает. Среда Win7 64, Iar 7.80.
Нутром чую, надо что-то почистить. - IBAH(25.05.2020 17:19, ARM, полностью)
- Может кто сталкивался, STM32F0, USART, HAL. Если есть эхо, все ложится. Задача имеет решение в плоскости HAL? - VLLV(30.11.2019 19:46, ARM, полностью)
- Когда я этим занимался то узрел драму, в хал отсутствует функционал
одновременной работы уарта на прием и передачу, только полудуплекс. - кaлян(18.05.2020 10:57,
)
- в жизни такого у меня нигде не было (одновременно прием/передача) - Лaгyнoв(18.05.2020 12:34)
- Значит жизнь ваша - блеклая и однообразная :) Куча протоколов связи, на двунаправленных каналах связи -
инициатором обмена может быть любая сторона соединения. Немного
непривычно, по структуре драйвера, но ниче-такова. - Cкpипaч(20.05.2020 09:17)
- реализация онвире через уарт, там tx rx замыкается гвоздем и все
что с девайса принимается только эхом. кaлян(192 знак., 19.05.2020 10:59,
)
- При работе с модемом это именно так. От него что-то прилететь может
в любой момент времени. - fk0(18.05.2020 12:46)
- а оно мне зачем? Мне нужно только то, что я спросил. - Лaгyнoв(18.05.2020 16:52)
- Мне кажется, если ты не понимаешь, то этот тот самый Данинг-Крюгер. - fk0(18.05.2020 16:57)
- Прознали, бляь, модное, теперича лепят куда угодно, к месту и не к
месту. Беда только в том что каждый считает что его-то уж точно
обошло, он не такой. Ан нет! Все не дискретно, а аналогово,
континуально. К каждому применимо. Не стыдно Данингом родиться,
стыдно Крюгером умереть =) - RxTx(18.05.2020 20:10)
- это кто? Я вероятно повторюсь. Зачем мне знать то, что мне
поступило на Rx, если я этого не спрашивал? Как-то я в последние 25
лет привык к тому, что я спрашиваю - мне отвечают. Меня спрашивают
- я отвечаю. Все известные мне протоколы обмена так устроены. - Лaгyнoв(18.05.2020 18:49)
- в L476, HAL. Без разницы - есть эхо от модема, или нет. Всё нормально. Просто ты должен помнить, что осмысленные символы поступят через N байт. - Лагунов(01.12.2019 14:25)
- встречал похожее, но не на F0. флаг ORE чистится не автоматом, а ручками - записью ORECF в USART_ICR. если возник при разрешенном приеме, то, пока не прочистишь, висишь в обработчике приёма - Vit(01.12.2019 10:25)
- Колеги кто нибуть работает с EFM32 от Silabs хочу в проект их
заложить трудностей много будет, для того кто знает STM и SAM? - EFM32(20.05.2020 21:10,
, ARM, полностью)
- STM32L4, есть паразитная подпитка цепи батареи (ключ заряда
ионистора выключен). В результате невозможно определить разряд
батареи при питании от сети. Как бороться? Принудительно разряжать
внешним ключом? - так я так реальную батарею разряжу. - VLLV(18.05.2020 13:04, ARM, полностью)
- Предложение, анализировать намеренное АЦП так: если видим 3.4В,
значит батарейки нет, или батарейка полный хлам. Если намеряем
маленькое напряжение, значит батарейка разряжена. Предполагается,
что разряженная батарейка не идеальный диод, будет выдавать свои
небольшие вольты даже в условиях внешнего зарядного тока, но надо
бы где-то как-то уточнить на сколько такое верно. Если намеряем
что-то нормальное, считаем батарейку нормальной. Конечно, лучше
тестировать каким-то AlexBi(365 знак., 18.05.2020 17:46)
- "An internal VBAT battery charging circuit is embedded and can be
activated when VDD is present." fk0(1 знак., 18.05.2020 16:50, картинка)
- я не понял - ту батарейку, что подключена ко входу Vbat? Что питает
RTC? Так есть же внутри вход АЦП дял измерения напряжения на этом
входе. - Лaгyнoв(18.05.2020 16:42)
- Вот тут и вспомнишь про все эти халы с кубами. Там достаточно на
микросекунду или даже меньше шунтировать утечку на время выборки
АЦП. Пошаманить с таймерами и регистрами точно можно. - SciFi(18.05.2020 15:33)
- У меня батарейка. Стоит BAT54C, к одному из анодов подключена
батарейка и ключик на делитель ко входу АЦП. Т.е. ещё 2 вывода:( - Vit(18.05.2020 15:07)
- Ничего не понятно. Где схема, где понятное описалово, что вообще
делается? - fk0(18.05.2020 14:47)
- Быстрый старт для STM32. Можно на пальцах для деревянных основные
моменты?! Среда, где взять, программатор, где взять, ножками как
подрыгать, уарт как завести, таймер, spi!? Это уже все совсем
по-другому я так понимаю. Программист работает через некий
"слой")). Готовлю себя морально к "прыжку". С нового года займусь.
Спасибо! - Tpoeшник(14.05.2020 11:28, ARM, полностью)
- Linux + ChibiStudio. На крайний случай Винда+ChibiStudio.
ChibiStudio это готовый набор инструментов для работы с STM32 в IDE
Eclipse при использовании ChibiOS + HAL. И то и другое великолепно.
Масса примеров HAL для всех возможных Discovery и Nucleo. Две
версии RTOS - собственно сама ChibiOS c кучей сервисов, и более
легковесная NIL. Берешь тестовый пример для своего процессора и
используешь как "рыбу" для своего проекта - все необходимые
инициализации уже выполнены. Rainman62(260 знак., 18.05.2020 03:40)
- Давайте подведу итоги на которые мозг мой способен. Итак: ИАР или
Кейл не особо принципиально. Полюбому нужен мастер аля CubeMX.
Программатор типа ST-Link (J-Link?) RTOS вероятно неотъемлемый
атрибут современного эмбединга и не сцать!? - Tpoeшник(15.05.2020 20:55)
- Выводы на троечку... CubeMX много что не кроет, и сильно отвлечет,
так чисто поиграться, ставку на него делать нельзя. RTOS через год.
Программатор для ST лучше ST-link, на последних версиях Segger были
проблемы с ST. А главное вообще не в ARM как таковом, а в выборе
способа организации средних и больших проектов. - VLLV(16.05.2020 07:34)
- Способы организации интересно конечно, но как правило банальнее
вещи заставляют думать о переходах: Tpoeшник(279 знак., 16.05.2020 12:16)
- я в своей время ушел с Z8Encore только по причине отсутствия USB
Host и всего одного UARTа. Ну с УАРТами можно было разобраться
путем софтовых и проч. А вот USB flash disk читать никак нельзя
было. :-) Ну и конечно цены. 4 долл стоил Z8F1680 (20 МГц, 1 UART,
1 SPI, 1 I2C, 16K ROM, 2K RAM) и примерно столько же STM32L476
(80МГц, 256K ROM, 128K RAM, USB Host, 6 UART, 3 SPI, 3 I2C и проч).
Такая вот арифметика. - Лaгyнoв(16.05.2020 13:06)
- Современный ARM раз в пять сложнее, чем AVR(как было 10 лет назад),
поэтому вместе и портами и памятью получаешь кучу сущностей, с
которыми нужно что-то делать. - VLLV(16.05.2020 12:54)
- Для аллергичных на Ардуино :) - Eclipse со Sloeber и STM32duino -
адрдуино только для вида, как готовая сборка с компилятором и всеми
нужными инструментами. При всех недостатках - все даром и работает
и VLT(12 знак., 16.05.2020 12:52,
, youtube, картинка)
- Смотри по ссылке - Ozelot(14.05.2020 15:40, ссылка)
- gcc+eclipse+stlink, куб работает везде винь/линь - RED_DRAGON(14.05.2020 14:48)
- Да! Если всё же Дискавери возьмешь, то дискаверным ST-Link-ом лучше
не пользоваться. Сразу надо нормальный, фирменный. Я столько нервов
себе попортил дискаверным . :-) - Лaгyнoв(14.05.2020 13:26)
- А что там, с дисковерным? - RxTx(17.05.2020 14:16)
- ну к примеру. Работает, работает. Один и тот же ST-link с одним и
тем же устройством (именно с тем же экземпляром) с одной и той же
версией проекта в той же версией Кейла. И вот с утра перестает
работать. Не видит камень. Начинаешь плясать. Добрые люди
посоветовали резистор последовательный 50 Ом в цепи SWCLK. Вроде
стало помогать. В другом устройстве стало хуже. Причем, что
забавно, всё это при работе с STM32F030. С ними все гадости. С
STM32L476 всё прекрасно. Все танцы Лaгyнoв(123 знак., 17.05.2020 14:54)
- Встретилось такое: RxTx(371 знак., 17.05.2020 17:10, ссылка)
- У меня ST-Link (см. ссылку) тоже иногда не запускает отладку.
Помогает передернуть ему USB. Попробую, конечно, фирменный. Хотя
неясно, тратиться на него или сразу купить изолированный. До этого
работал с фирменным J-Link EDU. Я НИ РАЗУ (!!!) за месяцы работы с
ним не видел какого-нибудь требования передёрнуть его или еще
что-то там. Может быть виновата atollic, не знаю. Последняя та еще
поделка. - RxTx(17.05.2020 17:01, ссылка)
- Не 50 ом. У ARM, ST на всех схемах 22 ом на всех сигналах у
процессора. Имеется в виду что это двунаправленные сигналы,
резисторы нужны для выходов. До них - 10К подтяжка к +Vdd. Ставятся
эти резисторы для компенсации импеданса линии и как следствие,
отражений. Импеданс драйвера должен совпадать с х-ким импедансом
линии, которое порядка 50 ом. RxTx(338 знак., 17.05.2020 16:57, ссылка)
- И не надо вести рядом в ленточном кабеле данные и клок. - Andreas(17.05.2020 15:08)
- Кабель от программатора самодельный? Он должен быть предельно
короткий, буквально 10 сантиметров. И последовательный резистор
нужно размещать прямо на контактах программатора, а не где-то
посередине или рядом с МК. - fk0(17.05.2020 15:05)
- У них есть полный JTAG, по крайней мере у некторых, поэтому если
где-то гуглится что для данного чипа есть поддержка openocd --
рекомендую делать коннектор а-ля байтбластер, программатор вида
байт-бластер (только на USB, Olimex например делает, копейки
стоит), на компе openocd и gdb. В качестве "среды": VSCode,
Eclipse, Vim... и clang/gcc. Есть наверное готовые сборки
(последнего), обычно в комплекте newlib. Волшебные фирменные
программаторы имеют недостаток, что привязывают fk0(403 знак., 14.05.2020 12:37)
- ИАР, даташит, RM, гитхаб, день спокойного чтения и легко заведутся
заводить светляки, уарт и таймер. Из железа BluePill и пара
STlink(гибнут они иногда) с али общей стоимостью в $5. Куб
использую только для назначения ног в жирных корпусах. - Andreas(14.05.2020 12:12)
- Я тоже прыгал с AVR на STM32. Давно уже. Помню, основное, что
осложняло переход - другая организация в документации. Для AVR
даташиты были по принципу "все в одном" - единый даташит на
контроллер с описанием, электрическими параметрами и пр. il-2(453 знак., 14.05.2020 12:11)
- Самое простое - CubeMX запустить и там в режиме "поставь галочку,
где нужно" выбрать тип МК, его рабочие частоты и используемую
периферию. А дальше он сам сгенерирует проект, в котором будет и
рабочий код. Но после AVR тот код шокирует, т.к. впечатление от
него таково, как будто под операционной системой код написан - ни
одного обращения к регистрам нет - все действия производятся через
функции или макросы, к которым придется привыкать. Таймер заведется
сам, если при Kceния(319 знак., 14.05.2020 12:10, ссылка)
- я взял плату Дискавери, скачал Кейл. Сначала без Куба, потом с
Кубом. Языка Си вообще никогда не знал. До этого - на Ассемблере
для 8-битника. Вот так и втянулся. :-) Сразу пришлось влезть в SPI,
I2C, USB OTG (с какой стороны USB - никогда до того не слышал).
Потом УАРТ. - Лaгyнoв(14.05.2020 11:43)
- Я специально выждал пару лет что страсти улеглись. Сейчас хочу
чужой опыт приватизировать. Кейл? а ИАР совсем не але!? А есть что
то же еще, компиляторы я имею в виду. Вообще для АРМ есть ИАР, Кейл
и GCC. К сож. я не погружаюсь глубоко в доки на компилер, все эти
особенности не изучаю. Хочу делать простые железки и зарабатывать
копеечку. - Tpoeшник(14.05.2020 11:51)
- IAR вполне годится (CubeMX позволяет выбирать, под какой компилятор
код генерить). А если вы раньше с AVR на нем работали, то IAR будет
лучшим выбором, т.к. всё в нем будет вам уже знакомо. А плату
Discovery покупать не рекомендую, т.к. хотя эта плата заведется без
проблем, но потом вам слезать с этой платы придется с большим
трудом, т.к. CubeMX, прознав про эту плату, переопределит все пины
МК в составе этой платы на идиотские имена и на этих же именах ее Kceния(24 знак., 14.05.2020 12:44)
- Улеглись? ARM был на волне хайпа в 2005, когда NXP выпустила свои
LPC-чего-то-там за пару долларов с космическими, на фоне пиков и
авр, возможностями. До некоторых почему-то дошло в последние
несколько лет только, года STM32 начал демпинговать. Слоупоки. - fk0(14.05.2020 12:43)
- Хм, а стартовая точка какая? - VLLV(14.05.2020 11:31)
- [i.MX RT1060, i.MX RT1064] Станут любимчиками для того, кто сможет их запаять :) 196-pin MAPBGA, 10 x 10 mm, 0.65 mm pitch Evgeny_CD(488 знак., 31.01.2019 14:05 - 14:09, ARM, полностью)
- Дешевые платочки - Evgeny_CD(17.05.2020 03:39, ссылка)
- Похоже, у них ошибка в ДШ на индустриальные MIMXRT1064 Evgeny_CD(376 знак., 14.06.2019 18:41 - 18:49, ссылка)
- Upd. MIMXRT1062CVJ5A 12 x 12 mm, 0.8 mm pitch, 196-pin MAPBGA -40 to +105 C без FLASH 1M ОЗУ, LCD залег на склады. Evgeny_CD(188 знак., 14.06.2019 18:21)
- Upd. MIMXRT1064DVL6A залег на склады. Свежие документы. Заявлен корпус 196-pin MAPBGA, 12 x 12 mm, 0.8 mm pitch для ind, но на него даже цен нет. У ind нет LCD, что неприятно. - Evgeny_CD(06.06.2019 18:54)
- а вот если начать их изучать, то что рекомендовано для быстрого старта? к примеру среда, help's, примеры - Constantin24(11.02.2019 13:32)
- Моя любовь к NXP резко укрепилась :) Пусть мелких тараканов делают Nuvoton, STM32 и SiLabs, зато мозги системы от NXP! :) - Evgeny_CD(31.01.2019 14:52)
- Евгений, а не попалось ли вам на глаза в документации на RT какой там вариант M7 garry_(268 знак., 31.01.2019 14:34)
- Вспоминаем про ECP5 LFE5U-12F-6BG256I $4.57 -> и понимаем, что в паре (+ MX25R8035FZUIH1 $0.6 розница - 8Mbit FLASH 2x3 мм) они создают "модулек" за те же самые $16 -->, которому остальным игрокам рынка как бы и противопоставить нечего... - Evgeny_CD(31.01.2019 14:31, ссылка, ссылка)
- MIMXRT1064-EVK: i.MX RT1064 Evaluation Kit -> $143.16 на маузере Evgeny_CD(31.01.2019 14:18, ссылка)
- Что интересно, они поставили на RTOS Zephyr -> Которая сама по себе очень правильная и взрослая - Evgeny_CD(31.01.2019 14:15, ссылка)
- CrossWorks -> поддерживает! - Evgeny_CD(31.01.2019 14:07, ссылка)
- [LPC5500 Series] World’s First Arm® Cortex® -M33 for Mass Market Leveraging 40nm Sampling Now dxwak(46 знак., 19.02.2019 14:16 - 14:21, ARM, ссылка, ссылка, полностью)
- Из приятного: Evgeny_CD(743 знак., 15.02.2020 02:29 - 02:36)
- [LPC551x/S1x] пока только анонс. Одноядерное простенькое семейство, но с CAN-FD и прочим. Evgeny_CD(15.02.2020 02:12 - 02:18)
- [LPC552x/S2x] Одноядерная версия LPC55S6x, есть варианты без криптографии. Errata сильно вычистили. Evgeny_CD(15.02.2020 02:15)
- [LPC55S6x] Монстр! Еррата в принципе терпимая. Даже UART умудрились сделать без ошибок - как это они так сумели? Evgeny_CD(15.02.2020 02:13)
- Семейство расширилось и углубилось -> Анонсированы первые MCU с I3C - Evgeny_CD(15.02.2020 02:04, ссылка)
Причем оба ядра с FPU, DSP, MPU Arm Cortex-M33 co-processor, 100 MHz The configuration of this instance does not include MPU, FPU, DSP, ETM, and TrustZone System tick timer - Evgeny_CD(19.02.2019 14:33 - 15:12)
- STM32L5 -> конкуренты! У LPC ОЗУ больше, дальше доку курить надо. - Evgeny_CD(19.02.2019 14:51, ссылка)
- Спасибо! Так так, 40 нм добрались до МСU. Интересно, там плавучка SP или DP? Удивляет невысокая тактовая при 40 нм - он поди жрать будет 5 ма? Шины, как всегда, нет. 16b 1MSPS ADC - интересно, надо на параметры глянуть. Evgeny_CD(19.02.2019 14:29)
- Может кто сталкивался, сколько тянет внутренний мосфит на ноге NRST
stm32. Чтот параметров не нахожу - Aleksey_75(08.05.2020 14:35, ARM)