Например TDA7294

Форум РадиоКот • Просмотр темы - Котуинко
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб янв 10, 2026 23:51:20

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2344 ]     ... , , , 61, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 07, 2020 10:12:42 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
книжи как по компиляторам, так и по железу не особо нужны - достаточно родной документации. В линуксе например набираешь в терминале "man gcc" и получаешь информацию и не надо даже интернета.
Насчет библиотек - прошли те времена, когда не было интернета и когда только появились авр пик и были только примеры от производителя на CD и то ассеблер. Сейчас есть GitHub - крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Полно готовых хороших документированых библиотек и производители микроконтроллеров иногда не остают и выкладывают качесвенные сниппеты. Типа FatFs от Чена сейчас врядли кто-то с нуля писать будет. Иногда подсматривал и ардуиновые библиотеки и переделывал на чистый Си. Сейчас, благодаря дискусии - вижу можно задействовать компилятор С++ и напрямую использовать исходники без переделок. Сделал мэйкфайл (на основе скопированного с гитхаба), который автоматом перемалывает все исходники ассемблера Си С++ в папке проекта и с этого всего получается единый elf а из эльфа уже хекс. Да еще этот мэйкфайл может прошивать, форматировать исходник, отправлять прошивку по почте...
з.ы. велосипеды изобретать скучно :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 07, 2020 10:50:39 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Воть и хорошо, что имеется альтернативный вариант представления информации - однако по возникающим к оному вопросам придется таки Вам ответы добавлять - я ни линуксом ни мэйкфайлами не пользуюсь - посему ничего ни прокомментировать ни проверить/ответить не смогу (в отличии от того, что сам выкладываю). В принципе вполне нормальный вариант предоставления материала получиться может...
:beer:
Насчет оффлайнового хэлпа...
Не всегда полный вариант изготовитель выкладывает - у той же ардуиноIDE часть описания библиотек встроена в оффлайн, а часть уже на сайт посылает. И такое довольно часто встречается ибо чем позднее редакция, тем больший упор на то, что пользователь непрерывно в инете сидит...
А это не есть хорошо... Может сегодня и привычно для молодежи - но я предпочитаю "хкардкор" в виде распечатанной книжи/листочков где можно карандашиком и иными "палками-писалками" отметки сделать.
Чего подправить, чего добавить по мере необходимости (у каждого по своему)...
Да и сидеть за компом не одно и то же, что развалившись (во кресле или на диване или еще где) размышлять (возможно с пивасиком или чем повкуснее)... И ГЛАЗКИ меньше напрягаются...
:wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 07, 2020 11:09:51 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
вот ответ - этот мэйкфайл, он будет работать и в виндовс причем любом, даже древнем, в принципе и даже в дос, если есть компилятор
https://gist.github.com/rynr/72734da4b8c7b962aa65
он простой - легко переделывается под другие микроконтроллеры, я теперь, например, могу ардуиновые библиотеки и для пилюльки и пр. стмовых без переделок использовать в обычном проекте
з.ы. бывают очень удобные компьютерные кресла и хорошие мониторы 8), а заметки удобнее (имхо) в файлик и на гитхаб - для будущих поколений - это вам не залитые пивасом и закапаные рыбьим жиром бумажки :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 07, 2020 12:10:00 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Все хорошо в меру и во взаимодополнении.
8)


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 13:22:36 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
тут не дождался, но часики на ардуино таки появились 8)
https://www.radiokot.ru/forum/viewtopic ... 3#p3922993
автор не стесняется подключать и не рефересные библиотеки,причем с того тревожного сайта, куда виндовс ХР не ходит:
Код:
/--------градусник-----------
#include <microDS18B20.h>                               // подключаем библиотеку градусника
//---------дисплей----------
#include "GyverTM1637.h"                                // подключаем библиотеку дисплея
//---------память-------------
#include <EEPROM.h>                                     // библиотека ПЗУ
//---------- часов------
#include <DS3231.h>                                     // подключаем библиотеку часов
//---------- шина------------
#include <Wire.h>                                       // шина I2C
//----------
#include "GyverButton.h"   

:write: написано - работают


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 14:08:59 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Просто мне очередные часеи "в стол" плодить ЛЕНЬ.
:sleep:
Если уж протестить на сравнение адуринку... более удачным было бы сравнение конструкции подобной тому, что в начале https://radiokot.ru/forum/viewtopic.php?f=62&t=94201
взято для тестов было (ассемблер и AT89S52/AtMega8515)...
https://radiokot.ru/forum/viewtopic.php ... 8#p1830978
и там далее....
Программа позволяла добавлять любые желаемые модули - главное, чтоб правила обращения соблюдались, да подключить платку с аппаратным расширением свободных выводов хватило.
Но там двустрочник на основе WH 1602 с подобием "окошек" - кноподжойстиком перемещаем курсор по экранным пиктограммам и соответственно "выполнить/пропустить"... и "интерактив" со строчкой подсказки/указанием режима работы...
Это ж не семисегментник дополнительной задачей.
Да и насчет библиотек...
EEPROM.h
Wire.h
это штатные ардуиньи, для далласа достаточно базовой OneWire (к сожалению без нее не обойтись - протокол весьма жесткий по времени)
Обработка кноп, часеев и данных с термодатчика - это уж кому как удобнее...[
:tea:
У меня от того проекта уже мало чего осталось - воть к примеру набросок схемки:
Вложение:
T8.pdf [195.29 KiB]
Скачиваний: 141

Да чего-то от исходника:
Вложение:
at89s52prj_oldsys.zip [686.25 KiB]
Скачиваний: 197

За содержимое не уверен - взято из архива...
Все касательно той Т8 в свое время в "винной" дотошно обгрызли.
:wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 15:08:11 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Просто мне очередные часеи "в стол" плодить

а все начиналось - "как появилось поползновение попробовать соорудить подобное устройство", был интересен конечный результат
Да и насчет библиотек...
Wire.h
это штатные ардуиньи

не всегда, там на тревожном сайте полно форков стандартных библиотек. Да, например тот же Wire.h, есть форк тут:
https://github.com/SodaqMoja/Wire
Цитата:
Эта библиотека начиналась как копия стандартной библиотеки Wire, поставляемой с Arduino 1.5.8.
Причина создания этой копии была в основном по следующим причинам:
нам потребовались некоторые модификации
исходный код Arduino не поддерживается отдельно (как обычная библиотека)
мы хотим иметь возможность работать с контролем версий (GIT)
характеристики оригинального дизайна неясны и нигде не встречаются
В Arduino TwoWire есть несколько сомнительных функций.

почему класс TwoWire является производным от Stream?
почему исходный код разделен на Wire.cpp и twi.h
И теперь, когда мы решили создать нашу собственную «вилку», мы также можем переформатировать код по своему усмотрению.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 16:18:12 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Насчет I2C как уже говорилось - можно и софтовый использовать.
Интерес насчет возможности сделать динамическую индикацию с совмещенной клавиатурой исчерпан проведенными тестами.
Куда этот вариант с пользой приткнуть - другое дело. Там где прикладной вариант мог пользу привнести - уже интерес потребителя исчез давно.
А в вопросах софтостроения у меня упор на проработку самостоятельного написания прожек на основе предоставляемого изготовителем IDE базового минимума.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 18:12:09 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
было интересно как библиотеки (разные) совместно работают, с этим, видел, бывают у ардуинщиков бывают проблемы. Индикация и клавиатура и даже часы - это в ардуине оказывается очень примитивно (из посл. исходника):
Код:
dt = clock.getDateTime();                             // опрос часов
disp.displayClock(dt.hour, dt.minute);          // показ времени
if (butt1.isClick()) ...
if (butt2.isHolded()) ...

там еще и вывод °C и фоторезистор для яркости часов и контроль за питанием. И никаких таймеров по совпадению и весь код в loop, как и завещал король Ардуин (король Италии) :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 19:21:33 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вот потому и надо учиться САМОМУ те библиотеки составлять.
Ведь по сути библиотека в ардуино это вариант многофайловика.
А каково качество того "внешнего класса" в другом проекте автор обычно оценить не всегда может.
Вот и тренируюсь помаленьку.
8)
Насчет совместной работы нескольких библиотек - этот вопрос ранее уже попадался.
Только в данном случае это уже доступ из одного метода внешнего класса к другому методу внешнего класса.
Действительно задача порой весьма пакостная.
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 20:28:02 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
если библиотеки работают, зачем их "составлять". А чтоб самому "составлять" надо C++ изучать. А если изучить С++, то и среда ардуино не нужна - можно в любом иде или блокноте, свои, чисто С++ библиотеки и проекты написать и также использовать опыт человечества. Вот например библиотечки готовые человек уже написал для AVR ардуиной не поддерживаемых и готовый мэйкфайл c++17 есть:
https://github.com/srfilipek/savr
Цитата:
SAVR разработан как cross-micro C++ library для 8-битного семейства Atmel AVR. Он в основном разработан на Arduino, но модифицирован для кроссплатформенности (кросс-микро) для других AVR, которые у меня есть.
Это постоянно растущая коллекция кода. Достигнув значительного размера и обнаружив, что он (по крайней мере, в некоторой степени) полезен для других, которых я знал, я решил, что лучше всего разместить код публично для всех.

з.ы. на тревожном сайте и обучалки есть:
*Пишем свою библиотеку для Arduino
*Объекты и классы в Arduino
и т.д.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Чт ноя 12, 2020 23:12:03 
Сверлит текстолит когтями
Аватар пользователя

Карма: 1
Рейтинг сообщений: 23
Зарегистрирован: Чт авг 21, 2014 11:11:48
Сообщений: 1276
Откуда: краснодарский край
Рейтинг сообщения: 0
Цитата:
Полно готовых хороших документированых библиотек и производители микроконтроллеров иногда не остают и выкладывают качесвенные сниппеты.

http://we.easyelectronics.ru/AVR/matema ... v-avr.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Пт ноя 13, 2020 12:28:50 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
oleg110592
Драть только готовое - сапсем думать разучиться можно.
Другое дело - разумный минимум.
:tea:
С++ по "стандартным" книгам рассчитан на ПК, а не на МК - это достаточно РАЗНАЯ идеология в отношении аппаратных ресурсов.
Посему достаточно часто "трудности перевода"(в смысле того, что на ПК отрабатывается ОС, а на МК - иными приемами).
А в отношении конкретной прикладной самоделки таки удобнее самому думать чего и куда впихнуть.
8)
главный колбасист
Гораздо более полезным было бы выкладывание АЛГОРИТМОВ соответствующего математического минимума.
А уж как их реализовать в конкретном проекте и под конкретным компилятором (ессно и набором команд/ресурсов) это задача автора проекта.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Пт ноя 13, 2020 13:00:36 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Драть только готовое - сапсем думать разучиться можно.

дык в ардуино на это ж главный принцип "не думать" - там готовый бутлоадер, сразу готовая настройка таймера0 для тех же милисов, готовые команды для работы с портами и периферией и т.д.
С++ по "стандартным" книгам рассчитан на ПК, а не на МК - это достаточно РАЗНАЯ идеология в отношении аппаратных ресурсов.

в ардуино вообще то на С++ пишут (из вики):
Цитата:
Язык программирования Arduino называется Arduino C и представляет собой язык C++ с фреймворком Wiring, Он имеет некоторые отличия по части написания кода, который компилируется и собирается с помощью avr-gcc, с особенностями, облегчающими написание работающей программы — имеется набор библиотек, включающий в себя функции и объекты. При компиляции программы IDE создает временный файл с расширением *.cpp.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Пт ноя 13, 2020 15:39:57 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Некоторое упрощение процесса прошивки в принципе не помеха.
Относительно добавленных функций и уменьшения содержимого базового заголовка также упрощает работу.
Значительно больше внимания самой программе, чем освоению "нюансов компилятора".
Относительно С++ - наконец-то хоть ктой-то мое древнее исходное замечание подтвердил.
:wink:
Я речь не о том, что у адуринки С++ применяется, а о том, что все учебные материалы по С++ сделаны в отношении ПК.
Ессно часть вопросов применения имеет отличия.
А вот на те вопросы (по мере их возникновения) мне обычно ответы практически ни от кого и не поступали (за редким исключением)... Приходится самому все опытным путем разбирать.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Пт ноя 13, 2020 17:34:51 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
все учебные материалы по С++ сделаны в отношении ПК.

C++ он и в Африке С++. Если глянуть книгу отца-основателя языка, Страуструпа - там речь про сам язык
Цитата:
Книга Б. Страуструпа "Язык программирования С++" дает описание языка, его ключевых понятий и
основных приемов программирования на нем. Это завершенное руководство, написанное создателем
языка, которое содержит описание всех средств С++, в том числе управление исключительными
ситуациями, шаблоны типа (параметризованные типы данных) и множественное наследование.

Применять С++ для микроконтроллеров начали относительно недавно (ардуинщики наверное одни из первых) - там особых отличий от ПК вроде как и нет. Смотрим тот же digitalWrite:
Цитата:
void digitalWrite(uint8_t pin, uint8_t val)
{
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t *out;
out = portOutputRegister(port);
cli();
if (val == LOW) {
*out &= ~bit;
} else {
*out |= bit;
}
}

все в рамках обычного С++ и даже обычный Си справится


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Пт ноя 13, 2020 22:26:26 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Может и "в Африке"... Только ВСЕ примеры в литературе описаны относительно систем ввода/вывода полноценного ПК.
А в случае с МК имеем весьма жесткие отличия обусловленные самой структурой МК.
Первое - все содержимое программы в ПК загружается и отрабатывается в ОЗУ.
Для МК и ОЗУ и ПЗУ имеют значение.
Второе - подсистема ввода-вывода МК отнюдь не универсальна - индикаторы разных систем отображения и разных интерфейсов по управлению, прямое управление выводами и аппаратными средствами, включая прерывания. Для полноформатных ПК в подавляющем большинстве случаев это решается средствами ОС. Да и конфигурация в ПК практически ОДНООБРАЗНА отличия парируются за счет средств БИОС и дополнительных драйверов о коих пишущий прожку под ЯВУ может совершенно не беспокоится - оные УЖЕ работают "по умолчанию".
Вот та разница и представляет дополнительные трудности.
Второе (проистекает частично из первого) - жесткое разграничение прав доступа в рамках классов.
Не совсем удачное планирование распределения задач/доступа к ресурсам/данным и при росте проекта под МК возникают "затыки" приводящие к необходимости переписывать ВСЕ заново.
Собственно - это обычные вопросы изучения/освоения.
Воть даже в ассемблере и то попалась нештатная ситуация по порядку размещения и применения данных - у С++ таких точек гораздо больше.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 04:15:06 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2557
Рейтинг сообщения: 0
BOB51, ваш бред про С++ не имеет ничего общего с действительностью ни по одному из пунктов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 08:59:53 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
примеры в литературе описаны относительно систем ввода/вывода полноценного ПК.

В С++, как и в С, нет встроенных в язык средств ввода-вывода.
В С для этих целей используется библиотека stdio.h.
В С++ разработана новая библиотека ввода-вывода iostream, использующая концепцию объектно-ориентированного программирования
Никто не мешает iostream на АВР, тем более что уже сделано:
Форматный вывод для МК на Си++
http://we.easyelectronics.ru/Soft/forma ... na-si.html
еще часики на ардуино
https://habr.com/ru/post/527818/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Котуинко
СообщениеДобавлено: Сб ноя 14, 2020 10:15:34 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1500
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15364
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Эти часики с электромагнитной индикацией я уже видел. Неплохо для украшения какой выставки...
:sleep:
Со stdio.h в принципе особо ничего нового - функционал типовой обработки ввода-вывода для того, чтоб не морочиться с самодельной упаковкой.
Однако это минимальный примитив - для того же матричного индикатора уже придется промежуточный драйверок сделать - с учетом соответствующей документации. Причем в каждом конкретном случае средства индикации и ввода данных так же потребуют "прокладки" составленной с учетом их документации и требований проекта (не говоря уже о прочихСБИС, применяемых в проекте). Ессно оные будут использовать часть stdio.h, но также не обойдутся и без конкретно дописанной части согласно технических особенностей конкретных устройств. А в случае работы с ПК - подобное уже "интегрировано по умолчанию" и соответственно примеры часто довольно сложно воспринимать, ежли ранее не изучался Си в приложении к ПК.
8)
Относительно iostream - собственно пока не могу себе представление о "потоке" построить...
Как абстракция обобщенного ввода-вывода понятно... Но это не то, чтобы "ключ" к восприятию получить.
Т.е. что оный в примитиве представляет... как тот "поток" пощупать...
Вроде как работа через кольцевой буфер...
Вобщем пока восприятия нету... (ибо всюду "...это вы уже знаете...")...
:dont_know:
Придется ждать когда "ключик" попадется.
:roll:
И уж ёжли копаться - то предпочтение в первую очередь
http://www.cplusplus.com/reference/
а уж потом источникам с разными вариантам трактовки.
8)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2344 ]     ... , , , 61, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 56


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y