忍者ブログ
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month12345678910111213141516171819202122232425262728293031Next Month
基板作ってました
7月ですね。ここ1週間ぐらいで急に暑くなって辛い。
モンハンのサンブレイクが流行ってますね。

先週まではゴリゴリXopsAddonCreatorを作ってましたが、今週は一転して
電子工作ネタでプリント基板設計してました。

内容としては去年4~5月頃に作っていた、高速信号系の基板です。
 回路引いたり部品買ったり基板起こしたり(2021.04.19)
 モーターが回りました(2021.05.18)
  ※紛らわしいですが、同時期にやっていたパワエレとは無関係です。
去年作った基板は、某所の現場(?)でも使われていますが、場合によっては
うまく使えないことがありました。
騙し騙し使い続けていましたが、流石に使い勝手が悪いので改良版の開発に着手
した次第です。


不具合が出る原因は正確には分かっていないのですが、当初は高速信号のライン
・構成が悪いのかと疑っていたものの、
電源部分に数百uFの電解コンデンサーを付けると改善方向になることから、電源
ラインが悪そうだと目星を付けています。
今思うと、基板全体で流れる電流量に対して、電源ラインのパターンが細すぎ
たのと、GNDのベタパターンもルートが悪かったりと、色々と詰めの甘い基板
設計だったので、その辺の電源・GND周りのパターンを見直すのが今回のメイン
ミッションです。

今回、運よく使用技術の規格書が入手できたので、参考にしつつ可能な限り
規格準拠を目指して回路図やパターンを作り直していました。
もちろん規格完全準拠ではないのですが、別に外に出すものではなく某所の
クローズドな環境で使用するものなので問題ないです。
当たり前ですが、既存製品を調べ上げて それっぽく再現することに比べれば、
一次ソースである規格書を参考にできるのは強いです。

あとは、不必要なパターン・部品を取っ払い、逆に使いそうな回路を新たに実装
して、設計全体の最適化を狙っています。

基板設計に加えて、機構設計(?)も やや改善を試みるつもりです。
前回は「機構? なにそれ、おいしいの?(^^」状態で、部品の固定を
殆ど考慮しないで作ったため、使用中は物理的にも安定性に欠けていました。
今回は、ある程度は部品の固定も考慮するつもりではいます。

使用する部品は発注したので、部品が届き次第 部品と合わせて基板設計の最終
チェックを行い、基板を発注する予定です。
基板をどこに頼むかは決まっていませんが、前回と同じ中国の製造メーカー
に発注しようかとは思っています。安いですし。


本当は、写真なども加えてもう少し詳しい話ができれば良いのですが、ネット上
で一般公開している記事である以上、どこで誰が見ているか分からないので、
詳しい説明は伏せようと思います。

それにしても、プログラミングでXopsAddonCreatorを弄るのも楽しいですが、
回路設計・基板設計も楽しいですね。良い休日を過ごせました(^^
category : 電子工作 comment [0]
PR
「XopsAddonCreator」の開発 -37
前回言ったXopsAddonCreatorの作り直し計画の件、適当に勢いに任せて
突き進んでいます。

とりあえずウインドウ周りの処理を作り込んでいました。
色がメチャクチャですが。

(クリックで拡大)


以下、中身の技術ネタです。

Windowsアプリケーションなので、ウィンドウプロシージャの処理が味噌
となります。
ウィンドウプロシージャ自体は難しくはないのですが、無計画に組み立てて
行くと、あっという間にスパゲッティソースになるので要注意です。

ウィンドウプロシージャの処理については、まだ設計・実装がFIXしているわけ
ではなく、全体をイベント駆動型にするか、指定関数を直接実行する構造に
するか、迷っています。

最初に思いついたのはイベント駆動を用いた設計でしたが、
ウインドウサイズを変更する際にウィンドウプロシージャが連続で実行される
ため、外でイベントがキャッチできず、ウインドウサイズ変更に期待通り対応
できませんでした。
どうしたものかと困りましたが、サイズ変更時にWM_SIZEをキャッチして、
関数ポインタを用いて指定関数を直接実行する構造にすれば、期待通り動作する
ことが分かりました。

現状は、イベント駆動と関数実行機能が両方載っていますが、将来的には関数
実行機能だけで良いかとは思い始めています。
せっかく作ったイベント駆動を消すのは勿体ない気持ちもありますが、まぁ
要らないものは要らないですからね。他で使えれば良いのですが。
あと、今回初めて自発的に関数ポインターを設計に組み込んで活用しましたが、
自信の中で実績がなく、デメリットや注意点が完全に把握できてないです。。
とりあえずNULL判定だけすればよい??(^^;
実績が皆無な技術を過信したまま、設計の中心に入れて良いものなのか全く
分かりません。

なお、今回色々調べた中で「メッセージクラッカー」というMicrosoft公式の
ラッパー・マクロもあることを知りましたが、結局のところはSwitch文が多少
綺麗になる程度で、目当ての使い方はできないようなので辞めました。

いやー、これはこれでOpenXOPSとは違う難しさがありますなー。


それにしても、現行XopsAddonCreatorは2012~2013年頃に作り始めており、
(現行品の系統は)もう10年前に開発したことになります。
他所でも呟きましたが、このレベルのエディタを1年程度で作り上げるって、
今思えば信じられない話です。
まだXOPS界隈に人が居る時代で周囲からの期待もありモチベーションも
高かったり、今と比べて平日も時間があったり、当時は ただただ無計画に
勢いで進めていた節もありますが、
一番大きいのは今よりも10歳若いという事実だろうなぁ。。 若いは強い。
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -36
XopsAddonCreator(※作り直し計画の方)を弄っていましたが、中途半端な
改善ではなく根本的に作り直した方が早い気がしてきました。


2012年より作っていた現行verは全体的に設計が難解で、容易く手を入れられる
ソースコードではありません。
数日前まで、可能な範囲かつ着手しやすい所から順次見直して書き換えていま
したが、
各部分の依存関係がグチャグチャで、各所が複雑に絡み合っているため、全体
の設計を見直すまでは至っていませんでした。
全体を見直すべく、依存関係を整理しようとした矢先、コンパイルエラーが大量
に発生し、(作り直しverの方は)コンパイル自体が通らなくなってしまいました。
そりゃ、単純に変更を元に戻すか 一個ずつエラーを解消していけば、ソースの
コンパイル自体は通るようになりますが、今のコードには もう手は入れたくない
というのが正直なところです。

作り直すにあたって、必要になる要素を箇条書きで並べてみたのですが、
おそらく避けられない難所になるのは、
 ・完成度の高いイベント駆動プログラミング
 ・不具合のない安定したデータ編集機能の実現
 ・効率的なマルチスレッドプログラミング
だと思われます。
これ、改めて見ると全て現OpenXOPSには存在しない概念です。
3D・2D描画とか、基本的なファイルの読み書きとか、ウィジット・コントロール
とか、多数の付属ツール・機能の開発は、手間ではありますが言うほど難所では
ないと思っています。
上記3点を、いかに超えていくかが焦点になりそうです。
・・・いや、これが分かっただけでも大収穫だわ。
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -35
6月に入ったばっかりだと思っていましたが、もう月の真ん中に到達して
しまいました。
もう2週間程度で2022年の半分に達するのかと思うと、信じられません。


ここ直近はXopsAddonCreatorを触っていました。

2019年9月に、現行バージョン"1.2a"を公開しましたが、もう2年近く経つ
こともあり、そろそろ次期バージョンを出しても良いと思っています。
公開時期は未定です。
(前にも言ったっけか??)

毎回マニュアルの準備は後回しになりがちで、最後にバタバタ仕上げている
気がしますが、今回は珍しくマニュアルの準備は順調です。
マニュアルも何も、決して完全新規なソフトウェアではなく、公開中の現行
バージョンのマニュアルをベースに書き換えていくだけなので、そんなに
大変ではないのですけど。

アップデート内容については、今までブログで触れていたり・触れていな
かったりで、自分自身どこまでブログで紹介したか記憶が曖昧ですが、
次期バージョン公開時にまとめて紹介したいと思います。
・・・この流れ、なんかデジャブだなぁ。。


それと同時進行で、従来のXopsAddonCreatorを一部プログラムを作り直す
(見直す)プロジェクトも進んでおり、そっちもボチボチ進めています。
「進めています」というほど、進みは良くないのですが。

2021年12月の記事に書いた通り、UIオブジェクト(ウィジェット)の再設計
に取り組んでいます。
ボタンやチェックボックスのような動作が単純なオブジェクトは概ね良い
感じで開発できていますが、タブコントロールやリストビューのような
ちょっとクセのあるオブジェクトの設計をどうしたものか悩んでおり、自身
で期待したいほどは進んでいません。
この辺の話は、OpenXOPSには存在しない概念なので、同じ考えが通用できず
難しいです。

XopsAddonCreatorの開発を始めたのは2012年9月だったので、ほぼ10年前
のソフトウェアのソースコードに立ち向かっていることになります。
 「あのソフトの次世代機つくろうとしてた」(2012.09.01)
もうマジで辛いので勘弁してほしいです(^^;
全部投げ捨ててゼロから作ることも考えましたが、
この規模の物をゼロから作るとなると、OpenXOPSオンライン化の話並に
巨大なプロジェクトになるのは避けられず、(あらゆる意味で)今の状況
からして そこまで開発リソースは掛けられないので、
とりあえずは今のままチマチマと開発を進めることにします。
category : ソフト・ツール開発 comment [0]
「みかん箱」をリニューアルしたいが無駄である
この数日は、思い付きで「みかん箱」を弄ってました。
『弄ってました』と言っても、大規模にWebページを作り替えていたわけでは
なく、何となく気になったページを編集しただけです。

手を入れるついでに、以下のページは削除しました。
理由を端的に言えば、必要でないページだからです。
 ・XOPSオンラインのやり方
 ・鯖の立て方
 ・クランとは

XOPSオンラインのやり方は、「みかん箱」でクランページの管理をしていた
際に、とあるクランメンバーより
『XOPSオンラインの始め方・プレイ方法が分からない』
との声が出て、私が手順説明を作ったのが始まりました。
当初は その声を上げた方 向けに作っていましたが、せっかく作ったので、
少し加筆して公開しました。
ロビーサーバーがなくなる見込みであることを考えると、完全新規ユーザー
向けにXOPSオンラインのプレイ方法を解説するのはハードルが高いため、
ページごと削除することにしました。
・・・まぁ、最後 簡単にマナーなども紹介されていたことも考えると、
「ページの削除=文化の消失」になる可能性もあったのですが。

鯖の立て方も似たような話です。

クランの説明ページについても、過去にクランページを管理していた際の
名残りですが、当然「みかん箱」に もうクランページはないですし、
クランが溢れかえっているほどゲーム人口が多い訳ではないので、削除する
ことにしました。


それにしても、改めて「みかん箱」のページを見ると、結構ダサいですね
(^^;
今のデザインは、2007年8月にベースのデザインを作成して公開・使用開始
しました。
それからTOPページなどは細かい修正・改善は行ったものの、基本的には
当時設計したデザインをそのまま使い続けています。

当時(2007年)は、かなり頑張って考えて作ったのだと思いますが、
 トップページにある クオリティの低い"みかん箱の看板"のスクショ、
 全体的に統一感や理屈のない配色やフォント、
 ブラウザによってはページデザインが乱れる、
 無駄に文章量の多いサイト案内、
 各ページへの直リンクを想定していないフレーム構造のページ設計、
 下部に大きく表示される広告、
など、今改めて見ると なかなか古くてダサいサイトです。
そして、レスポンシブWebデザインではないので、スマホで見ることは
全く想定していません。・・OpenXOPS公式サイトもそうですけど。
闇に葬り去ったブログ記事ほどではないですが、ネットで活動する上での
代表的なWebサイトとは ちょっと誇れないですよね。

手間暇が掛けられれば、独自ドメイン&有償サーバーを確保した上で、
サイト全体を全面的に作り直してリニューアルしたいのですが、現状では
正直そこまでやりたくないです。
XopsAddonCreatorなどのソフトウェアを公開するとの最大のミッションは
達成&辛うじて合格点であり、ページを作り直すのも結構な手間や時間が
掛かることが予想されます。
そんな所に手間や時間を掛けるならば、まだOpenXOPSの公式サイトに手を
入れた方がマシですし、もっとOpenXOPSやXopsAddonCreatorなどの開発
にリソースを入れた方が、圧倒的に有意義だと思っています。
・・・サイト訪問者が100倍ぐらい人が居れば話が変わるのですけどね。

手を入れたい気持ちはあるものの、自身の中で「みかん箱」として積極的に
訴求・展開していく計画が持ち上がるまでは、しばらく(※年単位)このまま
現状維持で行くつもりです。 悲しいですけど。
category : サイトの運営 関係 comment [0]
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP