忍者ブログ
カレンダー
04 2024/05 06
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
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

category :
PR
OpenXOPSを小改良する など
ここずっとFPGAでギガビット・トランシーバーばかりやっていましたが、
直近2週間ぐらいは、OpenXOPSやっていました。


既に本流へはコミットしましたが、マップの当たり判定を改良したり、
発砲時の腕の反動の計算を改善したり、リロード処理を改良したりしました。

マップに当たり判定は、完全にバグ修正です。
XOPSにおける人とマップの当たり判定は、僅かですが地面・床に埋まる
ことが多々あり、移動時に抜け出すようなアルゴリズムなのですが、
OpenXOPSにおける当たり判定の実装にバグがあり、0番目のデータの
ブロックの上面が人が登れない傾斜が付いている場合、移動時に抜け出す
処理が機能せず、地面・床に僅かに埋まり続けるバグがありました。

腕の反動計算については、小改良ですね。
今までのOpenXOPSでは定速で腕を動かしていましたが、本家XOPSの挙動を
解析する限り、腕の動きまでリニアに変化するようなので、同様の処理を
実装しました。
にしても、何やってるんだよnine-two氏。。芸が細かすぎだろ(^^;

後は、OpenXOPSの派生プロジェクトにも手を入れました。
こちらは小改良・・・に留まるレベルではなかったのですが、まぁ後日
ネタにする機会があるときに説明します。


近状の開発ネタとしては以上です。

やはり、ソフトウェアもソフトウェアで、弄ると楽しいですよね。
あえて名前は挙げませんが、某所で とある配信者が
『作っているゲームが、自分の意志でちょっと処理・命令を変えるだけで、
 ゲーム上で自分の思い通りに動作が変わるのが、非常に楽しい。』
と語っている(※意訳)のを観て、強く共感しました。
ソフトウェアに限った話じゃないですが、やっぱり自分の思い通りのモノが
作れるって、すごく楽しいことなんですよね。

さて、そろそろFPGAのネタに決着を付けなければ。。
category : ソフト・ツール開発 comment [0]
PSoCをWindows10で使いたかった
他所(XOPSとは無縁)で、ちょっとしたマイコン制御の基板を至急作る
必要があり、例のごとくPSoC1を使いました。
 ※相変わらずサイトが重い...
ちょうど2年前にも別件でマイコンを使う用事があり、その時もPSoC 1を
使いましたが、今回も めでたく採用です。(当時の記事

前回どんなPC環境で開発したのか記憶になかったがゆえ、なんの疑いもなく
Windows10が入ったメインPCを使おうとしたのですが、同マイコンの開発
環境である「PSoC Designer 5.4 SP1」がWindows10で動作しませんでした。

開発環境を動かすためには、インストール時に同時にAdobe SVG Viewerを
入れる必要があり、通常は自動的に入るはずなのですが、
どうもWindows10では同ソフトウェアが正しくインストールできず、開発
環境がまともに動きません。
Cypress(現:Infineon)の公式案内ではAdobe SVG Viewerを手動でインストール
するよう求められています。
 ・PSoC Designer 5.4 SP1とWindows10との互換性 - KBA228632
ところが、Adobeのページに行ってもサーバーエラーで入手できません。
 ・SVG Tools Download Area
非公式ですが
『PSoC Designer 5.4のAdobe SVG ViewerがWindows10非対応になった』
との情報がありました。
どうも最近のWindows10では開発環境が動かないようです。
(古いVerであれば動くらしい・・)
 ・PSoCの部屋へようこそ

一瞬「あっ、終わったわ.... (;;」と思ったのですが、オドオドしている
時間もなかったので、ひとまず取り急ぎWindows7が入ったサブノートPCを
引っ張り出して使うことで、事なきを得ました。
(てかWin7のサブノートPCには開発環境が入れっぱなしだった。)
やっぱり使い慣れたマイコンはイイナー。実家のような安心感(^^


とは言っても、そろそろPSoC 1からは乗り換えないといけない気がして
きています。

既に、初代PSoC 1の後継に当たる、PSoC 6 / PSoC 5LP / PSoC 4、そして
PSoC 3が登場しており、CypressとしてはPSoC 1は終息させる方向です。
デバイスが次々生産終了になり、ここ数年で一気に入手性が悪くなりました
が、おまけに今回Windows10で開発環境がまともに動かないことが発覚
しました。

確かにPSoC 1自体は、非常に優れたマイコンで気に入っていますし、
完全にプライベートで「ちょっとマイコンを触ってみよう」ならば、まだ
使用する理屈がある(弁解・解釈のしようがある)のですが、
ある程度 他所で明確な使用予定・用途があり、のんきなスケジュールでは
動いてられないような場合、
『デバイスも満足に手に入らない、開発環境がWindows10で動作しない』
みたいなマイコンが活動の足かせになるようでは困ります。

PSoC 3やPSoC 5は所有しており使用経験もありますが、PSoC 1以上に
開発環境が魅力的で使いやすいものの、チップ単体の入手性が低く、
なんせ標準でDIPパッケージがないので、2.54ミリピッチのユニバーサル
基板でちょっと何かを作るときには、シンプルに作ることができず、
かなり面倒くさいです。
mbedやRaspberry Piではちょっとオーバースペックな場合もあり、
Arduinoは基板サイズが大きく2.54ミリの普通の基板がそのまま刺さらな
かったり(そうでもない派生基板もあるが)するので、
次乗り換えるなら、
 ・DIPパッケージがある
 ・チップの入手性が良く特別高価でない
 ・極端に超マイナーチップではない
という条件のもと、PIC か AVR かなと思っています。(要調査)

「使用するマイコンを乗り換える」って、言うほど簡単ではありません。
「とりあえず触ってみる」であれば、適当にチップなり評価基板なりと
参考書を買ってくればOKですが、
「(PSoC並に)急な要求にも即座に応えられるレベルで使いこなす」
となると、数日・数回触るレベルではダメで、一通りの使い方はマスター
してチップの限界を把握しておかなければならず、おそらく数週間~
数ヶ月レベルで掛かります。
FPGAの件とか OpenXOPSの件とか 色々控えているので、使用マイコン
乗り換え調査&プロジェクトは、ちょっと先になりそうです。
でも、また何か案件が湧いたときに、PSoCが... とか言ってると遅いんだ
よなぁ。
category : 電子工作 comment [0]
自分の活動のモチベーション
そろそろ8月が終わりそうですね。
8月と言うことで 夏は夏で暑いのですが、ここ数日は暑さが和らいでいるのを
感じます。天気が崩れたりしてましたし。
もう9月に入りますよ? あと4ヶ月で また年末ですよ?
マジで1年間早すぎだろ・・・(震え

FPGAの方は、最後が詰め切れずその場で足踏み状態です。
CRCの計算結果を出力して比較すると、やっぱりデータが化けています。。
いやートンネルの出口は見えているような気がするのですが、その出口が遠いorz


ちょっと思う所があって、過去のブログ記事(主に2006年~2012年ぐらい)に
ざっと目を通していたのですが、
いつの時代も、技術・技術・技術で プログラミングやったり、電子工作したり、
自宅サーバーやったり、その他色々やってましたね。

単純に技術を追いかけるのが好きというのはあります。一言で言えば「技術オタ」。
家でも移動中でもどこでも、時間さえあればPCなどに向かって永遠に作業する
ような性格です。
(人によっては全く理解されず、過去には周り・相手から何度か否定されてます
 けどね.....)
そして、特に2008年~2015年頃が一番顕著ですが、なんなら技術を持っている
奴が一番カッコイイと思っている節もありました。
category : 管理人の独り言 comment [0]
「みかん箱」15周年
前の記事でも触れましたが、8月17日に「みかん箱」が15周年を迎えました。
現在・過去問わず、ご支援・ご声援ありがとうございます。


過去10周年の時にも書きました(当時の記事)が、
まさか10代の、右も左も怖さも現実も何も知らない ガキ真っ只中の時に
ノリと勢いで作ったようなWebサイトが、色々あったものの、2021年現在
でも続いているとは全く思いませんでした。
当時の「2006年」から見たら、15年後の今「2021年」なんて遠い未来の
話ですし・・・。
いやー、サイト上でも、XOPS界隈でも、リアルの私生活でも、
この15年間 色々あったなぁ(遠い目

本当は色々思い出を語る場ではありますが、上記の10周年の記事に加えて、
既に比較的直近(?)で昔話を語っているため、割愛させて頂こうかと
思います。
例:
 ・XOPSに出会ってプログラミングを始めた昔話(2020.09.20)
 ・「みかん箱」の掲示板閉鎖について(2020.11.26)


冒頭に『2021年現在でも続いているとは・・』と書きましたが、
皆さんお気づきの通り、正直に言うと ここ数年は(サイトに対して)
積極的な活動・管理をしているわけではありません。
なので、決して「15年間サイト運営を頑張った」ではなく、
「時々触りつつダラダラしていたら、気が付いたら15年経った」
という表現が正しいぐらいです。
現に、今でもソフトウェアの公開(アップデート)は続けているものの、
追加ミッション(addon)の公開は、2014年8月17日(8周年の時?)を
最後に止まってますし(^^;

サイトについて何かを期待されている方がいれば申し訳ないですが、
今後、直近で何かサイトに直接関係する活動予定があるかと問われると、
はっきり言ってありません。
XopsAddonCreatorなどのソフトウェアのバージョンアップしたり、
あとはOpenXOPSオンラインの件がどうなるか分かりませんが、
例えば新作addonやその他コンテンツを公開するとか、ほか何かサイト
運営を頑張るみたいな予定や計画もなく、特に考えてもいません。

強いて強引にネタを絞り出すのであれば、作りかけで未公開のaddon
があるなぁ とか、サイトのデザインが10年以上変わっておらず、
全体的にダサいなぁ とか、いっそのこと英語版のページ並みに
シンプルな構成でも良いのではないか とか思ったりもしなくはない
ですが、
(addonを出さない以外は)今のまま放置しても誰のデメリットにも
ならず、むしろサイト管理に時間を捻出するぐらいなら、OpenXOPS
などXOPS全体に還元されメリットに繋がる活動にリソースを割きたい
と思っているので、今後も何か積極的な活動はしないと思います。

ただ、去年11月に閉鎖した掲示板のように、サイト自体を潰して閉鎖
することはないと思っているので、当面(年単位)は このまま残す
つもりです。

そんな感じですが、今後ともよろしくお願いします。


サイトの話からは逸れますが、
この15年間の間でも自分自身 色々あって変化した通り、次の10年~15年
も今からさらに変化していくと思います。
色々な意味で、次の10年・15年を生き抜くことを考えなければなりません。
category : サイトの運営 関係 comment [0]
FPGA Gbps通信の残り課題
もう過ぎてしまいましたが、8月17日は「みかん箱」誕生15周年だった
のですね。今年は(今年も?)何もできませんでした。ごめんなさい。
15周年ということで思うこともありますが、次回以降 改めて書きます。


FPGAでのギガビット・トランシーバーによるGbps通信ですが、ゴール
(最終ゴールではなく、正しくは第一部のゴールで全体の中間地点)
が見えてきているものの、まだ最後が詰め切れていません。

今ある大きな課題は、
 1、初期化シーケンスがうまく行かない場合がある。
 2、FPGA内でデータが化ける場合がある。
です。


『1、初期化シーケンスがうまく行かない場合がある。』というのは、
前の記事でも触れた通り、通信を初期化する際に不規則に初期化処理が
コケて通信が開始できない場合があるのです。。

ロジックアナライザーやプロトコルアナライザーで解析する限りは、
FPGAから出てきている信号は正しい「はず」で、通信相手のデバイスが
決められた応答が返ってこない状況です。
状況的には「デバイス側の問題だ」と断定したいところですが、他の
メーカーのデバイスに交換しても、やっぱり動かないことがあるので、
問題発生の前後含め、何かしらFPGA側の信号に非があると考えられます。
こっち(FPGA側)は規格通りに動いているはずなんだけどなぁ。
んー謎だ。。よく分からん。


『2、FPGA内でデータが化ける場合がある。』というのは、FPGA側
の送受信処理時に通信データが化けたり、意図しない通信サイズに変化
してしまう(だいたい増える)現象が発生します。
前の記事では『特定のコマンドの組み合わせが通らない』と書きましたが、
これも中の通信データが化けることで、プロトコルとして成立しない
のが原因でした。

これは何となく原因が予想できており、おそらくプロトコルの制御部分
か、またはFPGA内に実装したキャッシュメモリーの挙動が怪しいのでは
ないかと思っています。
別途シミュレーションを実行しても問題なく、タイミング解析上でも
エラーは出ていませんが、
プロトコルとメモリーの制御周りのロジック動作が非常にシビアで、
わずかな信号・動作遅延により、プロトコルの入出力処理が崩れ、
メモリー内のデータが破壊されているのではないかと推測しています。

ただ、直すのは至難の業です。
一番単純な解決方法は、動作クロック周波数を(例えば倍に)上げて
1クロックあたりの実行ステップを減らすことで安定性を高めることですが、
FPGAの動作速度にも限界があり、これ以上動作クロックを上げることは
できなさそうです。
こりゃ、アーキテクチャ自体を見直さないとダメだろうか・・・。


おそらく上記1・2をクリアーすれば、(中間地点へ)無事ゴールできる
と思っていますが、
一方は全体の見直しが必要な可能性があり、もう一方は原因すら掴めて
いないので、ここから前進するのは難航するかもしれません。

XOPS関係など他にリソースを充てたい関係で、可能であれば8月中、
遅くとも9月中には、何かしらの目途を付けたいです。
category : 電子工作 comment [0]
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]

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

TOP