В этом уроке напишем первую программу, научимся считывать значение цифровых входов и устанавливать состояние выходов. Реализуем управление такими простыми элементами, как кнопка и светодиод на платформе Maixduino.
Что нужно знать
Существует 3 фреймворка для разработки приложений для процессора К210:
- Standalone SDK для Kendryte K210;
- Kendryte FreeRTOS SDK — Этот SDK предназначен для Kendryte K210, который содержит поддержку FreeRTOS;
- Arduino (на основе Standalone SDK).
Для работы с периферийными устройствами на Maixduino существует 3 основных компонента: GPIO, GPIOHS и FPIOA.
- GPIO (General Purpose Input Output / Интерфейс ввода/вывода общего назначения) — чип имеет 8 GPIO общего назначения.
- GPIOHS (General Purpose Input Output High Speed / Высокоскоростной интерфейс ввода/вывода общего назначения) – чип имеет 32 высокоскоростных GPIO. Похоже на обычный GPIO, но быстрее.
- FPIOA (Field Programmable I/O Array / Программируемый массив ввода/вывода) позволяет пользователю соотносить 256 внутренних функций с 48 физическими входами / выходами на чипе.
Из этого следует, что Maixduino более гибок, чем простой Arduino на базе микроконтроллеров AVR. Мы можем сопоставить любое устройство с любым физическим контактом (контактами), например, кнопки, светодиоды, устройства I2C и SPI, и т. д.
Создание нового проекта
- Открываем PlatformIO: Home и выбираем New Project, чтобы создать новый проект;
- Задаём название проекта в поле Name;
- В Boards ищем плату Sipeed MAIXDUINO;
- Выбираем Фреймворк Kendryte FreeRTOS SDK;
- В Location можно указать путь, где будет храниться проект, но можно оставить по умолчанию.
При создании первого проекта, все необходимые файлы и библиотеки будут загружены и установлены автоматически, и это может занять больше времени, чем обычно.
Настройка проекта
В папке src необходимо создать два файла: main.cpp и project_cfg.h. В первом файле мы напишем программу, а во втором мы определим макросы и настроим функции выводов.
В корневом каталоге есть файл platformio.ini — файл конфигурации проекта PlatformIO. По умолчанию PlatformIO автоматически определяет порт загрузки. Но Вы можете настроить собственный порт, используя параметр upload_port
. Список портов вы можете найти в Диспетчер Устройств или во вкладке Devices в PIO Home.
В platformio.ini вы также можете изменить скорость загрузки, используя параметр upload_speed
, порт монитора, параметр monitor_port
, и скорость монитора порта, параметр monitor_speed
. Порт загрузки и порт монитора должны совпадать.
Пример файла platformio.ini
; PlatformIO Project Configuration File ; ; Build options: build flags, source filter ; Upload options: custom upload port, speed and extra flags ; Library options: dependencies, extra library storages ; Advanced options: extra scripting ; ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html [env:sipeed-maixduino] platform = kendryte210 board = sipeed-maixduino framework = kendryte-freertos-sdk upload_port = COM3 upload_speed = 1500000 monitor_port = COM3 monitor_speed = 115200
Как работать с GPIO
Если мы хотим записывать или читать данные из GPIO, мы должны сначала его настроить. Как упоминалось выше, K210 имеет 48 контактов и 256 функций для них. Но поскольку на плате формфактора Arduino количество контактов ограничено, используются не все 48 контактов.
Сначала, чтобы определить, какие контакты и где они назначены, мы должны открыть схему платы — Maixduino-4.30(schematic).pdf. Тут нужно найти разъемы (Connector).
Все контакты разъема P3 (HEADER-1X6) подключены к ESP-32, поэтому его нельзя использовать с K210. Но разъемы P2 и P5 идут на K210, и их можно использовать в качестве контактов ввода-вывода общего назначения.
Настройка порта
Перед настройкой вывода на выход или на вход ему необходимо назначить одну функцию из 32 GPIOHS или 8 GPIO. Это можно сделать двумя способами:
- с использованием функции
int fpioa_set_function (int number, fpioa_function_t function)
; - с конфигурацией объекта
g_fpioa_cfg
.
Первый вариант можно использовать в небольших проектах с небольшим количеством конфигураций или в проектах, которые требуют изменения функции вывода во время работы программы (runtime).
Второй вариант более предпочтителен, поскольку за настройку всех выводов отвечает только один файл, таким образом проект становится более структурированным и читаемым.
В приведенных ниже примерах показано, как соотносить функцию GPIOHS0 на вывод под номером 3 (это вывод IO3 на разъеме P5). Обратите внимание, что перечисление выполняется относительно FUNC_GPIOHS0
. В дальнейшем будут использоваться только значения от 0 до 31. Поэтому желательно использовать макросы (#define
).
Пример 1:
fpioa_set_function(3, static_cast<fpioa_function_t>(FUNC_GPIOHS0 + 0));
Пример 2:
#ifndef PROJECT_CFG_H #define PROJECT_CFG_H #include <pin_cfg.h> const fpioa_cfg_t g_fpioa_cfg = { /* Версия */ .version = PIN_CFG_VERSION, /* Число функций */ .functions_count = 1, /* Офисание функций */ .functions = { /* */ {3, static_cast<fpioa_function_t>(FUNC_GPIOHS0 + 0)}, }, }; #endif
После этого необходимо открыть устройство gpio0
с помощью функции io_open
.
/* Открываем GPIO0 устройство */ gpio = io_open("/dev/gpio0");
И наконец настраиваем режим работы вывода (пина) – на вход или выход.
/* Устанавливаем режим работы пина 0 на вход. */ gpio_set_drive_mode(gpio, 0, GPIO_DM_INPUT);
/* Устанавливаем режим работы пина 0 на выход. */ gpio_set_drive_mode(gpio, 0, GPIO_DM_OUTPUT);
/* Устанавливаем режим работы пина 0 на вход с подтягивающим резистором (pull-up resistor). */ gpio_set_drive_mode(gpio, 0, GPIO_DM_INPUT_PULL_UP);
/* Устанавливаем режим работы пина 0 на вход с стягивающим резистором (pull-down resistor). */ gpio_set_drive_mode(gpio, 0, GPIO_DM_INPUT_PULL_DOWN);
Примеры программ
Чтобы лучше понять, как всё это работает, приведу два примера программ. Комментарии также будут добавлены в код для более подробного описания.
Пример 1 — мигаем светодиод
В первом примере будем мигать светодиодом, подключенным к одному из выводов платы. В файле project_cfg.h настроим функцию вывода, используемый для мигания светодиода. В файле main.cpp настроим вывод на выход и создадим задачу blinkLedTask
, которая будет вызываться с интервалом 100 мс, и при каждом вызове светодиод будет менять свое состояние с ВКЛ на ВЫКЛ и наоборот.
Схема подключения
Светодиод подключается на 13-й контакт Maixduino/Arduino через резистор, ограничивающий ток.
Файл project_cfg.h
#ifndef PROJECT_CFG_H #define PROJECT_CFG_H #include <pin_cfg.h> /** * Номер внутреннего пина */ #define LED_IO (0) /** * Номер физического пина */ #define LED_PIN (3) const fpioa_cfg_t g_fpioa_cfg = { /* Версия */ .version = PIN_CFG_VERSION, /* Число функций */ .functions_count = 1, /* Офисание функций */ .functions = { /* */ {LED_PIN, static_cast<fpioa_function_t>(FUNC_GPIOHS0 + LED_IO)}, }, }; #endif
Файл main.cpp
#include "project_cfg.h" #include <FreeRTOS.h> #include <devices.h> #include <syslog.h> #include <task.h> /** * Указатель на устройство GPIO */ static handle_t gpio; /** * Текущее состояние светодиода */ static gpio_pin_value_t ledState; /** * Прототип задачи включения/выключения светодиода * * @param pvParameters Функции задач принимают параметр, имеющий тип указателя на void (т. е. void*). Значение, указанное в pvParameters, будет передано в задачу. */ static void blinkLedTask(void *pvParameters); /** * */ int main() { BaseType_t retCode; /* Открываем GPIO0 устройство */ gpio = io_open("/dev/gpio0"); /* Перехват ошибок в процессе разработки */ configASSERT(gpio); /* Устанавливаем режим работы LED_IO пина на выход. */ gpio_set_drive_mode(gpio, LED_IO, GPIO_DM_OUTPUT); /* Задаём начальное состояние светодиода (выключаем) */ ledState = GPIO_PV_LOW; /* Пишем состояние в пин */ gpio_set_pin_value(gpio, LED_IO, ledState); /* Создаём задачу с мигающим светодиодом */ retCode = xTaskCreateAtProcessor(1, &blinkLedTask, "Blink Led task", 512, nullptr, 3, nullptr); /* Проверяем, если задача была успешно создана */ if (retCode == pdPASS) { /* В случае успеха выводим информационное сообщение */ LOGI("MFRB", "Blink Led task is running"); } else { /* В случае неудачи выводим предупреждающее сообщение */ LOGW("MFRB", "Blink Led task start problems"); } for (;;) { } return 0; } static void blinkLedTask(void *pvParameters) { while (1) { /* Меняем состояние в 1/0 */ if (GPIO_PV_HIGH == ledState) { ledState = GPIO_PV_LOW; } else { ledState = GPIO_PV_HIGH; } /* Пишем новое состояние в пин */ gpio_set_pin_value(gpio, LED_IO, ledState); /* Помещаем задачу в состояние Blocked на фиксированное количество тиков прерываний. Находясь в состоянии Blocked, задача не использует процессорное время, поэтому процессор загружен только полезной работой. С помощью макроса pdMS_TO_TICKS мы конвертируем миллисекунды в тики */ vTaskDelay(pdMS_TO_TICKS(100)); } }
Пример 2 — кнопка и светодиод
Во втором примере помимо светодиода подключим еще и кнопку. Если кнопка не нажата, светодиод будет менять свое состояние (мигать) каждые 500 мс, а при нажатии — каждые 100 мс. Вывод, подключенный к кнопке, настроен на вход с подтягивающим резистором gpio_set_drive_mode(gpio, BTN_IO, GPIO_DM_INPUT_PULL_UP);
.
Схема подключения
Светодиод подключается на 13-й контакт Maixduino/Arduino через резистор, ограничивающий ток, а кнопка на 12-й контакт и GND.
Файл project_cfg.h
#ifndef PROJECT_CFG_H #define PROJECT_CFG_H #include <pin_cfg.h> /** * Номер внутреннего пина */ #define LED_IO (0) #define BTN_IO (1) /** * Номер физического пина */ #define LED_PIN (3) #define BTN_PIN (10) const fpioa_cfg_t g_fpioa_cfg = { /* Версия */ .version = PIN_CFG_VERSION, /* Число функций */ .functions_count = 2, /* Офисание функций */ .functions = { /* */ {LED_PIN, static_cast<fpioa_function_t>(FUNC_GPIOHS0 + LED_IO)}, {BTN_PIN, static_cast<fpioa_function_t>(FUNC_GPIOHS0 + BTN_IO)}, }, }; #endif
Файл main.cpp
#include "project_cfg.h" #include <FreeRTOS.h> #include <devices.h> #include <syslog.h> #include <task.h> /** * Указатель на устройство GPIO */ static handle_t gpio; /** * Текущее состояние светодиода */ static gpio_pin_value_t ledState; /** * Прототип задачи включения/выключения светодиода * * @param pvParameters Функции задач принимают параметр, имеющий тип указателя на void (т. е. void*). Значение, указанное в pvParameters, будет передано в задачу. */ static void blinkLedTask(void *pvParameters); /** * */ int main() { BaseType_t retCode; /* Открываем GPIO0 устройство */ gpio = io_open("/dev/gpio0"); /* Перехват ошибок в процессе разработки */ configASSERT(gpio); /* Устанавливаем режим работы LED_IO пина на выход. */ gpio_set_drive_mode(gpio, LED_IO, GPIO_DM_OUTPUT); /* Устанавливаем режим работы BTN_IO пина на вход с подтягивающим резистором. */ gpio_set_drive_mode(gpio, BTN_IO, GPIO_DM_INPUT_PULL_UP); /* Задаём начальное состояние светодиода (выключаем) */ ledState = GPIO_PV_LOW; /* Пишем состояние в пин */ gpio_set_pin_value(gpio, LED_IO, ledState); /* Создаём задачу с мигающим светодиодом */ retCode = xTaskCreateAtProcessor(1, &blinkLedTask, "Blink Led task", 512, nullptr, 3, nullptr); /* Проверяем, если задача была успешно создана */ if (retCode == pdPASS) { /* В случае успеха выводим информационное сообщение */ LOGI("MFRB", "Blink Led task is running"); } else { /* В случае неудачи выводим предупреждающее сообщение */ LOGW("MFRB", "Blink Led task start problems"); } for (;;) { } return 0; } static void blinkLedTask(void *pvParameters) { /* Состояние кнопки */ gpio_pin_value_t btnState; /* Время повторения */ unsigned int timeInMs; while (1) { /* Считываетм состояние кнопки. */ btnState = gpio_get_pin_value(gpio, BTN_IO); if (btnState == GPIO_PV_LOW) { /* Если кнопка нажата, мы меняем повторяемость задачи на 100 мс. */ timeInMs = 100; } else { /* Если нет - 500 мс. */ timeInMs = 500; } /* Меняем состояние в 1/0 */ if (GPIO_PV_HIGH == ledState) { ledState = GPIO_PV_LOW; } else { ledState = GPIO_PV_HIGH; } /* Пишем новое состояние в пин */ gpio_set_pin_value(gpio, LED_IO, ledState); /* Помещаем задачу в состояние Blocked на фиксированное количество тиков прерываний. Находясь в состоянии Blocked, задача не использует процессорное время, поэтому процессор загружен только полезной работой. С помощью макроса pdMS_TO_TICKS мы конвертируем миллисекунды в тики */ vTaskDelay(pdMS_TO_TICKS(timeInMs)); } }
Материалы
Kendryte · GitHub
Maixduino-4.30(schematic)
Maixduino — одноплатный компьютер с ускорителем AI, RISC-V AI, форм-фактор Arduino и беспроводной модуль ESP32
It’s in fact very complicated in this busy life to listen news on Television, therefore I just use the web for that reason, and
obtain the most recent news.
Keep on working, great job!
CBD can now be consumed in taking part in various forms tested by many users, including oils, gainers, powders, https://cannabis-w.com/category-edibles and themselves vapes. which the charm of using disposable vapes with CBD?
Ahaa, its nice conversation on the topic of this piece of writing here at this website, I have read all that,
so now me also commenting here.
⁃ Contemporary Cloakroom purchased. If you have just built your restaurant and have no idea how to serve food to customers then this is the post for you! If you are struggling to build your restaurant still then read this post for guidance this new Olive Garden restaurant is perfect for your sims date night! It’s a functional restaurant that works with the Dine Out pack, and it’s perfect for dates, family outings, or just a night out with friends. The restaurant is fully furnished and decorated, and it even comes with Olive Garden uniforms that you can use for your Sims. I need help with the restuarant section of Sims Freeplay. I have completely finished the task the Foyer completed, But as for the inside of the restaurant, there ain’t any exclamation points for the task that need to be completed. I tap and tap but nothing seems to happen. Just send the sims where I am tapping…
https://ecosystem.lafrenchtech.com/companies/goodbye_kansas_game_invest/team
Even when you’ve reached the end of what’s available of the ever-growing story, there are boss battles and world activities you can play online with friends, stats and weapon optimizations for leveling your acquired playable characters, and plenty more. Though the late-game does tend to be more of a grind due to some of the randomness high-level character builds require and there are other sporadic balance issues, Genshin Impact is generally a joy throughout. Even when you’ve reached the end of what’s available of the ever-growing story, there are boss battles and world activities you can play online with friends, stats and weapon optimizations for leveling your acquired playable characters, and plenty more. Though the late-game does tend to be more of a grind due to some of the randomness high-level character builds require and there are other sporadic balance issues, Genshin Impact is generally a joy throughout.
Продажа готовых домов в Ижевске нк18.рф
Что касается проекты одноэтажных домов из газобетона мы Вам поможем. Строим лучшие дома в районе, о чем подтверждают наши довольные обладатели домов. Также сами члены организации живут в созданных нами домах, что даёт нам приобретать фактические отзывы. У нас можно оформить заказ на строительство как единого дома, так и целого поселка. В свою очередь представлены в продаже уже готовые предложения для быстрого заселения.
дорогие эскорт услуги москвы эскорт москва недорого услуги
Поставка оборудования неразрушающего контроля в Ижевске nkpribor.ru
По теме уличная цифровая метеостанция Вы на верном пути. Представляем широкий каталог услуг по неразрушающему контролю. Это: вибродиагностика, вихретоковый контроль, капиллярный контроль, контроль температуры, магнитный контроль, твердомеры, ультразвуковой контроль и другое. Также в продаже представлено геодезическое оборудование: геодезические GNSS приемники, курвиметры, квадрокоптеры, металлоискатели, рулетки измерительные, трассопоисковое оборудование и подобное.
No matter if some one searches for his required thing, therefore
he/she wants to be available that in detail, therefore that
thing is maintained over here.
блэкспрут blacksprut https://dark-blacksprut.com
Awesome website you have here but I was curious if you knew of
any discussion boards that cover the same topics talked
about in this article? I’d really love to be a part of community where I can get responses from other knowledgeable individuals that share the same interest.
If you have any suggestions, please let me know. Thanks!
HD
If you would like to take much from this article then you have to apply such techniques
to your won webpage.
I think that everything published was very reasonable. But, consider this, what if you were to write a killer post title?
I ain’t saying your content isn’t solid, but what if you added a title to maybe grab people’s attention? I mean Урок 1.
Управление I/O. Кнопка/светодиод — MicroPi is kinda vanilla.
You could peek at Yahoo’s front page and note how they create news titles to get people to click.
You might add a related video or a pic or two to grab readers interested about everything’ve written. In my opinion, it would bring your website a little livelier.
I have ledarn several just right stuff here. Certainly worth bookmarking
foor revisiting. I surprise how so much attempt you put to make
the sort of excellent informative site.
Also visit my site — Ketua Tim Pemenangan Bobby Nasution
У меня отличные новости!
Компания Альянс оказывает юридическую потдержку потерпевшим при заливах по своей вине соседей
в Москве и Московской области,
Консультация проводится экспертами в данной сфере, вы без труда сможете полцчить компенсацию ущерба, возместить все расходы на эксперта и юриста.
соседи затопили как возместить ущерб
затопили соседи юрист
залив квартиры юрист
консультация юриста по заливам
консультация юриста по заливу квартиры
юрист по заливам
юрист по заливам москва
юрист по заливу квартиры в бибирево
юрист по заливу квартиры москва
юрист по заливу квартиры спб
адвокат по заливам цена
адвокат по заливу
адвокат по заливу квартиры
цены на услуги адвокатов по заливам
адвокат по заливам цена
адвокат по заливу
адвокат по заливу квартиры
залил квартиру соседей суд
залили квартиру подать в суд
залили квартиру соседи подали в суд
залили квартиру суд
залили квартиру судебная
как выиграть суд если затопил соседей
что делать если затопил соседа суд
затопил соседей суд
затопили соседей снизу возмещение ущерба через суд
затопили соседи в какой суд обращаться
затопили соседи в какой суд подавать
затопили соседи документы в суд
сосед затопил квартиру судебная практика
судебная практика затопили соседи
затопили квартиру суд
залил квартиру соседей суд
залили квартиру подать в суд
залили квартиру соседи подали в суд
залили квартиру суд
затопили соседи иск в суд
соседи затапливают иск в суд
залили квартиру по вине управляющей
залили квартиру по вине управляющей компании
управляющая компания залила квартиру
управляющая компания залила квартиру что делать
затопили соседей по вине управляющей компании
затопили квартиру вина управляющей компании
затопило квартиру по вине управляющей
затопило квартиру по вине управляющей компании
управляющая компания затопила квартиру
управляющая компания затопила квартиру что делать
заливает с крыши квартиру куда жаловаться
заливает квартиру с крыши что делать
залило квартиру с крыши
дождь заливает квартиры
залили квартиру независимая экспертиза
экспертиза залитой квартиры
затопил соседей независимая экспертиза
экспертиза после потопа квартиры
экспертиза потопа квартиры
залили квартиру при тушении пожара
пожарные залили нижнюю квартиру
пожарные залили нижнюю квартиру ущерб
залили квартиру как возместить ущерб
соседи залили квартиру как возместить ущерб
затопили квартиру возместили ущерб соседям
затопили соседей снизу возмещение ущерба
затопили соседи как рассчитать ущерб
затопили соседи взыскать ущерб
затопили соседи моральный ущерб
затопили соседи сверху как взыскать ущерб
квартиранты затопили соседей кто возместит ущерб
соседи затопили как возместить ущерб
ущерб если затопили соседей снизу
возмещение ущерба при потопе квартиры
ущерб от потопа квартиры
соседей нет дома затапливают квартиру
затапливает квартиру
затапливает квартиру что делать
затапливают квартиру водой
затапливают квартиру прорвало трубу
прорвало стояк затопили соседей
прорвало стояк затопили соседей кто виноват
прорвало стояк затопили соседей что делать
протек стояк затопили соседей кто виноват
залил квартиру снизу что делать
залил квартиру соседей снизу что делать
залила квартиру соседей снизу
что делать если затопил соседей снизу
затопил соседа снизу как не платить
затопил соседей снизу какой что делать
затопил соседей снизу какой порядок действий
затопила соседей снизу сколько платить
затопили соседей снизу
затопили соседей снизу но у нас сухо
затопили соседей снизу что делать кто виноват
затопили соседей снизу возмещение
затопило соседей снизу что делать дальше
немного затопил соседей снизу что делать
сосед сверху затопил квартиру
залили квартиру соседи сверху мои действия
залили квартиру соседи сверху что делать
залило квартиру сверху что делать
залита водой квартира сверху
залита квартира сверху
соседи сверху залили квартиру
соседи сверху залили квартиру куда обращаться
как действовать если затопили соседи сверху
кого вызывать если затопили соседи сверху
что делать если затапливают соседи сверху
что делать если затопили соседи сверху
что делать если затопили соседи сверху какие
что делать затопили соседи сверху какие действия
действия затопил сосед сверху
затапливает сосед сверху
затопили соседи сверху
затопили соседи сверху как взыскать
затопили соседи сверху как взыскать деньги
затопили соседи сверху что делать куда
затопили соседи сверху что делать куда обращаться
затопили соседи сверху ванной
затопили туалет соседи сверху
затопило квартиру по вине соседей сверху
куда жаловаться если затопили соседи сверху
куда жаловаться затапливают соседи сверху
обращаться затопили соседи сверху
порядок действий если затопили соседи сверху
постоянно затапливают соседи сверху что делать
сосед затопил сверху что делать по закону
соседи сверху затапливают куда обращаться
затопили квартиру сверху
затопило квартиру сверху что делать
затапливают квартиру соседи
что делать если соседи постоянно затапливают
затапливают соседи
затапливают соседи что делать
затапливают соседи куда обращаться
что делать если затопили соседи
соседи затапливают балкон
соседи затапливают квартиру что делать
соседи затопили квартиру
соседи затопили квартиру что делать
затопили соседи
затопили соседи как себя вести
затопили соседи как доказать
затопили соседи как оформить
затопили соседи кому звонить
затопили соседи на 2 этажа выше
затопили соседи не хотят платить
затопили соседи что делать пошаговая
затопили соседи что делать пошаговая инструкция
затопили соседи вода в натяжном потолке
затопили соседи вызывать полицию
затопили соседи действия
затопили соседи какие действия
затопили соседи куда
затопили соседи куда жаловаться
затопили соседи ламинат
затопили соседи ночью
затопили соседи отказываются платить
затопили соседи последствия
затопили соседи ремонт
затопили соседи сбоку
затопили соседи сразу
затопили соседи срок давности
затопило квартиру соседями с верхнего этажа
порядок действий если затопили соседи
сосед затопил квартиру и не хочет платить
сосед затопляет участковый
соседи затопили балкон
соседи затопили квартиру и отказываются оплатить
соседи затопили отключили воду
соседи затопили потолок
соседи немного затопили что делать
умерший затопил соседей
затопили квартиру куда обращаться
затопило квартиру
затопило квартиру кто виноват
затопило квартиру по вине
затопило квартиру что делать
затопило квартиру водой
затопило квартиру москва
сосед затопил квартиру куда обращаться
затопил сосед горячей водой
затопил соседей что грозит
затопил соседей сколько платить
затопили соседей как действовать
затопили соседей что делать куда обращаться
затопили соседей стяжкой
затопили технику соседей
кот открыл кран и затопил соседей
куда обращаться если затопили соседи
лопнул шланг затопили соседей
лопнула батарея затопили соседей кто виноват
лопнула гибкая подводка затопили соседей
лопнула гибкая подводка затопили соседей кто виноват
лопнула подводка затопил соседей
муниципальная квартира затопила соседей
потекла батарея затопили соседей
прорвало трубу затопили соседей
прорвало шланг затопили соседей
прорвет затопите соседей
протек счетчик воды затопил соседей чья вина
ребенок затопил соседей
сорвало кран затопили соседей кто виноват
соседи говорят что их затопили
холодильник затопили соседи
кот затопил квартиру
прорвало трубу в квартире затопили соседей
прорвало трубу затопило квартиру
квартирант затопил соседей кто отвечает
квартирант затопил соседей кто платит
квартиранты затопили соседей что делать
наниматель затопил соседей
квартиранты затопили соседей снизу кто
квартиранты затопили соседей снизу кто платит
квартиранты затопили соседей снизу что делать
рабочие затопили соседей
снимаю квартиру затопили соседи
арендатор затопил соседей кто возмещает ущерб
затопили соседей квартира съемная
квартиросъемщик затопил соседей
квартиросъемщик залил вашу квартиру и умер
арендаторы затопили соседей кто будет платить
жильцы затопили соседей
затопили ванну соседи сверху
соседи сверху затопили ванную комнату
соседи затопили ванну
соседи затопили ванную что делать
соседи затопили ванную комнату
затопили соседи сверху квартира застрахована
квартира застрахована затопили соседи сверху что делать
затопили соседи страховой случай
затопили соседей какая страховка
затопила соседей квартиры застрахованы
залили застрахованную квартиру что делать
залили застрахованную квартиру соседей
залита застрахованная квартира
затопило застрахованную квартиру
затопили соседи сверху составить акт
соседи затопили что делать составлен акт протечки
иск залили квартиру
исковое заявление залили квартиру
затопили соседи иск
затопили соседи исковое
залило квартиру акт
претензия залили квартиру
претензия соседям затопившим квартиру
квартира в ипотеке затопили соседи
залили квартиру ипотека
соседи затопили ипотечную квартиру
если залил квартиру соседу
залили квартиру что делать виновнику
сосед залил квартиру что делать
сосед залил квартиру куда обратиться
соседи залили квартиру как возместить
соседи залили квартиру что делать куда обращаться
соседи залили квартиру порядок действий
если залили квартиру что делать
если соседи залили квартиру к кому обращаться
залили водой квартиру что делать
залили квартиру
залили квартиру кто виноват
залили квартиру что делать куда обращаться
залили квартиру что делать пострадавшему
залили квартиру горячей водой
залили квартиру кипятком
залили квартиру москва
залили квартиру порядок действий
залили муниципальную квартиру
залило пол в квартире что делать
залило проводку в квартире
залило стены в квартире
квартиру залило водой
квартиру залило через
канализация затопила квартиру
квартиру залило говном
заливает квартиру канализацией
затапливают квартиру канализацией
к кому обращаться если затопили соседи
кто должен платить если затопили соседей
при заливке пола затопили соседей
аквариум затопил соседей
верхний этаж затопили соседей
виноватый затоплять сосед
заливали пол затопили соседей
затапливаю соседей в туалете
затопил квартиру соседей какая ответственность
компенсация ущерба от залива
исковое заявление о компенсации залива
компенсация за залив
компенсация за залив квартиры
компенсация морального вреда при заливе
компенсация морального вреда залив квартиры
получить компенсацию залив
заливает квартиру постоянно
заливает потолок в квартире
заливают квартиру куда обращаться
куда жаловаться на соседей которые заливают квартиру
куда звонить если заливает квартиру
куда звонить если заливает квартиру в москве
соседи заливают квартиру и не открывают
соседи постоянно заливают квартиру что делать
кого вызывать при потопе в квартире
потоп в квартире
потоп в квартире куда звонить
потоп в чужой квартире
потоп воды в квартире
произошел потоп в квартире
затопили соседи оценщик
оценка залитой квартиры
оценка после потопа квартиры
You made some good points there. I looked on the web
to find out more about the issue and found most individuals will go along with your views on this site.
Why visitors still make use off to read news papers when iin this technological globe everything is available on web?
Here is my web page Quran dan ceramah — https://www.merdeka.com —
Excellent blog here! Also your website loads uup very fast!
What web host are you using? Can I get your affiliate limk to your host?
I wish my web site loaded up as fast as yours lol
my blog post — klasemen serie a (https://www.bola.net)
I don’t know if it’s just me or if everyone else experiencing problems with your
website. It appears as though some of the written text on your posts are running off the screen.
Can somebody else please provide feedback and let me know
if this is happening to them too? This may be a issue with
my web browser because I’ve had this happen previously.
Thank you
This post will help the internet people for creating new weblog or even a blog from start to
end.
When I initially commented I clicked the «Notify me when new comments are added» checkbox and now each time
a comment is added I get three emails with the same comment.
Is there any way you can remove me from that service?
Thanks a lot!
Artikel ini sangat menarik dan informatif! Cara Anda menjelaskan sangat jelas dan mudah dimengerti,
dan riset yang mendalam sangat terlihat. Cara Anda menulis juga sangat menarik.
Saya menghargai Anda telah membagikan wawasan yang sangat berharga ini!
4rabet india promo code: This code is aimed at users who bet in Indian Rupees (INR). It unlocks special offers like free bets or deposit bonuses specifically for players using this currency.
Attractive element of content. I simply stumbled upon your site and in accession capital to assert that I get actually enjoyed account your weblog posts.
Any way I’ll be subscribing in your feeds or even I fulfillment you get entry to consistently fast.
Ищете красивые открытки с добрым утром, которые согреют вас позитивом? В нашем Telegram-канале открытки с добрым утром вас ждёт более 500 разнообразных открыток на любой вкус! Позитивные и всегда свежие открытки помогут вам поделиться добром с близкими.
Присоединяйтесь к нашему каналу и начинайте утро с теплом и радостью! Пусть ваше утро станет теплее, а ваш день — счастливее. Поделитесь открыткой своим коллегам и вместе начните день с улыбки!
An intriguing discussion is definitely worth comment.
There’s no doubt that that you should publish more on this subject, it might not be a
taboo subject but generally people don’t speak about such
issues. To the next! Cheers!!
1xBet
A 1xBet promo code is a special code that users can enter to receive bonuses such as free bets, deposit bonuses, or other rewards. These codes are often provided as part of welcome offers, special promotions, or affiliate partnerships.
I’m amazed, I have to admit. Rarely do I encounter a blog that’s equally educative and entertaining, and without a doubt, you have hit
the nail on the head. The problem is something too few men and women are speaking intelligently about.
I’m very happy I came across this in my hunt for something regarding this.
Если вам необходимо виндовс 11 скачать с официального сайта то у нас вы сможете приобрести лицензионную копию напрямую с источника. Кроме того, вы найдете руководства по правильной установке системы на свой компьютер. Благодаря легкодоступным лицензиям и регулярным обновлениям, ваши устройства будут функционировать надежно и защищенно.
Excellent post! We are linking to this great article on our website.
Keep up the great writing.
If some one desires expert view about blogging then i suggest him/her to pay a quick visit this weblog, Keep up the fastidious job.
Смешные мемы http://prikoly-shutki.ru/kartinki-prikolnye Что такое мемы.
Sweet blog! I found it while surfing around on Yahoo News.
Do you have any tips on how to get listed in Yahoo News?
I’ve been trying for a while but I never seem to get there!
Appreciate it
Случается, что доступ к casino может быть временно ограничен. В таких ситуациях придет на помощь 7к casino зеркало на сегодня , которое предоставляет игрокам возможность оперативно и без задержек войти в свой аккаунт и продолжить сессию. Резервный доступ — это полноценная копия главного ресурса, которая работает в том же режиме и предоставляет те же самые функции. Вы можете быть спокойны, что игра продолжится с момента остановки, а ваша информация будет защищена. Зеркальные платформы регулярно обновляются, что обеспечивает стабильный доступ с casino в любое время дня и ночи. Просто перейдите на свежее зеркало, чтобы вернуться к игре и выигрывать.
can you buy ventolin over the counter in australia: Buy Ventolin inhaler online — buy ventolin inhaler
ventolin discount
Как поднять настроение с помошью анекдота. прикольные мемы
https://roomstyler.com/users/vychislavyakov
Букмекерская контора Melbet является одним из столпов международной беттинговой индустрии. За счет масштабной маркетинговой компании, высоких коэффициентов и оперативной технической поддержки БК Мелбет удалось привлечь и удержать большое количество игроков. На сегодняшний день, букмекер предлагает получить один из самых высоких бонусов на рынке — 10400 рублей. Размер бонуса в Melbet составляет 100% от суммы первого пополнения, но не менее 100 рублей и не более 10400. К примеру, если пополнить баланс на сумму 4000, то справа от основного счета появится бонусный. Как видим, использовать действующие промокоды бесплатно имеет смысл, особенно тем бетторам и бонусхантерам, которые привыкли заключать пари по-крупному. С учетом того, что он бесплатный — воспользоваться им может абсолютно любой игрок.
Just desire to say your article is as surprising.
The clarity in your post is just spectacular and i could assume you’re an expert on this subject.
Fine with your permission allow me to grab your feed to keep
updated with forthcoming post. Thanks a million and please continue the gratifying work.
We’re a group of volunteers and opening a new scheme in our community.
Your web site offered us with valuable info to work on. You’ve
done an impressive job and our entire community will
be thankful to you.
Hello all, here every person is sharing these kinds of know-how, thus it’s nice to read this web site, and I
used to pay a quick visit this blog all the time.
Сайт о биодобавках https://биодобавки.рф предлагает проверенную информацию о натуральных добавках для здоровья. Узнайте, как выбрать подходящие средства для улучшения иммунитета, повышения энергии и поддержания активного образа жизни. Подробные описания и советы помогут сделать осознанный выбор.
Наша тк Cargo-Moving предлагает не только стандартные решения, но и специальные логистические схемы, которые позволят вам доставить груз как по России, так и за её пределы. Мы работаем с транспортными, железнодорожными, мореплавательными и авиатранспортными перевозками, чтобы ваш груз доставили в нужное место точно в срок. Для нас нет невыполнимых задач — будь то срочная доставка или долгосрочные проекты.
lasix medication: lasix 100mg — furosemide
1Win – Бонусы для всех новых игроков
на официальном сайте 1win игровые автоматы онлайн
My coder is trying to convince me to move
to .net from PHP. I have always disliked the idea because of the expenses.
But he’s tryiong none the less. I’ve been using Movable-type on a variety of websites for
about a year and am anxious about switching to another platform.
I have heard great things about blogengine.net.
Is there a way I can import all my wordpress posts into it?
Any help would be greatly appreciated!
Как поднять настроение с помошью мемов. Свежие мемы.
https://telegra.ph/smeshnye-anekdoty-09-26
HD
Сайт предоставляет информацию о биодобавках http://биодобавки.рф состав, польза и рекомендации по применению. Здесь вы найдёте обзоры эффективных добавок для улучшения здоровья, иммунитета и энергии на основе научных данных и экспертных мнений.
1xBet
1xBet often offers daily promo codes that provide free bets. These codes can be entered on the day they are issued to claim free bets for sports events, giving users a risk-free way to place bets.
Hi there colleagues, its wonderful paragraph regarding teachingand entirely explained, keep it up all the time.
Промокод – небольшая цифробуквенная комбинация, которая дает право на получение каких-то привилегий и бонусов. Система промокодов позволяет букмекерским конторам привлекать новых пользователей, поощрять их регистрацию и пополнение счета, поэтому эта схема удобна как букмекерам, так и пользователям. Вводя промокод на сайте bonus promokod ru и другие бонусы для первых ставок. Обычно ввод промокода не представляет особой сложности. На сайте букмекера при регистрации будет отведено специальное поле для ввода кодовой комбинации. При выполнении всех условий компании, предоставляющей бонус, код начинает действовать сразу после ввода. Дополнительная активация не требуется. В этом случае есть свои особенности, о которых будет рассказано далее.
Временная регистрация в СПб: Быстро и Легально!
Ищете, где оформить временную регистрацию в Санкт-Петербурге?
Мы гарантируем быстрое и легальное оформление без очередей и лишних документов.
Ваше спокойствие – наша забота!
Минимум усилий • Максимум удобства • Полная легальность
Свяжитесь с нами прямо сейчас!
Временная регистрация
purple pharmacy mexico price list: mexican pharmacy — mexican drugstore online
Смешные анекдоты. Что такое анекдот.
Amazing! Its in fact amazing paragraph, I have got much clear
idea regarding from this post.
Временная регистрация в Санкт-Петербурге: Быстро и Легально!
Ищете, где оформить временную регистрацию в СПб?
Мы гарантируем быстрое и легальное оформление без очередей и лишних документов.
Ваше спокойствие – наша забота!
Минимум усилий • Максимум удобства • Полная легальность
Свяжитесь с нами прямо сейчас!
Временная регистрация в СПб
промокод при регистрации мелбет стоит ввести для повышенного бонуса на первый депозит. Большинство букмекерских контор используют такую практику привлечения новых игроков и выдают значительные бонусы. Актуальный промокод Мелбет на 2024 год – RS777. Ввести его могут исключительно новые игроки, у которых еще нет аккаунта в Melbet. Не рекомендуем идти на хитрость и заново проходить процесс регистрации, так как служба безопасности тщательно отслеживает мультиаккаунты. Максимальная сумма бонуса при использовании промокода Мелбет – 10400 рублей. Это значит, что при вводе средств на баланс после регистрации новому игроку будет зачислено еще 130% от первого депозита в качестве поощрения от букмекера.
Excellent post. I used to be checking continuously this weblog and I am inspired!
Extremely useful info specifically the ultimate part 🙂 I handle such info a lot.
I used to be seeking this particular info for a long time.
Thanks and best of luck.
Ваш идеальный VPS сервер для Keitaro — как выбрать?
хостинг Keitaro
Как поддерживать хорошее настроение с помощью смешных приколов
Very shortly this website will be famous among all blogging and
site-building people, due to it’s good articles or reviews
If some one wishes expert view regarding running a blog afterward i advise him/her to go
to see this web site, Keep up the pleasant job.
Подростковые велосипеды с доставкой velosiped-magazin.ru
Если Вы искали велосипеды купить в москве недорого в Москве, то звоните уже сейчас. Наш контактный телефон +7(495)128-48-26 для связи и получения консультации. Наши менеджеры помогут с подбором и оформят Вам заказ с доставкой по Москве.
You actually make it seem really easy along with
your presentation however I find this matter to be actually one thing that I believe I’d by
no means understand. It sort of feels too complicated and extremely wide for me.
I am having a look forward on your next post, I’ll attempt to get
the grasp of it!
Временная регистрация в Санкт-Петербурге: Быстро и Легально!
Ищете, где оформить временную регистрацию в СПБ?
Мы гарантируем быстрое и легальное оформление без очередей и лишних документов.
Ваше спокойствие – наша забота!
Минимум усилий • Максимум удобства • Полная легальность
Свяжитесь с нами прямо сейчас!
Временная регистрация в СПБ