<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4266681037801325113</id><updated>2026-10-10T21:24:28.952+03:00</updated><category term="Gentoo"/><category term="shell"/><category term="AVR"/><category term="spamassassin"/><category term="CUPS"/><category term="радиодетали"/><category term="справочник"/><category term="1C"/><category term="AVR GCC"/><category term="Asterisk"/><category term="IMAP"/><category term="Linux"/><category term="Microsoft"/><category term="MySQL"/><category term="NTP"/><category term="PHP"/><category term="Perl"/><category term="RAID"/><category term="SMD"/><category term="Ubuntu"/><category term="Windows"/><category term="XBMC"/><category term="hplip"/><category term="АТС"/><category term="За жизнь"/><category term="рунет"/><category term="ASUS"/><category term="ATMEga"/><category term="ATtiny2313"/><category term="AVR Studio 6"/><category term="AdWords"/><category term="Android 4.0 ICS"/><category term="Beeline"/><category term="DCC"/><category term="DDoS"/><category term="Excell"/><category term="FreePBX"/><category term="GRUB"/><category term="Galaxy Tab 10.1"/><category term="Gnome"/><category term="Google"/><category term="Google Safe Browsing"/><category term="I2C"/><category term="ICANN"/><category term="IDN"/><category term="ILI9341"/><category term="IMAPSync"/><category term="IR"/><category term="KX-HDV"/><category term="LDAP"/><category term="MTA"/><category term="Mail"/><category term="Office"/><category term="PBX"/><category term="PCF8563"/><category term="Panasonic"/><category term="Panasonic KX-TDA"/><category term="RTC"/><category term="Razor"/><category term="SQL"/><category term="SSH"/><category term="USBTiny"/><category term="VBA"/><category term="Windows 7"/><category term="WindowsUpdate"/><category term="Yandex"/><category term="error"/><category term="example"/><category term="exim"/><category term="gpg"/><category term="hald"/><category term="irda"/><category term="lirc"/><category term="mc"/><category term="pdf"/><category term="python"/><category term="samba"/><category term="tiff"/><category term="Готовые устройства"/><category term="Новости"/><category term="Программатор"/><category term="индикатор раскладки"/><category term="маркировка"/><category term="музыка"/><category term="хабрахабр"/><title type='text'>Внешняя память админа</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>48</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-3006615911823725914</id><published>2018-04-04T12:04:00.001+03:00</published><updated>2018-04-04T12:04:46.805+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asterisk"/><category scheme="http://www.blogger.com/atom/ns#" term="Beeline"/><category scheme="http://www.blogger.com/atom/ns#" term="FreePBX"/><title type='text'>Настройка SIP транка Beeline</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;tr_bq&quot;&gt;
Кратенько укажем настройки для FreePbx 13.&lt;/div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Итак, идем в интерфейс FreePBX, там - &quot;Подключения&quot; -&amp;gt; &quot;Транки&quot; -&amp;gt; &quot;Добавить SIP(chan_sip) транк&quot;. На вкладке &quot;Общие&quot; указываем имя транка и назначаем его Caller ID(чтобы не путаться, я указываю номер телефона), остальное можно не менять.&lt;br /&gt;
Переходим на вкладку &quot;sip Общие настройки&quot;. Тут на вкладке &quot;Исходящий&quot; указываем название транка(латиницей/цыфрами), в опции для Peer указываем следующее:&lt;br /&gt;
&lt;blockquote&gt;
host=sip.beeline.ru&lt;br /&gt;username=7499XXXXXXX&lt;br /&gt;secret=password&lt;br /&gt;type=friend&lt;br /&gt;outboundproxy=msk.sip.beeline.ru&lt;br /&gt;insecure=port,invite&lt;br /&gt;fromuser=7499XXXXXXX&lt;br /&gt;fromdomain=sip.beeline.ru&lt;br /&gt;dtmfmode=rfc2833&lt;br /&gt;disallow=all&lt;br /&gt;directmedia=no&lt;br /&gt;defaultuser=7499XXXXXXX&lt;br /&gt;context=from-trunk&lt;br /&gt;allow=alaw&amp;amp;ulaw&lt;/blockquote&gt;
&lt;div&gt;
где 7499ХХХХХХХ - Ваш номер телефона&lt;/div&gt;
&lt;div&gt;
Переходим на вкладку &quot;Входящий&quot;, в поле &quot;контекст USER&quot; указываем номер телефона, &quot;опции USER&quot; оставляем пустыми.&lt;/div&gt;
&lt;div&gt;
Самое главное - &quot;Строка авторизации&quot;:&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
7499ХХХХХХХ@sip.beeline.ru:&lt;b&gt;password&lt;/b&gt;:7499XXXXXXX@sip.beeline.ru@sip.beeline.ru:5060/7499XXXXXXX&lt;/blockquote&gt;
Жмем &quot;Сохранить&quot;, далее &quot;Применить изменения&quot;. Смотрим &quot;Панель состояния&quot;, на виджете &quot;Статистика FreePBX&quot; должен появиться новый транк.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;&lt;/blockquote&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/3006615911823725914/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2018/04/sip-beeline.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3006615911823725914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3006615911823725914'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2018/04/sip-beeline.html' title='Настройка SIP транка Beeline'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-8623446122242054556</id><published>2018-03-29T15:10:00.002+03:00</published><updated>2018-03-30T10:29:32.537+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asterisk"/><category scheme="http://www.blogger.com/atom/ns#" term="KX-HDV"/><category scheme="http://www.blogger.com/atom/ns#" term="Panasonic"/><category scheme="http://www.blogger.com/atom/ns#" term="АТС"/><title type='text'>Использование Provisionig при настройке Panasonic KX-HDV100</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Пришло время новых историй!&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYda1g5c6IE34yiFXsYxWb7p4R-HDJnJCkcyaiNzSBRQWtH4ZDZQtqq_90ddDGcQjwlnQp5jHSBlr5WKX3_Sa2cBiWrvvqGnW1s1HkGYvuEcvyhYIvQT58FpUVAjGq0QkIBJDlnvOcig/s1600/orig.webp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;469&quot; data-original-width=&quot;515&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYda1g5c6IE34yiFXsYxWb7p4R-HDJnJCkcyaiNzSBRQWtH4ZDZQtqq_90ddDGcQjwlnQp5jHSBlr5WKX3_Sa2cBiWrvvqGnW1s1HkGYvuEcvyhYIvQT58FpUVAjGq0QkIBJDlnvOcig/s320/orig.webp&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Занялся, на днях, раскуриванием &quot;Asterisk&quot;, а за одно и всем остальным, что с ним связано. Настройку самой АТС пока отложим в сторону, а вот телефонными аппаратами займемся.&lt;br /&gt;
Как обычно, все манипуляции производятся в Gentoo Linux.&lt;br /&gt;
В принципе, можно их настраивать и в ручную, через Web-интерфейс, но когда их больше штук эдак пяти, это начинает приводить в уныние, потому лезем в &lt;a href=&quot;https://panasonic.net/cns/pcc/support/sipphone/download/HDV1/index.html&quot; target=&quot;_blank&quot;&gt;мануалы&lt;/a&gt;&amp;nbsp;и вдумчиво их изучаем.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Нас интересует &quot;Руководство для администратора&quot; и &quot;XML Application Developer&#39;s Guide&quot;. По результатам выясняем, что для автоматического конфигурирования нам нужно подсунуть аппарату следующие файлы:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Файл предварительной конфигурации - тут прописаны пути к остальным файлам конфигурации.&lt;/li&gt;
&lt;li&gt;Файл общей конфигурации для всех аппаратов&lt;/li&gt;
&lt;li&gt;Файл конфигурации конкретного телефона&lt;/li&gt;
&lt;/ul&gt;
Первым, естественно, нужно загружать файл предварительной конфигурации.&lt;br /&gt;
Приступим.&lt;br /&gt;
Первым делом настроим DHCP сервер, для выдачи телефонам адресов и указания им файла конфигурации. Для этого выделим пул адресов выдаваемых оборудованию конкретного производителя, в нашем случае это Panasonic. Примерное содержание файла конфигурации dhcpd.conf:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;default-lease-time 21600;
&lt;/span&gt;&lt;br /&gt;max-lease-time 21600;
&lt;br /&gt;option subnet-mask 255.255.255.0;
&lt;br /&gt;option broadcast-address 192.168.0.255;
&lt;br /&gt;option routers 192.168.0.1;
&lt;br /&gt;option domain-name-servers 192.168.0.1, 192.168.0.2;
&lt;br /&gt;option domain-name &quot;example.com&quot;;
&lt;br /&gt;#option-66 параметр, в котором передаем телефонам путь к файлу предварительной конфигурации&lt;br /&gt;option option-66 code 66 = string;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;shared-network example_network {
&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;subnet 192.168.0.0 netmask 255.255.255.0 {
&lt;br /&gt;
#Класс включающий в себя сетевые устройства производителя &quot;Panasonic&quot;&lt;br /&gt; &amp;nbsp;class &quot;panasonic&quot; {
&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;match if substring (option vendor-class-identifier,0,9) = &quot;Panasonic&quot;;
&lt;br /&gt;
#Путь к файлу предварительной конфигурации&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;option option-66 &quot;192.168.0.3/Panasonic/&quot;;&lt;/span&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt;
&lt;br /&gt;#Пул адресов для устройств производителя &quot;Panasonic&quot;
&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; pool {
&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; allow members of &quot;panasonic&quot;;
&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; range 192.168.0.5 192.168.0.34;
&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} &lt;br /&gt;&amp;nbsp; }&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;
Файл предварительной конфигурации должен лежать на tftp сервере, называться он должен по имени модели телефона, т.е. в нашем случае - &lt;b&gt;KX-HDV100RU.cfg&lt;/b&gt;&amp;nbsp; Соответственно ставим и настраиваем tftp сервер:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
localhost~#emerge -av tftp-hpa&lt;/blockquote&gt;
Открываем&amp;nbsp; файл конфигурации /etc/conf.d/in.tftp. Раскомментируем, или добавляем строку&amp;nbsp;INTFTPD_PATH=&quot;/var/tftp/&quot;. Сохраняем и закрываем файл.&lt;br /&gt;
создаем нужные папки и файл предварительной конфигурации:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
localhost~#mkdir /var/tftp&amp;nbsp;
&lt;br /&gt;
localhost~#mkdir /var/tftp/Panasonic 
&lt;br /&gt;
localhost~#touch /var/tftp/Panasonic/KX-HDV100RU.cfg&lt;/blockquote&gt;
Редактируем файл предварительной конфигурации. Первая строка в нем &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;обязательно&lt;/span&gt;&lt;/b&gt; должна быть -&amp;nbsp;&amp;nbsp;# Panasonic SIP Phone Standard Format File #, в конце файла &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;обязательно&lt;/span&gt;&lt;/b&gt; пустая строка.&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;Содержимое&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;KX-HDV100RU.cfg:&lt;/b&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# Panasonic SIP Phone Standard Format File #
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#Файл конфигурации конкретного телефона ({MAC} - указание телефону подставить в качестве имени файла свой mac-адрес заглавными буквами без пробелов и разделителей)&lt;br /&gt;
CFG_STANDARD_FILE_PATH=&quot;http://192.168.0.3/panasonic/{MAC}.cfg&quot;
&lt;br /&gt;
#Файл общей конфигурации для всех аппаратов
&lt;br /&gt;
CFG_MASTER_FILE_PATH=&quot;http://192.168.0.3/panasonic/kx-hdv-common.cfg&quot;&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
Добавляем tftp в автозагрузку и запускаем его:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
localhost~#rc-update add in.tftpd default
&lt;br /&gt;
localhost~#/etc/init.d/in.tftpd start
&amp;nbsp;&lt;/blockquote&gt;
Создаем папку на web сервере и оставшиеся&amp;nbsp; файлы конфигурации в ней:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
localhost~#mkdir /var/www/localhost/htdocs/panasonic&lt;br /&gt;
localhost~#touch /var/www/localhost/htdocs/panasonic/kx-hdv-common.cfg&lt;br /&gt;
#тут подставить mac настраиваемого аппарата(повторить N раз для N телефонов подставляя их mac-и)&lt;br /&gt;
localhost~#touch /var/www/localhost/htdocs/panasonic/ABBCCD12345F.cfg&lt;br /&gt;
#За одно и адресную книгу создадим&lt;br /&gt;
localhost~#touch /var/www/localhost/htdocs/panasonic/abook.xml&lt;/blockquote&gt;
Редактируем созданные файлы. Повторюсь - первая строка в файле&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;обязательно&lt;/span&gt;&lt;/b&gt;&amp;nbsp;должна быть -&amp;nbsp;&amp;nbsp;# Panasonic SIP Phone Standard Format File #, в конце файла&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;обязательно&lt;/span&gt;&lt;/b&gt;&amp;nbsp;пустая строка.&lt;br /&gt;
&amp;nbsp;kx-hdv-common.cfg:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# Panasonic SIP Phone Standard Format File #
&lt;br /&gt;
&lt;br /&gt;
#Часовой пояс(GMT+3) и NTP сервер&lt;br /&gt;
TIME_ZONE=&quot;180&quot;
&lt;br /&gt;
NTP_ADDR=&quot;192.168.0.1&quot;
&lt;br /&gt;
#Доступные к выбору языки интерфейса телефона&lt;br /&gt;
AVALIABLE_LANGUAGE=&quot;ru,en&quot;
&lt;br /&gt;
AVALIABLE_LANGUAGE_WEB=&quot;ru,en&quot;
&lt;br /&gt;
#Установленный язык интерфейса телефона&lt;br /&gt;
DEFAULT_LANGUAGE=&quot;ru&quot;
&lt;br /&gt;
WEB_LANGUAGE=&quot;ru&quot;
&lt;br /&gt;
#ВКЛ(1)/ВЫКЛ(0) звук клавиш телефона&lt;br /&gt;
KEY_PAD_TONE=&quot;1&quot;
&lt;br /&gt;
#Циклическая загрузка файлов конфигурации в телефон&lt;br /&gt;
CFG_CYCLIC=&quot;Y&quot;
&lt;br /&gt;
#Периодичность загрузки в минутах&lt;br /&gt;
CFG_CYCLIC_INTVL=&quot;10&quot;
&lt;br /&gt;
#Включить постоянный web доступ к телефону(Y/N)&lt;br /&gt;
HTTPD_PORTOPEN_AUTO=&quot;Y&quot;
&lt;br /&gt;
#Настройки HTTP клиента телефона&lt;br /&gt;
HTTP_VER=&quot;1&quot;
&lt;br /&gt;
HTTP_USER_AGENT=&quot;Panasonic_{MODEL}/{fwver} ({mac})&quot;
&lt;br /&gt;
HTTP_SSL_VERIFY=&quot;0&quot;
&lt;br /&gt;
#Включаем XML приложения&lt;br /&gt;
XMLAPP_ENABLE=&quot;Y&quot;
&lt;br /&gt;
#Подключаем адресную книгу&lt;br /&gt;
XML_PHONEBOOK_URL=&quot;http://192.168.0.3/panasonic/abook.xml&quot;
&lt;br /&gt;
#Периодичность синхронизации адресной книги в минутах&lt;br /&gt;
XML_PHONEBOOK_CYCLIC_INTVL=&quot;60&quot;
&lt;br /&gt;
#Настройки перехвата и парковки вызовов в соответствии с настройками Asterisk&lt;br /&gt;
NUM_PLAN_PARKING=&quot;*88&quot;
&lt;br /&gt;
NUM_PLAN_PICKUP_DIRECT=&quot;**&quot;
&lt;br /&gt;
CALLPARK_KEY_ENABLE=&quot;Y&quot;&lt;/blockquote&gt;
&amp;nbsp;ABBCCD12345F.cfg(этих столько - сколько телефонов):&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# Panasonic SIP Phone Standard Format File #
&lt;br /&gt;
&lt;br /&gt;
## SIP Settings
&lt;br /&gt;
#Номер телефона&lt;br /&gt;
PHONE_NUMBER_1=&quot;100&quot;
&lt;br /&gt;
#Логин SIP&lt;br /&gt;
SIP_AUTHID_1=&quot;100&quot;
&lt;br /&gt;
#Пароль SIP аккаунта&lt;br /&gt;
SIP_PASS_1=&quot;password&quot;
&lt;br /&gt;
#IP SIP-сервера&lt;br /&gt;
SIP_PRXY_ADDR_1=&quot;192.168.0.4&quot;
&lt;br /&gt;
SIP_RGSTR_ADDR_1=&quot;192.168.0.4&quot;
&lt;br /&gt;
SIP_PRSNC_ADDR_1=&quot;192.168.0.4&quot;
&lt;br /&gt;
#Кнопки P1 и P2 действие&lt;br /&gt;
#X_PANASONIC_IPTEL_BLF|X_PANASONIC_IPTEL_ONETOUCH&lt;br /&gt;
FLEX_BUTTON_FACILITY_ACT1=&quot;X_PANASONIC_IPTEL_BLF&quot;
&lt;br /&gt;
FLEX_BUTTON_FACILITY_ACT2=&quot;X_PANASONIC_IPTEL_BLF&quot;
&lt;br /&gt;
#Кнопки P1 и P2 значение аргумента для действия&lt;br /&gt;
FLEX_BUTTON_FACILITY_ARG1=&quot;101&quot;
&lt;br /&gt;
FLEX_BUTTON_FACILITY_ARG2=&quot;102&quot;&lt;/blockquote&gt;
Ну и адресная книга, конечно:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Group&amp;gt;&lt;br /&gt;
&amp;lt;startIndex&amp;gt;1&amp;lt;/startIndex&amp;gt;&lt;br /&gt;
&amp;lt;numberOfRecords&amp;gt;2&amp;lt;/numberOfRecords&amp;gt;&lt;br /&gt;
&amp;lt;totalAvailableRecords&amp;gt;2&amp;lt;/totalAvailableRecords&amp;gt;&lt;br /&gt;
&amp;lt;groupDirectory&amp;gt;&lt;br /&gt;
&amp;lt;directoryDetails&amp;gt;&lt;br /&gt;
&amp;lt;firstName&amp;gt;David&amp;lt;/firstName&amp;gt;&lt;br /&gt;
&amp;lt;lastName&amp;gt;Allan&amp;lt;/lastName&amp;gt;&lt;br /&gt;
&amp;lt;number&amp;gt;1111001&amp;lt;/number&amp;gt;&lt;br /&gt;
&amp;lt;extension&amp;gt;1001&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/directoryDetails&amp;gt;&lt;br /&gt;
&amp;lt;directoryDetails&amp;gt;&lt;br /&gt;
&amp;lt;firstName&amp;gt;George&amp;lt;/firstName&amp;gt;&lt;br /&gt;
&amp;lt;lastName&amp;gt;Williams&amp;lt;/lastName&amp;gt;&lt;br /&gt;
&amp;lt;number&amp;gt;1111010&amp;lt;/number&amp;gt;&lt;br /&gt;
&amp;lt;extension&amp;gt;1010&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/directoryDetails&amp;gt;&lt;br /&gt;
&amp;lt;/groupDirectory&amp;gt;&lt;br /&gt;
&amp;lt;/Group&amp;gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
Теперь берем новый телефон, втыкаем в розетку и наслаждаемся!&lt;br /&gt;
Будет работать для KX-HDV100, KX-HDV130 и, предположительно, KX-HDV230.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/8623446122242054556/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2018/03/provisionig-panasonic-kx-hdv100.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8623446122242054556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8623446122242054556'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2018/03/provisionig-panasonic-kx-hdv100.html' title='Использование Provisionig при настройке Panasonic KX-HDV100'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYda1g5c6IE34yiFXsYxWb7p4R-HDJnJCkcyaiNzSBRQWtH4ZDZQtqq_90ddDGcQjwlnQp5jHSBlr5WKX3_Sa2cBiWrvvqGnW1s1HkGYvuEcvyhYIvQT58FpUVAjGq0QkIBJDlnvOcig/s72-c/orig.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-4701497052574216318</id><published>2016-04-07T18:14:00.000+03:00</published><updated>2016-04-07T18:14:12.200+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="1C"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Ошибка СУБД: Файл базы данных поврежден 1Cv8.1CD</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Такое вот чудесное сообщение получил при попытке сделать резервную копию базы 1С &quot;Зарплата и управление персоналом&quot; конфигурации 2.5, перед очередным обновлением. &amp;nbsp;Сказать что я обрадовался - это не сказать ничего. Перед моим внутренним взором предстала картина жарких объятий главного бухгалтера, с последующим путешествием к свету по тоннелю... Что же делать? Ответ под катом!&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Как выяснилось, в стандартном пакете платформы 1С присутствует инструмент для решения таких проблем - &lt;b&gt;chdbfl.exe&lt;/b&gt;&lt;br /&gt;
Порядок применения следующий:&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Делаем резервную копию базы, не через Конфигуратор, конечно, поскольку при такой попытке проблема то и выявилась, а копируем папку содержащую базу в надежное место.&lt;/li&gt;
&lt;li&gt;Ищем утилиту chdbfl.exe, она находится в папке, где установлена платформа 1С. В моем случае C:\Program Files (x86)\1cv8\8.3.7.2008\bin&lt;/li&gt;
&lt;li&gt;Запускаем и в открывшемся окне указываем файл базы данных, которую нужно починить. Так же нужно установить флажок &quot;Исправлять обнаруженные ошибки&quot;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9eJ3WSkCI-mzA_OQjlV77Exzn8_kWalEgWLIT3vZtRLHm0Cjnwk-ZnMmkcWoMkK9TCq0Adm7FYpD-OhAId5vwIGaBnXjUd5k09r9LTW1SylR0wDzizddJPEFmO_J9zcv62KBF7chldg/s1600/chdbfl.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9eJ3WSkCI-mzA_OQjlV77Exzn8_kWalEgWLIT3vZtRLHm0Cjnwk-ZnMmkcWoMkK9TCq0Adm7FYpD-OhAId5vwIGaBnXjUd5k09r9LTW1SylR0wDzizddJPEFmO_J9zcv62KBF7chldg/s1600/chdbfl.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Нажимаем кнопку выполнить и ждем завершения процесса исправления базы данных. По окончании работы, утилита расскажет что сделала. Мне, например, сообщила следующее: &quot;Повреждены данные таблицы &#39;FILES&#39;. Восстановлено 10 из 10 записей.. Потеряно 1 значений полей неограниченной длины&quot;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Закрываем окно и запускаем 1С с целью поискать, что же это за поле, такое, неограниченной длины утерялось.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
А на сегодня все! Всем успехов!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/4701497052574216318/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2016/04/1cv81cd.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/4701497052574216318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/4701497052574216318'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2016/04/1cv81cd.html' title='Ошибка СУБД: Файл базы данных поврежден 1Cv8.1CD'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9eJ3WSkCI-mzA_OQjlV77Exzn8_kWalEgWLIT3vZtRLHm0Cjnwk-ZnMmkcWoMkK9TCq0Adm7FYpD-OhAId5vwIGaBnXjUd5k09r9LTW1SylR0wDzizddJPEFmO_J9zcv62KBF7chldg/s72-c/chdbfl.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-3627303913758823725</id><published>2013-11-13T17:42:00.000+04:00</published><updated>2013-11-13T17:42:25.753+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ATMEga"/><category scheme="http://www.blogger.com/atom/ns#" term="AVR"/><category scheme="http://www.blogger.com/atom/ns#" term="AVR GCC"/><category scheme="http://www.blogger.com/atom/ns#" term="AVR Studio 6"/><category scheme="http://www.blogger.com/atom/ns#" term="ILI9341"/><category scheme="http://www.blogger.com/atom/ns#" term="радиодетали"/><title type='text'>Библиотека для TFT дисплеев на контроллере ILI9341</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В рамках поигрушек с микроконтроллерами прикупил себе вот такой &lt;a href=&quot;http://www.mikroe.com/add-on-boards/display/mikrotft/&quot; target=&quot;_blank&quot;&gt;экранчик с тачскрином&lt;/a&gt;:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyQ0bQBUlQYDV9wvTmI38F8Kpb1EIgEOx0NWxju8k1CLVbljBf_tlL7VrzXLP-4qD9EUSDowFCeEiThiGIKJd4IYx3F0w67msP-8KxvhIswF89v3kdTwgHTmTEbesiF1hw-AvrjpamWQ/s1600/mikro_tft_02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyQ0bQBUlQYDV9wvTmI38F8Kpb1EIgEOx0NWxju8k1CLVbljBf_tlL7VrzXLP-4qD9EUSDowFCeEiThiGIKJd4IYx3F0w67msP-8KxvhIswF89v3kdTwgHTmTEbesiF1hw-AvrjpamWQ/s640/mikro_tft_02.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
В результате на свет появилась библиотека для работы с ним имени меня. Кому интересно - прошу под кат.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Кратенько про экранчик:&lt;br /&gt;
Экран цветной, TFT, диагональ 2.8 –дюйма (MI0283QT-9А) с разрешением 320х240 пикселей, отображает 262 тысячи цветов. Покрыт резистивной сенсорной панелью. Умеет работать по SPI, по параллельному интерфейсу 8 или 16 бит и VGA. Переключение производится коммутацией выводов IM0-IM3.&lt;br /&gt;
Документацию на контроллер и плату расширения можно взять в конце статьи.&lt;br /&gt;
&lt;br /&gt;
Поскольку в качестве управляющего контроллера используется 8-и битные AVR с максимальной частотой 16 МГц, рассматривать в качестве используемого интерфейса SPI смысла не вижу, поскольку это будет не просто медленно, а ОЧЕНЬ медленно, использовать же 16-и битный параллельный не позволяет жаба, поскольку выходит что кроме экрана к меге16/32 уже ничего и прицепить не выйдет, так что в итоге выбрал параллельный 8-и битный.&lt;br /&gt;
&lt;br /&gt;
Схема подключения с выбранным интерфейсом будет выглядеть так:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp3sINw-lYLzk7ja6I1Td3sVl7U7vpvUJUwmunr22htgRhE9oJpwp2XtIw_IcVX_l2_Kx2hyEiXYCamLnYzjagnRukyes9NWpoU95kWYpgRcdUPsb8SCNseIcFWmzm_aFqOFrBhRFWtQ/s1600/tft.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;315&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp3sINw-lYLzk7ja6I1Td3sVl7U7vpvUJUwmunr22htgRhE9oJpwp2XtIw_IcVX_l2_Kx2hyEiXYCamLnYzjagnRukyes9NWpoU95kWYpgRcdUPsb8SCNseIcFWmzm_aFqOFrBhRFWtQ/s400/tft.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Не требующиеся в данном варианте подключения либо подключены на землю, либо оставлены висеть в воздухе согласно даташиту на контроллер. Выводы DB0 - DB7 вешаем на порт контроллера через который будем гонять данные(в примере будет порт B). Выводы LCD-RD#, LCD-WR#, LCD-RS, LCD-CS# вешаем на порт через который будем гнать сигналы управления(порт А у меня). Х+/-, Y+/- на входы АЦП (выводы тачскрина). RC-цепочка на выводе LCD-RST# обеспечивает аппаратный сброс контроллера экрана при включении питания.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Смотрим на временную диаграмму управления экраном:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Цикл записи&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht5rx95_T_zQxdlhkC6pr_u4brCAPcFlP197CGbPuAkac-SvaNIvB6ZbuwbpPOtRKk65qe2tru0h7s8V8yodnQN_ArQDV16W9xZ9UdP7nspTVucCU7FVNBRj0yGbnk5MhCV_kF295FEw/s1600/wr.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht5rx95_T_zQxdlhkC6pr_u4brCAPcFlP197CGbPuAkac-SvaNIvB6ZbuwbpPOtRKk65qe2tru0h7s8V8yodnQN_ArQDV16W9xZ9UdP7nspTVucCU7FVNBRj0yGbnk5MhCV_kF295FEw/s640/wr.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Цикл чтения&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvgVvdYnsso5DynQltEfUNdh2fDdlADNu7c776yywCMnpUDAw599gq21XwV1_jQk6dqI-rQW_envI4rtTtfQOXivaD-7X-6XfSUOqucze8Qf0ABzHBUmykHGDVgPVa2Ie4kDsJwcn5ew/s1600/rd.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;368&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvgVvdYnsso5DynQltEfUNdh2fDdlADNu7c776yywCMnpUDAw599gq21XwV1_jQk6dqI-rQW_envI4rtTtfQOXivaD-7X-6XfSUOqucze8Qf0ABzHBUmykHGDVgPVa2Ie4kDsJwcn5ew/s640/rd.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&amp;nbsp;Таблица управляющих сигналов в выбранном интерфейсе&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAPnJjGx2jJ2T6GPQAR2KMPXexYO_IYCNiAoj_qZkYuedV2JMkKTrUP92kNfYkRWIqo4dIa810VXSsqIDtle7XjQvPqXRNTZGLgWE_VUci6M6cWRURmRGC1LcUWX4D9shjPTTXkK02lA/s1600/com.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;112&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAPnJjGx2jJ2T6GPQAR2KMPXexYO_IYCNiAoj_qZkYuedV2JMkKTrUP92kNfYkRWIqo4dIa810VXSsqIDtle7XjQvPqXRNTZGLgWE_VUci6M6cWRURmRGC1LcUWX4D9shjPTTXkK02lA/s640/com.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Из приведенных картинок видно, что ничего особо сложно не предвидится, , так же ясно что все управляющие сигналы инверсные, т.е. либо вешать на управляющие линии внешние резисторы, либо нужно включить внутренние резисторы подтяжки на порту управления. Переводя же картинки в слова можно сказать так:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Запись команды в контроллер - придавить к земле вывод LCD-CS# -&amp;gt; придавить LCD-RS -&amp;gt; выставить на шине данных адрес команды( D0 - D7 ) -&amp;gt; дрыгнуть ногой LCD-WR# -&amp;gt; отпустить LCD-RS - &amp;gt; выставить на шине данные команды( D0 - D7 ) -&amp;gt; дрыгнуть ногой LCD-WR# -&amp;gt; отпустить LCD-CS#. Аналогично же можно расписать последовательность действий при чтении из контроллера. Все это безобразие выливается в такой код:&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#define TFT_DATA_PORT PORTB&lt;br /&gt;
#define TFT_DATA_DIR DDRB&lt;br /&gt;
#define TFT_CTRL_PORT PORTA&lt;br /&gt;
#define TFT_CTRL_DIR DDRA&lt;br /&gt;
&lt;br /&gt;
#define TFT_RDX 0&lt;br /&gt;
#define TFT_WRX 1&lt;br /&gt;
#define TFT_DCX 2&lt;br /&gt;
#define TFT_CSX 3&lt;br /&gt;
&lt;br /&gt;
#define TFT_RDX_LO {TFT_CTRL_PORT &amp;amp;=~(1 &amp;lt;&amp;lt; TFT_RDX);}&lt;br /&gt;
#define TFT_RDX_HIGH {TFT_CTRL_PORT |=(1 &amp;lt;&amp;lt; TFT_RDX);}&lt;br /&gt;
&lt;br /&gt;
#define TFT_WRX_LO {TFT_CTRL_PORT &amp;amp;=~(1 &amp;lt;&amp;lt; TFT_WRX);}&lt;br /&gt;
#define TFT_WRX_HIGH {TFT_CTRL_PORT |=(1 &amp;lt;&amp;lt; TFT_WRX);}&lt;br /&gt;
&lt;br /&gt;
#define TFT_DCX_LO {TFT_CTRL_PORT &amp;amp;=~(1 &amp;lt;&amp;lt; TFT_DCX);}&lt;br /&gt;
#define TFT_DCX_HIGH {TFT_CTRL_PORT |=(1 &amp;lt;&amp;lt; TFT_DCX);}&lt;br /&gt;
&lt;br /&gt;
#define TFT_CSX_LO {TFT_CTRL_PORT &amp;amp;=~(1 &amp;lt;&amp;lt; TFT_CSX);}&lt;br /&gt;
#define TFT_CSX_HIGH {TFT_CTRL_PORT |=(1 &amp;lt;&amp;lt; TFT_CSX);}&lt;br /&gt;
&lt;br /&gt;
void InitInterface(void)&lt;br /&gt;
{&lt;br /&gt;
TFT_CTRL_DIR |= (1 &amp;lt;&amp;lt; TFT_RDX) | (1 &amp;lt;&amp;lt; TFT_WRX) | (1 &amp;lt;&amp;lt; TFT_DCX) | (1 &amp;lt;&amp;lt; TFT_CSX);&lt;br /&gt;
TFT_CTRL_PORT |= (1 &amp;lt;&amp;lt; TFT_RDX) | (1 &amp;lt;&amp;lt; TFT_WRX) | (1 &amp;lt;&amp;lt; TFT_DCX) | (1 &amp;lt;&amp;lt; TFT_CSX);&lt;br /&gt;
TFT_DATA_DIR |= 0xFF;&lt;br /&gt;
TFT_DATA_PORT = 0x00;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TFT_SendCMD(uint8_t cmd)&lt;br /&gt;
{&lt;br /&gt;
TFT_WRX_LO;&lt;br /&gt;
TFT_RDX_HIGH;&lt;br /&gt;
TFT_DCX_LO;&lt;br /&gt;
TFT_CSX_LO;&lt;br /&gt;
TFT_DATA_PORT = cmd;&lt;br /&gt;
asm(&quot;NOP&quot;);&lt;br /&gt;
TFT_WRX_HIGH;&lt;br /&gt;
asm(&quot;NOP&quot;);&lt;br /&gt;
TFT_CSX_HIGH;&lt;br /&gt;
TFT_DCX_HIGH;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TFT_WriteData(uint8_t data)&lt;br /&gt;
{&lt;br /&gt;
TFT_WRX_LO;&lt;br /&gt;
TFT_RDX_HIGH;&lt;br /&gt;
TFT_DCX_HIGH;&lt;br /&gt;
TFT_CSX_LO;&lt;br /&gt;
TFT_DATA_PORT = data;&lt;br /&gt;
asm(&quot;NOP&quot;);&lt;br /&gt;
TFT_WRX_HIGH;&lt;br /&gt;
asm(&quot;NOP&quot;);&lt;br /&gt;
TFT_CSX_HIGH;&lt;br /&gt;
TFT_DCX_HIGH;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TFT_SendData(uint16_t data)&lt;br /&gt;
{&lt;br /&gt;
uint8_t data1 = data&amp;gt;&amp;gt;8;&lt;br /&gt;
uint8_t data2 = data&amp;amp;0xff;&lt;br /&gt;
TFT_WriteData(data1);&lt;br /&gt;
TFT_WriteData(data2);&lt;br /&gt;
}&lt;/blockquote&gt;
Собственно как и говорил - кроме мордобоя никаких чудес. В архиве сама библиотека, шрифт размером 8х16(да именно 8х16 несмотря на то что называется Font16x16, так получилось...) и документация. В библиотеке реализована инициализация дисплея, вывод текста и графические примитивы. Берем &amp;nbsp;эту радость &lt;a href=&quot;http://dfiles.ru/files/llfdpz62c&quot; target=&quot;_blank&quot;&gt;ТУТ&lt;/a&gt;.&lt;br /&gt;
Пример применения:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &quot;TFT.h&quot;&lt;br /&gt;
&lt;br /&gt;
extern uint16_t MAX_X, MAX_Y;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
InitInterface();&lt;br /&gt;
TFT_Init(1);&lt;br /&gt;
TFT_ClearScreen();&lt;br /&gt;
TFT_FillScreen(0, MAX_X, 0, MAX_Y, BLUE);&lt;br /&gt;
&lt;br /&gt;
while(1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// тут сами чегонить...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/blockquote&gt;
Для посмотреть этого должно хватить.&lt;br /&gt;
Про работу с тачскрином очень хорошо расписано &lt;a href=&quot;http://easyelectronics.ru/rabota-s-rezistivnym-sensornym-ekranom.html&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;, так что я этим заниматься не буду, ибо нечего плодить сущности. Ну и в финале картинка того что у меня вышло&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Ql8KDCGNGs9wjyMfjW-_x37pmwhUhnNirtuuR3JyL8lKR9WmPShLrOd6AbacwYRRB1O10o3Z3rj54eZcWXjOdUv0Q2OEuLhcTiB0RVbo2JpsjVqHtD8iWT6HfNEj9Jl0dObqGb18RA/s1600/MikroTFT.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Ql8KDCGNGs9wjyMfjW-_x37pmwhUhnNirtuuR3JyL8lKR9WmPShLrOd6AbacwYRRB1O10o3Z3rj54eZcWXjOdUv0Q2OEuLhcTiB0RVbo2JpsjVqHtD8iWT6HfNEj9Jl0dObqGb18RA/s400/MikroTFT.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Тут у нас приемничек с RDS на базе SI4703. Кстати, как в очередной раз одержу победу над ленью, напишу статейку и выложу библиотечку для этой штуки.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/3627303913758823725/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2013/11/tft-ili9341.html#comment-form' title='Комментарии: 17'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3627303913758823725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3627303913758823725'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2013/11/tft-ili9341.html' title='Библиотека для TFT дисплеев на контроллере ILI9341'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyQ0bQBUlQYDV9wvTmI38F8Kpb1EIgEOx0NWxju8k1CLVbljBf_tlL7VrzXLP-4qD9EUSDowFCeEiThiGIKJd4IYx3F0w67msP-8KxvhIswF89v3kdTwgHTmTEbesiF1hw-AvrjpamWQ/s72-c/mikro_tft_02.png" height="72" width="72"/><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-8630537458643863361</id><published>2013-05-31T14:59:00.000+04:00</published><updated>2013-05-31T14:59:43.846+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gentoo"/><category scheme="http://www.blogger.com/atom/ns#" term="GRUB"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="RAID"/><category scheme="http://www.blogger.com/atom/ns#" term="shell"/><title type='text'>Установка Gentoo Linux на полусофт RAID + грабли GRUB</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Ранее я уже &lt;a href=&quot;http://extmemory.blogspot.ru/2009/10/gentoo-linux-raid.html&quot; target=&quot;_blank&quot;&gt;описывал&lt;/a&gt;&amp;nbsp;как поставить Gentoo на RAID1, однако тут сам же и не смог поставить по собственной инструкции. Прямо скажем - обидно! Зато есть повод написать продолжение.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Итак, ситуация - новый сервер, на борту софтовый рэйд контроллер от Intel, нужно поставить Gentoo.&lt;br /&gt;
Загружаемся с установочного диска и видим, что танцев с бубном вокруг поиска и настройки RAID1 не требуется, поскольку всё нашлось и определилось само и вполне себе активно синхронизируется.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
livecd:~#&amp;nbsp;dmraid -s&lt;br /&gt;
*** Group superset isw_cjcbeeejbf&lt;br /&gt;
--&amp;gt; Subset&lt;br /&gt;
name   : isw_cjcbeeejbf_DATA&lt;br /&gt;
size   : 3906994432&lt;br /&gt;
stride : 128&lt;br /&gt;
type   : mirror&lt;br /&gt;
status : ok&lt;br /&gt;
subsets: 0&lt;br /&gt;
devs   : 2&lt;br /&gt;
spares : 0&lt;br /&gt;
*** Group superset isw_bfidbafgjb&lt;br /&gt;
--&amp;gt; Subset&lt;br /&gt;
name   : isw_bfidbafgjb_SYSTEM&lt;br /&gt;
size   : 1953493248&lt;br /&gt;
stride : 128&lt;br /&gt;
type   : mirror&lt;br /&gt;
status : ok&lt;br /&gt;
subsets: 0&lt;br /&gt;
devs   : 2&lt;br /&gt;
spares : 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
livecd:~#&amp;nbsp;cat /proc/mdstat&lt;br /&gt;
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] [linear] [multipath] &lt;br /&gt;
md124 : active raid1 sda[1] sdb[0]&lt;br /&gt;
976746496 blocks super external:/md126/0 [2/2] [UU]&lt;br /&gt;
[=============&amp;gt;.......]  resync = 69.4% (678710528/976746628) finish=43.3min speed=114622K/sec&lt;br /&gt;
&lt;br /&gt;
md125 : active raid1 sdc[1] sdd[0]
      1953497088 blocks super external:/md127/0 [2/2] [UU]&lt;br /&gt;
&lt;br /&gt;
md126 : inactive sdb[1](S) sda[0](S)&lt;br /&gt;
4514 blocks super external:imsm&lt;br /&gt;
&lt;br /&gt;
md127 : inactive sdd[1](S) sdc[0](S)&lt;br /&gt;
4514 blocks super external:imsm&lt;br /&gt;
&lt;br /&gt;
unused devices: &lt;none&gt;
&lt;/none&gt;&lt;/blockquote&gt;
Диски определились как /dev/md12x (в моём случае md124 и md125)&lt;br /&gt;
Создаем /etc/mdadm.conf&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
livecd:~# mdadm --detail --scan &amp;gt; /etc/mdadm.conf&lt;/blockquote&gt;
Содержимое будет иметь вид:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
ARRAY /dev/md/imsm0 metadata=imsm UUID=0f93ec7a:d97890f1:49c2bff5:f0c782b6&lt;br /&gt;
ARRAY /dev/md/imsm1 metadata=imsm UUID=4bfb8b87:5a5587a9:b21a6517:040ca794&lt;br /&gt;
ARRAY /dev/md/DATA_0 container=/dev/md/imsm0 member=0 UUID=66874fe5:2bc1e705:bef7be5b:d482986b&lt;br /&gt;
ARRAY /dev/md/SYSTEM_0 container=/dev/md/imsm1 member=0 UUID=df6c9fdf:d3b69a0f:aad840df:7de9c078&amp;nbsp;&lt;/blockquote&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;ВНИМАНИЕ&lt;/span&gt;&lt;/b&gt;&amp;nbsp;перед переходом в новую среду (chroot), этот файл &lt;b&gt;ОБЯЗАТЕЛЬНО СКОПИРОВАТЬ в /mnt/gentoo/etc/mdadm.conf !!!&lt;/b&gt;&lt;br /&gt;
Дожидаемся окончания синхронизации и создаем нужные для установки разделы:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;livecd:~# fdisk /dev/md124&lt;/blockquote&gt;
Дальше действуем по инструкции, но с некоторыми отличиями:&lt;br /&gt;
Ядро я собираю с помощью genkernel, чтобы включить поддержку mdadm и dmraid в ядре, предварительно необходимо установить LVM2&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(chroot)livecd~# emerge lvm2&lt;/blockquote&gt;
Собираем ядро:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;(chroot)livecd~#&amp;nbsp;genkernel --dmraid --mdadm all&lt;/blockquote&gt;
Устанавливаем mdadm и dmraid&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;(chroot)livecd~#&amp;nbsp;emerge -av dmraid mdadm&lt;/blockquote&gt;
&amp;nbsp;В /etc/fstab имеет смысл прописать не путь к устройствам (вида /dev/md124p1), а их UUID. Узнаем UUID&#39;ы&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(chroot)livecd~# blkid&lt;br /&gt;
/dev/md124p1: UUID=&quot;17ef3691-32ae-47f0-9fff-7ccc4cb06d5a&quot; TYPE=&quot;ext2&quot; &lt;br /&gt;
/dev/md124p2: UUID=&quot;71af8bea-4488-4768-8a9d-c54d9c8c14ce&quot; TYPE=&quot;swap&quot; &lt;br /&gt;
/dev/md124p3: UUID=&quot;ce7bf387-f359-45c5-b43b-ad51abbfcd39&quot; TYPE=&quot;ext4&quot;&lt;/blockquote&gt;
&amp;nbsp;прописываем в /etc/fstab&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
UUID=17ef3691-32ae-47f0-9fff-7ccc4cb06d5a               /boot           ext2            noauto,noatime  1 2 &lt;br /&gt;
UUID=ce7bf387-f359-45c5-b43b-ad51abbfcd39               /               ext4            noatime         0 1 &lt;br /&gt;
UUID=a9b2e7c5-9ffd-4981-a205-efda4967ab6a               /home           ext4            noatime         0 1&lt;/blockquote&gt;
Устанавливаем и настраиваем GRUB.&lt;br /&gt;
В grub.conf в качестве real_root прописываем UUID раздела и добавляем ключи domdadm и dodmraid&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
default 0&lt;br /&gt;
timeout 10&lt;br /&gt;
splashimage=(hd0,0)/boot/grub/splash.xpm.gz&lt;br /&gt;
&lt;br /&gt;
title Gentoo Linux x86_64-3.8.13&lt;br /&gt;
root (hd0,0)&lt;br /&gt;
kernel /boot/kernel-genkernel-x86_64-3.8.13-gentoo root=/dev/ram0 real_root=UUID=ce7bf387-f359-45c5-b43b-ad51abbfcd39 domdadm dodmraid&lt;br /&gt;
initrd /boot/initramfs-genkernel-x86_64-3.8.13-gentoo&lt;/blockquote&gt;
Правим /boot/grub/device.map, вместо sda,sdb и т.д. указываем md124, md125...&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(hd0) &amp;nbsp; /dev/md124&lt;br /&gt;
(hd1) &amp;nbsp; /dev/md125&lt;/blockquote&gt;
Прописываем GRUB:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;&amp;nbsp;(chroot)livecd~# grub-install --no-floppy /dev/md124&lt;/blockquote&gt;
И получаем тут хрен по глупой морде в виде ошибки 22. Но не расстраиваемся, поскольку люди мы бывалые. Открываем &lt;a href=&quot;http://extmemory.blogspot.ru/2009/10/gentoo-linux-raid.html&quot; target=&quot;_blank&quot;&gt;инструкцию написаную ранее&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(chroot)livecd~# grub --device-map=/dev/null&lt;br /&gt;
grub&amp;gt; device (hd0) /dev/md124&lt;br /&gt;
grub&amp;gt; geometry (hd0) C H S&lt;br /&gt;
grub&amp;gt; root (hd0,0)&lt;br /&gt;
&amp;nbsp; Filesystem type is ext2fs, partition type 0x83&lt;br /&gt;
grub&amp;gt; setup (hd0)&lt;br /&gt;
и ...&lt;/blockquote&gt;
очередной хрен по глупой морде вида:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Checking if &quot;/boot/grub/stage1&quot; exists... yes&lt;br /&gt;
Checking if &quot;/boot/grub/stage2&quot; exists... yes&lt;br /&gt;
Checking if &quot;/boot/grub/e2fs_stage1_5&quot; exists... yes&lt;br /&gt;
Running &quot;embed /boot/grub/e2fs_stage1_5 (hd0)&quot;... 22 sectors are embedded.&lt;br /&gt;
succeeded&lt;br /&gt;
Running &quot;install /boot/grub/stage1 (hd0) (hd0)1+22 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst&quot;... failed&lt;br /&gt;
&lt;br /&gt;
Error 22: No such partition&lt;/blockquote&gt;
&amp;nbsp;А вот это уже настораживает, начинаем пробовать разные варианты устройств (типа /dev/md/SYSTEM_0 и т.д.) реакции ноль, сплошная ошибка 22.&lt;br /&gt;
В ходе усиленных поисков решение нашлось простое, но требующее хомячьей запасливости.&lt;br /&gt;
Нам потребуется дисковод и отформатированная дискета. У меня нашелся USB дисковод для ноутбука и пара дискет(как я это добро не выкинул уж и не знаю)&lt;br /&gt;
Приступим:&lt;br /&gt;
Форматируем дискету&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(chroot)livecd~#&amp;nbsp;mkfs.msdos /dev/fd0&lt;/blockquote&gt;
Поскольку дисковод у меня USB, он определился как /dev/sde, поэтому, в моем случае -&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(chroot)livecd~#&amp;nbsp;mkfs.msdos /dev/sde&lt;/blockquote&gt;
Закидываем на дискету GRUB&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(chroot)livecd~#&amp;nbsp; cd /boot/grub&lt;br /&gt;
(chroot)livecd~#&amp;nbsp; dd if=stage1 of=/dev/fd0 bs=512 count=1&lt;br /&gt;
(chroot)livecd~#&amp;nbsp; dd if=stage2 of=/dev/fd0 bs=512 seek=1&lt;/blockquote&gt;
после чего перезагружаем систему с полученной дискетки. После загрузки сразу попадаем в консоль GRUB. Выполняем там следующие действия:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
grub&amp;gt; device (hd0) /dev/md124&lt;br /&gt;
grub&amp;gt; root (hd0,0)&lt;br /&gt;
grub&amp;gt; setup (hd0)&lt;/blockquote&gt;
Теперь все встало без ошибок. Вытаскиваем дискету, жмем Ctrl+Alt+Del.&lt;br /&gt;
Все, система загружается как надо.&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/8630537458643863361/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2013/05/gentoo-linux-raid-grub.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8630537458643863361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8630537458643863361'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2013/05/gentoo-linux-raid-grub.html' title='Установка Gentoo Linux на полусофт RAID + грабли GRUB'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-9214635415685901399</id><published>2013-03-14T11:59:00.000+04:00</published><updated>2013-03-14T12:13:38.547+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AVR"/><category scheme="http://www.blogger.com/atom/ns#" term="AVR GCC"/><category scheme="http://www.blogger.com/atom/ns#" term="I2C"/><category scheme="http://www.blogger.com/atom/ns#" term="PCF8563"/><category scheme="http://www.blogger.com/atom/ns#" term="RTC"/><title type='text'>Библиотека для PCF8563</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Продолжаю микроконтроллерную тему. С целью поиграться с I2C были прикуплены микросхемы RTC DS1307 и PCF8563. Если с DS1307 не ковырялся только ленивый и информации и библиотек для нее полно, то с PCF8563 ситуация другая, ничего внятного кроме даташита найти не удалось. Вот и задачка, пишем свою библиотеку.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Итак, пишем на C для AVR GCC в AtmelStudio 6.&lt;br /&gt;
Для начала о самих часах:&lt;br /&gt;
PCF8563 это часы реального времени/календарь оптимизированные для устройств с низким энергопотреблением, на борту есть детектор низкого напряжения(весьма полезно в устройствах с автономным питанием), таймер, будильник. Напряжение питания от 1 до 5,5В, I2C работает в диапазоне напряжений питания от 1,8 до 5,5В. В общем мне эта штука приглянулась, собрал простейшую макетку и в горы.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6r5tkG1nlZywhAwuMFTsimcTZ9rkE1saKythQ4BbKuovxGrRw3hqfg3al3eJ6RLgb2Dv78PjhxxiJ8uVZvgPNEnbdzDyRSNhtDa_NioXDMNvP7Db_phhRQekJ69oljXp2pl9Vw7CKMw/s1600/20130314_105405.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6r5tkG1nlZywhAwuMFTsimcTZ9rkE1saKythQ4BbKuovxGrRw3hqfg3al3eJ6RLgb2Dv78PjhxxiJ8uVZvgPNEnbdzDyRSNhtDa_NioXDMNvP7Db_phhRQekJ69oljXp2pl9Vw7CKMw/s400/20130314_105405.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Теперь про саму библиотеку, для общения по I2C взял программную реализацию от  &lt;a href=&quot;http://extremeelectronics.co.in/&quot;&gt;Avinash&lt;/a&gt;, функции работы частично подсмотрены в библиотеке для CodeVision AVR, частично &lt;a href=&quot;http://avrlab.com/node/127&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;&amp;nbsp;(тут же и про I2C кратенько почитать можно). Хорошо расписана I2C у DI HALT&#39;а как вообще, так и в приложении в AVR, рекомендую &lt;a href=&quot;http://easyelectronics.ru/tag/i2c&quot; target=&quot;_blank&quot;&gt;ознакомиться&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
То что наваял я, можно взять &lt;a href=&quot;http://dfiles.ru/files/mkq5wkksb&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;, в архиве сама библиотека, необходимая для работы с ней i2csoft и даташит на PCF8563. Расписывать особо нечего, функции описаны в коде, просто накидаю пример применения , для ясности. В примере используется библиотека для LCD от Nokia 3310, брать &lt;a href=&quot;http://we.easyelectronics.ru/lcd_gfx/biblioteka-dlya-raboty-s-displeem-nokia-3310.html&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;br /&gt;
#define F_CPU 8000000UL&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &quot;n3310.h&quot;&lt;br /&gt;
#include &quot;PCF8563.h&quot;&lt;br /&gt;
&lt;br /&gt;
const char &amp;nbsp;WeekDayNames[][3] = {&quot;Вс&quot;, &quot;Пн&quot;, &quot;Вт&quot;, &quot;Ср&quot;, &quot;Чт&quot;, &quot;Пт&quot;, &quot;Сб&quot;};&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;unsigned char time[SHORT_T]=&quot; &amp;nbsp; &amp;nbsp; &quot;, date[FULL_D] = &quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;, datetime[7] = {};&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LcdInit();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LcdClear();&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LcdUpdate();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ClockInit(RTC_AIE_ON|RTC_TIE_ON|RTC_TP_ON,RTC_CLKOUT_1,RTC_TIMER_OFF);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; while(1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;if (GetDateTime(&amp;amp;datetime))&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;LcdGotoXYFont(2,1);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if (TimeStr(&amp;amp;datetime,&amp;amp;time,sizeof(time)))&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;LcdStr(FONT_2X,(unsigned char*)time);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;LcdGotoXYFont(0,3);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;LcdStr(FONT_1X,(unsigned char*)WeekDayNames[datetime[4]&amp;amp;0b00000111]);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;LcdGotoXYFont(3,3);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if (DateStr(&amp;amp;datetime,&amp;amp;date,sizeof(date),&#39;.&#39;)) LcdStr(FONT_1X,(unsigned char*)date);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;LcdUpdate();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}
&lt;/blockquote&gt;
Должно выйти как то так:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj__RVmIHEEdI9o4Ew1NYn-UKBfyGdz3mSxecjvQeMZvU5gWf8disOaoVmEO_CEKZYXIeRfmKhLEvCwHIHMBqxpdqtK7oGQtRRdDMTb_J-merX4KbkxdnxIwhkSkI7lgAZk5yXsKs5agA/s1600/20130314_120546.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj__RVmIHEEdI9o4Ew1NYn-UKBfyGdz3mSxecjvQeMZvU5gWf8disOaoVmEO_CEKZYXIeRfmKhLEvCwHIHMBqxpdqtK7oGQtRRdDMTb_J-merX4KbkxdnxIwhkSkI7lgAZk5yXsKs5agA/s400/20130314_120546.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Пины, к которым подключается PCF8563, прописываются в i2csoft.h, для LCD в n3310.h&lt;br /&gt;
Код должен работать на контроллерах ATMega, тинькам тупо не хватит памяти, из за библиотеки для LCD.&lt;br /&gt;
Ну, вроде бы все. Будут вопросы постараюсь ответить.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/9214635415685901399/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2013/03/pcf8563.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/9214635415685901399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/9214635415685901399'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2013/03/pcf8563.html' title='Библиотека для PCF8563'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6r5tkG1nlZywhAwuMFTsimcTZ9rkE1saKythQ4BbKuovxGrRw3hqfg3al3eJ6RLgb2Dv78PjhxxiJ8uVZvgPNEnbdzDyRSNhtDa_NioXDMNvP7Db_phhRQekJ69oljXp2pl9Vw7CKMw/s72-c/20130314_105405.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-3535142935331594767</id><published>2012-11-13T11:12:00.001+04:00</published><updated>2012-11-13T11:12:48.553+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CUPS"/><category scheme="http://www.blogger.com/atom/ns#" term="Gentoo"/><category scheme="http://www.blogger.com/atom/ns#" term="hplip"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Gentoo + HPLIP = грабли</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В процессе переустановки сервера CUPS вылезли грабли - категорически отказывался устанавливаться пропиетарный плагин, в процессе установки принтера с помощью hp-setup.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Суть грабель в том, что дистрибутив Gentoo перешол на ветку Python 3.x, а HPLIP все еще использует ветку 2.х.&lt;br /&gt;
&lt;br /&gt;
Что делать:&lt;br /&gt;
1. Смотрим что у нас в системе с питоном:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# eselect python list&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;Available Python interpreters:&lt;/span&gt;&lt;br /&gt;
[1]   python2.7&lt;br /&gt;
[2]   python3.2 &lt;span style=&quot;color: blue;&quot;&gt;*&lt;/span&gt;&lt;/blockquote&gt;
Тут мы видим, что в системе присутствует 2 ветки 2.7 и 3.2, по умолчанию используется 3.2. Чтобы установить нужный hplip плагин, нужно переключиться на ветку 2.7. Делаем:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# eselect python set 1&lt;/blockquote&gt;
Проверяем, что получилось:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# eselect python list&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;Available Python interpreters:&lt;/span&gt;&lt;br /&gt;
[1]   python2.7 &lt;span style=&quot;color: blue;&quot;&gt;*&lt;/span&gt;&lt;br /&gt;
[2]   python3.2&lt;/blockquote&gt;
Видим, что теперь активна ветка 2.7.&lt;br /&gt;
Запускаем hp-setup, теперь плагин встанет как надо. После установки принтера не забываем вернуть python в исходное состояние:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# eselect python set 2&lt;/blockquote&gt;
&amp;nbsp;Так вот кратенько сегодня.&lt;br /&gt;
Всем успехов.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/3535142935331594767/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/11/gentoo-hplip.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3535142935331594767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3535142935331594767'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/11/gentoo-hplip.html' title='Gentoo + HPLIP = грабли'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-7196482276017531134</id><published>2012-10-25T18:17:00.000+04:00</published><updated>2016-03-22T16:47:22.325+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gentoo"/><category scheme="http://www.blogger.com/atom/ns#" term="NTP"/><category scheme="http://www.blogger.com/atom/ns#" term="shell"/><title type='text'>Настройка ntpd, ntp-client</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
На днях вновь потребовалось настроить ntp и, как обычно, выяснилось, что за давностью лет предыдущей настройки все забыто нафик. Поэтому пишем себе заметочку на будущее, дабы в следующий раз не искать. Ну и моим читателям глядишь пригодится.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Немного теории про NTP, для общего развития, можно почитать &lt;a href=&quot;http://extmemory.blogspot.com/2009/12/blog-post_28.html&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Установка&lt;/b&gt;&lt;br /&gt;
Платформой для установки нам послужит, как обычно, Gentoo. Служба ntp - net-misc/ntp.&lt;br /&gt;
Первым делом обновляем дерево портеджей:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# emerge --sync&lt;/blockquote&gt;
Устанавливаем ntp, тут нам особые параметры не требуются(по крайней мере пока), поэтому ставим с юзами по умолчанию:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# emerge net-misc/ntp&lt;/blockquote&gt;
&lt;b&gt;Настройка сервера.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Определимся у кого будем брать время. Я предлагаю использовать сервера точного времени &lt;a href=&quot;http://vniiftri.ru/&quot; target=&quot;_blank&quot;&gt;ФГУП «Всероссийский научно-исследовательский институт физико-технических и радиотехнических измерений»&lt;/a&gt;&amp;nbsp;, Stratum 1 как никак.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
ntp1.vniiftri.ru&lt;br /&gt;
ntp2.vniiftri.ru&lt;br /&gt;
ntp4.vniiftri.ru&lt;/blockquote&gt;
Параметры запуска демона ntpd определяются в файле /etc/conf.d/ntpd&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# /etc/conf.d/ntpd&lt;br /&gt;
&lt;br /&gt;
# Options to pass to the ntpd process&lt;br /&gt;
# Most people should leave this line alone ...&lt;br /&gt;
# however, if you know what you&#39;re doing, feel free to tweak&lt;br /&gt;
NTPD_OPTS=&quot;-g -c /etc/ntp.conf&quot;&lt;/blockquote&gt;
Здесь -g -ключ разрешающий переход на большой скачек времени, -с -файл конфигурации службы ntp, чтобы указать pid-файл отличный от используемого по умолчанию можно использовать ключ -p, например:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
NTPD_OPTS=&quot;-p /var/run/ntpd.pid -g -c /etc/ntp.conf&quot;&lt;/blockquote&gt;
Настройка службы ntp по умолчанию производится в файле /etc/ntp.conf, если указали в предыдущем пункте другой, то правим тот который указали&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# /etc/ntp.conf&lt;br /&gt;
# Наш локальный сервер&lt;br /&gt;
server          192.168.0.1&lt;br /&gt;
# Серверы в сети&lt;br /&gt;
server          195.2.64.6&lt;br /&gt;
server          ntp1.vniiftri.ru&lt;br /&gt;
server          ntp2.vniiftri.ru&lt;br /&gt;
server          ntp4.vniiftri.ru&lt;br /&gt;
&lt;br /&gt;
#Пути к служебным файлам &lt;br /&gt;
driftfile       /var/lib/ntp/ntp.drift&lt;br /&gt;
logfile         /var/log/ntpd.log&lt;br /&gt;
&lt;br /&gt;
# Разрешения на доступ к нашему серверу&lt;br /&gt;
restrict default ignore # По умолчанию доступ запрещен&lt;br /&gt;
restrict localhost # Локально можно все&lt;br /&gt;
restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap # По внутренней сети можно только читать время&lt;br /&gt;
&lt;br /&gt;
# Разрешаем синхронизироваться с внешними серверами, иначе синхронизация не пойдет.&lt;br /&gt;
restrict 127.0.0.1&lt;br /&gt;
restrict 192.168.0.1&lt;br /&gt;
restrict 195.2.64.6&lt;br /&gt;
restrict ntp1.vniiftri.ru&lt;br /&gt;
restrict ntp2.vniiftri.ru&lt;br /&gt;
restrict ntp4.vniiftri.ru&lt;br /&gt;
&lt;br /&gt;
# Эта запись позволяет присвоить самому себе Stratum 3, чтобы сервер доверял сам себе&lt;br /&gt;
server 127.127.1.1&lt;br /&gt;
fudge 127.127.1.1 stratum 3&lt;/blockquote&gt;
Запускаем ntpd&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# /etc/init.d/ntpd start&lt;/blockquote&gt;
Добавляем ntpd в автозагрузку&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# rc-update add ntpd default&lt;/blockquote&gt;
&amp;nbsp;Теперь нужно обождать минут 10 - 20, поскольку &lt;b&gt;синхронизация происходит не сразу, а через некоторое время.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Проверяем на сервере&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;# ntpq -p&lt;/blockquote&gt;
Если в ответ получаем нечто похожее:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;remote &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; refid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;st t when &amp;nbsp;poll &amp;nbsp; reach &amp;nbsp; delay &amp;nbsp; &amp;nbsp;offset &amp;nbsp; &amp;nbsp; jitter&lt;br /&gt;
==============================================================================&lt;br /&gt;
&amp;nbsp;192.168.0.1 &amp;nbsp; &amp;nbsp; &amp;nbsp;.INIT. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;16 u &amp;nbsp; &amp;nbsp;- &amp;nbsp; &amp;nbsp;1024 &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; 0.000&lt;br /&gt;
-ntp1.zenon.net &amp;nbsp;195.2.64.5 &amp;nbsp; 2 &amp;nbsp; u &amp;nbsp;596 &amp;nbsp;1024 &amp;nbsp;377 &amp;nbsp; &amp;nbsp;2.261 &amp;nbsp; -0.104 &amp;nbsp; 0.680&lt;br /&gt;
*ntp1.vniiftri.r &amp;nbsp; &amp;nbsp; .PPS. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; u &amp;nbsp;909 &amp;nbsp;1024 &amp;nbsp;377 &amp;nbsp; &amp;nbsp;4.266 &amp;nbsp; -0.603 &amp;nbsp; 0.353&lt;br /&gt;
+ntp2.vniiftri.r &amp;nbsp; &amp;nbsp; .PPS. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; u &amp;nbsp;562 &amp;nbsp;1024 &amp;nbsp;377 &amp;nbsp; &amp;nbsp;3.914 &amp;nbsp; -0.453 &amp;nbsp; 0.457&lt;br /&gt;
+ntp4.vniiftri.r &amp;nbsp; &amp;nbsp; .PPS. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; u &amp;nbsp;554 &amp;nbsp;1024 &amp;nbsp;377 &amp;nbsp; &amp;nbsp;4.487 &amp;nbsp; -0.664 &amp;nbsp; 0.249&lt;br /&gt;
&amp;nbsp;LOCAL(1) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.LOCL. &amp;nbsp; &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp;l 229m &amp;nbsp; 64 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; &amp;nbsp;0.000 &amp;nbsp; 0.000&lt;/blockquote&gt;
значит все нормально, синхронизация пошла. Поподробнее рассмотрим обозначения в полученной таблице.&lt;br /&gt;
Поля таблицы:&lt;br /&gt;
&lt;b&gt;remote&lt;/b&gt; - имена удаленных ntp серверов&lt;br /&gt;
&lt;b&gt;refid&lt;/b&gt; - сервер, с которым производит синхронизацию удаленный сервер ntp&lt;br /&gt;
&lt;b&gt;st&lt;/b&gt; - стратум (уровень) удаленного сервера. 1 - самый высокий, 16 - рядовая машина/клиент.&lt;br /&gt;
&lt;b&gt;t&lt;/b&gt; - тип пира (u = unicast, m = multicast, l = local)&lt;br /&gt;
&lt;b&gt;when&lt;/b&gt; - указывает на то, как давно была произведена синхронизация с сервером&lt;br /&gt;
&lt;b&gt;poll&lt;/b&gt; - частота в секундах, с которой NTP демон синхронизируется с пиром&lt;br /&gt;
&lt;b&gt;reach&lt;/b&gt; - состояние доступности сервера, это значение стабилизируется на уровне 377 если последних 8 попыток синхронизации с удаленным сервером были успешны&lt;br /&gt;
&lt;b&gt;delay&lt;/b&gt; - задержка (в миллисекундах) ответа от сервера&lt;br /&gt;
&lt;b&gt;offset&lt;/b&gt; - разница в миллисекундах между системным временем и временем удаленного сервера; значение с минусом - отставание, с плюсом - убегание&lt;br /&gt;
&lt;b&gt;jitter&lt;/b&gt; - смещение времени на удаленном сервере
&lt;br /&gt;
Значки в строках таблицы:&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;*&lt;/span&gt;&lt;/b&gt; - пир, с которым&amp;nbsp;была выполнена синхронизация&amp;nbsp;последний раз &lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;+&lt;/span&gt;&lt;/b&gt; - пригодный для обновления сервер&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;-&lt;/span&gt;&lt;/b&gt; - непригодный для обновления сервер&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;х&lt;/span&gt;&lt;/b&gt; - сервер не отвечает
&lt;br /&gt;
&lt;br /&gt;
Проверяем на клиенте:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# ntpdate 192.168.0.1&lt;/blockquote&gt;
&amp;nbsp;Если синхронизация прошла успешно, получим ответ следующего вида:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
25 Oct 17:28:04 ntpdate[18335]: adjust time server 192.168.0.1 offset -0.016567 sec&lt;/blockquote&gt;
Однако, возможно получить следующее сообщение:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
25 Oct 17:29:14 ntpdate[18335]: no server suitable for synchronization found&lt;/blockquote&gt;
Чтобы понять что за ерунда выполняем:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# ntpdate -d 192.168.0.1&lt;/blockquote&gt;
Смотрим ответ:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
192.168.0.1: Server dropped: strata too high&lt;br /&gt;
server 192.168.0.1, port 123&lt;br /&gt;
stratum 16, precision -8, leap 11, trust 000&lt;/blockquote&gt;
Это означает, что уровень доверия очень мал (stratum=16, самый низкий уровень), то есть сервер сам себе не доверяет, чтобы отдавать время.
Необходимо либо подождать, либо изменить список серверов, с которыми он синхронизируется. Поскольку в конфиге у нас прописано, что сервер наш stratum 3, то такое сообщение мы вряд ли увидим.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Настраиваем клиентов.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;LINUX&lt;/b&gt;&lt;br /&gt;
Клиенты у меня тоже Gentoo, в основном, конфигурация клиента прописывается в файле /etc/conf.d/ntp-client. Тут не мудрим, оставляем все как есть, только указываем наш сервер в параметрах синхронизации:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# /etc/conf.d/ntp-client&lt;br /&gt;
&lt;br /&gt;
# Command to run to set the clock initially&lt;br /&gt;
# Most people should just leave this line alone ...&lt;br /&gt;
# however, if you know what you&#39;re doing, and you&lt;br /&gt;
# want to use ntpd to set the clock, change this to &#39;ntpd&#39;&lt;br /&gt;
NTPCLIENT_CMD=&quot;ntpdate&quot;&lt;br /&gt;
&lt;br /&gt;
# Options to pass to the above command&lt;br /&gt;
# This default setting should work fine but you should&lt;br /&gt;
# change the default &#39;pool.ntp.org&#39; to something closer&lt;br /&gt;
# to your machine.  See http://www.pool.ntp.org/ or&lt;br /&gt;
# try running `netselect -s 3 pool.ntp.org`.&lt;br /&gt;
NTPCLIENT_OPTS=&quot;-s -b -u &lt;b&gt;192.168.0.1&lt;/b&gt;&quot;&lt;/blockquote&gt;
Добавляем в автозагрузку:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
# rc-update add ntp-client default&lt;/blockquote&gt;
Следует иметь в виду, что служба ntp-client синхронизирует время только один раз, при запуске системы, поэтому для машин работающих длительное время без перезапуска делаем следующее:&lt;br /&gt;
Создаем в папке /etc/cron.hourly исполняемый файл со следующим содержимым&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#!/bin/sh&lt;br /&gt;
NTPCLIENT_OPTS=&quot;-s -b -u 192.168.0.1&quot;&lt;br /&gt;
&lt;br /&gt;
ntpdate $NTPCLIENT_OPTS &amp;gt;&amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;/blockquote&gt;
Все, теперь наша машина будет синхронизироваться с ntp ежечасно.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;WINDOWS 2003 Server&lt;/b&gt;&lt;br /&gt;
Все телодвижения выполняем в командной строке.&lt;br /&gt;
Указываем какой ntp сервер использовать для синхронизации:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#w32tm /config /syncfromflags:manual /manualpeerlist:192.168.0.1&lt;br /&gt;
#w32tm /config /update&lt;/blockquote&gt;
Далее, в командной строке указываем приоритетный NTP сервер, перезапускаем службу точного времени и принудительно синхронизируем время:
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#net time /setsntp:192.168.0.1&lt;br /&gt;
#net stop w32time &amp;amp;&amp;amp; net start w32time&lt;br /&gt;
#w32tm /resync&lt;/blockquote&gt;
В результате должны получить:
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Команда синхронизации отправлена на local computer...&lt;br /&gt;
Команда выполнена успешно.&lt;/blockquote&gt;
Через некоторое время можно проверить журнал событий системы. Если все настроено и отработало верно, то в журнале будет информационное сообщение от источника W32Time с кодом (ID) 37 и текстом &quot;NTP-клиент поставщика времени получает правильные данные о времени от 192.168.0.1&quot;, а затем с кодом 35 и текстом &quot;Служба времени выполняет синхронизацию системного времени с источником времени 192.168.0.1&quot;.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPD&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;WINDOWS 2012 Server&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Тут все аналогично Windows 2003 Server, но делаем все в Windows PowerShell запущенной от имени администратора.&lt;br /&gt;
Указываем какой ntp сервер использовать для синхронизации:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
PS C:\&amp;gt; w32tm /config /syncfromflags:manual /manualpeerlist:192.168.0.1 /syncfromflags:MANUAL&lt;br /&gt;
PS C:\&amp;gt; w32tm /config /update&lt;/blockquote&gt;
Далее, в командной строке перезапускаем службу точного времени и принудительно синхронизируем время:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
PS C:\&amp;gt; Service-Stop w32time &lt;br /&gt;
PS C:\&amp;gt; Service-Start w32time&lt;br /&gt;
PS C:\&amp;gt; w32tm /resync&lt;/blockquote&gt;
В результате должны получить:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Отправка команды синхронизации на локальный компьютер&lt;br /&gt;
Команда выполнена успешно.&lt;/blockquote&gt;
Проверяем:&lt;br /&gt;
&lt;blockquote&gt;
PS C:\&amp;gt; w32tm /query /status&lt;/blockquote&gt;
На выходе должны получить нечто подобное:&lt;br /&gt;
&lt;blockquote&gt;
Индикатор помех: 0(предупреждений нет)&lt;br /&gt;
Страта: 3 (вторичная ссылка - синхронизирована с помощью (S)NTP)&lt;br /&gt;
Точность: -6 (15.625ms за такт времени)&lt;br /&gt;
Задержка корня: 0.0356903s&lt;br /&gt;
Дисперсия корня: 7.8069513s&lt;br /&gt;
Идентификатор опорного времени: 0xC0A86301 (IP-адрес источника:  192.168.0.1)&lt;br /&gt;
Время последней успешной синхронизации: 22.03.2016 16:21:25&lt;br /&gt;
Источник: 192.168.0.1&lt;br /&gt;
Интервал опроса: 6 (64s)&lt;/blockquote&gt;
Посмотреть текущую конфигурацию можно так:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
PS C:\&amp;gt; w32tm /query /configuration&lt;/blockquote&gt;
Через некоторое время можно проверить журнал событий системы. Если все настроено и отработало верно, то в журнале будет информационное сообщение от источника W32Time с кодом (ID) 37 и текстом &quot;NTP-клиент поставщика времени получает правильные данные о времени от 192.168.0.1&quot;, а затем с кодом 35 и текстом &quot;Служба времени выполняет синхронизацию системного времени с источником времени 192.168.0.1&quot;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/7196482276017531134/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/10/ntpd-ntp-client.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7196482276017531134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7196482276017531134'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/10/ntpd-ntp-client.html' title='Настройка ntpd, ntp-client'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-3174360343204947382</id><published>2012-10-10T13:22:00.000+04:00</published><updated>2012-10-10T13:22:51.802+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ATtiny2313"/><category scheme="http://www.blogger.com/atom/ns#" term="AVR"/><category scheme="http://www.blogger.com/atom/ns#" term="IR"/><category scheme="http://www.blogger.com/atom/ns#" term="Готовые устройства"/><title type='text'>Пульт Canon RC-1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Всем привет! Продолжаю писать заметки по электронике.&lt;br /&gt;
Недавно прикупил себе зеркалку Canon EOS 600D, выяснилось, что в ней присутствует возможность дистанционного управления спуском затвора по ИК каналу. Покупать пульт мне показалось не спортивным, поэтому решил изготовить его самостоятельно. В результате поиска было обнаружено несколько вариантов пультов, однако все они мне не очень понравились, по разным причинам. &quot;Значит буду придумывать свой!&quot; - сказал я себе.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Итак, мой вариант пульта (№ стопиццот)&lt;br /&gt;
&lt;br /&gt;
Описание протокола можно посмотреть &lt;a href=&quot;http://www.doc-diy.net/photo/rc-1_hacked/&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Аппаратная часть&lt;/b&gt;&lt;br /&gt;
За основу был взят контроллер ATtiny2313(просто потому что был в наличии, как и все остальное). В качестве элементов управления взял две кнопки - одна для немедленного спуска затвора, вторая для спуска с 2х секундной задержкой, от использования переключателя, как в штатном пульте от Canon отказался, поскольку мне это показалось неудобным, да и конструктивно проще работать с кнопками.&lt;br /&gt;
&lt;br /&gt;
Схема пульта:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNmVbPzQtU8uFsdJXbx5215Zd-l3qVIcbyxI6A_1u1IiAeFY7GP4jwEt1XLgded0L0bD7BZJl2rd6a8SZHdsMhpdhsjPAIm53Lq1VYXa5zNeG8YtbOtvRyPOG0ownAKF9D1tY_26L0kA/s1600/RC-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;355&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNmVbPzQtU8uFsdJXbx5215Zd-l3qVIcbyxI6A_1u1IiAeFY7GP4jwEt1XLgded0L0bD7BZJl2rd6a8SZHdsMhpdhsjPAIm53Lq1VYXa5zNeG8YtbOtvRyPOG0ownAKF9D1tY_26L0kA/s640/RC-1.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Пара слов про комплектуху:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Конденсатор С2 - чип танталовый, малогабаритный с малыми утечками, дабы не сажал батарею и помогал ей при отправке ИК сигнала.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Транзистор Q1 - любой N-канальный с индуцируемым каналом.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Тинька в SO-20 корпусе, маленькая потому что.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
ИК светодиод любой с длиной волны 940-950нМ, желательно помощней, конечно резистор R6 пересчитываем под свой светодиод(закон Ома рулит!).&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Далее текст для тех, кто совсем ничего не знает, но хочет научится.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Расчет весьма прост - нам потребуются справочные данные на светодиод и транзистор:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Рабочий ток светодиода&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Падение напряжения на светодиоде&lt;/li&gt;
&lt;li&gt;Сопротивление сток-исток транзистора в открытом состоянии&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Считаем падение напряжения на открытом транзисторе:&lt;br /&gt;
U = I*R, где I - рабочий ток светодиода, R - сопротивление сток-исток транзистора в открытом состоянии.&lt;br /&gt;
Прибавляем падение напряжения на светодиоде к полученному значению падения напряжения на транзисторе и получаем общее падение напряжения.&lt;br /&gt;
Вычитаем из напряжения питания значение общего падения напряжения - это будет падение напряжения на токоограничивающем резисторе.&lt;br /&gt;
Сопротивление токоограничивающего резистора - R=U/I, где U -&amp;nbsp;падение напряжения на токоограничивающем резисторе,&amp;nbsp;I -&amp;nbsp;рабочий ток светодиода.&lt;br /&gt;
Далее смотрим &lt;a href=&quot;http://extmemory.blogspot.com/2012/09/blog-post.html&quot; target=&quot;_blank&quot;&gt;сюда&lt;/a&gt; и выбираем сопротивление резистора наиболее близкое к полученному значению из номинального ряда.&lt;br /&gt;
&lt;br /&gt;
Логика работы:&lt;br /&gt;
Контоллер постоянно находится в спящем режиме(экономим заряд батареи), по нажатию кнопки он просыпается, отправляет ИК сигнал, моргает контрольным светодиодом и опять засыпает. Все просто, кроме мордобоя никаких чудес. :)&lt;br /&gt;
&lt;br /&gt;
Корпус:&lt;br /&gt;
Для своей поделки я выбрал вот &lt;a href=&quot;http://www.chipdip.ru/product0/19627.aspx&quot; target=&quot;_blank&quot;&gt;такой&lt;/a&gt; корпус:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPBR1jD6JMbY6SOjduIAlT4qGx35TJYPGtNXSIUJ8bOI4iKSaPk4sbas-CwPZ5bmH39PQwyjD4L8XVOb_sxw45f6K19trzARTbszyZyoDtc_rUoM14CMDl-zfCfn_rKKhnOoo5s0iigw/s1600/case.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPBR1jD6JMbY6SOjduIAlT4qGx35TJYPGtNXSIUJ8bOI4iKSaPk4sbas-CwPZ5bmH39PQwyjD4L8XVOb_sxw45f6K19trzARTbszyZyoDtc_rUoM14CMDl-zfCfn_rKKhnOoo5s0iigw/s1600/case.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Так же исходя из доступности, можно было купить далеко не ходя.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Печатная плата:&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM863M6pyK3Z1BLv275zqaUECI7ZlFMjn-2tPdF0CGiChY5QbfYym4nkXBcMUcWZs5ZsRvmLAvcWpTSvK5znCDNDKIYaQhi7xz1wYQ-U-WdOrVFZRm8AJrYneH5mv1ZvNmcOggnV-QoA/s1600/RCboard-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;196&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM863M6pyK3Z1BLv275zqaUECI7ZlFMjn-2tPdF0CGiChY5QbfYym4nkXBcMUcWZs5ZsRvmLAvcWpTSvK5znCDNDKIYaQhi7xz1wYQ-U-WdOrVFZRm8AJrYneH5mv1ZvNmcOggnV-QoA/s320/RCboard-1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Плата как плата, единственное пожелание - толщина текстолита 0,5 мм, чтоб в корпусе поместилось нормально.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Программная часть.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Среда разработки - AVRStudio 6&lt;br /&gt;
Язык - С (ну не понимаю я ассемблер, хоть ты тресни!)&lt;br /&gt;
&lt;br /&gt;
Основная часть программы, посылка пакета, честно стырена &lt;a href=&quot;http://easyelectronics.ru/pult-distancionnogo-upravleniya-dlya-fotoapparatov-canon-i-nikon.html&quot; target=&quot;_blank&quot;&gt;отсюда&lt;/a&gt;, огромное спасибо товарищу Maksoff. Остальное мое твочество.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;br /&gt;&lt;/blockquote&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&amp;nbsp;* RC_1.c&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* Created: 03.10.2012 15:35:51&lt;br /&gt;
&amp;nbsp;* &amp;nbsp;Author: Owner&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/sleep.h&amp;gt;&lt;br /&gt;
#include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
#include &amp;lt;avr/interrupt.h&amp;gt;&lt;br /&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;br /&gt;
#define F_CPU 1000000UL //Частота контроллера 1МГц (8МГц генератор и делитель на 8)&lt;br /&gt;
//Leds port:&lt;br /&gt;
#define led_port PORTB&lt;br /&gt;
#define led_ddr DDRB&lt;br /&gt;
#define led_pin 0 &amp;nbsp;//Нога на которой висит ИК диод&lt;br /&gt;
#define control_pin 1 //Нога на которой висит контрольный светодиод&lt;br /&gt;
#define led_one (1&amp;lt;&amp;lt;led_pin)&lt;br /&gt;
#define led_all (1&amp;lt;&amp;lt;led_pin|1&amp;lt;&amp;lt;control_pin)&lt;br /&gt;
//Control port в общем то и необязательно, все равно по прерываниям работаем&lt;br /&gt;
#define ctrl_port PORTD&lt;br /&gt;
#define ctrl_ddr &amp;nbsp;DDRD&lt;br /&gt;
#define ctrl_pin &amp;nbsp;PIND&lt;br /&gt;
#define im_but &amp;nbsp; &amp;nbsp;2&lt;br /&gt;
#define dly_but&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;3&lt;br /&gt;
unsigned char act=2;&lt;br /&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;br /&gt;
#define nop() asm(&quot;nop&quot;)&lt;br /&gt;
&lt;br /&gt;
//Функция, которая отправляет одну посылку (это стырено)&lt;br /&gt;
void Post (char bits_to_set)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;unsigned char i;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;for (i = 0; i &amp;lt; 16; i++)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;led_port |= (1&amp;lt;&amp;lt;bits_to_set);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;led_port &amp;amp;= ~(1&amp;lt;&amp;lt;bits_to_set);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;nop(); //Количество нопов высчитано в симуляторе&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Немедленный спуск&lt;br /&gt;
void Shutter (char led)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Post(led);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;_delay_ms(7.324);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Post(led);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Спуск с двух секундной задержкой&lt;br /&gt;
void Shutter2 (char led)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Post(led);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;_delay_ms(5.371);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Post(led);&lt;br /&gt;
}&lt;br /&gt;
//Отсюда мои художества&lt;br /&gt;
ISR(INT0_vect)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;cli(); //Запрещаем прерывания&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;act = 0; //Устанавливаем условие спуска без задержки&lt;br /&gt;
}&lt;br /&gt;
ISR(INT1_vect)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;cli(); //Запрещаем прерывания&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;act = 1; //Устанавливаем условие спуска с 2х секундной задержкой&lt;br /&gt;
}&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;GIMSK=0xC0; //разрешаем прерывание int0 и int1 - &amp;nbsp;кнопка&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;MCUCR=0x00; //прерывания int0 и int1 по лог. 0, поскольку из спящего режима можно вывести только по прерыванию на уровень сигнала, по фронту никак.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;led_ddr = 1&amp;lt;&amp;lt;led_pin|1&amp;lt;&amp;lt;control_pin;//Инициализация порта&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;ctrl_ddr = 0x00; //Порт D на вход (необязательно)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;ctrl_port = 1&amp;lt;&amp;lt;im_but | 1&amp;lt;&amp;lt;dly_but; //Подтяжка на кнопки (необязательно, пригодится если лень внешние резисторы ставить)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;ACSR |= (1&amp;lt;&amp;lt;ACD); //Гасим аналоговый компаратор&lt;br /&gt;
&amp;nbsp; &amp;nbsp; while(1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;_delay_ms(8); //чтоб окончательно проснуться ждем чуток&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;//В зависимости от нажатой кнопки посылаем ИК сигнал&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if (act==0) Shutter(led_pin);&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;else if (act==1) Shutter2(led_pin);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;led_port |= 1 &amp;lt;&amp;lt; control_pin; //Зажигаем контрольный светодиод&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;_delay_ms(100);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;led_port &amp;amp;= ~(1&amp;lt;&amp;lt;control_pin); //Гасим контрольный светодиод&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;_delay_ms(150); //на всякий який ждем, чтоб не сработало несколько раз подряд&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;set_sleep_mode(SLEEP_MODE_PWR_DOWN); //Устанавливаем режим сна МК&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sleep_enable(); //Разрешаем уход в сон&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sei(); //Разрешаем прерывания&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sleep_cpu(); //Усыпляем МК&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sleep_disable(); //Будим МК по прерыванию&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;/blockquote&gt;
&amp;nbsp;Собственно на этом все. Описывать особенно нечего, исходник весьма подробно прокомментирован.&lt;br /&gt;
Фьюзы при прошивке не меняем, работает с заводскими&lt;br /&gt;
&amp;nbsp;High - 0xDF, Low - 0x64, Ext. - 0x01&lt;br /&gt;
&lt;br /&gt;
Готовый пульт:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjem1CN_4tzf2BjCKbSzz4btOuloKKBPr-eH5vKK3McFyDA8pIeAVi975bmuiuLLaB7dRa_hcnE68P9Q6pdtELDpLX_aOZ1nOtNB8fyqle_D2CeXdASCjx-WCLWyDoAVpLs8xLZ35NoYw/s1600/20121010_131003-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjem1CN_4tzf2BjCKbSzz4btOuloKKBPr-eH5vKK3McFyDA8pIeAVi975bmuiuLLaB7dRa_hcnE68P9Q6pdtELDpLX_aOZ1nOtNB8fyqle_D2CeXdASCjx-WCLWyDoAVpLs8xLZ35NoYw/s400/20121010_131003-1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Файлы к статье:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Проект AVR Studio 6&lt;/li&gt;
&lt;li&gt;Печатная плата в layout&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Брать тут.&lt;br /&gt;
&lt;br /&gt;
Всем успехов! До новых заметочек!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/3174360343204947382/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/10/canon-rc-1.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3174360343204947382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/3174360343204947382'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/10/canon-rc-1.html' title='Пульт Canon RC-1'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNmVbPzQtU8uFsdJXbx5215Zd-l3qVIcbyxI6A_1u1IiAeFY7GP4jwEt1XLgded0L0bD7BZJl2rd6a8SZHdsMhpdhsjPAIm53Lq1VYXa5zNeG8YtbOtvRyPOG0ownAKF9D1tY_26L0kA/s72-c/RC-1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-6169131034100366528</id><published>2012-10-01T10:03:00.000+04:00</published><updated>2012-10-01T11:34:08.165+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android 4.0 ICS"/><category scheme="http://www.blogger.com/atom/ns#" term="Galaxy Tab 10.1"/><category scheme="http://www.blogger.com/atom/ns#" term="Новости"/><title type='text'>Обновление Samsung Galaxy Tab 10.1 до Android 4.0 Ice Cream Sandwich</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Наконец то появилась некая уверенность в том, что Samsung обновит прошивку своих топовых Android устройств предыдущего поколения до версии 4.0&lt;br /&gt;
&lt;div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Ранее поиск информации о возможных обновлениях приводил на разного рода форумы, с обсуждениями типа - &quot;Мне Вася сказал, что ему Петя говорил, что он где то мельком видел Яшу Пельцмана, так тот ему говорил что где то читал...&quot;. Однако субботний запрос, сделанный скорее по привычке, нежели в надежде на то что обновление таки случится принес нежданную уже &lt;a href=&quot;http://www.samsung.com/ru/support/main/supportMain.do#&quot; target=&quot;_blank&quot;&gt;радость&lt;/a&gt;:&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;h2 style=&quot;background-color: white; border-bottom-style: none; border-bottom-width: 0px; font-family: PFSquareSansProMedium, Arial, sans-serif; font-size: 24px; font-weight: normal; height: auto; line-height: 28px; margin: 0px 0px 8px; padding: 0px; word-wrap: break-word;&quot;&gt;
Обновление семейства Samsung Galaxy до Android 4.0 Ice Cream Sandwich&lt;/h2&gt;
&lt;div class=&quot;date&quot; style=&quot;background-color: white; color: #b4b4b4; font-family: Arial, sans-serif; font-size: 14px; font-weight: bold; margin-bottom: 26px; padding: 0px; word-wrap: break-word;&quot;&gt;
2012.09.28&lt;/div&gt;
&lt;div class=&quot;account&quot; style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 12px; margin: 27px 0px 0px; padding: 0px;&quot;&gt;
&lt;b&gt;В 2012 году Android 4.0 Ice Cream Sandwich&lt;/b&gt;&amp;nbsp;получат следующие устройства семейства&lt;b&gt;Samsung Galaxy:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Samsung Galaxy S II&amp;nbsp;&lt;/b&gt;(уже доступно через программу&amp;nbsp;&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/KIES/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Samsung Kies&lt;/b&gt;&lt;/a&gt;, а так же через сервис&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/FOTA/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;FOTA&lt;/b&gt;&lt;/a&gt;);&lt;br /&gt;
&lt;b&gt;Samsung GALAXY Note&lt;/b&gt;&amp;nbsp;(уже доступно через программу&amp;nbsp;&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/KIES/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Samsung Kies&lt;/b&gt;&lt;/a&gt;, а так же через сервис&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/FOTA/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;FOTA&lt;/b&gt;&lt;/a&gt;);&lt;br /&gt;
&lt;b&gt;Samsung GALAXY R&lt;/b&gt;;&lt;br /&gt;
&lt;b&gt;Samsung GALAXY Tab 7.0 Plus&amp;nbsp;&lt;/b&gt;(уже доступно через программу&amp;nbsp;&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/KIES/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Samsung Kies&lt;/b&gt;&lt;/a&gt;, а так же через сервис&amp;nbsp;&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/FOTA/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;FOTA&lt;/b&gt;&lt;/a&gt;);&lt;br /&gt;
&lt;b&gt;Samsung GALAXY Tab 7.7&lt;/b&gt;;&lt;br /&gt;
&lt;b&gt;Samsung GALAXY Tab 8.9&lt;/b&gt;;&lt;br /&gt;
&lt;b&gt;Samsung GALAXY Tab 10.1&lt;/b&gt;&amp;nbsp;(для модели GT-P7510 обновление уже доступно через программу&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/KIES/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Samsung Kies&lt;/b&gt;&lt;/a&gt;, а так же через сервис&amp;nbsp;&lt;a href=&quot;http://www.samsung.com/ru/support/usefulsoftware/FOTA/JSP&quot; style=&quot;color: #087cbe; text-decoration: none; word-wrap: break-word;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;FOTA&lt;/b&gt;&lt;/a&gt;);&lt;/div&gt;
&lt;div class=&quot;btnArea&quot; style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 12px; margin: 31px 0px 0px; padding: 0px; text-align: right;&quot;&gt;
&lt;img alt=&quot;samsung&quot; src=&quot;http://www.samsung.com/common/img/printLogo.gif&quot; style=&quot;border: 0px none; color: #b4b4b4; float: left; line-height: 16px; margin-right: 10px; text-align: left; vertical-align: middle;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;footer&quot; style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 12px; margin: 60px 0px 0px; padding: 0px;&quot;&gt;
&lt;div class=&quot;copyright supCopyright&quot; style=&quot;border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; clear: both; color: #b4b4b4; line-height: 16px; overflow: hidden; padding: 10px 0px 0px; word-wrap: break-word;&quot;&gt;
Copyright© 1995-2012 SAMSUNG. Все права защищены.&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&amp;nbsp;Так что поздравляем счастливых обладателей таблетки без 3G и ждем( уже со всем основанием) выхода обновления для GT-P7500.&lt;br /&gt;
&lt;br /&gt;
P.S.&lt;br /&gt;
Нет, я конечно понимаю, что выпуск новых устройств является приоритетом для любой компании, однако и уже&amp;nbsp;выпущенный&amp;nbsp;продукт было бы не плохо поддерживать регулярно и вменяемо. В противном случае покупка раз в пол года/год китайской таблетки с текущей версией андроида за гораздо более скромные деньги(раз этак в 5(!!!) дешевле) становится все более привлекательной идеей.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/6169131034100366528/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/10/samsung-galaxy-tab-101-android-40-ice.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/6169131034100366528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/6169131034100366528'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/10/samsung-galaxy-tab-101-android-40-ice.html' title='Обновление Samsung Galaxy Tab 10.1 до Android 4.0 Ice Cream Sandwich'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-2361256118333443989</id><published>2012-09-14T15:18:00.000+04:00</published><updated>2012-09-14T15:18:00.224+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SMD"/><category scheme="http://www.blogger.com/atom/ns#" term="маркировка"/><category scheme="http://www.blogger.com/atom/ns#" term="радиодетали"/><category scheme="http://www.blogger.com/atom/ns#" term="справочник"/><title type='text'>Маркировка SMD элементов</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Кратенько рассмотрим основные способы маркировки резисторов и конденсаторов.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;b&gt;Резисторы&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SMD-резисторы типоразмера &lt;a href=&quot;http://extmemory.blogspot.com/2012/09/smd.html&quot; target=&quot;_blank&quot;&gt;0402 &lt;/a&gt;не маркируются, резисторы остальных типоразмеров маркируются различными способами, зависящими от типоразмера и допуска.&lt;br /&gt;
Резисторы с допуском 2%, 5% и 10% всех типоразмеров маркируются тремя цифрами, первые две из которых обозначают мантиссу, а последняя - показатель степени по основанию 10 для определения номинала резистора в Омах. При необходимости к значащим цифрам добавляется буква R для обозначения десятичной точки. Например, маркировка 513 означает, что резистор имеет номинал 51x103 Ом = 51 КОм.&lt;br /&gt;
Резисторы с допуском 1% типоразмеров от 0805 и выше маркируются четырмя цифрами, первые три из которых обозначают мантиссу, а последняя - показатель степени по основанию 10 для задания номинала резистора в Омах. Буква R также служит для обозначения десятичной точки. Например, маркировка 7501 означает, что резистор имеет номинал 750x101 Ом = 7.5 КОм.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Конденсаторы керамические&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt; Керамические конденсаторы SMD ввиду их малых габаритов иногда маркируются кодом, состоящим из одного или двух символов и цифры. Первый символ, если он есть - код изготовителя (напр. K для Kemet, и т.д.), второй символ - мантисса и цифра показатель степени (множитель) емкости в pF. Например S3 - 4. 7nF (4.7 x 10^3 Pf) конденсатор от неизвестного изготовителя, в то время как KA2 100 pF (1.0 x 10^2 PF) конденсатор от фирмы Kemet.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; style=&quot;text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;     &lt;td&gt;Letter&lt;/td&gt;     &lt;td&gt;Mantissa&lt;/td&gt;     &lt;td&gt;Letter&lt;/td&gt;     &lt;td&gt;Mantissa&lt;/td&gt;     &lt;td&gt;Letter&lt;/td&gt;     &lt;td&gt;Mantissa&lt;/td&gt;     &lt;td&gt;Letter&lt;/td&gt;     &lt;td&gt;Mantissa&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;A&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;1.0&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;J&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;2.2&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;S&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;4.7&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;a&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;2.5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;B&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;1.1&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;K&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;2.4&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;T&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;5.1&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;b&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;3.5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;C&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;1.2&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;L&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;2.7&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;U&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;5.6&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;d&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;4.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;D&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;1.3&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;M&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;3.0&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;V&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;6.2&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;e&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;4.5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;E&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;1.5&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;N&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;3.3&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;W&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;6.8&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;f&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;5.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;F&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;1.6&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;P&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;3.6&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;X&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;7.5&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;m&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;6.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;G&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;1.8&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;Q&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;3.9&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;Y&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;8.2&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;n&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;7.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;H&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;2.0&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;R&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;4.3&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;Z&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;9.1&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;t&lt;/div&gt;&lt;/td&gt;     &lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;8.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Конденсаторы танталовые&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Маркировка танталовых конденсаторов размеров A и B состоит из буквенного кода номинального напряжения в соответствии со следующей таблицей:&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;table align=&quot;center&quot; border=&quot;1&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Буква&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;G&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;J&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;A&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;C&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;D&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;E&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;V&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;T &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Напряжение&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;4&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;6,3&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;10&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;16&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;20&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;25&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;35&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;50&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
За ним следует трехзначный код номинала емкости в pF, в котором последняя цифра обозначает количество нулей в номинале. Например, маркировка E105 обозначает конденсатор емкостью 1 000 000pF = 1.0uF с рабочим напряжением 25V.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;text-align: left;&quot;&gt;Емкость и рабочее напряжение танталовых SMD-конденсаторов размеров &lt;a href=&quot;http://extmemory.blogspot.com/2012/09/smd.html&quot; target=&quot;_blank&quot;&gt;C, D, E&lt;/a&gt; обозначаются их прямой записью, например 47 6V - 47uF 6V.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;b&gt;Конденсаторы электролитические&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Электролитические конденсаторы SMD часто маркируются их емкостью и рабочим напряжением, например 10 6V - 10 µ F 6V. Иногда этот код &amp;nbsp; используется вместо обычного, который состоит из символа и 3 цифр. Символ указывает рабочее напряжение, а 3 цифры (2 цифры и множитель) дают емкость в pF.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCFNCohIAZ_PczOcZFSZxkg2Fxq7zgiLZP_CnUg_wiNeGKVtr2iNploAor0NSg7w0yPVveKMWZP7E1EKMiDGCFLMRTqvIJZF2pLXX-pPDLNca9HYw4TUkgjf6zH2NXzbcldlMFKzTG6Q/s1600/cap.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCFNCohIAZ_PczOcZFSZxkg2Fxq7zgiLZP_CnUg_wiNeGKVtr2iNploAor0NSg7w0yPVveKMWZP7E1EKMiDGCFLMRTqvIJZF2pLXX-pPDLNca9HYw4TUkgjf6zH2NXzbcldlMFKzTG6Q/s1600/cap.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Срез или полоса указывает положительный вывод.&lt;/div&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;table align=&quot;center&quot; border=&quot;1&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Буква&lt;/td&gt;&lt;td&gt;&amp;nbsp; &amp;nbsp;e&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;G&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;J&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;A&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;C&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;D&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;E&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;V&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;H &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Напряжение&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;2,5&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;4&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;6,3&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;10&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;16&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;20&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;25&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;35&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;50&amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;
Например, конденсатор маркирован A475 - 4. 7mF 10V&lt;br /&gt;
475 = 47 x 10^5pF = 4.7 x 10^6pF = 4. 7mF&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/center&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/2361256118333443989/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/09/smd_14.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/2361256118333443989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/2361256118333443989'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/09/smd_14.html' title='Маркировка SMD элементов'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCFNCohIAZ_PczOcZFSZxkg2Fxq7zgiLZP_CnUg_wiNeGKVtr2iNploAor0NSg7w0yPVveKMWZP7E1EKMiDGCFLMRTqvIJZF2pLXX-pPDLNca9HYw4TUkgjf6zH2NXzbcldlMFKzTG6Q/s72-c/cap.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-9202133253412736781</id><published>2012-09-14T14:32:00.000+04:00</published><updated>2012-09-14T14:32:03.040+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="радиодетали"/><category scheme="http://www.blogger.com/atom/ns#" term="справочник"/><title type='text'>Ряды номиналов радиодеталей</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Номиналы промышленно выпускаемых радиодеталей (сопротивление резисторов, ёмкость конденсаторов, индуктивность небольших катушек индуктивности) не являются произвольными. Существуют специальные ряды номиналов, представляющие собой множества значений от 1 до 10. Номинал детали определённого ряда является произвольным значением из соответствующего множества, умноженным на произвольный десятичный множитель (10 в целой степени).&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;div&gt;Название ряда указывает общее число элементов в нём, т. е. ряд E24 содержит 24 числа в интервале от 1 до 10, E12 — 12 чисел и т. д.&lt;/div&gt;&lt;div&gt;Каждый ряд соответствует определённому допуску в номиналах деталей. Так, детали из ряда E6 имеют допустимое отклонение от номинала ±20 %, из ряда E12 — ±10 %, из ряда E24 — ±5 %. Собственно, ряды устроены таким образом, что следующее значение отличается от предыдущего чуть меньше, чем на двойной допуск.&lt;/div&gt;&lt;div&gt;Практически, ряд используется при разработке устройства. При расчете номинальных значений элементов в схеме из ряда выбирается значение наиболее близко подходящее к полученному в результате расчета.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Наиболее распространенные номинальные ряды:&lt;/div&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;3&quot; cellspacing=&quot;0&quot; class=&quot;standard&quot; frame=&quot;box&quot; style=&quot;text-align: center;&quot;&gt;&lt;caption&gt;&lt;b&gt;Номинальные ряды E3, E6, E12, E24&lt;/b&gt;&lt;/caption&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;th width=&quot;20%&quot;&gt;E3&lt;/th&gt; &lt;th width=&quot;20%&quot;&gt;E6&lt;/th&gt; &lt;th width=&quot;20%&quot;&gt;E12&lt;/th&gt; &lt;th width=&quot;20%&quot;&gt;E24&lt;/th&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;1,0&lt;/td&gt; &lt;td&gt;1,0&lt;/td&gt; &lt;td&gt;1,0&lt;/td&gt; &lt;td&gt;1,0&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;1,1&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;1,2&lt;/td&gt; &lt;td&gt;1,2&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;1,3&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;1,5&lt;/td&gt; &lt;td&gt;1,5&lt;/td&gt; &lt;td&gt;1,5&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;1,6&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;1,8&lt;/td&gt; &lt;td&gt;1,8&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;2,0&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;2,2&lt;/td&gt; &lt;td&gt;2,2&lt;/td&gt; &lt;td&gt;2,2&lt;/td&gt; &lt;td&gt;2,2&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;2,4&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;2,7&lt;/td&gt; &lt;td&gt;2,7&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;3,0&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;3,3&lt;/td&gt; &lt;td&gt;3,3&lt;/td&gt; &lt;td&gt;3,3&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;3,6&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;3,9&lt;/td&gt; &lt;td&gt;3,9&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;4,3&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;4,7&lt;/td&gt; &lt;td&gt;4,7&lt;/td&gt; &lt;td&gt;4,7&lt;/td&gt; &lt;td&gt;4,7&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;5,1&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;5,6&lt;/td&gt; &lt;td&gt;5,6&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;6,2&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;6,8&lt;/td&gt; &lt;td&gt;6,8&lt;/td&gt; &lt;td&gt;6,8&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;7,5&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;8,2&lt;/td&gt; &lt;td&gt;8,2&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;9,1&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/9202133253412736781/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/09/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/9202133253412736781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/9202133253412736781'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/09/blog-post.html' title='Ряды номиналов радиодеталей'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-1464805118583747459</id><published>2012-09-14T13:26:00.000+04:00</published><updated>2012-09-14T13:26:43.678+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SMD"/><category scheme="http://www.blogger.com/atom/ns#" term="справочник"/><title type='text'>Размеры элементов SMD</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Буду потихоньку создавать библиотечку со справочными материалами по электронике, чтоб не потерялись и далеко не искать.&lt;div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1C_on-G9LBDth4Fe-quL8mc2-9BUTPgu8vR88OFI7K3wOmIfeALiaCcs6GGK4Yt8QECQplxCGzDqFbiYLXPJg6VRcuAY35bTBKLU8rkLdra8g-TjIjco6LH6uOsW-H1dA_bQ8QMZaDg/s1600/SMD_Razmer.pdf-0.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1C_on-G9LBDth4Fe-quL8mc2-9BUTPgu8vR88OFI7K3wOmIfeALiaCcs6GGK4Yt8QECQplxCGzDqFbiYLXPJg6VRcuAY35bTBKLU8rkLdra8g-TjIjco6LH6uOsW-H1dA_bQ8QMZaDg/s640/SMD_Razmer.pdf-0.jpg&quot; width=&quot;451&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBEujpHy8DgmtTvmjgDjwD-d4A6kO0BPx0YDjSQ4aelNV4VN2DYWoVcXLz5SnlMmzv3QX-Uyq7wb3kFvEajQdWl4SaUAQf9T6TTc5veJ5QHix6YlPo_PLWhHU4YVGEydmronM1f15LWg/s1600/SMD_Razmer.pdf-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBEujpHy8DgmtTvmjgDjwD-d4A6kO0BPx0YDjSQ4aelNV4VN2DYWoVcXLz5SnlMmzv3QX-Uyq7wb3kFvEajQdWl4SaUAQf9T6TTc5veJ5QHix6YlPo_PLWhHU4YVGEydmronM1f15LWg/s640/SMD_Razmer.pdf-1.jpg&quot; width=&quot;452&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdu3WiAMiwtklWxWbo4rhyphenhyphene-ZLyASWk4Jj46J8VMW2xcReL-naXHYx4oUa2brOwnuTsloKomMPgYIB92stlJEcpBaRdHg9Eeodr5Z4aiEaezTUKKY-wIpPDxTL7EB9hGS5JbHl6amUg/s1600/SMD_Razmer.pdf-3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdu3WiAMiwtklWxWbo4rhyphenhyphene-ZLyASWk4Jj46J8VMW2xcReL-naXHYx4oUa2brOwnuTsloKomMPgYIB92stlJEcpBaRdHg9Eeodr5Z4aiEaezTUKKY-wIpPDxTL7EB9hGS5JbHl6amUg/s640/SMD_Razmer.pdf-3.jpg&quot; width=&quot;452&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_zdcS0X75SRzEX7uI6h-wVYFev2cNft_Ej_krvvj3K6h7rdZU_bTBkewMC_eRCaF4Fw2HlUgoEX4oAfXVRu4CLN_I8tT31XRDPNfULFrDoT90V_grd6jMbsNGzDvNrzoB55xJLIKDKQ/s1600/SMD_Razmer.pdf-2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_zdcS0X75SRzEX7uI6h-wVYFev2cNft_Ej_krvvj3K6h7rdZU_bTBkewMC_eRCaF4Fw2HlUgoEX4oAfXVRu4CLN_I8tT31XRDPNfULFrDoT90V_grd6jMbsNGzDvNrzoB55xJLIKDKQ/s640/SMD_Razmer.pdf-2.jpg&quot; width=&quot;452&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/1464805118583747459/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/09/smd.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/1464805118583747459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/1464805118583747459'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/09/smd.html' title='Размеры элементов SMD'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1C_on-G9LBDth4Fe-quL8mc2-9BUTPgu8vR88OFI7K3wOmIfeALiaCcs6GGK4Yt8QECQplxCGzDqFbiYLXPJg6VRcuAY35bTBKLU8rkLdra8g-TjIjco6LH6uOsW-H1dA_bQ8QMZaDg/s72-c/SMD_Razmer.pdf-0.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-264180507532575009</id><published>2012-07-31T16:07:00.001+04:00</published><updated>2012-07-31T16:07:07.789+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AVR"/><category scheme="http://www.blogger.com/atom/ns#" term="USBTiny"/><category scheme="http://www.blogger.com/atom/ns#" term="Программатор"/><title type='text'>Программатор AVR</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Делюсь опытом по выбору программатора для начинающего электронщика. Собрал и опробовал несколько вариантов, под катом результат и впечатления.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;И так приступим.&lt;br /&gt;
Первым делом лезем в поисковики за опытом старших товарищей и тут выясняется, что как правило, программатор для контроллеров включает в себя тот самый контроллер, который нужно запрограммировать. Приехали... Копаем дальше и узнаем о существовании программаторов, в схеме которых контроллера нет или же он есть, но его можно зашить штатными средствами Atmel через USB непосредственно в схеме программатора. Отлично! Вникаем дальше. Тут у нас возникают следующие критерии выбора:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Простота повторения (поскольку за паяльник не брался лет 10, а многие и никогда)&lt;/li&gt;
&lt;li&gt;Доступность элементов&lt;/li&gt;
&lt;li&gt;Интерфейс программатора должен быть USB (пойди ка найди сейчас LPT или COM)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Выбрать схему удовлетворяющую всем условиям сразу не удалось, поэтому было принято решение идти в обход:&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Собрать простейший программатор типа &quot;пять проводов&quot;(благо есть машина с LPT)&lt;/li&gt;
&lt;li&gt;Собрать программатор USBAsp и прошить его программатором из предыдущего пункта.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Поскольку подключаться контроллером на LPT порт напрямую показалось затеей стремной, был слеплен вот &lt;a href=&quot;http://we.easyelectronics.ru/Variator/programmator-stk200300.html&quot; target=&quot;_blank&quot;&gt;этот вариант STK200/300&lt;/a&gt;, а уже с его помощью &lt;a href=&quot;http://easyelectronics.ru/usb-programmator-avr-usbasp.html&quot; target=&quot;_blank&quot;&gt;вот такой вот USBAsp&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Тут бы и делу конец, однако USBAsp оказался штукой весьма капризной и работал весьма непредсказуемо, на разных ПК вел себя по разному и вообще мог то шить то не находить вообще один и тот же контроллер, в общем засада.&lt;/div&gt;
&lt;div&gt;
Ищем дальше. Вообще, я склонялся в вот &lt;a href=&quot;http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html&quot; target=&quot;_blank&quot;&gt;такому варианту&lt;/a&gt;&amp;nbsp;, однако у меня возникали жуткие сомнения в том что я смогу запаять безболезненно этакую вот &lt;a href=&quot;http://www.chipdip.ru/product/ft232rl.aspx&quot; target=&quot;_blank&quot;&gt;хрень&lt;/a&gt;&amp;nbsp;да еще и цена... В общем отказался от этой идеи в пользу клона AVRIsp MkII. Вероятно статься на этом бы и кончилась, если бы я был повнимательней при сборке. Готовый программатор без проблем прошился, определялся в AVRStudio и вел себя во всем хорошо, кроме одной мелочи - напрочь отказывался что либо делать с подключаемыми к нему МК. Уже потом, когда я его разбомбил, выяснилось, что при сборке была повреждена дорожка MISO на плате, но было уже поздно...&lt;/div&gt;
&lt;br /&gt;
И тут мне на глаза попалась статься про &lt;a href=&quot;http://www.getchip.net/posts/056-usb-programmator-legko-usbtiny/&quot; target=&quot;_blank&quot;&gt;USBTiny&lt;/a&gt;, он мне понравился сразу, копеечный набор деталей, простота конструкции, а главное, что вся нужная комплектуха была под рукой. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDN6STQXrCwe2RC7VOm1sQ2nq7obpnl4HTGgaqkcOYXyQvggPf1RO3xjg9tbjcPJshyphenhyphenvYdO-Ebu3cNVd3oET_veX-uI0QtI6NmmYONYO3BeXrhtGOf7ICPqaVMDPjLOj_ZLepu3ez-BQ/s1600/usbtinyisp.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDN6STQXrCwe2RC7VOm1sQ2nq7obpnl4HTGgaqkcOYXyQvggPf1RO3xjg9tbjcPJshyphenhyphenvYdO-Ebu3cNVd3oET_veX-uI0QtI6NmmYONYO3BeXrhtGOf7ICPqaVMDPjLOj_ZLepu3ez-BQ/s1600/usbtinyisp.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Развел под себя плату, собрал, прошил, опробовал и остался жутко доволен.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuh_t1ZPn1nkdO65pXUR9i5SAJqwnagBHEGbUAwlkK1FR5qET9M71HfZ90_izJOo__8lkG_vfTpQgKhe6IeORZ-r6ELcPyqBUjj_oaFKhyphenhyphengOj1ReTaJu2fq7WAYL8OBpEUWASu7qq1HA/s1600/USBTiny.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuh_t1ZPn1nkdO65pXUR9i5SAJqwnagBHEGbUAwlkK1FR5qET9M71HfZ90_izJOo__8lkG_vfTpQgKhe6IeORZ-r6ELcPyqBUjj_oaFKhyphenhyphengOj1ReTaJu2fq7WAYL8OBpEUWASu7qq1HA/s400/USBTiny.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Fuse-биты для прошивки:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV4h5slqzXb-LoZuJIHtE4P0zZmKuQrnNgdqa4JvhutvgEfwmB9JRTwXCzrQoY9baZnpDj-Cx-3vuN-0DWaqbcAvMfFKXPxbRIrFl7uN-6olHRgSlBWKnp9UUJV-_LSg-PH66lrw9HTQ/s1600/FuseBit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV4h5slqzXb-LoZuJIHtE4P0zZmKuQrnNgdqa4JvhutvgEfwmB9JRTwXCzrQoY9baZnpDj-Cx-3vuN-0DWaqbcAvMfFKXPxbRIrFl7uN-6olHRgSlBWKnp9UUJV-_LSg-PH66lrw9HTQ/s1600/FuseBit.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Спокойно определяет любые контроллеры которые у меня есть в наличии, работает на всех ПК которые есть подрукой. Единственный недостаток - не очень высокая скорость, ну да мне не в промышленных масштабах МК шить... Вот что получилось в итоге:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVwqYzWR5f4dn0IVKgtBAeQ5llj_fsYF9d35ZL-mAXOZPglFxjwTonpFFiJ78jtboOKahljAasLthlZ58Tp3BrO9Y1TYxgP0_OrF4o9lk_IBQPX5KYhZP6hf0owjg12GTWLjUfxCs79A/s1600/front.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;149&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVwqYzWR5f4dn0IVKgtBAeQ5llj_fsYF9d35ZL-mAXOZPglFxjwTonpFFiJ78jtboOKahljAasLthlZ58Tp3BrO9Y1TYxgP0_OrF4o9lk_IBQPX5KYhZP6hf0owjg12GTWLjUfxCs79A/s320/front.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTKvuRNvAXRV-EhJeiyp5CCQyUUmJF6rHHLgWsv9nmQEiPd2gthSLIkNDUKn6jcxVNz1Yk7boEXRViy6ElnSiuzkxC9P6j3f1TOmMy1RzeCzF6TM35X_moPdvqhNm9IjNAvFd5DuPvRw/s1600/back.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;138&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTKvuRNvAXRV-EhJeiyp5CCQyUUmJF6rHHLgWsv9nmQEiPd2gthSLIkNDUKn6jcxVNz1Yk7boEXRViy6ElnSiuzkxC9P6j3f1TOmMy1RzeCzF6TM35X_moPdvqhNm9IjNAvFd5DuPvRw/s320/back.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Зеленый светодиод - готовность, красный - активность, выключатель - подача питания на МК от программатора (JP3 по схеме), JP5 - подключает вывод Reset к разъему программирования, дабы тиньку прошить прямо в программаторе, его я наружу выводить не стал, поскольку не часто нужен будет.&lt;br /&gt;
В качестве управляющего софта используется avrdude 5.1, оболочка SinaProg 2.0&lt;br /&gt;
Все необходимое(прошивка, плата, драйвер, софт) &lt;a href=&quot;http://depositfiles.com/files/5lrqn391n&quot;&gt;берем тут&lt;/a&gt;.&lt;br /&gt;
Успехов всем!&lt;br /&gt;
P.S.&lt;br /&gt;
Спасибо всем авторам статей, использованных в моих экзерсисах.&lt;br /&gt;
При подготовке статьи использованы материалы с сайтов easyelectronics.ru, getchip.net &amp;nbsp;и многих других, которые уже и не помню.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/264180507532575009/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/07/avr.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/264180507532575009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/264180507532575009'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/07/avr.html' title='Программатор AVR'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDN6STQXrCwe2RC7VOm1sQ2nq7obpnl4HTGgaqkcOYXyQvggPf1RO3xjg9tbjcPJshyphenhyphenvYdO-Ebu3cNVd3oET_veX-uI0QtI6NmmYONYO3BeXrhtGOf7ICPqaVMDPjLOj_ZLepu3ez-BQ/s72-c/usbtinyisp.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-5922383307168222944</id><published>2012-05-24T10:29:00.000+04:00</published><updated>2012-05-24T10:29:47.355+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AVR"/><title type='text'>Небольшие изменения</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;После десятилетнего перерыва, вновь начал заниматься любимым делом( оно же специальность по образованию, повезло, правда? :) &amp;nbsp;) электроникой, а конкретнее микроконтроллерами(еще конкретнее Atmel AVR). Так что в меню теперь появятся статьи и по этой теме. Возможно, так же, что статьи будут выходить почаще.&lt;br /&gt;
В ближайшее время напишу чего нибудь про программатор, а с чего же начинать то еще?&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/5922383307168222944/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2012/05/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/5922383307168222944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/5922383307168222944'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2012/05/blog-post.html' title='Небольшие изменения'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-8870819830035754860</id><published>2011-09-08T16:47:00.000+04:00</published><updated>2011-09-08T16:47:27.760+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Excell"/><category scheme="http://www.blogger.com/atom/ns#" term="Office"/><category scheme="http://www.blogger.com/atom/ns#" term="VBA"/><title type='text'>Сумма прописью в Excell</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;На днях возникла необходимость автоматического преобразования чисел в текстовый вид в MS Excell. Вариант написания своего макроса душу не грел, как минимум потому, что задача явно не уникальная и все уже написано до нас. Естественно, что что поиск это предположение подтвердил, была найдена замечательная &lt;a href=&quot;http://www.profstaff.info/sumprop.html&quot;&gt;надстройка&lt;/a&gt;. Правда, как обычно, не обошлось без НО - народ возжелал, чтобы поддерживались не только рубли/евро/доллары, но и условные единицы. Тут уж и пришлось вложить свои пять копеек...&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Для удовлетворения потребностей коллег, на основании кода &lt;a href=&quot;http://www.profstaff.info/&quot;&gt;автора&lt;/a&gt; была дописана функция, обрабатывающая суммы в УЕ. Исходный код смотрим ниже:&lt;br /&gt;
&lt;blockquote&gt;&#39;&lt;br /&gt;
&#39; Функция возвращает сумму прописью в условных единицах&lt;br /&gt;
&#39;&lt;br /&gt;
Function СуммаПрописьюУЕ(УЕ)&lt;br /&gt;
&#39; Вызов функции для получения числа прописью&lt;br /&gt;
Число = CStr(Fix(УЕ))&lt;br /&gt;
МужскойРод = Ложь&lt;br /&gt;
СуммаПрописьюУЕ = ЧислоПрописью(Число, МужскойРод)&lt;br /&gt;
&#39; Строку с заглавной буквы&lt;br /&gt;
СуммаПрописьюУЕ = UCase(Mid(СуммаПрописьюУЕ, 1, 1)) + _&lt;br /&gt;
Mid(СуммаПрописьюУЕ, 2)&lt;br /&gt;
&#39; Вычислить длину исходного числа&lt;br /&gt;
Длина = Len(Число)&lt;br /&gt;
&#39; Если число только из одной цифры, добавить&lt;br /&gt;
&#39; до двух (для единообразия алгоритма)&lt;br /&gt;
If Длина = 1 Then&lt;br /&gt;
Число = &quot;0&quot; &amp;amp; Число&lt;br /&gt;
Длина = Длина + 1&lt;br /&gt;
End If&lt;br /&gt;
&#39; Для чисел, оканчивающихся на 1 добавляем &quot;целая&quot;&lt;br /&gt;
If Mid(Число, Длина, 1) = 1 Then&lt;br /&gt;
Целые = &quot;целая&quot;&lt;br /&gt;
&#39; Для всех остальных случаев &quot;целых&quot;&lt;br /&gt;
Else&lt;br /&gt;
Целые = &quot;целых&quot;&lt;br /&gt;
End If&lt;br /&gt;
Окончание = &quot;условных единиц&quot;&lt;br /&gt;
&#39; Считаем центы&lt;br /&gt;
Переменная = (УЕ - Fix(УЕ)) * 100&lt;br /&gt;
If (Переменная - Fix(Переменная)) &amp;gt; 0.5 Then&lt;br /&gt;
Переменная = Fix(Переменная) + 1&lt;br /&gt;
Else&lt;br /&gt;
Переменная = Fix(Переменная)&lt;br /&gt;
End If&lt;br /&gt;
Центы = CStr(Переменная)&lt;br /&gt;
&#39; Окончательно формируем результат, добавляя центы&lt;br /&gt;
If Len(Центы) = 1 Then&lt;br /&gt;
Центы = &quot;0&quot; + Центы&lt;br /&gt;
End If&lt;br /&gt;
СуммаПрописьюУЕ = СуммаПрописьюУЕ + Целые + &quot; и &quot; + Центы + &quot; &quot;&lt;br /&gt;
&#39; Для чисел, оканчивающихся на 1 добавляем &quot;сотая&quot;&lt;br /&gt;
If Mid(Центы, 2) = 1 Then&lt;br /&gt;
СуммаПрописьюУЕ = СуммаПрописьюУЕ + &quot;сотая&quot; + &quot;&quot; + Окончание&lt;br /&gt;
&#39; Для всех остальных случаев &quot;сотых&quot;&lt;br /&gt;
Else&lt;br /&gt;
СуммаПрописьюУЕ = СуммаПрописьюУЕ + &quot;сотых&quot; + &quot; &quot; + Окончание&lt;br /&gt;
End If&lt;br /&gt;
End Function&lt;/blockquote&gt;&amp;nbsp;Чтобы воспользоваться результатом моих трудов, переходим на страницу автора надстройки, скачиваем ее и устанавливаем согласно&lt;a href=&quot;http://www.profstaff.info/sumprop.html&quot;&gt; инструкции&lt;/a&gt;. Далее, открываем в Excell редактор VisualBasic и вставляем в авторский код мою поделку, нажимаем кнопку сохранить и пользуемся результатом. Ну, а если лень совсем, то берем готовую надстройку &lt;a href=&quot;http://depositfiles.com/files/jkpjftn98&quot;&gt;тут&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/8870819830035754860/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2011/09/excell.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8870819830035754860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8870819830035754860'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2011/09/excell.html' title='Сумма прописью в Excell'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-8264669561917907876</id><published>2011-04-15T13:21:00.003+04:00</published><updated>2011-08-09T16:39:53.430+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>Перенос логинов с паролями Microsoft SQL Server 2005.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Надумал поменять сервер, отработавший 5 лет, на новую железку. Как обычно вылезла куча проблем, о существовании которых за время, прошедшее с момента предыдущей установки, было благополучно забыто. Одна из них - как перетащить логины юзеров SQL 2005 на новый сервер.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=8264669561917907876&quot; name=&quot;more&quot;&gt;&lt;/a&gt;&lt;b&gt;Как перенести базу&lt;/b&gt;&lt;br /&gt;
Останавливаем исходный сервер и копируем файлы нужной БД на новый сервер.&lt;br /&gt;
На новом сервере запускаем SQL Server Management Studio. Переходим к пункту Databases, щелкаем по нему правой кнопкой мыши и выбираем в контекстном меню пункт Attach... Дальше описывать нет смысла, поскольку все предельно ясно.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Перенос логинов&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;Методом гугленья был найден следующий метод:&lt;/span&gt;&lt;br /&gt;
&lt;/b&gt;На ИСХОДНОМ сервере необходимо выполнить скрипт -&lt;br /&gt;
&lt;blockquote&gt;USE master &lt;br /&gt;
GO &lt;br /&gt;
IF OBJECT_ID (&#39;sp_hexadecimal&#39;) IS NOT NULL &lt;br /&gt;
DROP PROCEDURE sp_hexadecimal &lt;br /&gt;
GO &lt;br /&gt;
CREATE PROCEDURE sp_hexadecimal &lt;br /&gt;
@binvalue varbinary(256), &lt;br /&gt;
@hexvalue varchar (514) OUTPUT &lt;br /&gt;
AS &lt;br /&gt;
DECLARE @charvalue varchar (514) &lt;br /&gt;
DECLARE @i int &lt;br /&gt;
DECLARE @length int &lt;br /&gt;
DECLARE @hexstring char(16) &lt;br /&gt;
SELECT @charvalue = &#39;0x&#39; &lt;br /&gt;
SELECT @i = 1 &lt;br /&gt;
SELECT @length = DATALENGTH (@binvalue) &lt;br /&gt;
SELECT @hexstring = &#39;0123456789ABCDEF&#39; &lt;br /&gt;
WHILE (@i &amp;lt;= @length)  BEGIN    DECLARE @tempint int    DECLARE @firstint int    DECLARE @secondint int    SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))    SELECT @firstint = FLOOR(@tempint/16)    SELECT @secondint = @tempint - (@firstint*16)    SELECT @charvalue = @charvalue +      SUBSTRING(@hexstring, @firstint+1, 1) +      SUBSTRING(@hexstring, @secondint+1, 1)    SELECT @i = @i + 1  END   SELECT @hexvalue = @charvalue  GO     IF OBJECT_ID (&#39;sp_help_revlogin&#39;) IS NOT NULL    DROP PROCEDURE sp_help_revlogin  GO  CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS  DECLARE @name sysname  DECLARE @type varchar (1)  DECLARE @hasaccess int  DECLARE @denylogin int  DECLARE @is_disabled int  DECLARE @PWD_varbinary  varbinary (256)  DECLARE @PWD_string  varchar (514)  DECLARE @SID_varbinary varbinary (85)  DECLARE @SID_string varchar (514)  DECLARE @tmpstr  varchar (1024)  DECLARE @is_policy_checked varchar (3)  DECLARE @is_expiration_checked varchar (3)   DECLARE @defaultdb sysname     IF (@login_name IS NULL)    DECLARE login_curs CURSOR FOR         SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM  sys.server_principals p LEFT JOIN sys.syslogins l        ON ( l.name = p.name ) WHERE p.type IN ( &#39;S&#39;, &#39;G&#39;, &#39;U&#39; ) AND p.name &amp;lt;&amp;gt; &#39;sa&#39; &lt;br /&gt;
ELSE &lt;br /&gt;
DECLARE login_curs CURSOR FOR &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM &lt;br /&gt;
sys.server_principals p LEFT JOIN sys.syslogins l &lt;br /&gt;
ON ( l.name = p.name ) WHERE p.type IN ( &#39;S&#39;, &#39;G&#39;, &#39;U&#39; ) AND p.name = @login_name &lt;br /&gt;
OPEN login_curs &lt;br /&gt;
&lt;br /&gt;
FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin &lt;br /&gt;
IF (@@fetch_status = -1) &lt;br /&gt;
BEGIN &lt;br /&gt;
PRINT &#39;No login(s) found.&#39; &lt;br /&gt;
CLOSE login_curs &lt;br /&gt;
DEALLOCATE login_curs &lt;br /&gt;
RETURN -1 &lt;br /&gt;
END &lt;br /&gt;
SET @tmpstr = &#39;/* sp_help_revlogin script &#39; &lt;br /&gt;
PRINT @tmpstr &lt;br /&gt;
SET @tmpstr = &#39;** Generated &#39; + CONVERT (varchar, GETDATE()) + &#39; on &#39; + @@SERVERNAME + &#39; */&#39; &lt;br /&gt;
PRINT @tmpstr &lt;br /&gt;
PRINT &#39;&#39; &lt;br /&gt;
WHILE (@@fetch_status &amp;lt;&amp;gt; -1) &lt;br /&gt;
BEGIN &lt;br /&gt;
IF (@@fetch_status &amp;lt;&amp;gt; -2) &lt;br /&gt;
BEGIN &lt;br /&gt;
PRINT &#39;&#39; &lt;br /&gt;
SET @tmpstr = &#39;-- Login: &#39; + @name &lt;br /&gt;
PRINT @tmpstr &lt;br /&gt;
IF (@type IN ( &#39;G&#39;, &#39;U&#39;)) &lt;br /&gt;
BEGIN -- NT authenticated account/group &lt;br /&gt;
&lt;br /&gt;
SET @tmpstr = &#39;CREATE LOGIN &#39; + QUOTENAME( @name ) + &#39; FROM WINDOWS WITH DEFAULT_DATABASE = [&#39; + @defaultdb + &#39;]&#39; &lt;br /&gt;
END &lt;br /&gt;
ELSE BEGIN -- SQL Server authentication &lt;br /&gt;
-- obtain password and sid &lt;br /&gt;
SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, &#39;PasswordHash&#39; ) AS varbinary (256) ) &lt;br /&gt;
EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT &lt;br /&gt;
EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT &lt;br /&gt;
&lt;br /&gt;
-- obtain password policy state &lt;br /&gt;
SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN &#39;ON&#39; WHEN 0 THEN &#39;OFF&#39; ELSE NULL END FROM sys.sql_logins WHERE name = @name &lt;br /&gt;
SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN &#39;ON&#39; WHEN 0 THEN &#39;OFF&#39; ELSE NULL END FROM sys.sql_logins WHERE name = @name &lt;br /&gt;
&lt;br /&gt;
SET @tmpstr = &#39;CREATE LOGIN &#39; + QUOTENAME( @name ) + &#39; WITH PASSWORD = &#39; + @PWD_string + &#39; HASHED, SID = &#39; + @SID_string + &#39;, DEFAULT_DATABASE = [&#39; + @defaultdb + &#39;]&#39; &lt;br /&gt;
&lt;br /&gt;
IF ( @is_policy_checked IS NOT NULL ) &lt;br /&gt;
BEGIN &lt;br /&gt;
SET @tmpstr = @tmpstr + &#39;, CHECK_POLICY = &#39; + @is_policy_checked &lt;br /&gt;
END &lt;br /&gt;
IF ( @is_expiration_checked IS NOT NULL ) &lt;br /&gt;
BEGIN &lt;br /&gt;
SET @tmpstr = @tmpstr + &#39;, CHECK_EXPIRATION = &#39; + @is_expiration_checked &lt;br /&gt;
END &lt;br /&gt;
END &lt;br /&gt;
IF (@denylogin = 1) &lt;br /&gt;
BEGIN -- login is denied access &lt;br /&gt;
SET @tmpstr = @tmpstr + &#39;; DENY CONNECT SQL TO &#39; + QUOTENAME( @name ) &lt;br /&gt;
END &lt;br /&gt;
ELSE IF (@hasaccess = 0) &lt;br /&gt;
BEGIN -- login exists but does not have access &lt;br /&gt;
SET @tmpstr = @tmpstr + &#39;; REVOKE CONNECT SQL TO &#39; + QUOTENAME( @name ) &lt;br /&gt;
END &lt;br /&gt;
IF (@is_disabled = 1) &lt;br /&gt;
BEGIN -- login is disabled &lt;br /&gt;
SET @tmpstr = @tmpstr + &#39;; ALTER LOGIN &#39; + QUOTENAME( @name ) + &#39; DISABLE&#39; &lt;br /&gt;
END &lt;br /&gt;
PRINT @tmpstr &lt;br /&gt;
END &lt;br /&gt;
&lt;br /&gt;
FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin &lt;br /&gt;
END &lt;br /&gt;
CLOSE login_curs &lt;br /&gt;
DEALLOCATE login_curs &lt;br /&gt;
RETURN 0 &lt;br /&gt;
GO&lt;/blockquote&gt;Этот скрипт создает в базе master хранимые процедуры sp_hexadecimal и sp_help_revlogin. Затем на том же сервере выполняем - &lt;br /&gt;
&lt;blockquote&gt;EXEC master..sp_help_revlogin&lt;/blockquote&gt;Результатом выполнения этой хранимой процедуры является скрипт, который запускаем на НОВОМ  сервере. Если имена нового домена и нового сервера отличаются от исходных, то &amp;nbsp;необходимо произвести их замену в полученном скрипте. Например открыть скрипт с помощью блокнота нажать Ctrl+H и произвести замену.&lt;br /&gt;
Важные примечания от Microsoft:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px;&quot;&gt;Перед выполнением выходного сценария в экземпляре на сервере B прочтите сведения, представленные ниже.&lt;/span&gt;&lt;br /&gt;
&lt;ul style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;Внимательно просмотрите выходной сценарий. Если серверы A и B находятся в различных доменах, потребуется изменить его. В этом случае замените в операторах CREATE LOGIN исходное имя домена на новое имя домена. Так как интегрированные имена входа с правами доступа в новом домене будут иметь ИД безопасности, отличные от использовавшихся в исходном домене, пользователи будут изолированы от этих имен. Дополнительные сведения об устранении проблемы с изолированными пользователями см. в следующей статье базы знаний Майкрософт:&lt;div class=&quot;indent&quot; style=&quot;box-sizing: border-box; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; padding-top: 0px;&quot;&gt;&lt;a class=&quot;KBlink&quot; href=&quot;http://support.microsoft.com/kb/240872&quot; style=&quot;box-sizing: border-box; color: #07679a; text-decoration: none;&quot;&gt;240872&lt;/a&gt;&amp;nbsp;&amp;nbsp;Устранение проблем, связанных с разрешениями, при перемещении базы данных на другой сервер Microsoft SQL Server&lt;/div&gt;Если серверы A и B находятся в одном и том же домене, используется одинаковый ИД безопасности. Поэтому, скорее всего, пользователи не будут изолированы.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;В выходном сценарии имена входа создаются с зашифрованным паролем. Это объясняется наличием аргумента HASHED для оператора CREATE LOGIN. Этот аргумент указывает, что пароль, который вводится после аргумента PASSWORD, уже хэширован.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;По умолчанию только члены с предопределенной ролью сервера&amp;nbsp;&lt;b style=&quot;box-sizing: border-box;&quot;&gt;sysadmin&lt;/b&gt;&amp;nbsp;могут выполнять оператор SELECT из представления&amp;nbsp;&lt;b style=&quot;box-sizing: border-box;&quot;&gt;sys.server_principals&lt;/b&gt;. Пользователи могут создавать или выполнять конечный сценарий только в том случае, если член с предопределенной ролью сервера&lt;b style=&quot;box-sizing: border-box;&quot;&gt;sysadmin&lt;/b&gt;&amp;nbsp;предоставит им необходимые разрешения.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;При выполнении действий, описанных в данной статье, сведения базы данных по умолчанию для определенного имени входа не перемещаются. Это происходит потому, что база данных по умолчанию может отсутствовать на сервере B. Чтобы определить базу данных по умолчанию для входа, используйте оператор ALTER LOGIN, указав имя входа и базу данных по умолчанию в качестве аргументов.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;При сортировке на сервере A может не учитываться регистр, а на сервере B — учитываться. В этом случае после перемещения имен входа и паролей в экземпляр на сервере B пользователи должны вводить пароли полностью прописными буквами.&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;Кроме того, возможно, при сортировке на сервере A учитывается регистр, а на сервере B — не учитываться. В этом случае пользователи не смогут входить в систему с именами и паролями, перемещенными в экземпляр на сервере B, если не выполняется одно из следующих условий:&lt;ul style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;исходные пароли не содержат букв;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;все буквы в исходных паролях прописные.&lt;/li&gt;
&lt;/ul&gt;Если регистр учитывается или не учитывается при сортировке одновременно на обоих серверах, эта проблема не возникает.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;Если имя входа, которое уже присутствует в экземпляре на сервере B, совпадает с именем в выходном сценарии, при выполнении сценария в экземпляре на сервере появится следующее сообщение об ошибке:&lt;div class=&quot;kb_errormsgbody&quot; style=&quot;border-bottom-color: rgb(127, 186, 226); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(127, 186, 226); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(127, 186, 226); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(127, 186, 226); border-top-style: solid; border-top-width: 12px; box-sizing: border-box; margin-bottom: 10px; overflow-x: auto; position: relative;&quot;&gt;&lt;div class=&quot;kb_errorcontent&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(127, 186, 226); border-bottom-style: solid; border-bottom-width: 0px; border-left-color: rgb(127, 186, 226); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(127, 186, 226); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(127, 186, 226); border-top-style: solid; border-top-width: 0px; box-sizing: border-box; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 524px;&quot;&gt;&lt;div class=&quot;errormsg&quot; style=&quot;box-sizing: border-box; color: #333333; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-height: 20px; padding-bottom: 20px; padding-left: 10px; padding-right: 10px; padding-top: 10px; position: relative; width: 524px;&quot;&gt;Сооб. 15025, Уровень 16, Состояние 1, Строка 1&lt;br /&gt;
Сервер-участник &quot;&lt;var style=&quot;box-sizing: border-box;&quot;&gt;пользователь&lt;/var&gt;&quot; уже существует.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Если имя входа, которое уже присутствует в экземпляре на сервере B, совпадает с ИД безопасности в выходном сценарии, при выполнении сценария в экземпляре на сервере появится следующее сообщение об ошибке:&lt;div class=&quot;kb_errormsgbody&quot; style=&quot;border-bottom-color: rgb(127, 186, 226); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(127, 186, 226); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(127, 186, 226); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(127, 186, 226); border-top-style: solid; border-top-width: 12px; box-sizing: border-box; margin-bottom: 10px; overflow-x: auto; position: relative;&quot;&gt;&lt;div class=&quot;kb_errorcontent&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(127, 186, 226); border-bottom-style: solid; border-bottom-width: 0px; border-left-color: rgb(127, 186, 226); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(127, 186, 226); border-right-style: solid; border-right-width: 0px; border-top-color: rgb(127, 186, 226); border-top-style: solid; border-top-width: 0px; box-sizing: border-box; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 524px;&quot;&gt;&lt;div class=&quot;errormsg&quot; style=&quot;box-sizing: border-box; color: #333333; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-height: 20px; padding-bottom: 20px; padding-left: 10px; padding-right: 10px; padding-top: 10px; position: relative; width: 524px;&quot;&gt;Сооб. 15433, Уровень 16, Состояние 1, Строка 1&lt;br /&gt;
Указанный идентификатор безопасности параметра используется.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Следовательно, необходимо выполнить указанные ниже действия.&lt;ol style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;Внимательно просмотрите выходной сценарий.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;Просмотрите содержимое в представлении&amp;nbsp;&lt;b style=&quot;box-sizing: border-box;&quot;&gt;sys.server_principals&lt;/b&gt;&amp;nbsp;в экземпляре на сервере B.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;Исправьте ошибки, соответствующие сообщениям.&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; position: inherit;&quot;&gt;В SQL Server 2005 на основе ИД безопасности имени входа осуществляется доступ на уровне базы данных. Имя входа может иметь два различных ИД безопасности для двух баз данных на сервере. В этом случае имя входа может использоваться только для входа в базу данных, ИД безопасности которой соответствует ИД безопасности в представлении&amp;nbsp;&lt;b style=&quot;box-sizing: border-box;&quot;&gt;sys.server_principals&lt;/b&gt;. Такая проблема возможна при консолидации двух баз данных с различных серверов. Для ее устранения вручную удалите имя входа из базы данных с несоответствующим ИД безопасности с помощью оператора DROP USER. После этого снова добавьте имя входа с помощью оператора CREATE USER.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Честно стырено &lt;a href=&quot;http://economicsoft.ru/forums/viewtopic.php?t=3182&quot;&gt;отсюда&lt;/a&gt;. Спасибо пользователю Begemot&lt;br /&gt;
Первоисточник &lt;a href=&quot;http://support.microsoft.com/kb/918992/&quot;&gt;тут&lt;/a&gt;.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/8264669561917907876/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2011/04/microsoft-sql-server-2005.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8264669561917907876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8264669561917907876'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2011/04/microsoft-sql-server-2005.html' title='Перенос логинов с паролями Microsoft SQL Server 2005.'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-6147756694673854454</id><published>2011-03-24T16:00:00.003+03:00</published><updated>2011-08-09T16:40:18.372+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASUS"/><category scheme="http://www.blogger.com/atom/ns#" term="irda"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="XBMC"/><title type='text'>Ubuntu и ИК пульт от ASUS AT3IONT-I deluxe</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Исходные данные:&lt;br /&gt;
Есть компьютер под управлением &lt;a href=&quot;http://xbmc.org/&quot;&gt;XBMClive&lt;/a&gt;, к нему прикручен пульт ДУ&amp;nbsp;Microsoft IrDa adapter for MCE, работающий с lirc что называется &quot;из коробки&quot;. Но в один момент пульт превращается в кирпич с кнопками... Не беда! комп собран на базе&amp;nbsp;ASUS AT3IONT-I deluxe, а у этой мамки в комплекте есть свой замечательный пульт! Но, как оказалось, lirc о существовании такого пульта даже и не подозревает- а вот это уже грустно... Что ж, достаем бубен и заходим под кат.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=6147756694673854454&quot; name=&quot;more&quot;&gt;&lt;/a&gt;&lt;br /&gt;
К счастью, после весьма недолгих поисков, решение было найдено и воплощено в жизнь.&lt;br /&gt;
Все что следует далее - мой вольный перевод вот &lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=1458300&amp;amp;page=2&quot;&gt;этой&lt;/a&gt; ветки форума убунтоводов.&lt;br /&gt;
Итак, хороший человек &lt;a href=&quot;http://ubuntuforums.org/member.php?u=109915&quot;&gt;pj7&lt;/a&gt;&amp;nbsp;сконструлил пакет, решающий нашу проблему. Правда пульт будет работать не через lirc, а как клавиатура, что мне абсолютно без разницы - главное чтоб работало.&lt;br /&gt;
Забираем пакет &lt;a href=&quot;http://ubuntuone.com/p/3aX/&quot;&gt;здесь&lt;/a&gt;. Этот пакет содержит исходные коды драйвера (hid-philips-asus) для ПДУ и ath3k для bluetooth адаптера установленного на материнской плате (я этим добром не пользуюсь, поэтому ничего про установку, настройку и работоспособность сказать не могу)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Установка.&lt;/b&gt;&lt;br /&gt;
Чтобы установить пакет выполняем:&lt;br /&gt;
&lt;blockquote&gt;&lt;blockquuote&gt;sudo dpkg -i asus-at3iont-i-deluxe-dkms_1.0.1_all.deb&lt;/blockquuote&gt;&lt;/blockquote&gt;DKMS автоматически соберет и установит модули в систему, как для текущего ядра, так и для последующих обновлений ядра.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Загрузка модулей.&lt;/b&gt;&lt;br /&gt;
Модуль &amp;nbsp;ath3k для bluetooth будет запущен автоматически, после перезагрузки системы.&lt;br /&gt;
Модуль hid-philips-asus для ПДУ требует для запуска некоторых ухищрений. Дело в том. что он зависит от модуля usbhid, но при этом &lt;b&gt;должен быть загружен раньше&lt;/b&gt;, чем usbhid. Иначе usbhid займет приемник ПДУ и hid-philips-asus не сможет получить к нему (приемнику) доступ. Для решения этой проблемы в составе пакета есть скрипт load-module.sh&lt;br /&gt;
Выполняем:&lt;br /&gt;
&lt;blockquote&gt;sudo sh /usr/src/asus-at3iont-i-deluxe-1.0.1/drivers/hid-philips-asus/load-module.sh&lt;/blockquote&gt;Суть решения в том, что данный скрипт выгружает все загруженные ранее модули hid, загружает hid-philips-asus и затем загружает модули hid, выгруженные ранее. (Надо сказать костыль кривоват, ну да работает и ладно)&lt;br /&gt;
Чтобы это безобразие отрабатывало при запуске системы, добавляем строку для его запуска в /etc/rc.local&lt;br /&gt;
Если модули загружены в нужном порядке, после загрузки модуля в логах должно появиться сообщение типа:&lt;br /&gt;
&lt;blockquote&gt;input: PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS as /devices/pci0000:00/0000:00:0b.1/usb1/1-4/1-4.1/1-4.1.3/1-4.1.3:1.0/input/input60&lt;br /&gt;
&lt;b&gt;philips_asus&lt;/b&gt; 0003:0471:206C.0004: input: USB HID v1.00 Keyboard [PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS] on usb-0000:00:0b.1-4.1.3/input0&lt;/blockquote&gt;В противном случае:&lt;br /&gt;
&lt;blockquote&gt;input: PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS as /devices/pci0000:00/0000:00:0b.1/usb1/1-4/1-4.1/1-4.1.3/1-4.1.3:1.0/input/input63&lt;br /&gt;
&lt;b&gt;generic-usb&lt;/b&gt; 0003:0471:206C.0005: input,hiddev98,hidraw3: USB HID v1.00 Keyboard [PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS] on usb-0000:00:0b.1-4.1.3/input0&lt;/blockquote&gt;&lt;b&gt;Настройка&lt;/b&gt;&lt;br /&gt;
Опытным путем было выяснено, что на пульте не работает кнопка &quot;OK&quot;, в ходе дальнейших изысканий на форуме нашлось решение - открываем для редактирования файл /usr/src/asus-at3iont-i-deluxe-1.0.1/drivers/hid-philips-asus/mappings.h и меняем строку&lt;br /&gt;
&lt;blockquote&gt;define BUTTON_OK      KEY_OK&lt;br /&gt;
на&lt;br /&gt;
define BUTTON_OK      KEY_ENTER&lt;/blockquote&gt;После чего выполняем&lt;br /&gt;
&lt;blockquote&gt;sudo dpkg-reconfigure asus-at3iont-i-deluxe-dkms&lt;/blockquote&gt;Перезагружаемся, проверяем - все работает как надо! Значение любой кнопки на пульте можно переназначить, допустимые значения KEY_* можно посмотреть &lt;a href=&quot;http://lxr.linux.no/linux+v2.6.33/include/linux/input.h&quot;&gt;тут&lt;/a&gt;&lt;br /&gt;
На сегодня все.&lt;br /&gt;
Всем удачи!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/6147756694673854454/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2011/03/ubuntu-asus-at3iont-i-deluxe.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/6147756694673854454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/6147756694673854454'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2011/03/ubuntu-asus-at3iont-i-deluxe.html' title='Ubuntu и ИК пульт от ASUS AT3IONT-I deluxe'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-953241976258130344</id><published>2011-02-07T18:12:00.002+03:00</published><updated>2011-08-09T16:40:41.362+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mc"/><category scheme="http://www.blogger.com/atom/ns#" term="shell"/><title type='text'>Шорткаты для MC (Midnight Commander)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;На днях выяснил, что помимо тех нескольких горячих клавиш, которыми я пользуюсь в mc, существует еще масса интересных кнопок. Под катом описание, честно стырено &lt;a href=&quot;http://mydebianblog.blogspot.com/2011/01/midnight-commander.html&quot;&gt;отсюда&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=953241976258130344&quot; name=&quot;more&quot;&gt;&lt;/a&gt;&lt;b&gt;Управление панелями&lt;/b&gt;&lt;br /&gt;
&lt;table border=&quot;0&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Tab, Ctrl + i&lt;/b&gt;&lt;/td&gt;     &lt;td&gt;сменить текущую (активную) панель&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt;&lt;td width=&quot;150&quot;&gt;&lt;b&gt;Insert, Ctrl + t&lt;/b&gt;&lt;/td&gt;     &lt;td&gt;отметить файл либо снять отметку&lt;/td&gt;   &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + g Alt + r Alt + j&lt;/b&gt;&lt;/td&gt;     &lt;td&gt;подсветка верхнего, среднего или нижнего файла из числа отображаемых на панели&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + t&lt;/b&gt;&lt;/td&gt;&lt;td&gt;переключить режим отображения&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + \&lt;/b&gt;&lt;/td&gt;&lt;td&gt;показать «Справочник каталогов»&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt; &lt;td&gt;выбрать (отметить) группу файлов по регулярному выражению&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;\&lt;/b&gt;&lt;/td&gt;&lt;td&gt;снять отметку с группы файлов&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + o&lt;/b&gt;&lt;/td&gt; &lt;td&gt;если выделен каталог, установить его текущим в неактивной панели. Иначе, установить родительский каталог текущим.&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + i&lt;/b&gt;&lt;/td&gt;&lt;td&gt;текущий каталог активной панели  станет текущим каталогом неактивной панели&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + y&lt;/b&gt;&lt;/td&gt; &lt;td&gt;к предыдущему каталогу из истории перемещения&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + u&lt;/b&gt;&lt;/td&gt;&lt;td&gt;к следующему каталогу из истории перемещения&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + H&lt;/b&gt;&lt;/td&gt; &lt;td&gt;отображает историю перемещения по каталогам&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + e&lt;/b&gt;&lt;/td&gt;&lt;td&gt;поменять кодировку панели&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + .&lt;/b&gt;&lt;/td&gt; &lt;td&gt;отобразить скрытые файлы&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + ,&lt;/b&gt;&lt;/td&gt;&lt;td&gt;расположить панели вертикально/горизонтально&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + u&lt;/b&gt;&lt;/td&gt; &lt;td&gt;поменять панели местами&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;Разные команды&lt;/b&gt;&lt;br /&gt;
&lt;table border=&quot;0&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + l&lt;/b&gt;&lt;/td&gt;&lt;td&gt;перерисовать экран&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x c&lt;/b&gt;&lt;/td&gt; &lt;td&gt;поменять права (chmod) для отмеченных файлов&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x o&lt;/b&gt;&lt;/td&gt;&lt;td&gt;поменять владельца (chown) для отмеченных файлов&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x l&lt;/b&gt;&lt;/td&gt; &lt;td&gt;создать жёсткую ссылку&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x s&lt;/b&gt;&lt;/td&gt;&lt;td&gt;создать абсолютную символическую ссылку&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x v&lt;/b&gt;&lt;/td&gt; &lt;td&gt;создать относительную символическую ссылку&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x i&lt;/b&gt;&lt;/td&gt;&lt;td&gt;переводит пассивную панель в режим «Информация»&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x q&lt;/b&gt;&lt;/td&gt; &lt;td&gt;переводит пассивную панель в режим быстрого просмотра&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x !&lt;/b&gt;&lt;/td&gt;&lt;td&gt;меню → «Критерий панелизации»&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x h&lt;/b&gt;&lt;/td&gt; &lt;td&gt;добавить имя каталога в «Справочник каталогов»&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + !&lt;/b&gt;&lt;/td&gt;&lt;td&gt;меню → «Просмотр вывода команды»&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + ?&lt;/b&gt;&lt;/td&gt; &lt;td&gt;окно «Поиск файла»&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + c&lt;/b&gt;&lt;/td&gt;&lt;td&gt;окно «Быстрая смена каталога»&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + o&lt;/b&gt;&lt;/td&gt; &lt;td&gt;скрыть/показать панели&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + Space&lt;/b&gt;&lt;/td&gt;&lt;td&gt;подсчёт размера каталога&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + r&lt;/b&gt;&lt;/td&gt; &lt;td&gt;перечитать содержимое каталога&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x j&lt;/b&gt;&lt;/td&gt;&lt;td&gt;показать фоновые задания&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;Быстрый поиск&lt;/b&gt;&lt;br /&gt;
&lt;table border=&quot;0&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl/Alt + s&lt;/b&gt;&lt;/td&gt;&lt;td&gt;режим быстрого поиска&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;Командная строка&lt;/b&gt;&lt;br /&gt;
&lt;table border=&quot;0&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl/Alt + Enter&lt;/b&gt;&lt;/td&gt;&lt;td&gt;копирует подсвеченное имя файла в командную строку&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + Tab&lt;/b&gt;&lt;/td&gt; &lt;td&gt;пытается выполнить операцию Завершение ввода&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x t, Ctrl + x Ctrl + t&lt;/b&gt;&lt;/td&gt;&lt;td&gt;копирует в командную строку имена помеченных файлов из активной/пассивной панели&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + x p, Ctrl + x Ctrl + p&lt;/b&gt;&lt;/td&gt; &lt;td&gt;копирует в командную строку имя текущего каталога из активной/пассивной панели&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + q&lt;/b&gt;&lt;/td&gt;&lt;td&gt;вставить символы, которые интерпретируются mc (пример: +)&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + p, Alt + n&lt;/b&gt;&lt;/td&gt; &lt;td&gt;перемещение по истории команд&lt;/td&gt; &lt;/tr&gt;
&lt;tr bgcolor=&quot;#e6e6ff&quot;&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Alt + h&lt;/b&gt;&lt;/td&gt;&lt;td&gt;выводит историю текущей строки ввода (историю команд)&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;150&quot;&gt;&lt;b&gt;Ctrl + V&lt;/b&gt;&lt;/td&gt; &lt;td&gt;вставка из буфера обмена&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/953241976258130344/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2011/02/mc-midnight-commander.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/953241976258130344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/953241976258130344'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2011/02/mc-midnight-commander.html' title='Шорткаты для MC (Midnight Commander)'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-8550664131656295604</id><published>2010-12-22T10:57:00.002+03:00</published><updated>2011-08-09T16:41:01.885+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="За жизнь"/><title type='text'>&amp;quot;Мосфильм&amp;quot; выложил более пятисот фильмов для бесплатного просмотра.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;С 20 декабря советские и российские фильмы можно совершенно бесплатно и легально посмотреть на сайте &lt;a href=&quot;http://www.cinema.mosfilm.ru/&quot;&gt;Мосфильма&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=8550664131656295604&quot; name=&quot;more&quot;&gt;&lt;/a&gt;&lt;br /&gt;
В пресс-службе &quot;Мосфильма&quot; подчеркивают - «Это своего рода наш ответ пиратам. Это законно, фильмы в хорошем качестве, можно просмотреть с субтитрами, прочитать информацию о фильме, оставить комментарий. И регистрироваться необязательно».&lt;br /&gt;
Фильмы, так же, доступны для загрузки, стоимость - 65 рублей.&lt;br /&gt;
Просмотр на сайте осуществляется с помощью SilverLight плеера, так что пользователям Linux необходимо установить его порт - MoonLight.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/8550664131656295604/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2010/12/blog-post_22.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8550664131656295604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/8550664131656295604'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2010/12/blog-post_22.html' title='&amp;quot;Мосфильм&amp;quot; выложил более пятисот фильмов для бесплатного просмотра.'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-558581726976323296</id><published>2010-12-20T12:36:00.002+03:00</published><updated>2011-08-09T16:41:29.141+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AdWords"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="За жизнь"/><title type='text'>Чудеса бывают?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;С третьей, или четвертой попытки, мне пришло &quot;письмо счастья&quot; от Google! Если быть точным письмо от Google AdWords с промо-кодом до окончания срока его действия. Нет, в предыдущие разы письма приходили, НО стараниями нашей замечательной почты они доходили либо в последний день действия акции, либо уже после ее окончания. Правда это письмо пришло из Швейцарии, в прошлые разы отправка была из Франции - может &quot;Почта России&quot; не при чем? ;)&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=558581726976323296&quot; name=&quot;more&quot;&gt;&lt;/a&gt;Естественно я, как человек любящий халяву, а так же как активный пользователь сервисов Google решил попробовать это дело на себе. Конкретно, чтобы мой блог (вот этот самый, который ты, дорогой читатель, сейчас просматриваешь по диагонали) прогремел по всему миру, а то как то обидно получается, пишешь-стараешься, а читателей кот наплакал, так что и писать то уже лениво становится. Честно говоря, посещаемость растет, но медленно, а тут такой случай!&lt;br /&gt;
И вот, конверт открыт, текст писем просмотрен вскользь - вот и пошаговая инструкция по активации заветных 1 600 рэ. на рекламу! Начинаем пошаговое выполнение инструкции. И вот уже нас пробивает нервная дрожь, от предвкушения наплыва посетителей - сейчас свершится прорыв, я стану знаменитым на весь мир, близится мировое господство! И вот те на! Оказывается что халявы то и нет, ибо чтобы получить виртуальные 1 600 рэ. нужно заплатить своих кровных, вполне реальных 400 рэ! И вот так всегда, из-за какой то ерунды срываются грандиозные планы!&lt;br /&gt;
Ну а если серьезно, то маркетологам Google наверное стоит более тщательно выбирать аудиторию для рассылки такого рода предложений. Поскольку мой блог не носит коммерческого характера и , как я писал в первых постах, основной его задачей является хранение всего того что я постоянно пытаюсь забыть, а оно иногда таки требуется, а то что его читает кто то кроме меня - приятное дополнение и не более того, то естественно весь смысл полученного письма&amp;nbsp;приравнен к нулю и забыт. (О как завернул!)&amp;nbsp;Все же реальная прибыль от данной акции для меня лично составит не 1 200 руб, как выходит из арифметики, а минус 400 руб. по законам логики. Лучше 10 EUR. на Skype положу. :)&lt;br /&gt;
Вот как то так.&lt;br /&gt;
Спасибо за внимание&lt;br /&gt;
Искренне Ваш&lt;br /&gt;
Посторонним В. (Вспомнился Винни, к чему бы?)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/558581726976323296/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2010/12/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/558581726976323296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/558581726976323296'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2010/12/blog-post.html' title='Чудеса бывают?'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-5754841099872473963</id><published>2010-11-18T11:09:00.002+03:00</published><updated>2011-08-09T16:42:06.723+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gentoo"/><category scheme="http://www.blogger.com/atom/ns#" term="gpg"/><category scheme="http://www.blogger.com/atom/ns#" term="spamassassin"/><title type='text'>Лечим spamassasssin после обновления.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;После обновления spamassassin (дистрибутив Gentoo, конечно) с версии 3.2.5 на 3.3.1-r3, получил при попытке перезапуска чудное сообщение:&lt;br /&gt;
&lt;blockquote&gt;Starting spamd: child process [15455] exited or timed out without signaling production of a PID file: exit 255 at /usr/bin/spamd line 2588.&lt;/blockquote&gt;&amp;nbsp;Обрадовался несказанно, полез гуглить, под катом рузультат.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=5754841099872473963&quot; name=&quot;more&quot;&gt;&lt;/a&gt;И так, народ утверждает, что лечится это безобразие просто запуском sa-update, либо sa-update -D (разница заключается в том, что с ключом D выводится отладочная информация).&lt;br /&gt;
Пробуем и получаем в обоих случаях сообщение о том, что невозможно проверить валидность подписи GPG, а посему обновляться не будем, при этом сами обновления успешно скачиваются. Радуемся еще больше.&lt;br /&gt;
Пробуем запустить sa-update с ключиком -h, выясняется, что есть два ключа, открывающие пути которые способны нам помочь:&lt;br /&gt;
Правильный -&lt;br /&gt;
&lt;blockquote&gt;host# sa-update --import somekey.gpg&lt;br /&gt;
host# sa-update&lt;/blockquote&gt;Простой -&lt;br /&gt;
&lt;blockquote&gt;host# sa-update --nogpg&lt;/blockquote&gt;Раз уж мы взялись за linux, то простых путей мы не ищем априори.&lt;br /&gt;
Выясняем где же этот самый somekey.gpg взять. Оказывается что лежит он по следующему адресу -&amp;nbsp;http://spamassassin.apache.org/updates/GPG.KEY. Выполняем:&lt;br /&gt;
&lt;blockquote&gt;host# wget&amp;nbsp;http://spamassassin.apache.org/updates/GPG.KEY&lt;br /&gt;
host# sa-update --import ./GPG.KEY&lt;br /&gt;
host# sa-update&lt;/blockquote&gt;&amp;nbsp;Пробуем запустить spamd:&lt;br /&gt;
&lt;blockquote&gt;host# /etc/init.d/spamd start&lt;/blockquote&gt;Видим строку:&lt;br /&gt;
&lt;blockquote&gt;* Starting spamd... &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ok]&lt;/blockquote&gt;Глубоко вздыхаем и &amp;nbsp;вешаем любимый бубен на стену.&lt;br /&gt;
На сегодня всё. Всем успехов!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/5754841099872473963/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2010/11/spamassasssin.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/5754841099872473963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/5754841099872473963'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2010/11/spamassasssin.html' title='Лечим spamassasssin после обновления.'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-7142856205494965209</id><published>2010-10-28T10:17:00.002+04:00</published><updated>2011-08-09T16:42:28.682+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gnome"/><category scheme="http://www.blogger.com/atom/ns#" term="индикатор раскладки"/><title type='text'>Gnome. Заменяем текстовый индикатор раскладки клавиатуры на флажки.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;На днях нашел рабочий способ поменять буквы на флажки, не то что бы сильно нужно, но привычка - великая сила. Будучи пользователем форточек использовал Punto Switcher, затем, когда пересел на Gentoo, использовал KDE 3.x, когда же пошла мода на KDE 4.x, перешел на Gnome (ну не нравятся мне новые кеды, не понимаю я их). В гноме все нравится, все устраивает, единственно раздражал индикатор раскладки, привык уже к флажкам в панели. И так, кому интересно - прошу под кат.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=7142856205494965209&quot; name=&quot;more&quot;&gt;&lt;/a&gt;Для замены нужно выполнить нехитрую последовательность команд:&lt;br /&gt;
1. Создаем каталог, в котором будут храниться изображения флагов.&lt;br /&gt;
&lt;blockquote&gt;mkdir -p ~/.icons/flags&lt;/blockquote&gt;2. Переходим в созданный каталог.&lt;br /&gt;
&lt;blockquote&gt;cd ~/.icons/flags&lt;/blockquote&gt;3. Скачиваем нужные флажки для индикации раскладки.&lt;br /&gt;
&lt;blockquote&gt;wget http://zeroed.ru/xlam/files/gnome/lookandfeel/flags/{ru,us}.svg&lt;/blockquote&gt;4. Говорим Gnome, что в индикаторе нужно показывать флажки.&lt;br /&gt;
&lt;blockquote&gt;gconftool-2 --type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags true&lt;/blockquote&gt;&amp;nbsp;Все, наслаждаемся привычным индикатором с флажками.&lt;br /&gt;
Честно стырено с &lt;a href=&quot;http://xtips.ru/?act=tview&amp;amp;tid=162&quot;&gt;раз&lt;/a&gt;, или &lt;a href=&quot;http://brj.pp.ru/wiki/ubuntu/system#menjaem_v_gnome_bukvy_na_flashki&quot;&gt;два&lt;/a&gt;.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/7142856205494965209/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2010/10/gnome.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7142856205494965209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7142856205494965209'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2010/10/gnome.html' title='Gnome. Заменяем текстовый индикатор раскладки клавиатуры на флажки.'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-7120060476852349785</id><published>2010-09-23T11:32:00.003+04:00</published><updated>2011-08-09T16:42:49.808+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DDoS"/><category scheme="http://www.blogger.com/atom/ns#" term="рунет"/><category scheme="http://www.blogger.com/atom/ns#" term="хабрахабр"/><title type='text'>Хабрахабр заDDoSили.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Вчера вечером на один из лучших коллективных техно-блогов рунета началась DDoS атака.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=7120060476852349785&quot; name=&quot;more&quot;&gt;&lt;/a&gt;Вот что пишут сами хабрахабровцы:&lt;br /&gt;
&lt;blockquote&gt;&quot;Сегодня вечером на Хабр началась DDos-атака. Так что сайт время от времени может «уходить в себя». Посмотрим, как проживем ночь, если завтра будет продолжаться — будем подключать тяжёлую артиллерию. DDoS&#39;ят ботнетом с разных адресов, от Китая до Мексики тупым UDP-флудом, который временами забивает канал целиком (а в проводе пока всего 100 мегабит). Мы, конечно, догадываемся, кто заказчик атаки, но пока об этой информации распространяться не будем. Можно только выразить сожаление, что некоторые не совсем адекватные личности только так, исподтишка могут решать споры.&quot;&lt;/blockquote&gt;На момент написания поста, 23.09 .2010 11:30 сайт &lt;a href=&quot;http://www.habrahabr.ru/&quot;&gt;хабрахабра&lt;/a&gt; недоступен. Будем надеяться, что добро обязательно победит зло, поставит его на колени и жестоко убьет!&lt;br /&gt;
&lt;b&gt;UPD&lt;/b&gt;&lt;br /&gt;
Хабр заработал!&lt;br /&gt;
&lt;a href=&quot;http://habrahabr.ru/blogs/announcements/19243/&quot;&gt;Коментарии по поводу атаки администрации сайта:&lt;/a&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;&quot;&gt;Привет, хабралюди.&lt;br /&gt;
Позвольте принести извинения за доставленные неудобства. Вчерашние проблемы с доступностью Хабра были вызваны DDoS-атакой.&lt;br /&gt;
&lt;a href=&quot;http://draft.blogger.com/post-edit.g?blogID=4266681037801325113&amp;amp;postID=7120060476852349785&quot; name=&quot;habracut&quot; style=&quot;color: #6da3bd;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Атака началась примерно в 10 утра 23.01.08. Это была самая мощная атака за историю подобных атак на Хабрахабр. По нашим оценкам, в ней участвовали примерно 15000 узлов - ботнет из компьютеров, расположенных преимущественно на востоке и странах третьего мира.&lt;br /&gt;
&lt;br /&gt;
Характерно, что люди, стоявшие за атакой, постоянно корректировали тактику и реагировали на действия, предпринимаемые с нашей стороны.&lt;br /&gt;
&lt;br /&gt;
Следует отдать должное специалистам нашего хостера - компании «Караван»: они отреагировали более чем оперативно и приступили к делу, минуя все необходимые в таких случаях документальные формальности. Нам была выделена новая подсеть, трафик которой проходит через Cisco Guard, таким образом, после обновления DNS-зон, были составлены необходимые политики фильтрации трафика и через некоторое время ботнет забыл дорогу на наши сервера.&lt;br /&gt;
&lt;br /&gt;
Недоступность наших проектов для некоторых пользователей в течение этой ночи мы объясняем тем, что для распространения изменений DNS-зон требуется значительное время и тем, что мы сами в порыве страcти слишком сильно &quot;перетянули гайки&quot;, отсекая атаку (нам удалось забанить половину офиса и даже Йована, который вообще в это время спал).&lt;br /&gt;
&lt;br /&gt;
Со своей стороны мы считаем произошедшее положительным опытом: это позволило нам выйти на новый уровень во взаимодействии с хостинг-провайдером и значительно оптимизировать работу наших аппаратных и программных средств. Теперь достать нас будет не так просто, как это можно было сделать всего несколько дней назад.&lt;br /&gt;
&lt;br /&gt;
p.s. Мы совершенно не представляем, кому это было нужно и зачем - правохранительные органы разберутся.&lt;br /&gt;
p.p.s. Большое спасибо сотрудникам компании&amp;nbsp;&lt;a href=&quot;http://www.caravan.ru/&quot; style=&quot;color: #6da3bd;&quot;&gt;«Караван»&lt;/a&gt;&amp;nbsp;и лично Дмитрию Канаеву и Сергею Соснину за понимание и оперативное решение вопросов.&lt;/span&gt;&lt;/blockquote&gt;Ура! Снова есть что почитать!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/7120060476852349785/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2010/09/ddos.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7120060476852349785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7120060476852349785'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2010/09/ddos.html' title='Хабрахабр заDDoSили.'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4266681037801325113.post-7011561807985243094</id><published>2010-09-23T11:21:00.002+04:00</published><updated>2011-08-09T16:20:57.255+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Yandex"/><category scheme="http://www.blogger.com/atom/ns#" term="музыка"/><category scheme="http://www.blogger.com/atom/ns#" term="рунет"/><title type='text'>Яндекс запустил сервис прослушивания легальной музыки.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://music.yandex.ru/&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGvqGYKlSJHEjC3JSFCErre4tMUOHHlj0rkpL5IXz-tu4ToQuZ-SqreY6WRD3XuOoQdomOVoFe7KLTE-vnvDXQCvDQSrywecD-LZonLPhZm61A3Eij-1UC_nLHgdA-1_ywr9CEPBA8vQ/s1600/Ya.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.yandex.ru/&quot;&gt;Яндекс&lt;/a&gt; запустил сервис &lt;a href=&quot;http://music.yandex.ru/&quot;&gt;&quot;Яндекс.Музыка&quot;&lt;/a&gt;, который позволяет прослушивать лицензионные композиции, а также целые альбомы и подборки треков исполнителей. Для пользователей имеющих аккаунт на Яндексе существует возможность создавать и сохранять плэйлисты, так же сохраняется история прослушанных трэков. Скачать прослушиваемые композиции, естественно, нельзя. &lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;&quot; name=&quot;more&quot;&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;В музыкальный каталог &quot;Яндекса&quot; входят 58 тысяч исполнителей и около 800 тысяч композиций. Компания договорилась более чем с полусотней правообладателей, в том числе с Universal, EMI, Warner Music Group, Sony Music, &quot;Первым музыкальным издательством&quot;, &quot;Монолитом&quot; и &quot;СБА Продакшн&quot;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;Согласно статистике &quot;Яндекса&quot;, с мая по август 2010 года пользователи чаще всего слушали группы &quot;Кино&quot;, Yolanda Be Cool &amp;amp; DCUP, Lady Gaga, Stromae и Eminem. Самыми популярными треками были Yolanda Be Cool &amp;amp; DCUP &quot;We no speak Americano&quot;, Lady Gaga &quot;Alejandro&quot;, Stromae &quot;Allors on Danse&quot;, 5iesta &quot;Зачем&quot; и &quot;Любовь спасет мир&quot; Веры Брежневой.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;Ежедневно &quot;Яндексу&quot; задают свыше 800 тысяч запросов с названиями композиций, альбомов и именами исполнителей. Около 4 процентов всех запросов к &quot;Яндексу&quot; так или иначе связаны с музыкой. При этом около 55 процентов прослушиваемых в плеере &quot;Яндекса&quot; треков приходится на зарубежную музыку.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://extmemory.blogspot.com/feeds/7011561807985243094/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://extmemory.blogspot.com/2010/09/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7011561807985243094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4266681037801325113/posts/default/7011561807985243094'/><link rel='alternate' type='text/html' href='http://extmemory.blogspot.com/2010/09/blog-post.html' title='Яндекс запустил сервис прослушивания легальной музыки.'/><author><name>Gunther</name><uri>http://www.blogger.com/profile/01668409731953967877</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGvqGYKlSJHEjC3JSFCErre4tMUOHHlj0rkpL5IXz-tu4ToQuZ-SqreY6WRD3XuOoQdomOVoFe7KLTE-vnvDXQCvDQSrywecD-LZonLPhZm61A3Eij-1UC_nLHgdA-1_ywr9CEPBA8vQ/s72-c/Ya.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>