October 9th, 2012

(no subject)

Приснилось, что я архангел Гавриил. По каким-то своим делам на Землю спустился и так получилось, что наткнулся на Цорионова. И он меня учил, как правильно в бога верить...

Шедевр шедевром не испортишь

В Лондоне полиция задержала мужчину, подозреваемого в порче картины американского художника-абстракциониста Марка Ротко.

Подробности о задержанном в понедельник мужчине не приводятся. Официально сообщается только, что ему 26 лет. По сведениям ряда источников, в акте вандализма подозревается россиянин Владимир Уманец. Он якобы хотел привлечь внимание общественности к своему арт-движению, которое называется «желтизна», сообщает Радио Свобода.

В углу испорченной в воскресенье картины Марка Ротко, в галерее современного искусства Tate Modern, появились два написанных черным слова – «Владимир» и «желтизна».


Вот как-то так выглядела "картина" до акта "вандализма":
http://artinvestment.ru/content/download/news/20080506_1Rotko.jpg

"Как-то так" потому, что все шедевры Марка Ротко выглядят потрясающе однообразно - однотонная размазня на однотонном же фоне.

Имхо, появление на этом полотне хоть каких-то осмысленных символов должно только увеличить стоимость, а не наоборот!

P.S. А скандал в том, что в галерее современного искусства Tate Modern этот шедевр несколько лет висел вверх ногами и никто этого не заметил!

Орешек знаний твёрд в неожиданных местах

Возился с платкой на AT90CAN128. Чип уже исследован вдоль и поперёк, казалось бы, никаких сюрпризов. Библиотека для CAN отлажена уже давно и с тех пор не нареканий уже, наверное, год. Пока не нашлось странное...

Дело в том, что этот хитрый интерфейс устроен совсем не так, как привычные для микроконтроллерщиков UART, SPI, I2C и т.п. - он пересылает не байты, а сразу блоки байтов, причём поддержка протокола возложена на аппаратный контроллер. По слухам, существуют и софтварные реализации, но я их никогда не видел и мне они не интересны.

Так вот, приём-передача данных организованы, с одной стороны, непривычно... с другой стороны, довольно изящно и просто. Аналогия такая: если для того, чтобы UART начал передавать байт, ему надо оный байт положить в регистр передатчика, то для CAN надо положить сразу целый кадр в т.н. "почтовый ящик" (mailbox). Это набор регистров, полностью описывающих содержимое кадра - сколько байт, кому, что именно передать. Или всё то же самое, но только для принятого кадра.

Это всё преамбула.. Амбула в том, что AT90CAN128 имеет ровно 15 мейлбоксов. Почему не 16 - не знаю. И я однажды решил, что библиотека будет использовать 8 нижних для приёма, а 7 верхних для передачи данных. И функция, заполняющая регистры, учитывает это: внутренняя переменная, хранящая номер следующего мейлбокса, бегает по кругу - от 7 до 14. Т.е. положили кадр в ящик нумер 7, передвинули переменную на 8. Потом кладём в 8, сдвигаемся до 9.... Дошли до 14 - перещёлкиваем на 7. Ну и так далее. Всё прекрасно работало до сегодняшнего дня.

Я натолкнулся на экземпляр AT90CAN128, в котором мейлбокс 14 не работает вообще. Кладём данные - и всё, модуль CAN перестаёт работать совсем. Яфшоке.

Буду перепаивать, хуле. Но осадочек неприятный остался.