<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ 2026年3月の投稿［8件］ - 電装工芸日記 - 舞台照明機器の製作とか - ]]></title>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi</link>
	<description><![CDATA[ 今年は開発案件を進めたい ]]></description>
	<language>ja</language>
	<copyright>Copyright 2026</copyright>
	<lastBuildDate>Wed, 22 Apr 2026 07:21:10 +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[ 　DMXtimer の基板を発注しました。 ]]></title>
	<description><![CDATA[ 　DMXtimer の基板を発注しました。<br />　ドル立てでは値上がりしていませんが、為替相場の影響で円にすると高くなった感じがします。<br />　194x50mmの基板が10枚で60USD、送料含み日本円で12,500円くらい。無加工の感光基板より安いのですから、高いと言ったらバチがあたります。<br /><br />　基板の姿図です。<br /><img class="embeddedimage" src="https&#58;//www.densokogei.jp/tegalog/images/20260331152926-admin.jpg" alt="20260331152926-admin.jpg"><br /><img class="embeddedimage" src="https&#58;//www.densokogei.jp/tegalog/images/202603311529261-admin.jpg" alt="202603311529261-admin.jpg"><br /><br />追記<br />　火曜日に発注したものが木曜日の今日すでに飛行機に乗ってるみたい。早いのはありがたいけど、そんなにヒマなの？って心配してしまうかも。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%e3%82%ac%e3%83%81%e5%b7%a5%e4%bd%9c" class="taglink" title="ガチ工作">#ガチ工作</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> <br /> -- Posted by 電装工芸 〔243文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1208</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1208</guid>
	<category>tegalog</category>
	<pubDate>Tue, 31 Mar 2026 12:10:47 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　時間が空いたので DMXtimer の回路図を書いてみまし… ]]></title>
	<description><![CDATA[ 　時間が空いたので DMXtimer の回路図を書いてみました。短時間で描いたのですこし雑です。<br /><img class="embeddedimage" src="https&#58;//www.densokogei.jp/tegalog/images/20260331120407-admin.jpg" alt="20260331120407-admin.jpg"><br />　基板を書いて中華基板に発注しましょう。<br />　※ 基板の都合に合わせて回路を変更しました。<br /><br /><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 電装工芸 〔103文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1207</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1207</guid>
	<category>tegalog</category>
	<pubDate>Fri, 27 Mar 2026 06:32:18 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　「DMXタイマー」は私が作るモノに興味を示さない部下ですら… ]]></title>
	<description><![CDATA[ 　「DMXタイマー」は私が作るモノに興味を示さない部下ですら「欲しい！」ときました。興味を示さないのは話や図だけでは物の想像が出来ないからですが、DMXタイマーは伝わり易かったようです。<br />　こりゃ作るしかありません。<br />　必要な技術は大したことありませんが、７ゼグを点灯させるのに電力をそこそこ喰うのと、時計としてどれくらいの精度を求めるかによって労力が違います。<br />　分を二桁、秒を二桁、1/10秒を一桁にしようと思います。時間値をどうするかは思案中ですが、24時間表示にしとけば後でタイムコードの表示にも使えるかな？<br />　フィクスチャープロファイルを自作出来ない調光卓もありますのでディマーとして扱えればいいかなと。動作はDMXアドレスを512ch固定、値000で停止クリア、値001以上でカウントとします。これでカウント開始を255と打ち込めばゆっくりF.Iでもそれほど遅れないかなと。<br /><br /><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 電装工芸 〔402文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1206</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1206</guid>
	<category>tegalog</category>
	<pubDate>Thu, 26 Mar 2026 11:27:03 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　お世話になっている他社さんからの依頼で現地照明の増員でした… ]]></title>
	<description><![CDATA[ 　お世話になっている他社さんからの依頼で現地照明の増員でした。<br />　そこで話をしていたところ、調光卓のGOボタンで動くストップウォッチが欲しいとのこと。ストリートダンスなどの音源演目の現場で調光卓とストップウォッチを両方叩くのは手が足りないことがあると。うん、よくわかります。<br />　条件を整理しますと、曲に対する最初のCUEでストップウォッチが動き出し、曲が終わったところで停止というか次の曲の開始までにリセットされていればいいと。まさにその通り！<br />　以前、音源に合わせたタイムコードを出力する研究をしていました。これとは違ったアプローチですが求める本筋は同じです。<br />　さてどうするか。MA系の卓ですと接点出力がありますのでこれを用いてストップウォッチを制御する方法もありますが、汎用性を考えるならDMXで動くストップウォッチがあればいいのでは？と閃く。<br />　例えば、512chが000なら停止、255ならカウント開始みたいにしておいてディマー感覚でCUEにデータを入れておけばいいってことです。ストップウォッチはカウント開始、停止、クリアの３つの動作が基本になりますのでそれぞれに値を割り振っておけばいい。F.Iの始まりでも動いて欲しいので001でカウント開始がいいのかな？卓とは無関係のストップウォッチを手操作で動かすよりは便利になればいいので厳密さはボチボチでいいと思う。<br />　なんにしても、「DMXタイマー」って名前で試案してみましょう。<br /><br /><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 電装工芸 〔628文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1205</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1205</guid>
	<category>tegalog</category>
	<pubDate>Sat, 21 Mar 2026 22:44:44 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Art-Net / ArtDMX を受信して何かをするプロ… ]]></title>
	<description><![CDATA[ 　Art-Net / ArtDMX を受信して何かをするプログラムを書けそうな気になってきました。<br />　まずはコンソールを１台とし、ループバッファに Art-Net をひたすらスタックし、最新の ArtDMX を dump 表示させるものを製作しましょう。これが出来なきゃ何も出来ないってくらいシンプルなものです。<br />　ここから複数コンソール対応など、データの取り扱いを色々実験していきます。&#91;コンソール&#93;-&#91;ユニバース&#93;-&#91;データ&#93; の３階層のデータ管理を十分に煮詰めずに先に進んでも良いことはありません。以前の試作から進んでいなかったのはこの辺りに原因があります。このところ AIさんとやり取りしていたのはデータ管理を整理するためです。<br /><br /><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> <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 電装工芸 〔338文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1204</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1204</guid>
	<category>tegalog</category>
	<pubDate>Fri, 20 Mar 2026 19:08:37 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　AI/Geminiさんに聞いたところ、RaspberryP… ]]></title>
	<description><![CDATA[ 　AI/Geminiさんに聞いたところ、RaspberryPiでは4byte単位、4kB単位でキリ良く考えるとストレスが少ないのだそうな。1byte単位のデータでも4byteで扱った方が良いってことです。<br />　パディング対策して詰め々々がイイって話を振ってきたのもGeminiさんですが、知識のある年寄りに時間を開けて話を聞いた時のような困惑を感じたりしたり。。。<br /><br />追記<br />　4byte、64byte、4096byte区切りでメモリを扱う様に構造体などを定義すると良いのだそうです。更に、構造体のメモリ上のアドレスをアトリビュートで64の倍数値にするのもお勧めとのこと。<br />　4byteはCPUのレジスタの長さ、64byteはキャッシュの転送単位、4096byteはメモリページの扱い単位です。<br />　気にしなくても動きますが、CPUやOSの挙動において無駄を省くことに繋がるらしいです。<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 電装工芸 〔397文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1203</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1203</guid>
	<category>tegalog</category>
	<pubDate>Thu, 12 Mar 2026 19:15:58 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Ｃ言語の共用体(union)ですが、教科書やら動画を見ます… ]]></title>
	<description><![CDATA[ 　Ｃ言語の共用体(union)ですが、教科書やら動画を見ますと「あまり使い道が無い」的な解説が多いような気がします。<br />　されど、今回のArt-Net系の装置では便利です。Art-Net のポート番号 0x1936(6454) の受信値をとりあえず突っ込むだけで要素毎に取り出すことも出来るからです。例えば ArtDMX は530バイトのパケットですが、受信値を uint8_t&#91;530&#93; (または unsigned char&#91;530&#93;) の配列として保存するだけで ArtDMX の構造体としても扱えます。パディングに注意は必要ですが、便利に使えると思うのです。ID、OpCode、ProVer をまとめて評価するのに先頭12バイトを uint8_t&#91;12&#93; としておいて memcmp で判別することも出来ます。AertDMX と別種の Art-Net パケットもシームレスに扱えそうです。<br />　天才を超越した神たちが何故 union を作ったのかを考えるとワクワクします。<br /><br />　とまぁ、最近Ｃ言語の理解が進んで一人笑いが止まらないアホの戯言でした。<br /><br />　オレメモです。<br />　gccで構造体のパディングを回避する書き方。struct に続いて「__attribute__((__packed__))」を入れるそうな。gcc独特の書式らしいので、コンパイラに合わせた書式を使ってください。<br /><br /><small class="decorationS"><span class="decorationF deco-code">typedef struct __attribute__((__packed__)) {<br />　uint8_t ID&#91;8&#93;;<br />　uint8_t OpCode&#91;2&#93;;<br />　uint8_t ProVerHi;<br />　uint8_t ProVerLow;<br />　uint8_t Sequence;<br />　uint8_t Physical;<br />　uint8_t SubUni;<br />　uint8_t Net;<br />　uint8_t LengthHi;<br />　uint8_t Length;<br />　uint8_t Data&#91;512&#93;;<br />} ad_t;<br /><br />ad_t ad_data;</span></small><br /><br />　ArtDMXを保存する構造体はこんな感じに書けばよいのでしょう。たぶん。<br />　この型を sizeof で見て530バイトならヨシです。<br /><br />　ついでに共用体の定義(案)です。<br /><br /><small class="decorationS"><span class="decorationF deco-code">// Art-Netの受信値を収める構造体<br />typedef struct __attribute__((__packed__)) {<br />　uint8_t resv&#91;530&#93;;<br />} an_t;<br /><br />// ArtDMXを取り出す構造体<br />typedef struct __attribute__((__packed__)) {<br />　uint8_t ID&#91;8&#93;;<br />　uint8_t OpCode&#91;2&#93;;<br />　uint8_t ProVerHi;<br />　uint8_t ProVerLow;<br />　uint8_t Sequence;<br />　uint8_t Physical;<br />　uint8_t SubUni;<br />　uint8_t Net;<br />　uint8_t LengthHi;<br />　uint8_t Length;<br />　uint8_t Data&#91;512&#93;;<br />} ad_t;<br /><br />// Art-Netの受信値を保存する共用体ループバッファ<br />union {<br />　an_t an_resv;<br />　ad_t ad_data;<br />} an_stack&#91;8192&#93;;</span></small><br /><br />　こういうことでいいのかな？<br />　共用体の書き方はまだよくわかってないのですけど。<br /><br />　共用体の配列を作って Art-Net のポートで受信したパケットを延々と保存します。8191番まで記録したら0に折り返すループバッファです。<br />　8192個あれば44fps、８センダー、各16ユニバースで最短でも1.45秒分の保存が出来るハズです。十進数で8192なのは２進数(16進数)でキリの良い数値のため折り返し評価が少ない処理で出来るからです。十進数8192は16進数0x2000でキリがよく処理しやすいのです。このあたりはアセンブリ言語だけでPICマイコンと会話をしてきた者にとって自然な着想です。10進数は人が日常的に使い慣れているだけで特筆するほど合理的な数体系ではありませんし、今どきのコンピュータ(論理回路)に合わせた方が便利です。<br /><br />　ヘッダーチェックは当該の配列要素(例えば an_stack&#91;1024&#93; )を示すポインタからmemcmpで12バイトをチェックすれば済みますので共用体には定義しません。<br />　ArtDMX以外のパケットにも使えるチェック方法です。<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 電装工芸 〔1896文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1202</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1202</guid>
	<category>tegalog</category>
	<pubDate>Thu, 05 Mar 2026 06:26:33 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　先日の現場はヒマな時間が長かったのでＣ言語の教科書を読みま… ]]></title>
	<description><![CDATA[ 　先日の現場はヒマな時間が長かったのでＣ言語の教科書を読みまくってみましたがかなり整理出来ました。<br />　昨今の教科書はポインタの説明が丁寧です。ハードウェアとしてのメモリの動作がアタマに入っていないと分かり難いことですが、私はPICのアセンブラで普通に扱ってきたことなので改めてではありますが素直に理解出来ました。わかってしまえばむしろ便利だなと。変数の読み書き方法が何種類もあることになるので混乱すると思いますが、どれもメモリへのアクセス手段だと捉え直せばいいだけでした。このあたりが整理できるとmmapも自然に理解出来ます。<br />　ヘッダーファイルはコピペでテキトウに書いていましたが、意味と書き方が整理できました。後はmakefileが整理出来れば良さそうです。<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 電装工芸 〔338文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1201</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1201</guid>
	<category>tegalog</category>
	<pubDate>Mon, 02 Mar 2026 15:51:50 +0900</pubDate>
</item>

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

