<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ 全年3月10日の投稿［3件］ - 電装工芸日記 - 舞台照明機器の製作とか - ]]></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 />　Art-Netを受信して現在値を得る部分とそれを読みだしてパッチなりの加工をする部分はプロセスを分けようと思います。C言語では手続き型で書いても関数型で書いても基本は１プロセスで動作します。RaspberryPiでも１プロセスですべての処理を行っても間に合うと言えば間に合うのですが、プロセスを分けておいた方が処理に余裕が出来て後々いいかなと。<br />　プロセスを分けることのメリットはあるのですが、問題はプロセス間のデータ共有、共有メモリへのアクセスのタイミングです。受信プロセスが共有メモリに書いている最中に次処理のプロセスが読み出すとデータに不整合が起こります。一つのプロセスやスレッドで読み書きを行うなら手続きの順番的に起こらないことですが、それぞれが平行して勝手に動いていれば起こりうることです。書き込んでいる最中は読み出しを待たせ、読み出している最中には書き込みを待たせる仕組みが必要です。<br />　共有メモリは単純な機構のために速度が期待できる反面この様なマネージはされていません。書き込んでもいいぞ読み出してもいいぞとタイミングをジャッジする仕組みは自作しないといけないのです。<br />　機構は単純ですが、吟味しないと潜在的なバグ要因になりそうです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%ef%bc%a3%e8%a8%80%e8%aa%9e" class="taglink" title="Ｃ言語">#Ｃ言語</a> -- Posted by 電装工芸 〔557文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=831</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=831</guid>
	<category>tegalog</category>
	<pubDate>Sun, 10 Mar 2024 06:22:03 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　クリアカムのパワーサプライは付属品とする電源ケーブルが入荷… ]]></title>
	<description><![CDATA[ 　クリアカムのパワーサプライは付属品とする電源ケーブルが入荷したので長時間起動チェックをしました。<br />　実際の使用機器で長時間通電しておくのは重要なチェックの一つです。10時間くらい通電しましたが大丈夫っぽいです。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e9%9b%bb%e5%ad%90%e5%b7%a5%e4%bd%9c" class="taglink" title="電子工作">#電子工作</a> -- Posted by 電装工芸 〔113文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=531</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=531</guid>
	<category>tegalog</category>
	<pubDate>Fri, 10 Mar 2023 19:02:17 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Art-Netを受信してから一時保存する流れ ]]></title>
	<description><![CDATA[ 　Art-Netを受信してから一時保存する流れ<br /><br />● Art-Netの受信・・・タイムアウトしたらすべての受信情報を初期化する<br /><br />● 受信日時の取得<br /><br />● 受信したバイナリをデコード<br /><br />● 対象ユニバースか確認<br /><br />● ルートIDを取得<br /><br />● 送信元のIDを取得・新規送信元なら保存し送信元IDを取得<br /><br />● 送信元の最終受信日時を上書き保存<br /><br />● 送信元,ルートの最終受信日時を上書き保存<br /><br />● 送信元,ルートで受信値を上書き保存(必ず512スロットで保存)<br /><br /><br />　タイムアウト処理・・・0.2～0.5秒毎<br /><br />● 送信元のタイムアウトを確認・・・タイムアウトしていたら送信元からの受信情報を初期化する<br /><br />● ユニバースのタイムアウトを確認・・・タイムアウトしていたらユニバースをゼロデータにする<br /><br /><br />　次工程からの読み出し要求への返信<br /><br />● 送信元,ルートで保存した受信値から最大値を取り出す<br /><br />● 返信<br /><br /><br />　といった感じで、細かいコマンド処理とアルゴリズムが見えてきましたが、本業が忙しくなってソースを書くことが出来ません。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> <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> 　 -- Posted by 電装工芸 〔485文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=182</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=182</guid>
	<category>tegalog</category>
	<pubDate>Thu, 10 Mar 2022 11:18:47 +0900</pubDate>
</item>

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

