На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 47,
участников - 7 [ Хайо, makcet, Барабашка_Азимут_, slava68, nn3ar, R1AIT, sky star]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Разработка, ремонт, схемы, модификации —› Универсальный CW-радиомаячок 
Портативные Си-Би радиостанции в нашем магазине


Беркут Hunter
руб.

Егерь 3
руб.

President Randy II P
руб.

Турист 3
руб.

Штурман 80
руб.
 Страница:  ««  1  2  ...  14  15  16  17  18  ...  32  33  »»Поиск в теме
Автор Сообщение
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 29 Фев 2012 19:44:57 · Поправил: feri (29 Фев 2012 22:07:41) #  

DVE
Вопрос
как вписать шестизначное число ?
т,е возможность добавить точку в тексте(точнее знак препинания) .-.-.- а также собаку .--.-.
должно быть както так #define mS. 0,1,0,1,0,1 и #define mS@ 0,1,1,0,1,0 правильно ?
ну и прийдется наверное поменять точку которая отвечает за конец текста и цикличность передачи на какой нибуть другой знак

#define SYM_LEN 5
#define mA 0,1,5,5,5
#define mB 1,0,0,0,5
#define mC 1,0,1,0,5
#define mD 1,0,0,5,5
#define mE 0,5,5,5,5
#define mF 0,0,1,0,5
#define mG 1,1,0,5,5
#define mH 0,0,0,0,5
#define mI 0,0,5,5,5
#define mJ 0,1,1,1,5
#define mK 1,0,1,5,5
#define mL 0,1,0,0,5
#define mM 1,1,5,5,5
#define mN 1,0,5,5,5
#define mO 1,1,1,5,5
#define mP 0,1,1,0,5
#define mQ 1,1,0,1,5
#define mR 0,1,0,5,5
#define mS 0,0,0,5,5
#define mT 1,5,5,5,5
#define mU 0,0,1,5,5
#define mV 0,0,0,1,5
#define mW 0,1,1,5,5
#define mX 1,0,0,1,5
#define mY 1,0,1,1,5
#define mZ 1,1,0,0,5
#define m0 1,1,1,1,1
#define m1 0,1,1,1,1
#define m2 0,0,1,1,1
#define m3 0,0,0,1,1
#define m4 0,0,0,0,1
#define m5 0,0,0,0,0
#define m6 1,0,0,0,0
#define m7 1,1,0,0,0
#define m8 1,1,1,0,0
#define m9 1,1,1,1,0
#define m_ 2,2,2,5,5
#define mSl 1,0,0,1,0

const unsigned char symbols[] = {
mSl, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, // '/',0,1-9
m_, m_, m_, m_, m_, m_, m_, // :;<=>?@
mA, mB, mC, mD, mE, mF, mG, mH, mI, mJ, mK, mL, mM, mN, mO, mP, mQ, mR, mS, mT, mU, mV, mW, mX, mY, mZ
};
d71
Участник
Offline1.2
с фев 2010
Благовещенск на Амуре
Сообщений: 20

Дата: 01 Мар 2012 15:15:58 · Поправил: d71 (01 Мар 2012 15:25:54) #  

имена mS. и mS@ использовать нельзя

можно mSDot и mSAt
вполне понятно

SYM_LEN 5 надо исправить в SYM_LEN 6

у всех символов в #defile в конце добавить ,5
например:
есть #define mA 0,1,5,5,5
надо #define mA 0,1,5,5,5,5

следовательно
#define mSDot 0,1,0,1,0,1

так как у символа "." шесть элементов

---
хотя признаю, что код целиком не видел :)
Реклама
Google
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 01 Мар 2012 18:37:21 · Поправил: feri (01 Мар 2012 19:30:56) #  

d71
хотя признаю, что код целиком не видел :)

здесь лежит самая последняя версия сурс кода http://dl.free.fr/cdrhrOQ0W

Компилируется нормально , ща залью и проверю

// Declare your global variables here
// 0 - "."
// 1 - "-"
// 2 - pause
// 3 - long pause
// 5 - null
#define SYM_LEN 6
#define mA 0,1,5,5,5,5
#define mB 1,0,0,0,5,5
#define mC 1,0,1,0,5,5
#define mD 1,0,0,5,5,5
#define mE 0,5,5,5,5,5
#define mF 0,0,1,0,5,5
#define mG 1,1,0,5,5,5
#define mH 0,0,0,0,5,5
#define mI 0,0,5,5,5,5
#define mJ 0,1,1,1,5,5
#define mK 1,0,1,5,5,5
#define mL 0,1,0,0,5,5
#define mM 1,1,5,5,5,5
#define mN 1,0,5,5,5,5
#define mO 1,1,1,5,5,5
#define mP 0,1,1,0,5,5
#define mQ 1,1,0,1,5,5
#define mR 0,1,0,5,5,5
#define mS 0,0,0,5,5,5
#define mT 1,5,5,5,5,5
#define mU 0,0,1,5,5,5
#define mV 0,0,0,1,5,5
#define mW 0,1,1,5,5,5
#define mX 1,0,0,1,5,5
#define mY 1,0,1,1,5,5
#define mZ 1,1,0,0,5,5
#define m0 1,1,1,1,1,5
#define m1 0,1,1,1,1,5
#define m2 0,0,1,1,1,5
#define m3 0,0,0,1,1,5
#define m4 0,0,0,0,1,5
#define m5 0,0,0,0,0,5
#define m6 1,0,0,0,0,5
#define m7 1,1,0,0,0,5
#define m8 1,1,1,0,0,5
#define m9 1,1,1,1,0,5
#define m_ 2,2,2,5,5,5
#define mSl 1,0,0,1,0,5
#define mSDot 0,1,0,1,0,1
#define mSAt 0,1,1,0,1,0

const unsigned char symbols[] = {
mSl, mSDot, mSAt, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, // '/',0,1-9,Dot,At
m_, m_, m_, m_, m_, m_, m_, // :;<=>?@
mA, mB, mC, mD, mE, mF, mG, mH, mI, mJ, mK, mL, mM, mN, mO, mP, mQ, mR, mS, mT, mU, mV, mW, mX, mY, mZ
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 01 Мар 2012 19:11:18 · Поправил: feri (01 Мар 2012 19:12:09) #  

Залил в микроконтроллер, текст морзе выдает какуюто несуразицу , надо еще гдето подправлять.
Babrak
Участник
Offline1.0
с апр 2010
Новосибирск
Сообщений: 25

Дата: 01 Мар 2012 23:01:58 #  

feri
Извините, многа букафф ниасилил :) (все страницы не читал)
Помогу, чем смогу.
Вы чем транслируете? Я пользую EW23 - там принято константы, которые лежат во флешке так и описывать. Вы передаете в п/п указатель на флешь:

void morze_out(flash unsigned char *pData) {};

А переменная описана

const unsigned char phrase[] = "CQ CQ T1EST T1EST ** .";

Может, уточнить транслятору

unsigned char __flash phrase[] = "CQ CQ T1EST T1EST ** ."; (так в EW23 описываются, в Вашем видимо, как-то аналогично). Или в вашем const - это однозначно флешь? Вроде const - это константа, которая используется на этапе компиляции и в коде её уже нет, ну т.е. не лежит цельным массивом. У Вас и строка символов так же описана.

Пока дальше смотрю.
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 01 Мар 2012 23:56:25 · Поправил: feri (01 Мар 2012 23:57:09) #  

Babrak
Вы чем транслируете? Я пользую EW23 - там принято константы, которые лежат во флешке так и описывать.

Спасибо за помощь , но эти исходнтки уважаемый DVE писал, первая версия была еще на второй странице . сообщение от 21 Окт 2008 17:55:19
так что чем там написано наверное лучше у автора спросить.
Babrak
Участник
Offline1.0
с апр 2010
Новосибирск
Сообщений: 25

Дата: 02 Мар 2012 00:09:36 #  

feri

Сейчас оттранслированл программу - сразу не пошла, есс-но, пришлось комментарить все порты :)
Вот так это выглядит в EW23, обратите внимание на указатели, особенно последний!!

unsigned char __flash phrase[] = "CQ CQ T1EST T1EST ** .";

unsigned char __flash symbols[] = { };

void morze_out(unsigned char __flash *pData) { };

morze_out((unsigned char __flash *)phrase);

Опишите ЯВНО все указатели - ИМНО, засада где-то там. Я Вам пишу в синтаксисе EW23, Вы пишИте, как в вашем трансляторе.
Если что - завтра продолжим, у нас уже 3 часа :(
d71
Участник
Offline1.2
с фев 2010
Благовещенск на Амуре
Сообщений: 20

Дата: 02 Мар 2012 18:00:11 · Поправил: d71 (03 Мар 2012 05:50:15) #  

... с моим французским... еле нашёл как скачать, автоматом не срабатывало :)

const unsigned char phrase[] = "CQ T1EST BEACON@MAIL.RU ** ;"; //обратите внимание - вместо точки - точка с запятой для окончания передачи

#define REPEAT_DL 200

// Declare your global variables here
// 0 - "."
// 1 - "-"
// 2 - pause
// 3 - long pause
// 5 - null

#define SYM_LEN 6
#define mA 0,1,5,5,5,5
#define mB 1,0,0,0,5,5
#define mC 1,0,1,0,5,5
#define mD 1,0,0,5,5,5
#define mE 0,5,5,5,5,5
#define mF 0,0,1,0,5,5
#define mG 1,1,0,5,5,5
#define mH 0,0,0,0,5,5
#define mI 0,0,5,5,5,5
#define mJ 0,1,1,1,5,5
#define mK 1,0,1,5,5,5
#define mL 0,1,0,0,5,5
#define mM 1,1,5,5,5,5
#define mN 1,0,5,5,5,5
#define mO 1,1,1,5,5,5
#define mP 0,1,1,0,5,5
#define mQ 1,1,0,1,5,5
#define mR 0,1,0,5,5,5
#define mS 0,0,0,5,5,5
#define mT 1,5,5,5,5,5
#define mU 0,0,1,5,5,5
#define mV 0,0,0,1,5,5
#define mW 0,1,1,5,5,5
#define mX 1,0,0,1,5,5
#define mY 1,0,1,1,5,5
#define mZ 1,1,0,0,5,5
#define m0 1,1,1,1,1,5
#define m1 0,1,1,1,1,5
#define m2 0,0,1,1,1,5
#define m3 0,0,0,1,1,5
#define m4 0,0,0,0,1,5
#define m5 0,0,0,0,0,5
#define m6 1,0,0,0,0,5
#define m7 1,1,0,0,0,5
#define m8 1,1,1,0,0,5
#define m9 1,1,1,1,0,5
#define m_ 2,2,2,5,5,5

#define mAt 0,1,1,0,1,0
#define mDot 0,1,0,1,0,1

#define mSl 1,0,0,1,0,5

const unsigned char symbols[] = {
mDot, mSl, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, // '.','/',0,1-9
m_, m_, m_, m_, m_, m_, mAt, // :;<=>?@
mA, mB, mC, mD, mE, mF, mG, mH, mI, mJ, mK, mL, mM, mN, mO, mP, mQ, mR, mS, mT, mU, mV, mW, mX, mY, mZ
};

void morze_out(flash unsigned char *pData)
{
unsigned char p, p1;
for(p=0; p<128; p++)
{
unsigned char symb = pData[p];
if (symb == ';') break; // конец передачи, раньше тут была точка

-----

дальше по текст есть unsigned int symb_code = symb - '/';
заменить на unsigned int symb_code = symb - '.';

----

пробуйте, я ещё железо не собрал :)
Babrak
Участник
Offline1.0
с апр 2010
Новосибирск
Сообщений: 25

Дата: 02 Мар 2012 19:15:56 · Поправил: Babrak (02 Мар 2012 19:18:57) #  

d71

Ребяты, вы как на С не писАли, ну зачем точка с запятой? Как вы её саму передавать собираетесь? В С (если по указателю куда попало ноль не совать :) ) строка ВСЕГДА заканчивается нулем, все библиотечные строковые функции в конце строки ставят нулевой байт.
if (!symb) break; // конец передачи, раньше тут была точка

Можете листинг трансляции посмотреть - вот эта строка

const unsigned char phrase[] = { "CQ CQ T1EST T1EST ** ." }; закончится нулевым байтом.

Так что точку можно тоже передать нормально. Сегодня залез в википедию, посмотрел кодировку Морзе - всё просто. Даже для современных эл. адресов яблоко (ухо) ввели, т.е. коммерческое ЭТ, некоторые называют собакой.
Кстати, вопрос: а почему между словами вы не делаете паузу в 7 точек? Камнями не кидайте - я не из партии радиолюбителей, я сочувствующий :)
Babrak
Участник
Offline1.0
с апр 2010
Новосибирск
Сообщений: 25

Дата: 02 Мар 2012 19:39:45 · Поправил: Babrak (02 Мар 2012 20:04:17) #  

Забыл добавить - если вы начинаете с точки, то тогда

if (symb >= '.' && symb <= 'Z') {
unsigned int symb_code = symb - ".";

З.Ы. Написал-то всего-ничего, а уже надоело так описывать переменные. :) Добавьте, плиз, в .h такие строчки

typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;

Покороче станет: uint symb_code = symb - ".";
HAM
Участник
Offline2.7
с окт 2003
Москва
Сообщений: 334

Дата: 02 Мар 2012 21:41:50 #  

Если кого-то напрягает реле, можно заменить на 2 полевика:
1 мощный, второй любой
радиатор не нужен
http://www12.fairchildsemi.com/an/AN/AN-1030.pdf
d71
Участник
Offline1.2
с фев 2010
Благовещенск на Амуре
Сообщений: 20

Дата: 03 Мар 2012 05:53:36 #  

Babrak
спасибо, не углядел про unsigned int symb_code = symb - '.';
по поводу точки с запятой в конце - так может и не грамотнее, но нагляднее для не программистов.
сам этот символ в морзянке не используется, даже в цифре редко и никогда в тексте маяка :)
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 03 Мар 2012 13:49:43 · Поправил: feri (03 Мар 2012 13:59:57) #  

d71
пробуйте, я ещё железо не собрал :)

Залил вышеприведенный текст
значит так , появился знак @ на мой слух воспринимается как словосочетание VR т.е .--.-. , вроде правильно.
Точка .-.-.- не воспроизводится.

Залил сюда последнюю версию сурс кода с собачтой но пока без точки http://www.fayloobmennik.net/1612482
d71
Участник
Offline1.2
с фев 2010
Благовещенск на Амуре
Сообщений: 20

Дата: 03 Мар 2012 14:15:11 · Поправил: d71 (03 Мар 2012 14:15:55) #  

feri
блин, система говорит вирусы по ссылке :(
пусть лучше на французском будет :) перезалейте, последний рывок остался, мы на правильном пути :)
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 03 Мар 2012 14:21:13 #  

d71
пусть лучше на французском будет :) перезалейте, последний рывок осталс :)

вот http://dl.free.fr/b6pGXhMOL
d71
Участник
Offline1.2
с фев 2010
Благовещенск на Амуре
Сообщений: 20

Дата: 03 Мар 2012 14:59:16 #  

feri

замените строку if (symb >= '/' && symb <= 'Z')
на if (symb >= '.' && symb <= 'Z')
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 03 Мар 2012 15:45:59 · Поправил: feri (03 Мар 2012 20:28:08) #  

d71
замените строку if (symb >= '/' && symb <= 'Z')
на if (symb >= '.' && symb <= 'Z')


Ок, все работает , спасибо.
Теперь присутствуют необходимые знаки собака @ косая / и точка .

Версию с последними модификациями залил на сервер форума Сурс код для маяка на микроконтроллере Аттини13
d71
Участник
Offline1.2
с фев 2010
Благовещенск на Амуре
Сообщений: 20

Дата: 03 Мар 2012 15:54:31 #  

feri

очень рад, что пригодился :)

------------
жду почтой компоненты, что бы на 74HC240 маяк поставить в квадрате PO30
А можно просто, для программистов, объяснить почему реле, а не ключи на транзисторах?
Свою платку развёл с реле, но хочется знать зачем :)
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 03 Мар 2012 16:07:46 · Поправил: feri (03 Мар 2012 16:58:38) #  

d71
А можно просто, для программистов, объяснить почему реле, а не ключи на транзисторах?

Можно и транзистор поставить , релле просто для лучшего разделения ВЧ части от контроллера. А также есть и другие ньюансы и особенности схемы. В некоторых конструкциях я заменял релле на транзистор , вобщемто работает.
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 03 Мар 2012 17:04:28 · Поправил: feri (03 Мар 2012 17:05:16) #  

d71
жду почтой компоненты, что бы на 74HC240 маяк поставить в квадрате PO30

схема конечно рабочая , но мне не очень понравилась, всетаки последняя версия маяка более удачная чем предыдущие.
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 03 Мар 2012 19:12:47 #  

Babrak
d71
Спасибо за участие.
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 07 Мар 2012 03:13:22 #  

Версию маяка на аттини13 считаю законченной от идеи и реализации в железе , и теперь можно занятся проектом маяка в цифре.

Seapass
INT8_NOTTY - без кварца, без терминалки, при включении играет VOICE01.WAV с карты памяти бъемом2гб(на другой не проверял).

значить наши действия
1 - записать на карточку файлик под именем VOICE01.WAV
2 - залить нужный HEX ( INT8_NOTTY) в амегу8
3 - подать питание
4 - записанный файлик начнет проигрыватся в циклическом режиме

правильно ?
NBFM
Участник
Offline3.4
с ноя 2005
Москва
Сообщений: 3348

Дата: 07 Мар 2012 09:55:59 #  

feri
Известный тебе наш коллега уже делал PSK31 передатчик, если помнишь.
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 07 Мар 2012 11:29:18 #  

NBFM
Известный тебе наш коллега уже делал PSK31 передатчик, если помнишь.

Здарова , а какже конечно помню когда увидишь передай привет, и даже имею прототип его ПСК-31 передатчика. Только повторяемость схемы низкая . Вот скажи мне сколько человек повторило его схему ? Из мне известных только три , сам автор , одна версия у меня и одна сейчас в америке, ну может еще штук пять и все.
Seapass
Участник
Offline3.0
с июл 2011
Украина
Сообщений: 844

Дата: 07 Мар 2012 17:16:33 #  

feri
0- отформатировать карту (обязательно!!! - три !!! означают что это нужно таки сделать)
1 - записать на карточку заранее подготовленный файлик под именем VOICE01.WAV
Самплрейт 8 или 11КГц - выше атмега при внутреннем тактировании не тянет. Рейт атмега
поймет автоматом читая его параметры из WAV файла. Длина файла не ограничена.
2 - залить нужный HEX ( INT8_NOTTY) в амегу8 - храни ее производитель...
3 - подать питание (да... карточку не забыть бы верно подкинуть, а то не заработает...)
4 - записанный файлик начнет проигрыватся в циклическом режиме
Проверенно - работает с картами 1 и 2Гб. (нашего любимого, китайского производителя... :)
Seapass
Участник
Offline3.0
с июл 2011
Украина
Сообщений: 844

Дата: 07 Мар 2012 23:19:14 #  

Ребенок сегодня с садика принес шарик надутый гелием... Проявил к сыну и простите с еще большим интересом к шарику не поддельный интерес. До этого прочитал много интересных статей на сайте DARPA на тему минимизации и вот к какому выводу пришел. Если не углубляться в видео и фото со стратосферы и обвеской кучей датчиков - маячок, который сможет передавать на 10,20,40м заложенный заранее текст можно совместно с источником питания уложить примерно в 25 грамм. Для этого мероприятия хватит трех таких шариков, которые по беглым расчетам просто не дотянут до высоты разрыва и продержаться как минимум полусутки (на что и хватит питания). Расчет грубый но и результат вполне реальный и бюджетный. Как подготовлюсь к запуску - дам частоты, время итд. Хочется проверить на сколько десятки милливатт будут приниматься при высоте подвеса антенны в десятки километров. Тема таки интересная :)
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 07 Мар 2012 23:33:09 #  

Seapass
который сможет передавать на 10,20,40м заложенный заранее текст
какая планируется антенна ?

с источником питания уложить примерно в 25 грамм
какое питание ?

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

Как подготовлюсь к запуску - дам частоты, время итд
если будете скидывать инфу в ходе подготовки я думаю также многим будет интересен сам процесс.
NBFM
Участник
Offline3.4
с ноя 2005
Москва
Сообщений: 3348

Дата: 09 Мар 2012 15:35:24 #  

feri
Здарова , а какже конечно помню когда увидишь передай привет, и даже имею прототип его ПСК-31 передатчика. Только повторяемость схемы низкая . Вот скажи мне сколько человек повторило его схему ? Из мне известных только три , сам автор , одна версия у меня и одна сейчас в америке, ну может еще штук пять и все.
да, как-то никто не равался вроде особо заниматься именно PSK31 маячками.
он сам занимался и передавал с него, про остальных я и не в курсе.
так что про "повторяемость" схемы- в этой ситуации судить сложно.
Seapass
Участник
Offline3.0
с июл 2011
Украина
Сообщений: 844

Дата: 13 Мар 2012 15:32:17 #  

feri
какая планируется антенна ?
Шарики вверху, к ним медный 0.25мм провод диной 5м, на конце болванка в виде маяка, далее противовес 5м с грузиком на конце. В качестве грузика можно еще один NFM маячок поставить, но уже на диапазон 70см.
какое питание ?
Пока не знаю - что такого легкого и с нужным ресурсом и так чтоб не притязательно к перепаду температуры... и чтоб дешево и не жалко было в небо отпустить.
feri
Участник
Offline3.6
с апр 2005
Страсбург ФРАНЦИЯ
Сообщений: 2636

Дата: 13 Мар 2012 15:58:37 #  

Seapass
Шарики вверху, к ним медный 0.25мм провод диной 5м, на конце болванка в виде маяка, далее противовес 5м с грузиком на конце. В качестве грузика можно еще один NFM маячок поставить, но уже на диапазон 70см.
согласен.
а вот с чего такая длина взята 5 метров ? может правильней будет четверть волны взять. получится вертикальный диполь . грузик на противовесе не нужет . даже если провод будет не совсем ровным его длина сохранится . ну разве что маяк на 430 добавить
Реклама
Google
 Страница:  ««  1  2  ...  14  15  16  17  18  ...  32  33  »» 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.075; miniBB ®