Pull to refresh
129
99.1
Автушенко Игорь @GarryC

Разработчик аппаратуры и программист ее

Send message

К вопросу о светодиодах и управлении ими через МК

Reading time13 min
Views5.6K

Существует целая линейка весьма интересных приборов - трехцветные светодиоды со встроенной схемой управления (ws2811, ws2812, ws2812b, ws2813...). Характерной особенностью их является цена, которую иначе, как смешной, назвать трудно, что и определяет их необычайную популярность среди любителей. Почему-то часто их называют адресными светодиодами, что, на мой взгляд, не вполне верно, поскольку данные приборы собственного уникального адреса не имеют и адресуются положением в цепочке подключения, но оставим тонкости терминологии за скобками.

Примечание на полях (Пнп): Выпускается это семейство, что совершенно естественно, за пределами нашей необъятной Родины. Как специалист, непосредственно связанный с данной тематикой, не могу не выразить своего недоумения по поводу отсутствия в номенклатуре электронных приборов, выпускаемых отечественными производителями, подобных изделий. Я понимаю, что изготовление микросхем по нормам 90 и менее в РФ невозможно, невзирая на неоднократные заявления об освоении данных процессов Ангстремом, но компоненты, вроде описываемых в данном посте, просто не могут требовать применения столь продвинутых технологий, так что ответ на вопрос лежит, вероятно, более в экономической, нежели технологической плоскости. Но, тем не менее, наши южные соседи подобные приборы делают и, наверняка, не в убыток себе.

Все приборы данного семейства предоставляют пользователю максимально простой в аппаратном плане интерфейс - одно-проводной (на самом деле, конечно, трех-проводной, поскольку общая земля подразумевается, да и без питания будет нелегко обойтись) и меньшее количество проводников вряд ли возможно. Но за все в этом мире надо платить, в данном случае платой является протокол сообщений, который является последовательным протоколом с кодированием информации длительностью импульса. Решение известное, при соблюдении определенных требований надежное, но дьявол, как всегда, затаился в деталях.

Ну и как нам ими управлять?
Total votes 15: ↑13 and ↓2+15
Comments8

Что случится раньше: умрет С++ или вымрут С++ программисты?

Reading time4 min
Views6.4K

Еще вчера я думал, что ИИ никогда не заменит меня как программиста.

Что ж, программирование как профессия с самого начала боролось с собственной смертью. Я полагаю, когда кто-то впервые придумал Ассемблер, многие думали, что это конец.

Какие? Программа, которая превращает читабельные каракули в настоящий машинный код? Значит, теперь каждый менеджер может писать код? Мы устарели? Были ли мы автоматизированы? Пора собирать вещи и идти?

Вскоре появилось достаточно языков высокого уровня. Такие языки, как FORTRAN и COBOL. Это определенно делает ненужными настоящих программистов, не так ли? Вы можете быть инженером-механиком или бизнес-аналитиком и хорошо владеть компьютером. Вам больше не нужен программист, чтобы писать за вас код.

А потом пришло индуктивное программирование. Функционален, как в Haskell, или логики, как в Prolog. Идея индуктивного программирования заключается в том, что вы не пишете код, вы только устанавливаете ограничения, в которых должна работать программа, и, если возможно, язык сам напишет код для нее.

Он стал независимым от языка по мере того, как перерос в системы компьютерной алгебры. Теперь вы можете написать несколько уравнений в записной книжке Python и превратить их решение в код для любого другого языка. Таким образом, вам не только не нужно писать код программисту, вам даже не нужно писать код самому.

И хотя все эти вещи угрожали убить программирование как профессию, огромное количество программистов росло, растет и продолжает расти. И тоже экспоненциально. Каждые пять лет их число увеличивается вдвое. Население растет быстрее, чем человечество. При таких темпах все мы, все ~ 10 миллиардов будущих нас, к 2075 году будем иметь по три должности программистов.

Конечно, в какой-то момент этот рост должен прекратиться. В мире просто не хватает кокаина, чтобы мы все могли безостановочно заниматься программированием в течение многих дней. Но это не остановится из-за каких-то прорывных технологий, а прекратится только тогда, когда спрос в других профессиях перевесит спрос на программистов.

Читать далее
Total votes 22: ↑4 and ↓18-14
Comments31

К вопросу о сложении или как я нашел ошибку в gcc (на самом деле нет)

Reading time4 min
Views4.5K

Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.


Вчера, просматривая новый комментарий к своему старому посту о реализации сдвигов компилятора gcc для МК, обратил внимание на интересную ссылку godbolt.org/z/lW6rk8. На ней демонстрируется разница в коде, порождаемом компилятором для знаковых и без-знаковых кардинальных типов. Решил я немного поэкспериментировать с приведенным кодом и обнаружил интересные особенности компилятора, о которых и сообщаю сообществу.

Итак, мы видим две функции, которые сравнивают некую величину х и ее же, увеличенную на 1 и сообщают о том, какая из них больше. Подавляющее большинство читателей уже поняло, в чем дело, но для тех, кто забыл курс введения в программирование, напомню.
Для тех, кто решил освежить базовые знания
Total votes 12: ↑10 and ↓2+14
Comments3

К вопросу о источниках, помехах и импортозамещении

Reading time12 min
Views2.4K

Документация — это как секс: если она хорошая, то все замечательно, а если не очень… то все равно лучше, чем ничего.


Недавно МойМолодойКоллега выбирал источник для реализации сетевого адаптера и в процессе данной работы были обнаружены интересные и полезные (хотя и не всегда радостные) факты, которыми и хотелось бы поделиться с читателями.

Для начала определимся, какие параметры обязан нам предоставить в документации (и обеспечить их реализацию) производитель источника питания.
Пнп: при этом совершенно неважна страна происхождения источника и его производитель.

Первичные статические параметры, без которых использование источника в разработке вообще не имеет смысла:

  1. Рабочий диапазон входного напряжения (минимальное/максимальное рабочее напряжение), в случае переменного входного — еще и частота (и ее границы).
  2. Выходное напряжение и гарантируемый ток.
    Еще статические параметры, про которые также не следует забывать:
  3. Предельные значения входного напряжения — максимально допустимое напряжение (при выключенном источнике, не приводящее к его повреждению) и напряжение отключения (если оно есть). Необходимо также рассмотреть соответствие стандарту на питание в части допустимых кратковременных выбросов и провалов, а также наличие защиты от переполюсовки (естественно, кроме переменного входного).
  4. Нагрузочная способность выхода, включая дерэйтинг по температуре, наличие требований к минимальной нагрузке.

Динамические параметры:

  1. Параметры включения источника (софт-старт), максимальная допустимая выходная емкость, пульсации выходного напряжения в диапазоне применения, стабильность выходного при набросе/сбросе входного напряжения и нагрузки.
  2. Электромагнитная совместимость, в частности, кондуктивные помехи на входе источника.

    Пнп: очень важный показатель, особенно в наше время.

Кому помехи мешают, Вам сюда
Total votes 8: ↑7 and ↓1+9
Comments3

К вопросу о преобразователях, транзисторах, микросхемах и проявлениях черной магии с последующим разоблачением

Reading time14 min
Views11K

Пусть он мне скажет:
«Ты старый осел, ты жил не так, я буду жить по-другому».
Я пойму, но пусть он скажет! Но он же молчит.



Недавно один мой молодой коллега (ММК) попросил посмотреть происходящие в его разработке непонятки. Изделие представляло собой повышающий преобразователь 5В в 5В, основным назначением которого было скомпенсировать падение напряжения на кабеле подключения внешнего DVD привода к интерфейсу USB. Построен преобразователь на основе микросхемы MAX669 в режиме «самоподдержки», схема соответствует рекомендованной и, тем не менее, устройство не работало — напряжение на выходе составляло 4 В, то есть питание 5В минус падение на проводах, минус прямое падение на диоде.
И при чем тут черная магия...
Total votes 21: ↑20 and ↓1+24
Comments31

К вопросу о Linux (Л)

Reading time5 min
Views19K

Мы исходим из того, что вы получаете полноценную операционную систему, сразу полностью за все заплатив. (Билл Гейтс в ответ на вопрос о конкуренции с Л.)


Чем больше я узнаю о Linux, тем меньше я ненавижу Б.Г.


Ну, вообще то, я никогда не испытывал к нему столь сильных чувств, просто начинаю лучше понимать, за что фирма, производящая Окна, берет деньги. И становится яснее, почему потребители предпочитают платить Биллу (тут, конечно, есть варианты, ну Вы поняли), вместо того, чтобы воспользоваться бесплатной («то есть даром») альтернативой. Но начнем по порядку, и рассмотрим два эпизода взаимодействия с Л.
Читать дальше →
Total votes 71: ↑20 and ↓51-26
Comments118

К вопросу о странном (опять) и о выборе транзисторов

Reading time9 min
Views15K

Найди всему причину и ты многое поймешь


Очередная загадка появилась в устройстве, спроектированном одним моим молодым коллегой (далее ММК). Устройство предназначено для входного контроля аккумуляторов серии 18650 (нет, Илон Маск может спать спокойно, наша фирма не собирается делать электромобили, это совсем для других изделий) и реализовано на довольно-таки известной микросхеме BQ29700, которая отличается от множества подобных ей контроллеров аккумулятора наличием двух раздельных выводов для управления ключами и возможностью контроля тока («не забудь, дружок, про подтяжки»). Схема реализована в полном соответствии с рекомендациями производителя (смотрите КДПВ), вопросов быть вообще не должно, но… они есть.



Далее будет опыт небольшого инженерного расследования с последующей тривиальной (и наверняка скучной) моралью.
Кого не испугал трейлер, жмите сюда
Total votes 21: ↑20 and ↓1+27
Comments40

К вопросу о математике

Reading time5 min
Views19K


Периодически возникающие в тематических форумах споры о том, нужна ли программисту математика, давно стали общим местом и областью священных войн. Находясь на нашей (правильной) стороне границы, отделяющей добро от зла, хочу поделиться одним примером, наглядно демонстрирующем, насколько она нужна и даже (не побоимся этого слова) необходима.

Рассмотрим интересную задачу на программирование, которая имеет несколько олимпиадный характер.

Пнп: Начиная с этого момента сторонники идеи о том, что программирование в наше время состоит в красивом оформлении веб-страничек, могут прекратить чтение, Вы абсолютно правы, математика Вам не нужна…

Ну не нужно так настаивать на своем, Вы ничуть не хуже нас, и Ваша работа по настоящему важна, я ведь уже согласился, что у нас разные представления о программировании…

Да, Вы совершенно правы, что эти олимпиадники не смогут, при помощи последнего фреймворка, нарисовать семь красных перпендикулярных линий в одну строку кода…

Тем не менее именно свое представления я считаю правильным (это фатальное свойство высокоорганизованной материи в форме белковых тел), поэтому излагать буду аргументы в его поддержку.

Всем остальным сюда
Total votes 40: ↑29 and ↓11+18
Comments172

К вопросу о VNA или японо-китайский прибор

Reading time4 min
Views11K

«А что, так можно было?»



В крайнем посте Джека Гансли был упомянут появившийся недавно на просторах Инета прибор, именуемый NanoVNA, или малогабаритный портативный векторный анализатор цепей (ВАЦ) в диапазоне 50кГц-900МГц со стоимостью 50 долларов США.

«Пятьдесят долларов, Карл!»

Как написал Джек, нет никаких оснований НЕ купить такой прибор по такой цене и я с ним полностью согласен. Не то, чтобы я постоянно занимался радио-устройствами, но данный девайс на Али заказал и жду, пока он придет, чтобы убедится в параметрах. Счастливчики, которые уже успели его приобрести, как правило, довольны, хотя есть нюансы. Если верить информации, то разработал его довольно таки давно (три года назад) некий японец, и выложил исходники на Гит, а в этом году китайцы резко начали его (прибор, конечно, не японца) тиражировать и продавать.

Те, кто в теме, сразу же поняли, в чем дело, для остальных поясню, что цена на ВАЦ начинается от 3 тысяч $, а где она заканчивается, не знает никто, кроме R&S. Относительно недорогой ВАЦ с динамическим диапазоном 120дБ и частотой до 1500МГц Вы сможете купить за 176000 рублей и это характерная цифра. Поэтому многие поймут мое нежелание дожидаться прибытия прибора, а сразу понять, как он устроен и почему работает, тем более, что все исходники открыты.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments20

К вопросу о U-Boot

Reading time2 min
Views4.1K

Найди всему причину и ты многое поймешь


Недавно, просматривая код U-Boot в части реализации SPI, наткнулся на макрос обхода списка доступных устройств, которые после нескольких переходов сбросил меня на макрос container_of. Сам текст макроса наличествовал и я с легким изумлением увидел, что он несколько отличается от ранее виденной мною версии. Было проведено небольшое расследование, которые привело к интересным результатам.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments2

К вопросу о разном или очередной плач Ярославны

Reading time8 min
Views5.6K

(Китайская) Курочка по зернышку клюет и сыта бывает.


Для начала хотелось бы завершить рассуждения о стоимости производства модулей, начатые предыдущим постом. В комментариях к нему была дана ссылка на модуль, аналогичный рассматриваемому, с тем разительным отличием, что продавался он на Али за совершенно невероятную сумму в 58 рублей (далее денежную единицу я употреблять не буду, в оригинале наверняка идет речь о юанях или долларах США, но по отношению к обитателям 1/8 части суши сайт любезно проводит конвертацию). Учитывая то обстоятельство, что в своем посте я определил себестоимость модуля в 300+ рублей, указанная цена вызвала легкую оторопь («и это не фигура речи, обозначающая некую непонятную фигню, а вполне конкретный глагол» — ну очень мне понравилось это выражение Дивова).


Пнп: КДПВ ко второй части плача.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments12

К вопросу о модулях

Reading time7 min
Views3.2K
Недавно случайно зашел на сайт фирмы «Амперка» (в стиле «мы пошли искать запчасти для экскаватора и, естественно, оказались на порно сайте») и вспомнил, как я однажды осуществлял нелицеприятный разбор их модуля индикации. Решил посмотреть, как с данным модулем обстоят дела в настоящий момент и с изумлением обнаружил, что для реализации теперь предлагают совсем другой девайс (внутренне другой, снаружи точно такой же, хотя и не совсем), к которому нет претензий в части функционирования. Не знаю, что послужило причиной переработки, льщу себя надеждой на то, что это были мои замечания.

Мне бы погордится и идти себе на другие сайты, но взгляд остановился на схеме нового модуля и возникла мысль, что данное устройство может быть поучительно в плане разработки. Так и есть, желающие ознакомиться с некоторыми несложными соображениями на этот счет могут нажать кнопку.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments8

К вопросу о вертолетиках или как я провел выходные

Reading time8 min
Views20K

Если Вы купили что-то, и на этом нет надписи «Сделано в Китае», значит, Вы купили подделку.



Мои читатели будут несколько удивлены, что я решил похвалить не свою разработку, но куда деваться… Купил я недавно в «Смешных ценах» (ну это в девичестве, теперь они серьезная организация и называются «Fix Price») забавную игрушку «Летающий шар со светом», многочисленные ссылки в Интернете Вы найдете самостоятельно.


Поиграл с ней минут двадцать и одолело меня желание узнать, что у девайса внутри, проистекающее из двух источников:

  1. Я инженер и мне интересно, как такая игрушка устроена (вернее, я уже догадываюсь, как она устроена и хотел бы проверить свои догадки);
  2. Я в прошлом предприниматель и мне интересно, как китайцам (я не написал, что игрушка изготовлена в КНР, но это вроде как совершенно очевидно) удается делать такие вещи за совсем небольшие деньги. Совсем забыл сказать, сколько такая игрушка стоит — я ее купил за 199 рублей, менее трех долларов, Карл.
Если Вам тоже интересно, то Вам сюда
Total votes 67: ↑61 and ↓6+55
Comments25

К вопросу о TI

Reading time19 min
Views6.1K
«Сейчас я покажу вам портрет… Хм… Я предупреждаю вас, что это именно портрет… Во всяком случае, прошу отнестись к нему, как к портрету...

В данном посте пойдет речь о разработке и отладке программ для МК СС1350 в рекомендованной производителем среде разработки CCS. Будут затронуты достоинства (а они есть) и недостатки (а как же без них) вышеупомянутых продуктов. В тексте не будет скриншотов, призванных показать (обведенное кружочком) расположение иконки компиляции в интегрированной среде программирования или выбора файла в директории. Признавая принципиальную возможность статей в подобном стиле, я постараюсь сосредоточиться на концептуальных моментах в надежде, что мой читатель сам сможет разобраться в деталях.

Целью данного опуса, помимо передачи полученного опыта, является попытка возбудить здоровую зависть у отечественных производителей МК, являющихся прямыми конкурентами TI (»на территории страны, где мы с Вами и процветаем") — задача откровенно неблагодарная, но говорят, что капля камень точит.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments11

Еще к вопросу о множествах

Reading time6 min
Views1.7K

Алиса: А почему это место ОЧЕНЬ странное место?
Додо: А потому, что все остальные места — очень уж не странные. Должно же быть хоть одно ОЧЕНЬ странное место.



Итак, рассмотрим текст шаблонного класса BitSet с целью его адаптации к требованиям МК, основные направления оптимизации были определены ранее. Можно, конечно, написать свой собственный класс с нуля, но не будем пренебрегать возможностью ознакомиться с хорошими решениями, ведь библиотека STL (не путать с spl) известна давно и используется повсеместно. Для начала следует найти исходный код, после недолгого странствия по Инету я просто открыл директорию с моим MinGW и разыскал требуемый файл, который и намерен далее обсуждать.
А Вы можете принять участие в осуждении
Total votes 8: ↑6 and ↓2+4
Comments2

К вопросу о bitset

Reading time8 min
Views4.3K

«Не пора ли, друзья мои, нам замахнуться на Вильяма, понимаете ли, нашего Шекспира? ».




Прочитал недавно пост про кастомную клавиатуру и в очередной раз подумал, что было бы неплохо написать эталонную (то есть такую, которую не стыдно подписать своим именем и выложить на всеобщее обозрение) реализацию клавиатуры. Мысль эта приходит ко мне НЕ в первый раз, но все как то останавливается на первом этапе — считывание исходной информации, ведь хочется сделать этот этап легко настраиваемым, удобным в использовании, универсальным и эффективным, и не нравится предложение «выбирать любые два».

Необходимое примечание — я вижу 4 слоя реализации клавиатуры: 0 — обнаружение события, 1 — считывание данных, 2 — очистка и хранение данных, 3 — формирование сообщений, 4 — перекодировка и прочее. Наиболее перспективным для слоя 1 и связанного с ним слоя 0 мне представляется применение шаблонов Антона Чижова для работы с пинами МК (основанными на классе Локи) и, может быть, когда-нибудь, получившимся результатом будет не стыдно поделится, но точно не сегодня. А сейчас я задумался над слоем 2.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments11

К вопросу о делении

Reading time4 min
Views15K

Нам подвернулась возможность провести небольшое, но крайне интересное тактическое учение


В процессе исследований нового МК от известной фирмы на основе архитектуры Cortex-М4 (я об этом обязательно еще напишу) возник вопрос, насколько быстро может работать операция целочисленного деления в аппаратной реализации. Натурный эксперимент дал несколько неожиданный результат: деление 32-разрядного числа на 32-разрядное выполняется за 3 такта частоты процессора — ну ни фига ж себе, как быстро. Выяснилось, что это имеет место только с определенными операндами, но дальнейшие исследования показали, что никогда время выполнения деления не превосходит 7 тактов. Полученные результаты вызвали легкую оторопь («и это не некая фигура речи, которая неизвестно что означает, а вполне конкретный глагол» — Дивов, как всегда, бесподобен).

Ну нельзя же просто так взять и быстро поделить такие длинные числа, странно как то, но факты — упрямая вещь. Представил себе картину, что вызывает меня завтра к себе Президент РФ и ставит передо мной задачу сделать МК не хуже, чем у ARM (согласен, что картина бредовая, но чего на свете не бывает), а я растеряно на него гляжу и понимаю, что не смогу сделать такое деление таких чисел за такое время, и не оправдаю ожиданий, на меня возлагаемых (ну на самом то деле я всегда смогу втихую купить лицензию у ARM, и сделать вид, будто бы придумал все сам, многие так и делают, но от меня то ВВП ждет совсем другого, да и потом — его то я обмануть смогу, а вот себя вряд ли).
Как же это сделать
Total votes 51: ↑42 and ↓9+33
Comments26

К вопросу об аккумуляторах

Reading time4 min
Views9.7K

Если на клетке слона прочтешь надпись: буйвол, — не верь глазам своим


В одном разрабатываемом изделии применялась аккумуляторная батарея значительной емкости из нескольких параллельных секций по шесть банок LiIon аккумуляторных ячеек типа «1s1p MP 176065 IntegrationTM» на 6000мАч производства фирмы Saft в каждой. Одна батарея вернулась к нам на ремонт и я решил оценить степень баланса отдельных банок после длительной эксплуатации. Для этого следовало расцепить банки, зарядить по отдельности и оценить разброс принятого заряда.

Но для начала решил посмотреть напряжение на секции в целом, ожидая увидеть ноль, ведь любая разряженная банка отключает себя от цепи потребителя, и мы должны либо увидеть напряжение минимум 6*2.4В=14.4В, либо ничего.

Каково же было мое изумление, когда на одной секции было обнаружено 12В, а на другой и вовсе 7В (дальше я Вольты писать не буду и вовсе не из-за отсутствия уважения к великому итальянцу, а в силу лени).
Что же пошло не так?
Total votes 20: ↑20 and ↓0+20
Comments8

К вопросу о преобразованиях и прочих операциях

Reading time20 min
Views3.5K

Синяя Гусеница: А ну нас-то не собьешь. Мы себе сидим, знаем: ждут нас превращения. А что? А ничего! Сидим, курим, ждем…
Алиса- кукла: Чего?
Синяя Гусеница: Чего, чего! Превращений. Дом — в дым, дым- в даму, а дама — в маму. Вот так-то. Не мешайте, не заскакивайте вперед, а то сами еще превратитесь преждевременно в бабочку какую-нибудь.


Просматривая код на одном из форумов, посвященных Ардуино, обнаружил забавный способ работы с числом с плавающей точкой (ПТ). Второе общепринятое название для чисел в таком формате — с плавающей запятой, но возникающее при этом сокращение (ПЗ) лично у меня вызывает совсем другие ассоциации, так что будем пользоваться именно этим вариантом. Первое впечатление (от увиденного кода) — что за фигня тут написана (надо сказать, что и второе такое же, хотя есть нюансы, но об этом позже), но возникает вопрос — а как надо на самом деле — ответ на который и дается в дальнейшем тексте.

Часть первая — постановка вопроса


Формулируем задачу — нам нужно вывести на консоль (превратить в символьное представление) число с плавающей точкой, не используя опции печати, именно для этой цели предназначенные. Почему мы хотим это сделать самостоятельно —

  1. использование формата %f влечет за собой подключение библиотеки для работы с плавающей точкой и расширенного варианта функции prntf (вернее, делает невозможным использование ее усеченного варианта), что приводит к существенному увеличению размера исполняемого модуля,
  2. стандартное решение требует значительных временных затрат (оно всегда работает с числом двойной точности), что может быть неприемлемым в данной конкретной ситуации,
  3. ну и (last, but not least), это просто интересно.

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments7

К вопросу о буферах (кольцевых)

Reading time23 min
Views14K

«Если затраты на разработку архитектуры кажутся Вам чрезмерными, подумайте, во сколько Вам может обойтись неправильная архитектура»


— не могу точно вспомнить источник

Когда то, «давным-давно, в одной далекой галактике», я приобрел замечательную книгу Чарльза Уэзерелла «Этюды для программистов», в предисловии к которой автор обосновывал необходимость изучения учебных примеров и задач перед тем, как начать самостоятельное программирование. Настоятельно рекомендую данную книгу найти, предисловие прочитать (и не останавливаясь на этом, прочитать оставшуюся часть и решить приведенные в ней задачи), поскольку лучше автора обосновать необходимость подобной практики я не смогу. Даже если Вы последуете моей рекомендации, и получите множество знаний и практических навыков при чтении упомянутой книги, можно будет вернуться и дочитать данный пост, поскольку он посвящен несколько иным вопросам. А если Вы моим рекомендациям не последуете, то тем более следует войти под кат.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments27

Information

Rating
47-th
Location
Зеленоград, Москва и Московская обл., Россия
Date of birth
Registered
Activity