WiringPi включает в себя программно-управляемый обработчик ШИМ (Soft PWM), способный выводить сигнал ШИМ на любой из выводов GPIO Raspberry Pi (или Banana Pi, Orange Pi, NanoPi, Odroid и т.п.).
Есть некоторые ограничения. Для поддержания низкой загрузки процессора минимальная ширина импульса составляет 100 мкс. Это в сочетании с предлагаемым по умолчанию диапазоном 100 дает частоту ШИМ 100 Гц. Вы можете уменьшить диапазон, чтобы получить более высокую частоту за счет разрешения, или увеличить, чтобы получить большее разрешение, но это снизит частоту. Если вы измените ширину импульса в коде драйвера, то имейте в виду, что при задержках менее 100 мкс (WiringPi делает это в программном цикле) загрузка ЦП резко возрастет, а управление более чем одним выводом будет практически невозможно.
Также обратите внимание, что хотя подпрограммы могут работают с более высоким приоритетом или с приоритетом в реальном времени, Linux по-прежнему может влиять на точность генерируемого сигнала. Впрочем, даже несмотря на ограничения, с помощью этих функций можно управлять устройствами вроде светодиодов и моторов.
Soft PWM/Программная ШИМ на C/C++
Чтобы использовать эти функции в своей программе на C/C++, нужно включить следующие библиотеки/файлы:
#include <wiringPi.h> #include <softPwm.h>
При компиляции вашей программы, вы должны будете подключить pthread
, а также библиотеку wiringPi
, выглядеть это будет примерно так:
cc -o myprog myprog.c -lwiringPi -lpthread
Описание функций softPwm.h
Доступны следующие функции:
softPwmCreate (int, int, int)
Задает контакт, на котором будет генерироваться программная ШИМ. Можно использовать любой GPIO-контакт (int pin
), а распиновкой служит та, что используется функцией wiringPiSetup()
. Если вписать в параметре int range
значение «100», то диапазон значений на этом контакте будет от «0» (выкл) до «100» (полный ход).
int softPwmCreate (int pin, int value, int range);
Если операция пройдет успешно, функция вернет «0». Если функция вернет другое значение, то о том, что случилось, можно узнать у глобальной переменной errno
.
softPwmWrite (int, int)
Обновляет значение (int value
) ШИМ на указанном контакте (int pin
). Значение проверяется на предмет того, не выходит ли оно за пределы заданного диапазона. Контакты, которые ранее не были инициализированы при помощи функции softPwmCreate()
, будут просто проигнорированы.
void softPwmWrite (int pin, int value);
softPwmStop (int)
Эта функция отключает ШИМ на данном выводе (int pin
).
void softPwmStop (int pin);
Пример программы
#include <iostream> /* * Включаем необходимые библиотеки */ #include <wiringPi.h> #include <softPwm.h> #define PIN 23 #define RANGE 100 #define VALUE 50 using namespace std; int main() { /* * Инициализируем WiringPi */ if (wiringPiSetup() == 0) { /* * Задает контакт, на котором будет генерироваться Soft PWM * GPIO-контакт 23, диапазон значений - 100, значение - 50 */ softPwmCreate(PIN, VALUE, RANGE); cout << "softPwmCreate(PIN, VALUE, RANGE);" << endl; cout << "PIN: " << PIN << endl; cout << "RANGE: " << RANGE << endl; cout << "VALUE: " << VALUE << endl; cout << endl; /* * Обновляем значение (value) ШИМ на 25 */ softPwmWrite(PIN, 25); cout << "softPwmWrite(PIN, 25);" << endl; cout << "PIN: " << PIN << endl; cout << "VALUE: " << 25 << endl; cout << endl; delay(5000); /* * Обновляем значение (value) ШИМ на 50 */ softPwmWrite(PIN, 50); cout << "softPwmWrite(PIN, 50);" << endl; cout << "PIN: " << PIN << endl; cout << "VALUE: " << 50 << endl; cout << endl; delay(5000); /* * Обновляем значение (value) ШИМ на 75 */ softPwmWrite(PIN, 75); cout << "softPwmWrite(PIN, 75);" << endl; cout << "PIN: " << PIN << endl; cout << "VALUE: " << 75 << endl; cout << endl; delay(5000); /* * Обновляем значение (value) ШИМ на 100 */ softPwmWrite(PIN, 100); cout << "softPwmWrite(PIN, 100);" << endl; cout << "PIN: " << PIN << endl; cout << "VALUE: " << 100 << endl; cout << endl; delay(5000); /* * Отключаем ШИМ на GPIO-контакте 7 */ softPwmStop(PIN); cout << "softPwmStop(PIN);" << endl; cout << "PIN: " << PIN << endl; } return 0; }
Инициализировать WiringPi можно при помощи функций wiringPiSetup()
, wiringPiSetupGpio()
и wiringPiSetupPhys()
. Функция wiringPiSetupSys()
недостаточно быстра, поэтому вам нужно будет запускать программы при помощи sudo.
Компиляция, сборка и запуск программы
- Сознаём файл
wiringpi_soft_pwm.cpp
и вставляем вышеприведённый код:nano wiringpi_soft_pwm.cpp
- Компилируем и собираем программу:
g++ -Ofast -Wall wiringpi_soft_pwm.cpp -lwiringPi -lpthread -o wiringpi_soft_pwm
- Запускаем программу:
./wiringpi_soft_pwm
Результат
Soft PWM/Программная ШИМ на Java
В Pi4J есть библиотека/и для работы с ШИМ с помощью Java на Raspberry Pi, Banana Pi, Orange Pi, Nano Pi и Odroid. Все классы и интерфейсы находятся в пакетах com.pi4j.io.gpio.*;
и com.pi4j.wiringpi.*;
.
Интерфейс GpioPinPwm
Этот интерфейс является расширением интерфейса GpioPin
с чтением значений PWM.
getPwm()
Возвращает значение, установленное в данный момент для выхода ШИМ:
Если это аппаратная Широтно-импульсная модуляция, значение будет в диапазоне от 0 до 1024, а если это программная Широтно-импульсная модуляция, значение будет в диапазоне от 0 до 100.
int getPwm();
Интерфейс GpioPinPwmOutput
Этот интерфейс является расширением интерфейса GpioPinPwm
и добавляет операции для установки выходного значения PWM.
setPwm(int)
Устанавливает значение/длину рабочего цикла ШИМ.
Если это аппаратная Широтно-импульсная модуляция, значение должно быть в диапазоне от 0 до 1024, а если это программная Широтно-импульсная модуляция, значение должно быть в диапазоне от 0 до 100.
void setPwm(int value);
setPwmRange(int)
Устанавливает диапазон ШИМ. По умолчанию 1024 для аппаратного ШИМ, для программного — 100.
void setPwmRange(int range);
Примеры программы
Данный пример кода генерирует программную ШИМ на одном выводе GPIO одноплатного компьютера Orange Pi PC. Если вы планируете запустить этот пример кода на другой плате, тогда не забудьте указать правильную платформу:
- Raspberry Pi:
PlatformManager.setPlatform(Platform.RASPBERRYPI);
- Banana Pi:
PlatformManager.setPlatform(Platform.BANANAPI);
- Banana Pro:
PlatformManager.setPlatform(Platform.BANANAPRO);
- Synovoip BPI:
PlatformManager.setPlatform(Platform.BPI);
- Odroid:
PlatformManager.setPlatform(Platform.ODROID);
- Orange Pi:
PlatformManager.setPlatform(Platform.ORANGEPI);
- NanoPi:
PlatformManager.setPlatform(Platform.NANOPI);
- Simulated:
PlatformManager.setPlatform(Platform.SIMULATED);
Тоже самое по поводу пинов, для Orange Pi — это com.pi4j.io.gpio.OrangePiPin
, для Nano Pi — com.pi4j.io.gpio.NanoPiPin
и т.д..
import com.pi4j.io.gpio.GpioController; import com.pi4j.io.gpio.GpioFactory; import com.pi4j.io.gpio.GpioPinPwmOutput; import com.pi4j.io.gpio.OrangePiPin; import com.pi4j.platform.Platform; import com.pi4j.platform.PlatformAlreadyAssignedException; import com.pi4j.platform.PlatformManager; import com.pi4j.util.Console; public class SoftPWMPi4J { public static void main(String[] args) { try { PlatformManager.setPlatform(Platform.ORANGEPI); /* * Создаём Pi4J консольную оболочку/помощника */ Console console = new Console(); /* * Выводим заголовок программы */ console.title("<-- Проект Pi4J -->", "Пример SoftPWM (Программная ШИМ на Java)"); /* * Разрешаем пользователю выйти из программы, используя CTRL-C */ console.promptForExit(); /* * Создаем контроллер gpio */ GpioController gpio = GpioFactory.getInstance(); /* * Предоставим вывод как программный выход ШИМ, выводы, которые * поддерживают аппаратный ШИМ, должны быть предоставлены как нормальные * выходы ШИМ */ GpioPinPwmOutput pwm = gpio.provisionSoftPwmOutputPin(OrangePiPin.GPIO_23); /* * При желании мы можем установить диапазон ШИМ (100 - диапазон по * умолчанию) */ pwm.setPwmRange(100); /* * Подсказываем пользователю, что мы готовы */ console.println(" ... Успешно подготовлен ШИМ вывод: " + pwm.toString()); console.emptyLine(); /* * Устанавливаем длину рабочего цикла ШИМ 100 (ПОЛНОСТЬЮ ВКЛ) */ pwm.setPwm(100); console.println("Длина рабочего цикла программной ШИМ: " + pwm.getPwm()); console.println("Нажмите ENTER, чтобы установить значение ШИМ 50"); System.console().readLine(); /* * Устанавливаем длину рабочего цикла ШИМ 50 (РАБОЧИЙ ЦИКЛ 1/2 или 50%) */ pwm.setPwm(50); console.println("Длина рабочего цикла программной ШИМ: " + pwm.getPwm()); console.println("Нажмите ENTER, чтобы установить значение ШИМ 0 (остановить PWM)"); System.console().readLine(); /* * Устанавливаем длину рабочего цикла ШИМ 0 (ПОЛНОСТЬЮ ВЫКЛ) */ pwm.setPwm(0); console.println("Длина рабочего цикла программной ШИМ: " + pwm.getPwm()); /* * Останавливаем все потоки GPIO, выключив контроллер GPIO (этот метод * принудительно отключит все потоки мониторинга GPIO и запланированные * задачи) */ gpio.shutdown(); } catch (PlatformAlreadyAssignedException e) { e.printStackTrace(); } } }
Компиляция, сборка и запуск программы
- создаём java файл и вставляем код:
nano SoftPWMPi4J.java
- компилируем файл:
javac -classpath .:classes:/opt/pi4j/lib/'*' SoftPWMPi4J.java
- запускаем программу:
sudo java -classpath .:classes:/opt/pi4j/lib/'*' SoftPWMPi4J
Результат
Примечания
- Каждый «цикл» выхода ШИМ занимает 10 мс со значением диапазона по умолчанию 100, поэтому попытка изменить значение ШИМ более 100 раз в секунду будет бесполезной.
- Каждый вывод, активированный в режиме soft PWM, использует приблизительно 0,5% ЦП.
- В настоящее время нет способа отключить softPWM на выводе во время работы программы.
- Вы должны держать свою программу в рабочем состоянии, чтобы поддерживать выход ШИМ.
Материалы
Software PWM Library
Широтно-импульсная модуляция
The Pi4J Project
Установка Pi4J на Raspberry Pi и Orange Pi, Banana Pi
Установка и настройка BPI-WiringPi/WiringPi на Banana Pi
Установка и настройка WiringOP/WiringPi на Orange Pi PC
ШИМ управление активным охлаждением на Raspberry Pi, Orange Pi, Banana Pi
Raspberry Pi:Библиотеки/WiringPi/Функции для выдачи Ш.И.М.
Слова эти были настолько неожиданны и нелепы, что Степа решил, что ослышался. накрутка поведенческих факторов заказать Берлиоз тоскливо оглянулся, не понимая, что его напугало.
Его прокуратор спросил о том, где сейчас находится себастийская когорта. бот для накрутки поведенческих факторов Он побледнел, вытер лоб платком, подумал: «Что это со мной? Этого никогда не было… сердце шалит… я переутомился… Пожалуй, пора бросить все к черту и в Кисловодск…» И тут знойный воздух сгустился над ним, и соткался из этого воздуха прозрачный гражданин престранного вида.
Весь нижний этаж теткиного дома был занят рестораном, и каким рестораном! По справедливости он считался самым лучшим в Москве. микрозайм онлайн Те наклонились к нему с обеих сторон, и он сказал, но уже без всякого акцента, который у него, черт знает почему, то пропадал, то появлялся: – Дело в том… – тут профессор пугливо оглянулся и заговорил шепотом, – что я лично присутствовал при всем этом.
– Да-с, – продолжал Иван, – знается! Тут факт бесповоротный. микрокредит онлайн – Проговорив это, командир скомандовал точно, ясно, быстро: – Пантелея из буфетной.
В саду было тихо. на каком сайте можно разместить Машина заехала за Желдыбиным и, первым долгом, вместе со следствием, отвезла его (около полуночи это было) на квартиру убитого, где было произведено опечатание его бумаг, а затем уж все поехали в морг.
Берлиоз с великим вниманием слушал неприятный рассказ про саркому и трамвай, и какие-то тревожные мысли начали мучить его. создание сайта на вордпресс – Член профсоюза? – Да.
Теперь его уносил, удушая и обжигая, самый страшный гнев, гнев бессилия. рамочная москитная сетка – Может быть, вы знаете, какой именно, – с совершенно естественной иронией осведомился Берлиоз, вовлекаясь в какой-то действительно нелепый разговор, – и скажете мне? – Охотно, – отозвался незнакомец.
Покрытые испариной лица как будто засветились, показалось, что ожили на потолке нарисованные лошади, в лампах как будто прибавили свету, и вдруг, как бы сорвавшись с цепи, заплясали оба зала, а за ними заплясала и веранда. замена уплотнителя на окнах цена в москве Иван так и сделал и углубился в таинственную сеть арбатских переулков и начал пробираться под стенками, пугливо косясь, ежеминутно оглядываясь, по временам прячась в подъездах и избегая перекрестков со светофорами, шикарных дверей посольских особняков.
– забормотал поэт, тревожно озираясь. Васильева – Я не спросил тебя, – сказал Пилат, – ты, может быть, знаешь и латинский язык? – Да, знаю, – ответил арестант.
И двадцати секунд не прошло, как после Никитских ворот Иван Николаевич был уже ослеплен огнями на Арбатской площади. нотариус метро Солнцево На третий же день страдавшая все это время бессонницей Анна Францевна опять-таки спешно уехала на дачу… Нужно ли говорить, что она не вернулась! Оставшаяся одна Анфиса, наплакавшись вволю, легла спать во втором часу ночи.
Помахав руками, чтобы остыть, Иван ласточкой кинулся в воду. Коромысла ГРМ Он внезапно перестал икать, сердце его стукнуло и на мгновенье куда-то провалилось, потом вернулось, но с тупой иглой, засевшей в нем.
– И доказательств никаких не требуется, – ответил профессор и заговорил негромко, причем его акцент почему-то пропал: – Все просто: в белом плаще… В белом плаще с кровавым подбоем, шаркающей кавалерийской походкой, ранним утром четырнадцатого числа весеннего месяца нисана в крытую колоннаду между двумя крыльями дворца Ирода Великого вышел прокуратор Иудеи Понтий Пилат. Датчики числа оборотов Светало, и свет еще не погашенных на шоссе фонарей был уже не нужен и неприятен.
И было в полночь видение в аду. евроремонт квартир цена Дело в том, что в этом вчерашнем дне зияла преогромная черная дыра.
заработок на аккаунтах продажа аккаунтов
платформа для покупки аккаунтов маркетплейс аккаунтов соцсетей
маркетплейс аккаунтов соцсетей https://pokupka-akkauntov-online.ru/
Gaming account marketplace Account Acquisition
Sell accounts Database of Accounts for Sale
Account Buying Service Accounts market
Account marketplace Accounts marketplace
Website for Selling Accounts Buy Account
Secure Account Purchasing Platform Account exchange
Account Buying Service Buy Account
Social media account marketplace Accounts market
account exchange service account market
social media account marketplace accounts marketplace
account market account market
account trading platform account buying platform
sell accounts website for selling accounts
buy accounts website for selling accounts
online account store accounts market
account sale accounts market
purchase ready-made accounts verified accounts for sale
account selling service purchase ready-made accounts
gaming account marketplace buy and sell accounts
account catalog account purchase
account selling service gaming account marketplace
account store ready-made accounts for sale
social media account marketplace marketplace for ready-made accounts
buy account marketplace for ready-made accounts
secure account purchasing platform https://sale-social-accounts.org
account selling service gaming account marketplace
website for selling accounts account market
order Viagra discreetly: generic sildenafil 100mg — order Viagra discreetly
Cialis without prescription: FDA approved generic Cialis — best price Cialis tablets
modafinil pharmacy: doctor-reviewed advice — modafinil pharmacy
legit Viagra online Viagra without prescription best price for Viagra
http://maxviagramd.com/# secure checkout Viagra
discreet shipping ED pills: online Cialis pharmacy — buy generic Cialis online
reliable online pharmacy Cialis reliable online pharmacy Cialis generic tadalafil
secure checkout ED drugs: online Cialis pharmacy — online Cialis pharmacy
legal Modafinil purchase: doctor-reviewed advice — verified Modafinil vendors
account trading https://accounts-offer.org
ready-made accounts for sale https://accounts-marketplace.xyz
best price for Viagra: trusted Viagra suppliers — order Viagra discreetly
https://zipgenericmd.shop/# reliable online pharmacy Cialis
best price for Viagra: legit Viagra online — trusted Viagra suppliers
best price Cialis tablets FDA approved generic Cialis reliable online pharmacy Cialis
Modafinil for sale: buy modafinil online — Modafinil for sale
modafinil legality: Modafinil for sale — modafinil legality
fast Viagra delivery Viagra without prescription legit Viagra online
verified Modafinil vendors: doctor-reviewed advice — modafinil legality
account buying service accounts market
accounts for sale https://accounts-marketplace.live/
online account store accounts market
modafinil pharmacy: verified Modafinil vendors — modafinil pharmacy
modafinil pharmacy: buy modafinil online — safe modafinil purchase
https://zipgenericmd.shop/# affordable ED medication
https://zipgenericmd.com/# generic tadalafil
Cialis without prescription secure checkout ED drugs buy generic Cialis online
generic tadalafil: secure checkout ED drugs — generic tadalafil
cheap Viagra online no doctor visit required cheap Viagra online
legit Viagra online: legit Viagra online — fast Viagra delivery
buy pre-made account https://buy-accounts-shop.pro/
secure checkout Viagra: trusted Viagra suppliers — same-day Viagra shipping
Modafinil for sale: modafinil legality — verified Modafinil vendors
https://modafinilmd.store/# modafinil pharmacy
secure account purchasing platform https://buy-accounts.live
best price Cialis tablets: Cialis without prescription — secure checkout ED drugs
online Cialis pharmacy: order Cialis online no prescription — discreet shipping ED pills
social media account marketplace https://social-accounts-marketplace.live
buy generic Cialis online discreet shipping ED pills discreet shipping ED pills
affordable ED medication: reliable online pharmacy Cialis — cheap Cialis online
http://modafinilmd.store/# modafinil 2025
modafinil legality verified Modafinil vendors safe modafinil purchase
buy modafinil online modafinil pharmacy legal Modafinil purchase
http://maxviagramd.com/# buy generic Viagra online
doctor-reviewed advice: doctor-reviewed advice — legal Modafinil purchase
Modafinil for sale: purchase Modafinil without prescription — purchase Modafinil without prescription
buy modafinil online verified Modafinil vendors modafinil pharmacy
https://maxviagramd.shop/# same-day Viagra shipping
marketplace for ready-made accounts https://accounts-marketplace-best.pro/
продать аккаунт купить аккаунт
where can i get amoxicillin 500 mg: amoxicillin 500mg buy online uk — amoxicillin in india
order generic clomid for sale: where buy clomid pills — can i order cheap clomid without a prescription
PredniHealth: prednisone 50 mg coupon — PredniHealth
how to get generic clomid without a prescription: Clom Health — can i buy clomid without a prescription
buy prednisone no prescription: PredniHealth — prednisone 10mg tablet cost
where buy generic clomid for sale how to get clomid pills clomid no prescription
can you buy generic clomid pills: can i buy clomid — buying clomid for sale
cost of prednisone 10mg tablets: prednisone medication — PredniHealth
where buy generic clomid price: order cheap clomid without dr prescription — can you get generic clomid
amoxicillin without rx amoxicillin 500mg capsules antibiotic amoxicillin price canada
PredniHealth: PredniHealth — PredniHealth
prednisone 30 mg tablet PredniHealth PredniHealth
where to buy prednisone in australia: PredniHealth — prednisone cost canada
buy generic clomid pill: Clom Health — where can i buy clomid for sale
продать аккаунт akkaunt-magazin.online
Amo Health Care: Amo Health Care — Amo Health Care
where to buy amoxicillin 500mg without prescription: how to buy amoxicillin online — Amo Health Care
маркетплейс аккаунтов akkaunty-market.live
PredniHealth: prednisone in uk — prednisone 10mg
Amo Health Care Amo Health Care amoxicillin without a prescription
http://clomhealth.com/# where to buy cheap clomid pill
http://clomhealth.com/# cost cheap clomid no prescription
Amo Health Care: Amo Health Care — buy amoxil
площадка для продажи аккаунтов https://akkaunty-optom.live/
https://prednihealth.com/# PredniHealth
маркетплейс аккаунтов online-akkaunty-magazin.xyz
buy cheap clomid without prescription: cheap clomid without dr prescription — can i buy generic clomid pills
магазин аккаунтов akkaunty-dlya-prodazhi.pro
prednisone 20 mg tablet price: PredniHealth — PredniHealth
купить аккаунт https://kupit-akkaunt.online/
cialis as generic: cialis 20mg — cialis indications
https://tadalaccess.com/# buy cialis canada paypal
generic cialis available in canada: Tadal Access — cialis tablet
https://tadalaccess.com/# when does cialis go off patent
order cialis online cheap generic: TadalAccess — cialis w/dapoxetine
https://tadalaccess.com/# how long does cialis stay in your system
cialis 40 mg reviews: cialis buy online — tadalafil medication
vidalista 20 tadalafil tablets cialis with dapoxetine 60mg cialis and cocaine
https://tadalaccess.com/# tadalafil 5mg generic from us
india pharmacy cialis: TadalAccess — can i take two 5mg cialis at once
https://tadalaccess.com/# cialis generic cvs
tadalafil best price 20 mg: tadalafil (megalis-macleods) reviews — tadalafil (tadalis-ajanta) reviews
cialis tadalafil cheapest online cialis overdose sildalis sildenafil tadalafil
buy facebook account https://buy-adsaccounts.work
https://tadalaccess.com/# prescription free cialis
facebook accounts to buy https://buy-ad-accounts.click
cialis 2.5 mg: buying cialis in canada — cialis high blood pressure
https://tadalaccess.com/# sildenafil vs tadalafil vs vardenafil
when does cialis patent expire buy cialis no prescription australia cialis with out a prescription
buying cialis generic Tadal Access how long does cialis take to work
cialis soft tabs best price on generic tadalafil cialis 100 mg usa
buy accounts facebook https://buy-ads-account.work/
https://tadalaccess.com/# cialis insurance coverage
cialis for bph: Tadal Access — cialis effectiveness
buying cialis without prescription order generic cialis online 20 mg 20 pills cialis overnight shipping
cialis 20 mg how long does it take to work: sildenafil vs cialis — buy cialis united states
https://tadalaccess.com/# tadalafil tablets side effects
best price for cialis cialis manufacturer coupon cialis purchase canada
buying cialis in mexico: TadalAccess — order cialis online
buy old facebook account for ads https://buy-ad-account.click
https://tadalaccess.com/# cialis online pharmacy
when to take cialis for best results cialis india cialis ontario no prescription
trusted online store to buy cialis generic tadalafil prices cheap cialis pills
https://tadalaccess.com/# cialis manufacturer coupon lilly
buy cialis online overnight shipping Tadal Access cialis online without a prescription
buy fb ad account facebook ads account buy
buy google ads verified account https://buy-ads-account.top
buy google ads agency account https://buy-ads-accounts.click
compounded tadalafil troche life span: Tadal Access — cialis from canada
how much does cialis cost with insurance: Tadal Access — cialis tadalafil 20 mg
buy facebook account https://buy-accounts.click
buy verified google ads accounts buy account google ads
buy google adwords accounts https://ads-account-buy.work
cialis as generic cialis 5mg best price canada cialis generic
letairis and tadalafil: letairis and tadalafil — cialis not working first time
cialis as generic generic cialis tadalafil 20mg reviews tadalafil pulmonary hypertension
cialis canada pharmacy no prescription required: TadalAccess — tadalafil generic cialis 20mg
free samples of cialis: cheap cialis 20mg — safest and most reliable pharmacy to buy cialis
cialis recommended dosage: Tadal Access — what cialis
buy verified google ads accounts buy google ads account
free samples of cialis Tadal Access cialis 20 mg from united kingdom
cialis from india online pharmacy: Tadal Access — sunrise pharmaceutical tadalafil
cialis 5mg 10mg no prescription: TadalAccess — buy cialis online in austalia
cialis tadalafil online paypal: Tadal Access — pastillas cialis
cialis generic best price that accepts mastercard tadalafil cost cvs best price on cialis 20mg
https://tadalaccess.com/# generic cialis online pharmacy
when will cialis be generic: Tadal Access — cialis for prostate
generic cialis available in canada: Tadal Access — buy cialis canadian
sell google ads account https://sell-ads-account.click
Рюхин поднял голову и увидел, что он давно уже в Москве и, более того, что над Москвой рассвет, что облако подсвечено золотом, что грузовик его стоит, застрявши в колонне других машин у поворота на бульвар, и что близехонько от него стоит на постаменте металлический человек, чуть наклонив голову, и безразлично смотрит на бульвар. бюро переводов метро – Дома можно поужинать.
buy google agency account https://ads-agency-account-buy.click/
Первый из них – приблизительно сорокалетний, одетый в серенькую летнюю пару, – был маленького роста, темноволос, упитан, лыс, свою приличную шляпу пирожком нес в руке, а аккуратно выбритое лицо его украшали сверхъестественных размеров очки в черной роговой оправе. сделать перевод паспорта в москве – Ты угрожаешь мне после вынесенного приговора, утвержденного тобою самим? Может ли это быть? Мы привыкли к тому, что римский прокуратор выбирает слова, прежде чем что-нибудь сказать.
– Слишком много ты жаловался кесарю на меня, и настал теперь мой час, Каифа! Теперь полетит весть от меня, да не наместнику в Антиохию и не в Рим, а прямо на Капрею, самому императору, весть о том, как вы заведомых мятежников в Ершалаиме прячете от смерти. как продвинуть сайт в поисковике самостоятельно Но сейчас ему было не до того, а кроме того, как ни мало был наблюдателен Рюхин, – теперь, после пытки в грузовике, он впервые остро вгляделся в лицо пирата и понял, что тот хоть и задает вопросы о Бездомном и даже восклицает «ай-яй-яй!», но, по сути дела, совершенно равнодушен к судьбе Бездомного и ничуть его не жалеет.
find tadalafil cialis coupon online cialis for daily use
– Зачем же ты, бродяга, на базаре смущал народ, рассказывая про истину, о которой ты не имеешь представления? Что такое истина? И тут прокуратор подумал: «О боги мои! Я спрашиваю его о чем-то ненужном на суде… Мой ум не служит мне больше…» И опять померещилась ему чаша с темною жидкостью. wordpress уроки по созданию сайтов Напившись, литераторы немедленно начали икать, расплатились и уселись на скамейке лицом к пруду и спиной к Бронной.
safest and most reliable pharmacy to buy cialis: cialis 5mg side effects — cialis free trial canada
buy google ads agency account https://buy-verified-ads-account.work
Прокуратор тихо сказал человеку несколько слов, после чего тот удалился, а Пилат через колоннаду прошел в сад. создание сайта на wordpress torrent Степа сел на кровать и сколько мог вытаращил налитые кровью глаза на неизвестного.
verified bm https://buy-bm-account.org
cialis mechanism of action: TadalAccess — cialis 5 mg price
https://tadalaccess.com/# canadian no prescription pharmacy cialis
best reviewed tadalafil site TadalAccess walmart cialis price
Весь нижний этаж теткиного дома был занят рестораном, и каким рестораном! По справедливости он считался самым лучшим в Москве. бюро переводов восстания с нотариальным заверением Незнакомец немедленно вытащил из кармана портсигар и предложил его Бездомному: – «Наша марка».
buy facebook verified business manager https://buy-verified-business-manager-account.org/
Секретарь поднял свиток, решил пока что ничего не записывать и ничему не удивляться. нотариальные конторы и бюро переводов Один из конвойных легионеров стукнул копьем, передал его другому, подошел и снял веревки с арестанта.
Прокуратору захотелось подняться, подставить висок под струю и так замереть. нотариальный перевод документов бутово – Прошу и меня извинить, – ответил иностранец, – но это так.
facebook business manager account buy https://buy-business-manager-acc.org
Он поместился в кабинете покойного наверху, и тут же прокатился слух, что он и будет замещать Берлиоза. перевод нотариальных документов образцы Имя!» И, раскатив букву «р» над молчащим городом, он прокричал: – Вар-равван! Тут ему показалось, что солнце, зазвенев, лопнуло над ним и залило ему огнем уши.
Я – единственный в мире специалист. перевод паспорта с грузинского на русский нотариальным заверением Быть может, ей пришла мысль вить там гнездо.
maxim peptide tadalafil citrate cialis online no prescription cialis contraindications
cialis las vegas: Tadal Access — ambrisentan and tadalafil combination brands
Поэт не глядел уже по сторонам, а, уставившись в грязный трясущийся пол, стал что-то бормотать, ныть, глодая самого себя. цены на перевод паспорта с нотариальным заверением На маленькой головке жокейский картузик, клетчатый кургузый воздушный же пиджачок… Гражданин ростом в сажень, но в плечах узок, худ неимоверно, и физиономия, прошу заметить, глумливая.
Слово «что» он произнес дискантом, «вам» – басом, а «угодно» у него совсем не вышло. займы онлайн джет мани – Не уговаривай меня, Фока! – Я не уговариваю тебя, Амвросий, – пищал Фока.
online tadalafil generic cialis from india is tadalafil available at cvs
– подумал Бездомный в изумлении. реквизиты джет мани микрофинанс Прокуратор понял, что там, на площади, уже собралась несметная толпа взволнованных последними беспорядками жителей Ершалаима, что эта толпа в нетерпении ожидает вынесения приговора и что в ней кричат беспокойные продавцы воды.
cialis savings card: best reviewed tadalafil site — tadalafil citrate
facebook bm account buy https://business-manager-for-sale.org
– Так помолись ему! Покрепче помолись! Впрочем… – тут голос Пилата сел, – это не поможет. воздушный фильтр bmw e60 замена Темная ли кровь прилила к шее и лицу или случилось что-либо другое, но только кожа его утратила желтизну, побурела, а глаза как будто провалились.
buy facebook business account buy-business-manager-verified.org
cialis usa: TadalAccess — cialis patent expiration date
«Немец», – подумал Берлиоз. фильтр воздушный geely fc С тех пор как добрые люди изуродовали его, он стал жесток и черств.
https://tadalaccess.com/# cialis 5 mg for sale
cialis 20 mg duration: TadalAccess — where to buy liquid cialis
Иван Николаевич покосился недоверчиво, но все же пробурчал: – Слава те Господи! Нашелся наконец один нормальный среди идиотов, из которых первый – балбес и бездарность Сашка! – Кто этот Сашка-бездарность? – осведомился врач. «Что, что, что, что?!!» – «Берлиоз!!!» И пошли вскакивать, пошли вскрикивать… Да, взметнулась волна горя при страшном известии о Михаиле Александровиче.
А ну, давайте вместе! Разом! – и тут регент разинул пасть. 7 pay ps – Это можно выразить короче, одним словом – бродяга, – сказал прокуратор и спросил: – Родные есть? – Нет никого.
https://tadalaccess.com/# tadalafil 5 mg tablet
buy facebook business account buy business manager account
– Гражданин, – опять встрял мерзкий регент, – вы что же это волнуете интуриста? За это с вас строжайше взыщется! – А подозрительный профессор сделал надменное лицо, повернулся и пошел от Ивана прочь. kredito24 займ отзывы – Ну что с тобой сделать за это? – спросил флибустьер.
brand cialis australia: buy generic tadalafil online cheap — buying generic cialis online safe
cialis pills online: TadalAccess — cialis dosage for ed
В самом деле, не пропадать же куриным котлетам де-воляй? Чем мы поможем Михаилу Александровичу? Тем, что голодные останемся? Да ведь мы-то живы! Натурально, рояль закрыли на ключ, джаз разошелся, несколько журналистов уехали в свои редакции писать некрологи. как заказать москитные сетки пластиковых окон Как тебя зовут? Мне ты можешь сказать истинное имя, не таясь.
cialis 20 mg price walmart: cialis tadalafil online paypal — cialis from canada to usa
Тело привычно встрепенулось, взбодрилось, словно окунулся в ледяную прозрачность Белого Июса. сетки москитные на пластиковые окна купить в рязани Носовая часть корабля стояла на песке, и прилив не достал до неё.
cialis pharmacy: TadalAccess — buy cialis online overnight delivery
На суд и с просьбою. полотно москитная сетка антипыльца купить Леший потянул за рукав.
tiktok ads account for sale https://tiktok-ads-account-for-sale.org
buy tiktok ads https://tiktok-agency-account-for-sale.org
buy tiktok ads accounts https://buy-tiktok-ad-account.org
cialis super active vs regular cialis when will generic cialis be available cialis from canada to usa
Он пригласил меня к себе в дом в Нижнем Городе и угостил… — Добрый человек? — спросил Пилат, и дьявольский огонь сверкнул в его глазах. заказать москитную сетку для пластиковых окон Что?.
cialis wikipedia Tadal Access cialis 800 black canada
Девчонки тоже пришли, ждали у входа. окна пластиковые замена уплотнителя — Говорит Азазелло, — сказали в трубке.
Варенуха немедленно соединился с интуристским бюро и, к полному удивлению Римского, сообщил, что Воланд остановился в квартире Лиходеева. москитная сетка на пластиковые окна размеры ячейки Пришлось вместо них напялить белые, расшитые золотой нитью балахоны, сверху накинуть пурпурные гиматионы.
buy tiktok business account https://buy-tiktok-ads-accounts.org
order generic cialis online: TadalAccess — cialis canada pharmacy no prescription required
tiktok ad accounts https://tiktok-ads-agency-account.org
cialis lower blood pressure: Tadal Access — cialis overnight shipping
cialis for daily use cost: brand cialis — cialis bathtub
buy tiktok ads account https://buy-tiktok-business-account.org
tiktok ad accounts https://buy-tiktok-ads.org
cialis manufacturer coupon lilly: Tadal Access — non prescription cialis
cialis prostate: TadalAccess — cheapest cialis online
tadalafil soft tabs Tadal Access cialis generic
Быстро натянул портки. Мы с Боруном хотели закрутить воронку на железной горе – Мер помешал. Третья лаконически сообщает, что особых примет у человека не было.
Славка отказался от предложения, пробежался до озерка. Здравствуй, на многие лета, – стиснул руку Ждан, но тотчас переключился на Славку. Оно словно подрагивало от нетерпения, как мотор мощной машины.
Немного погодя приказал: – Смотрите на пламя, должно мигать, исчезать и появляться. — Почему же вы сердитесь? Разве я сказал вам что-нибудь неприятное? — Мне двадцать три года, — возбужденно заговорил Иван, — и я подам жалобу на вас всех. Тьфу ты! Что в туфлях! Да ведь дамочка-то голая! Ну да, ряса накинута прямо на голое тело! «Ай да квартирка!» В душе у Аннушки все пело от предвкушения того, что она будет завтра рассказывать соседям.
Тотчас одна их послушниц отметила место касания краской, взятой из глазурованного кувшинчика. Поужинаем, граф. Так и сказали: «мы верим, что дети были в далёком прошлом!» «Смешные люди.
Призрак должен был заклубиться и рассеяться, но вместо этого взвизгнул и закричал: – Быстров! С ума сошёл? Больно же! Друзья опешили. Вы так непогрешительно правильно устроили вашу жизнь, что в ней не может быть места ни скуке, ни тоске… никаким тяжелым чувствам. – Ты меня научишь? – С завистью попросил Славка.
Сейчас, высыхая, они светлели. – Не хочу никого видеть, – сам себе сказал Славка, и камень поддержал его негромким гулом. Улыбающееся лицо Анисьи Федоровны явилось опять в дверях, и из-за ней еще другие лица.
Пошли, Тим. Когда Славка вырастет – куда сильнее и точнее будет! Скачки и вообще не понравились. Милана воспользовась случаем, забрала книгу.
Это было в сумерки, в половине октября. – Тьфу, тьфу, тьфу, чтоб не сглазить! Шторм налетел на Соловецкие острова позже, когда Славка и Русана уже довели до головной боли полковника криминальной милиции: – Не надо врать! Скажите, кто вас украл и как привёз туда, на остров? Откуда такой нож? Почему странно одеты? Русана плакала, Славка злился. — Не желаешь ли смородинной воды, Енюшечка? — спросила Арина Власьевна.
Вокруг никого. Камень поделился теплом, оставшимся от дня. Были случаи.
get antibiotics without seeing a doctor buy antibiotics online uk over the counter antibiotics
http://eropharmfast.com/# where to get ed pills
Pharm Au 24 Discount pharmacy Australia Discount pharmacy Australia
buy antibiotics: buy antibiotics online uk — cheapest antibiotics
Discount pharmacy Australia: online pharmacy australia — Pharm Au 24
over the counter antibiotics: buy antibiotics online uk — antibiotic without presription
online ed medication: low cost ed meds online — Ero Pharm Fast
https://eropharmfast.shop/# buy ed meds online
Ero Pharm Fast: Ero Pharm Fast — ed medicines online
Pharm Au24: Discount pharmacy Australia — Buy medicine online Australia
Licensed online pharmacy AU: online pharmacy australia — Licensed online pharmacy AU
Discount pharmacy Australia Online drugstore Australia pharmacy online australia
Ero Pharm Fast: Ero Pharm Fast — affordable ed medication
over the counter antibiotics: buy antibiotics online — Over the counter antibiotics for infection
where can i buy erectile dysfunction pills: Ero Pharm Fast — erection pills online
Но служба уже искала его в Нижнем Городе и, несомненно, нашла бы. Нотариальные Переводы Документов Тюмень Ураган бушевал снаружи.
Растирая опухшее место, Славка на всякий случай поддержал одноклассницу: – Точно. Сайт Знакомств Для Секса Одноклассники Задний дворик храма, отгороженный от посторонних взоров зеленой изгородью и кустами лавра, встретил прохладным ветерком.
Гектор остановил седовласого выставленной вперед ладонью: – Стоп. Секс Знакомства Кургана И я не забуду тебя, ежели ты заслужишь.
Не надо задаваться большими планами, дорогой сосед, право! Я вот, например, хотел объехать весь земной шар. Сайт Знакомств Для Секса Без Регистрации Тула Милана смыла налипшую грязь, вода улетела, сменившись новой порцией.
Кольцо невидимых «певцов» замкнулось и стало сжиматься. Нотариальный Перевод Документов С Армянского Языка — Думайте что хотите, но мне будет скучно, когда вы уедете.