<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>MH блог (Entries tagged as overlay)</title>
    <link>/</link>
    <description></description>
    <dc:language>ru</dc:language>
    <generator>Serendipity 2.4.0 - http://www.s9y.org/</generator>
    <pubDate>Sat, 28 Aug 2021 21:15:08 GMT</pubDate>

    <image>
    <url>/templates/2k11-mh/img/s9y_banner_small.png</url>
    <title>RSS: MH блог - </title>
    <link>/</link>
    <width>100</width>
    <height>21</height>
</image>

<item>
    <title>FreeBSD драйвер для приёмника кодов с пульта управления 433МГц (или 315 МГц)</title>
    <link>/archives/17-FreeBSD_drajver_dlJa_prijomnika_kodov_s_pulta_upravleniJa_433MGc_ili_315_MGc.html</link>
            <category>Allwinner</category>
            <category>FreeBSD</category>
            <category>SoC</category>
    
    <comments>/archives/17-FreeBSD_drajver_dlJa_prijomnika_kodov_s_pulta_upravleniJa_433MGc_ili_315_MGc.html#comments</comments>
    <wfw:comment>/wfwcomment.php?cid=17</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>/rss.php?version=2.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    

    <author>nospam@example.com (Александр Мишин)</author>
    <content:encoded>
    &lt;a class=&quot;serendipity_image_link&quot; title=&quot;FreeBSD kernel driver for gpio based remote control codes receiver.&quot; href=&#039;https://gitlab.com/alexandermishin13/rcrecv-kmod&#039; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:23 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;400&quot; height=&quot;300&quot;  src=&quot;/uploads/images/RC_Receiver_433MHz.serendipityThumb.jpeg&quot; title=&quot;FreeBSD kernel driver for gpio based remote control codes receiver.&quot; alt=&quot;FreeBSD kernel driver for gpio based remote control codes receiver.&quot;&gt;&lt;/a&gt; Я рад представить свой новый &lt;strong&gt;FreeBSD&lt;/strong&gt; драйвер для радиомодуля &lt;strong&gt;MX-RM-5V&lt;/strong&gt;. Хочу заострить внимание, что это приёмник радио сигнала - моя задача была именно в получении кода нажатой кнопки с пульта управления и выполнения соответствующей этому коду задачи. Драйвер, как раз, и занимается получением и декодированием радио импульсов до того момента, пока не сочтёт, что получилось что-то похожее на RC-код. Поиском соответствующей задачи и её выполнением будет заниматься отдельный сервис (aka &lt;strong&gt;daemon&lt;/strong&gt;), который большую часть времени проводит в ожидании события &lt;strong&gt;kevent&lt;/strong&gt; (или &lt;strong&gt;poll&lt;/strong&gt;) от драйвера. Получение данного события для демона означает, что у драйвера для него есть новый код, который можно считать непосредственно с символьного устройства драйвера или с помощью вызова ioctl(). В моём случае, пара драйвер и демон, служит для ручного включения и выключения света и аэрации аквариума, которые в обычном режиме управляются по расписанию моим &lt;strong&gt;OrangePI Zero&lt;/strong&gt;. &quot;Апельсинка&quot; скрыта от посторонних глаз за аквариумом, а для ручного управления используется 4х-кнопочный пульт rf-433МГц от китайских настенных выключателей &quot;miniTiger&quot;, закреплённый в распечатанном на 3D-принтере держателе.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;/archives/17-FreeBSD_drajver_dlJa_prijomnika_kodov_s_pulta_upravleniJa_433MGc_ili_315_MGc.html#extended&quot;&gt;Продолжить чтение &quot;FreeBSD драйвер для приёмника кодов с пульта управления 433МГц (или 315 МГц)&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 28 Aug 2021 18:22:00 +0000</pubDate>
    <guid isPermaLink="false">/archives/17-guid.html</guid>
    <category>433mhz</category>
<category>arm</category>
<category>driver</category>
<category>freebsd</category>
<category>kernel</category>
<category>kmod</category>
<category>orange pi</category>
<category>overlay</category>
<category>remote control</category>

</item>
<item>
    <title>FreeBSD и device tree overlays</title>
    <link>/archives/8-FreeBSD_i_device_tree_overlays.html</link>
            <category>FreeBSD</category>
            <category>RPI</category>
            <category>SoC</category>
    
    <comments>/archives/8-FreeBSD_i_device_tree_overlays.html#comments</comments>
    <wfw:comment>/wfwcomment.php?cid=8</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>/rss.php?version=2.0&amp;type=comments&amp;cid=8</wfw:commentRss>
    

    <author>nospam@example.com (Александр Мишин)</author>
    <content:encoded>
    &lt;!-- s9ymdb:15 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;400&quot; height=&quot;200&quot;  src=&quot;/uploads/images/RaspberryPI_FreeBSD.serendipityThumb.jpeg&quot;  alt=&quot;&quot;&gt;Хочу рассказать простыми словами, т.е., как дилетант для другого дилетанта, то, что пришлось вычитывать, додумывать и подбирать достаточно длительное время: как собрать и использовать &lt;b&gt;device tree overlays&lt;/b&gt; на SOC компьютере в ОС FreeBSD.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
Для начала о програмно-аппаратном обеспечении:&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;$&amp;#160;uname&amp;#160;-a
FreeBSD&amp;#160;rpi2&amp;#160;12.0-CURRENT&amp;#160;FreeBSD&amp;#160;12.0-CURRENT&amp;#160;#8&amp;#160;r328806&amp;#58;&amp;#160;Sat&amp;#160;Feb&amp;#160;&amp;#160;3&amp;#160;08&amp;#58;06&amp;#58;35&amp;#160;+04&amp;#160;2018&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;root@host.domain&amp;#58;/usr/obj/usr/src/arm.armv7/sys/RPI2_CUSTOM&amp;#160;&amp;#160;arm&lt;/div&gt;&lt;br /&gt;
Т.е., это &lt;b&gt;Raspberry PI 2&lt;/b&gt; с 32-разрядной архитектурой &lt;b&gt;armv7&lt;/b&gt; под управлением ОС FreeBSD 12.0-CURRENT ревизия r328806 с кастомным ядром, собранной на другом ПК &lt;i&gt;host.domain&lt;/i&gt; с архитектурой &lt;b&gt;amd64&lt;/b&gt; с помощью кросскомпиляции (Как это сделать, худо бедно, но описано в предыдущей статье).&lt;br /&gt;
Дисковое пространство организовано с помощью двух разделов (&lt;b&gt;msdos&lt;/b&gt; и &lt;b&gt;ufs&lt;/b&gt;):&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;$&amp;#160;mount
/dev/mmcsd0s2a&amp;#160;on&amp;#160;/&amp;#160;&amp;#40;ufs,&amp;#160;local,&amp;#160;noatime,&amp;#160;soft-updates&amp;#41;
devfs&amp;#160;on&amp;#160;/dev&amp;#160;&amp;#40;devfs,&amp;#160;local&amp;#41;
/dev/mmcsd0s1&amp;#160;on&amp;#160;/boot/msdos&amp;#160;&amp;#40;msdosfs,&amp;#160;local,&amp;#160;noatime&amp;#41;
tmpfs&amp;#160;on&amp;#160;/tmp&amp;#160;&amp;#40;tmpfs,&amp;#160;local&amp;#41;
procfs&amp;#160;on&amp;#160;/proc&amp;#160;&amp;#40;procfs,&amp;#160;local&amp;#41;
fdescfs&amp;#160;on&amp;#160;/dev/fd&amp;#160;&amp;#40;fdescfs&amp;#41;&lt;/div&gt;&lt;br /&gt;
На разделе &lt;b&gt;msdos&lt;/b&gt; лежат файлы, необходимые для загрузки ОС с помощью &lt;b&gt;u-boot&lt;/b&gt;, а на &lt;b&gt;ufs&lt;/b&gt; - собственно, сама операционная система.&lt;br /&gt;
Причина, по которой производились изыскания, это желание сократить связанное с добавлением дополнительных устройств внесение изменений в системный исходный код ОС, а использовать для этого &quot;понятный и доступный&quot; механизм по подключению &lt;b&gt;оверлеев&lt;/b&gt; (или, &lt;b&gt;плагинов&lt;/b&gt;) к существующему дереву устройств, в сочетании с условностями и ограничениями реализации этого &quot;понятного и доступного&quot; механизма во FreeBSD на текущий момент. &lt;br /&gt;
Итак...&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;/archives/8-FreeBSD_i_device_tree_overlays.html#extended&quot;&gt;Продолжить чтение &quot;FreeBSD и device tree overlays&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 08 Feb 2018 08:07:00 +0000</pubDate>
    <guid isPermaLink="false">/archives/8-guid.html</guid>
    <category>arm</category>
<category>dtb</category>
<category>fdt</category>
<category>freebsd</category>
<category>orange pi</category>
<category>overlay</category>
<category>raspberry pi</category>
<category>rpi</category>

</item>

</channel>
</rss>
