powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поливки на С.
46 сообщений из 46, показаны все 2 страниц
Алгоритм поливки на С.
    #39145218
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алгоритм поливки.
Есть электрический кран. Его надо открывать\закрывать.
Всего можно запрограмировать 4 открытия\закрыия на каждый день.
К примеру
Понедельник:
Open 12:00
Close 12:30
Open 14:00
Close 15:00
Open 19:00
Close 22:00
Среда:
Open 9:00
Close 11:00
Open 14:00
Close 14:15
Open 18:00
Close 18:30

вот сижу ломаю голову как это покрасивее претворить в жизнь.
у меня есть ощущение что все уже написано до нас. работают же поливочные контроллеры как то.
может кто нибудь решал что нибудь подобное ?
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145220
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

А открытие/закрытие крана - для компьютера это что?
Исполнительное устройство на входе что понимает?
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145221
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftjenya7,

А открытие/закрытие крана - для компьютера это что?
Исполнительное устройство на входе что понимает?

програма бежит на микроконтролере. а програмировать я планирую через терминал UART.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145224
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
открыть\закрыть - контролер даст сигнал на реле.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145247
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно взять 2 будильника. Два устройства.

Один будильник включает реле в 12.00... 14.00 e.t.c.
Другой - только выключает в 12.30 ... e.t.c.

Почему два? Ну.. так проще сигналы обработать.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145293
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7miksoftjenya7,

А открытие/закрытие крана - для компьютера это что?
Исполнительное устройство на входе что понимает?

програма бежит на микроконтролере. а програмировать я планирую через терминал UART.Ну так на микроконтроллере все и программируйте.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145306
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут тема программинга даже не прослеживается. Прошу модератора бросить это в вопрос-ответ.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145334
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

А вот и готовый девайс - geektimes.ru/company/dadget/blog/268466/
Если есть в продаже у нас, то и китайцев можно найти дешевле и в большем ассортименте вариантов.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145360
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftjenya7,

А вот и готовый девайс - geektimes.ru/company/dadget/blog/268466/
Если есть в продаже у нас, то и китайцев можно найти дешевле и в большем ассортименте вариантов.
в продаже есть все. мне надо встроить эту функцию в свой прибор.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145369
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7miksoftjenya7,

А вот и готовый девайс - geektimes.ru/company/dadget/blog/268466/
Если есть в продаже у нас, то и китайцев можно найти дешевле и в большем ассортименте вариантов.
в продаже есть все. мне надо встроить эту функцию в свой прибор.Поскольку вы о своем приборе старательно молчите, то могу только предложить примотать одно к другому синей изолетной.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145381
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftjenya7пропущено...

в продаже есть все. мне надо встроить эту функцию в свой прибор.Поскольку вы о своем приборе старательно молчите, то могу только предложить примотать одно к другому синей изолетной.
при чем тут вообще прибор? я спрашивую про алгоритм опроса програм(вкл\выкл) по дням. научитесь адекватно анализировать прочитанное.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145386
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7при чем тут вообще прибор? я спрашивую про алгоритм опроса програм(вкл\выкл) по дням.Ну так возможности "опроса программ" у каждого прибора свои.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145397
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftjenya7при чем тут вообще прибор? я спрашивую про алгоритм опроса програм(вкл\выкл) по дням.Ну так возможности "опроса программ" у каждого прибора свои.
у меня получилось что то такое
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
//check if the present day is active 
if (flashParam.solDay&(1<<rtc.rtcDayOfWeek))
{
     //run programs for the day
      for (prog_mum = 0; prog_mum < 4; prog_mum++)
	  SOLENOID_RunSol(prog_mum);
}


void SOLENOID_RunSol(uint32_t prog_mum)
{
	switch (solParam[prog_mum].solState)
	{
	    case IDLE:
	        solParam[prog_mum].solState = START;
		break;
	    case START:
	    	if (solParam[prog_mum].solStartHour == rtc.rtcHour && solParam[prog_mum].solStartMinute >= rtc.rtcMin)
	    	{
	    		SolenoidOn();
	    		solParam[prog_mum].solState = STOP;
	    	}
	    break;
	    case STOP:
	    	if ( (solParam[prog_mum].solStopHour == rtc.rtcHour && solParam[prog_mum].solStopMinute >= rtc.rtcMin))
	    	{
	    		SolenoidOff();
	    		solParam[prog_mum].solState = IDLE;
	    	}
	    break;
	    
	}
}


но что то мне это не нравиться.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145399
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7, ну как-то так

Алгоритм!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
while(....) {

 waitForTimerTick();

 getTimeFromTimer(timeis);

 if (stricmp(timeis,"12:00")){
    turnOnYourSink();
 }

 if (stricmp(timeis,"12:30")){
    turnOffYourSink();
 }

...
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145403
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7, а ну ОК. Твой алгоритм тоже наверное неплох.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145424
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonjenya7, ну как-то так

Алгоритм!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
while(....) {

 waitForTimerTick();

 getTimeFromTimer(timeis);

 if (stricmp(timeis,"12:00")){
    turnOnYourSink();
 }

 if (stricmp(timeis,"12:30")){
    turnOffYourSink();
 }

...

А еще лучше при каждом срабатывании "заводить" таймер на следующее время срабатывания.
Тогда микроконтроллер сможет спать все время, кроме сработок по расписанию.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145430
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

+1. Ну ... если есть возможность заводить то я не против.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145554
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145825
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

Не будет работать =)

Надо сравнивать на больше или равно, а еще на пересекающиеся интервалы.
Еще могут быть подготовительные операции, типа "подогреть воду".

Идеология тут
https://ru.wikipedia.org/wiki/Конечный_автомат
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145837
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7но что то мне это не нравиться.
И правильно. Не надо тут запускать/останавливать работу девайса. Надо получить состояние которое должно быть в текущий момент, затем сравнить с реальным состоянием, если несовпало - изменить реальное состояние.

IDLE и STOP это чего? Должно быть два состояния IDLE и WORK
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145842
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зимарглmayton,

Не будет работать =)

Надо сравнивать на больше или равно, а еще на пересекающиеся интервалы.
Еще могут быть подготовительные операции, типа "подогреть воду".

Идеология тут
https://ru.wikipedia.org/wiki/Конечный_автомат
Привет Зяма. Ты - как всегда - анонимос. Не боишся что затролят?

По сабжу - согласен. По хорошему - надо детектировать фронт импульса джоба. Но мне лениво.
Для полива баклажанов и так сойдет.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145844
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это
jenya7
Код: sql
1.
	    	if (solParam[prog_mum].solStartHour == rtc.rtcHour && solParam[prog_mum].solStartMinute >= rtc.rtcMin)


и это
mayton
Код: plaintext
1.
 if (stricmp(timeis,"12:00")){


жесть. в течении минуты не проверили и капец. Если вкл на час 2-3 раза в неделю, то несработавший выкл вместо часа буде поливать день-два.

Если расписание понедельное, то надо перевести в минуты с полуночи понедельника: ((день_недели * 24) + час) * 60 + минута
Дальше сравнивать на больше/меньше.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145846
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, Дима! Бак-ла-жа-ны... Мать их так.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39145855
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDima T, Дима! Бак-ла-жа-ны... Мать их так.
Так смоет же. Это ж не рис и не клюква в болоте

Вобщем я к тому что надо хранить диапазоны когда включать. Дальше примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
bool real_work = ... // текущее состояние, true - сейчас поливает
...
void check_state() {
 bool need_work = false;
 for(перебор всех интервалов) {
    if(текущее время попало в интервал вкл.) need_work = true;
 }
 if(need_work != real_state) {
  if(need_work) 
    start_poliv();
  else
    stop_poliv();
 }
}
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146004
jenya7miksoftпропущено...
Поскольку вы о своем приборе старательно молчите, то могу только предложить примотать одно к другому синей изолетной.
при чем тут вообще прибор? я спрашивую про алгоритм опроса програм(вкл\выкл) по дням. научитесь адекватно анализировать прочитанное.

весь алгоритм
одна команда на включение, одна на выключение
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146025
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7 Есть электрический кран. Его надо открывать\закрывать.
Всего можно запрограмировать 4 открытия\закрыия на каждый день.

Мне кажется что ключевым моментом при алгоритмизации данного вопроса является тот факт, что процессы открытия и закрытия связаны, и, как следствие должны быть выделены в единую транзакцию. Реализация в первом приближении примерно такая

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
const int count = 4;

struct Period
{
	time start; 
	time duration;
} periods[count];

int complete_transaction(const struct Period* p)
{
	//smth checks
	wait_until(p->start);
	send_signal_to_run(const T DeviceID);
	wait(p->duration);
	send_signal_to_stop(const T DeviceID);
	////smth checks
	return 0;
}

int main()
{
	for (int i = 0; i < count; ++i){
		complete_transaction(periods + i);
	}
	return 0;
}
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146881
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТут тема программинга даже не прослеживается. Прошу модератора бросить это в вопрос-ответ.
просьба в силе?
Программ уже масса
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146884
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizmaytonТут тема программинга даже не прослеживается. Прошу модератора бросить это в вопрос-ответ.
просьба в силе?
Программ уже масса
А ладно. Пускай будет.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146929
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

А в чём проблема?
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146968
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarjenya7,

А в чём проблема?
Парень закодил полив помидора или кабачка. Но сорц 18666487 ему чем-то не нравится.

Я так понимаю что ему просто нужен пример или best-practices как кодят подобные штуки.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147753
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonAreostarjenya7,

А в чём проблема?
Парень закодил полив помидора или кабачка. Но сорц 18666487 ему чем-то не нравится.

Я так понимаю что ему просто нужен пример или best-practices как кодят подобные штуки.


Подобные штуки кодят на старом писюке под
минимальным консольным линуксом
через крон который
пишет битовую маску в паралельный порт или ком порт.
Ну или через переходинк USB-RS232 и если ком не очень старый...

Электическая схема представляет собой на мултиплексор
авторМультиплексор имеет несколько входов, которые называются каналами мультиплексора и несколько выходов, которые называются разрядами мультиплексора. Количество каналов в микросхемах мультиплексорах может быть от 2 до 16, а количество разрядов – от 1 до 4. Управление работой мультиплексора осуществляется с помощью адресных входов, на которые в двоичном коде поступает номер канала, с которого в данный момент необходимо передать информацию на выход прибора.


Если переносить, то к железячникам...
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147765
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаР, через крон низзя.

Например, таймер был на 12:00. Но с 11:55 до 12:05 отключили свет.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147767
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги а кто знает как вообще работает крон? Как фиксируются power failures,
сезонные и ручные переводы часов?

Какова точность таймера? Есть-ли лаг e.t.c.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147833
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКоллеги а кто знает как вообще работает крон?

Как фиксируются power failures,

Никак.


maytonсезонные и ручные переводы часов?


При сезонном переводе , реальное время никуда не переводится,
это настройки окружения.

Переменная окруженя TZ ( у нее есть формат когда переходить на лето и зиму )
определяет какое время у текущего пользователя и по этому времени отрабатывает его крон.

maytonКакова точность таймера? Есть-ли лаг e.t.c.

Точность в пределах времени запуска процесса.
в районе милисекунд.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147835
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗимарглДохтаР, через крон низзя.

Например, таймер был на 12:00. Но с 11:55 до 12:05 отключили свет.

Я думаю что это можно порешать в скриптах загрузки ситемы
проанализирова лог на поледние действия
и включить все что было пропущено.

зы опять же вопрос куда переносить тему,
может в Unix раздел ?
:)
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147837
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаР, его некуда переносить. Если-б было "железо и микроконтроллеры"...
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148218
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДохтаР, его некуда переносить. Если-б было "железо и микроконтроллеры"...


Кстате, нагуглил код крона для микроконтроллера arduino
http://brianfletcher.org/?p=31

Я понял чем мне нужно заняться , наверное начну лабать
такую фигню из бытовых шаровых кранов
и двигателя стеклоподъемника автомобия + электронная схема .

зы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148222
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
в C:\Windows\System32\drivers\etc\hosts допиши
Код: sql
1.
127.0.0.1       sql.ru
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148226
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
в C:\Windows\System32\drivers\etc\hosts допиши
Код: sql
1.
127.0.0.1       sql.ru



У меня везде линукс :)

Как допишу так и удалю.
Это офтопичная проблема, долго рассказывать.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148231
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРУ меня везде линукс :)
там тоже hosts есть :)

заинтриговал:
ДохтаРи двигателя стеклоподъемника автомобия
он зачем нужен для полива?
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148239
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
Док. Я думаю и себя пролечить веществами. Чтоб забыть про скруль и модерство.

P.S. ... Как перестать кодить и начать жить. (с)
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148263
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
Док. Я думаю и себя пролечить веществами. Чтоб забыть про скруль и модерство.

P.S. ... Как перестать кодить и начать жить. (с)

Если бы я кодил, то возможно все было бы проще.
А у меня работа такая, хоть и денежная , но могут поднять
в любое время дня и ночи...

Абсолюно ненормированный рабочий день, проблема
любые планы построить.
Как только начинаешь выходить на планирование,
повышается непредсказуемость на работе.
Можно неделями сидеть на SQL.ru на работе все тихо,
как только начинаешь что то делать , обязательно работа начинает отвекать.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39149113
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tjenya7но что то мне это не нравиться.
И правильно. Не надо тут запускать/останавливать работу девайса. Надо получить состояние которое должно быть в текущий момент, затем сравнить с реальным состоянием, если несовпало - изменить реальное состояние.

IDLE и STOP это чего? Должно быть два состояния IDLE и WORK

если не вводить состояния START, STOP, то это условие
Код: c#
1.
2.
 
if (solParam[prog_mum].solStartHour == rtc.rtcHour && solParam[prog_mum].solStartMinute >= rtc.rtcMin)


будет выполняться до условия остановки.
частота опроса милисекунды однако я предпочитаю оставить условие >=.

кстати у меня ошибка .правильно будет написать
Код: c#
1.
if (solParam[prog_mum].solStartHour == rtc.rtcHour &&   rtc.rtcMin >= solParam[prog_mum].solStartMinute)
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39149115
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя...было бы неплохо избавиться от сотояний...или ввести AFTER_START что ли ))
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39149123
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TЭто
jenya7
Код: sql
1.
	    	if (solParam[prog_mum].solStartHour == rtc.rtcHour && solParam[prog_mum].solStartMinute >= rtc.rtcMin)


и это
mayton
Код: plaintext
1.
 if (stricmp(timeis,"12:00")){


жесть. в течении минуты не проверили и капец. Если вкл на час 2-3 раза в неделю, то несработавший выкл вместо часа буде поливать день-два.

Если расписание понедельное, то надо перевести в минуты с полуночи понедельника: ((день_недели * 24) + час) * 60 + минута
Дальше сравнивать на больше/меньше.

зачем вводить дополнительные счетчики. у меня проверяется день недели и абсолютное время. я никак не пропущу день недели с конкретным временем вкл\выкл.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39150157
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, зачем что-то программировать.
для практики существуют устройства:
...
Рейтинг: 0 / 0
46 сообщений из 46, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поливки на С.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]