<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ No.1063 - 電装工芸日記 - 舞台照明機器の製作とか - ]]></title>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi</link>
	<description><![CDATA[ 今年は開発案件を進めたい ]]></description>
	<language>ja</language>
	<copyright>Copyright 2026</copyright>
	<lastBuildDate>Fri, 24 Apr 2026 07:46:09 +0900</lastBuildDate>
	<generator><![CDATA[ <!-- てがろぐ Version: -->Powered by <a href="https://www.nishishi.com/cgi/tegalog/" target="_top">てがろぐ</a> Ver 3.4.0 ]]></generator>
	<!-- BEGIN ENTRIES -->
	<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　と、なると、って書き出しは私のアタマの中の言葉のままですが… ]]></title>
	<description><![CDATA[ 　と、なると、って書き出しは私のアタマの中の言葉のままですが、プロセスかスレッドかはともかく、処理のスジを次の様に分けようかと。<br /><br />１）アプリの起動部で、共有物を設定して以下のモジュールを呼ぶ「ap_main」<br />２）画面表示やユーザー操作を司る「ap_console」<br />３）Art-Netを受信する「ap_receiver」<br />４）受信値や設定値から出力値まとめ、Art-Net を出力する「ap_transmitter」<br />５）データのタイムアウト管理をする「ap_timeout」<br /><br />　大きなデータは共有メモリ「mmap」と「semaphore」でやりとりし、指示や返答は「queue」で繋げます。自分ナリに得手不得手を検討した結果です。<br /><br />　タイムアウトを別枠で勝手にやらせる発想が出たら役割分担が楽になりました。<br />　これが出来るのも共有メモリとセマフォのオカゲです。<br /><br />　まだまだ決定ではありませんが、タイミングがラフなところはOS に任せてしまえ！って思えたら気が楽になったかも。<br />　メモリ管理も処理タイミングの管理も OS に頼った方が間違いないのです。<br />　この役割分担をしたら RaspberryPi でも処理しきれそうな気になってきたかも。<br /><br />追記<br />　成り行き任せで後回しにしても構わない処理はプロセスやスレッドを別にして区切りのいいところに短い「sleep」を入れればいい。こうすると OS のジャッジで急ぎと思われるプロセスやスレッドを優先的に処理をしてくれるようです。<br />　厳密なタイミング管理が必要なら「RTOS」ベースのカーネルを使ってガチガチに管理するのが良いと思いますが、そこまででない処理のため導入の敷居が高い RTOS を使うのはどうかと。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%41%72%74%2d%4e%65%74" class="taglink" title="Art-Net">#&#91;Art-Net&#93;</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e5%99%a8%e5%85%b7%e3%81%ae%e8%a3%bd%e4%bd%9c" class="taglink" title="器具の製作">#器具の製作</a> -- Posted by 電装工芸 〔753文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1063</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1063</guid>
	<category>tegalog</category>
	<pubDate>Sun, 08 Jun 2025 23:29:13 +0900</pubDate>
</item>

	<!-- END ENTRIES -->
</channel>
</rss>

