SCratORS

SCratORS

https://t.me/scrators
Пикабушник
9809 рейтинг 201 подписчик 9 подписок 36 постов 10 в горячем
Награды:
За неравнодушие к судьбе Пикабу За семейные ценности С Днем рождения, Пикабу!5 лет на Пикабу

USBtiny ISP

Хочу оставить эту маленькую заметку, вероятно она кому-нибудь, когда-нибудь поможет.
Значит приобрёл я на всем известном китайском сайте USBtiny ISP программатор, вот такой вот:

USBtiny ISP Isp, Avr, Arduino, Attiny

Подключаю к компу, он определился, дрова adafruit находятся в гугле. Всё вроде ок, но при попытке прошить ардуину, дудка пишет - "Присоединенное к системе устройство не работает". При этом, дрова стоят, система сидит, ошибок в диспетчере устройств нету, сам этот свисток без проблем читается и шъется другим ISP программатором. Ответ нашёл в отзывах к этому девайсу, спасибо тому покупателю.
Оказывается, китайцы их присылают с стоящей перемычкой (капля припоя) на контакте SJFAB. Обратите внимание, что на картинке нет перемычки, а на девайсе она действительно стоит. Берем паяло, убираем перемычку и всё начинает работать как надо. Для чего и зачем так сделано не знаю.

Показать полностью 1

Цветочик на даче

Цветочик на даче Начинающий фотограф, Цветы, Лето, Дача

Тушка Nikon D5000, Объектив ТАИР 3С 300mm, 4.5, 1/600

МФЦ выбрал за меня участок для голосования[UPD: Проблема решена]

Решил я зайти сегодня в свой личный кабинет в мобильном приложении ГосУслуг и с удивлением обнаружил, что Я в понедельник во время рабочего дня сходил и подал заявление в МФЦ о выборе участа для голосования. И ладно бы этот участок был моим обычным по месту жительства. Дак нет, учаток немного в другом конце города! Складывается ощущение, что это было сделано специально, что бы я не пошёл на голосование о поправках. Ну ладно, я не гордый, из принципа схожу и проголосую против там. Уроды.
Для справки: работаю на заводе, рабочий день с 8 до 17, и выйти за пределы пропускного пункта (даже в соседнее крыло в отдел кадров например) - гемморой.

МФЦ выбрал за меня участок для голосования[UPD: Проблема решена] Голосование, Госуслуги, Поправки, Конституция, Длиннопост

Не хочу ничего утверждать, но дорогие друзья, проверте свои личные кабинеты, что бы не было удивления в день голосования "против".

Показать полностью 1

Разработка живых обоев для Android

Разработка живых обоев для Android Приложение на Android, Android разработка, Видео, Длиннопост

Всех приветствую. Решился я наконец рассказть о своём маленьком проектике.

Все началось примерно в 2014 году, когда я приобрел себе HTC one X. Этот аппарат был идеальным для меня, и начиная с того момента я стал фанатом HTC. В этом аппарате были интересные живые обои в силе слайд-шоу, всё в них было хорошо, но были некоторые ньюансы, например нельзя запускать смену изображения ручками, например через двойной тап по экрану, а этого очень хотелось. Картинки перемещались не только в одну (рандомную) сторону - к примеру.


И вот захотелось мне найти замену, которая меня бы удовлетворяла больше. Перелопачивая всё, что было на плей-мараркете найти что-то стоящее не удавалось. То работает рывками, то весит дофига, то свайпов нет, то растягивает изображение. Нашлось только ОДНО приложение платное, которое более-менее выполняло то, что мне хотелось, но тут сыграл роль мой перфекционизм, который никак не давай покоя: Зачем делать экраны настроек, интерфейс приложения каким-то цветастым-пердястым, почему вообще приложение платное, ведь ничего сверх естественного оно не делает. И так было много мелких причин, которые вылились в "не нравится? - сделай сам!". Ок, попробуем.


Для себя я поставил несколько целей:

1. Минимализм в весе приложения, - ибо почему приложение весит >10Мб? Чего там такого?

2. Максимально простой интерфейс, максимально стандартный, без всяких свистелок перделок.

3. Обязательно использовать OpenGL 2.0 (ну и выше соответственно)! Только так можно добиться максимальной плавности и производительности.

4. Картинки прокручиваются влево-вправо и свайпом.

5. Двойной тап по экрану меняет изображение.


В процессе разработки удалось добиться всего что хотелось и даже больше:

1. Вес приложения 117кб... из них 70кб весит дефолтная картинка!

- - - Вот почему другие приложения весят в десятки раз больше - так и осталось загадкой.

2. Приложению ВООБЩЕ не нужны разрешения!

- - - Сравните с другими подобными, где и доступ в интернет и чуть ли доспу к СМС не запрашивают.

3. Можно выбрать как каталог из которого будут браться файлы, так и отдельно выбрать файл/файлы.

4. Удалось заставить воспроизводить видео-файлы!

- - - Сравнивая с аналогами которые в качестве обоев рабочего стола могут ставить видео-файлы, они либо платные, либо растягивают видео, ни у одного не видел возможность свайпа. А некоторые вообще сжирают оперативку и зависают. В целом вообще печаль.

И при этом откуда у них столько скачиваний? Ума не приложу.


Приложение сделал бесплатное, без реклам, без всякой чепухи. И бонусом открытый исходный код.

GooglePlay: https://play.google.com/store/apps/details?id=com.scrat.imag...

Исходный код: https://github.com/SCratORS/ImageWallpaperSC


Надеюсь кому-нибудь пригодится и будет полезным.

Буду рад коментариям, отзывам, предложениям.

Показать полностью 1

Машина времени

Машина времени "гугл карты"

Машина времени Google Maps, Панорама, Вологда, Машина времени, Прошлое

Пройдем чуть дальше по дороге, дальше в прошлое

Машина времени Google Maps, Панорама, Вологда, Машина времени, Прошлое

Красота! Ни дома ни дороги.

Показать полностью 1

Windows

Windows

Сон

Белая черёмуха, яблони в цвету,
С белыми ромашками я к тебе иду.
Ты навстречу в платьице в беленький горох,
Прежняя девчонка из далёких снов.
Мы любовь когда-то не смогли сберечь.
Угасали чувства, как огарки свеч.
Думал я, что счастье лучше где-то есть,
Но найти другое, как пуд соли съесть.
Жизнь судьбой вертела, и неслись года.
Только в моём сердце ты была всегда.
Одиноким волком рыскал я, не жил.
О тебе мечтая, не любя, грешил.
В чудеса поверю, в магию примет:
К нам весна вернулась через столько лет!
Две судьбы- тропинки снова нас свели.
И белей ромашки в поле зацвели.
Под ветвями яблони, в аромате грёз
Глажу с прежним трепетом прядь твоих волос.
Боже, как же сильно я тебя люблю!
Щемит сердце болью: я ведь просто сплю!

от автора:
Что б душа не ныла по утрам от снов,
Берегите чувства, счастье и любовь!

Елена К.

С наступающим праздником, влюблённые!!!

P.S. Стих написала моя мама.
Вообще мама пишет в последнее время много стихов, и готовится 2 книги в продакшн.

Показать полностью

Замена analogWrite на Arduino Nano. Массивы функций.

Доброго времени суток!

Да, может уже надоело по ШИМ, но я хочу закончить этот ШИМ для себя и оставить немного полезностей.

В первой части программного ШИМа, уважаемый @Begemot911 подкинул одну занимательную статейку (если интересно - ссылку найдете там же), а именно про то, что analogWrite довольно медленный в силу своей универсальности, и для того что бы его ускорить, нужно просто ручками вписать в нужный таймер в нужный регистр сравнения значение скважности (в таймер, или подключить вывод нужного таймера, - не знаю как это правильно сказать). Да, это действительно ускоряет результат, но нужно знать какой таймер, какой регистр, какой бит порта, и пока analogWrite все это определит и получается задержка.


Так же в статейке написано как "подключить таймер", и как "записать значение в регистр", по сути это просто скопировано из исходника.

Я тут же решил проверить, как это работает в реалиях,.. и да... это работает, если все нужные данные известны. И вот мне пришла в голову мысль, - а если написать заранее все функции записи в каждый таймер/регистр, и запилить их указатели в один массив. Казалось бы затея простая, но гугл сказал - "давай ты сам", возможно, я гуглить разучился.


Спустя полчаса-час мучений и баданий с Arduino IDE, его компилятор сказал, что он понял чего я хочу, и скомпилировал код.


Что получилось на практике - Если записать сначала скважность хотя бы 1, то потом, записав 0 - на выходе все-равно есть сигнал.  Вообщем перед записью значений 0 и 255 надо бы еще и ШИМ выключить (в статейке про это сказано, что типа нефиг писать 0 и 255) - да, логично, но я чот подумал что если в порт на этот пин записать 0 или 1, то ШИМ сам отключится - *индейская народная изба*. Ладно, берем все необходимое, и пишем код:

Замена analogWrite на Arduino Nano. Массивы функций. Arduino Nano V3, Программирование, Шим, Массив функций, Длиннопост

Взять код можно на github.com


Как работает котэ:

Дефайны - просто определяют cbi и sbi, ничего интересно, все это знают.

Есть 6 функций, каждая и которых отвечает за свой пин (3, 5, 6, 9, 10, 11), по порядку. Алгоритм функции таков: сначала порт переводится в режим OUTPUT, затем, если задаваемое значение скважности 0 или 255, то отключается режим ШИМ, и в порт пина записывается 0 или 1, иначе, включается ШИМ на нужное значение скважности. В общем и целом, вся логика сделана такая же как и у analogWrite, только без всех проверок и прочих определений, все только по факту.

Далее определяем массив из указателей на эти функции. Делается это так:


void ( * название_массива_функции[])(типы_условных_параметров) = {&название_функции_1, &название_функции_2 ... и т.д.}


Как я понял, можно использовать функции с разными параметрами, но тут я не нашёл ответа как, понял только, что если будет функция без параметров в массиве функций с параметрами, то ничего страшного, а вот если разное количество параметров, разного типа - то ответа я не нашёл.


Конечно же, если у вас не Nano, а что-то более жирное, то можно добавить свои функции


И получаем вот  такую удобную конструкцию.

Например надо на все пины ШИМ, подать какие-либо значения скважности


Определяем значения скважности в массив

byte valueMass[]={v1 ,v2, v3, v4, v5, v6};


и банальным FORэм передаем все значения в функции

for(byte i=0;i<6;i++) analogFastWrite[i](valueMass[i]);


Вот и всё!


Я думаю что существует способ обойтись без FOR и передать значения как-то напрямик, но я пока не нашёл как. Если кто знает, напишите в комментариях, очень требуется.

Наверняка кому-нибудь пригодится, если не вариация замены analogWrite, то пример как сделать массив из указателей на функции в Arduino IDE.

Показать полностью 1
Отличная работа, все прочитано!