2018年12月17日月曜日

3D SineWave 表示

JavaScriptでHTML5のCanvasを操作する感覚が 8bitPC時代のBASICでグラフィックを操作する感覚にどことなく似ているためか、ちょっと懐かしくなって一気に書き上げてしまった。
今風にマウスでグリグリ動かせるようにもしてみた。

当時は店頭デモでよくみかけた気がする。静止画面一枚を書き上げるだけでも少し時間がかかってたかな?

GitHubリポジトリ: 3D SineWave

2018年12月16日日曜日

JScriptのBinaryBufferクラス

デバッグ中にバイナリデータを気軽に加工したくなるときがよくある。
例えば、データを画像に変換したい、でもバグでデータにズレがあるためズレを調整しながら確認したい、画像に限らずビットのズレを調整したいときなど…
コンパイル言語でも不自由はしないが 直接実行できるスクリプト言語が理想的で、加えて特別な環境が必要なく比較的メジャーな言語だと助かる。となると自分の場合はJScript一択なのかなと。
誰か作ってないかと色々探してみたけど理想的なものは見つからず…

そんな中で出来たのがJScriptのBinaryBufferクラス
Array-likeなオブジェクトにファイルの読み込み/書き出しとマルチバイト編集を追加したもの。
詳しくはREADME.ja.mdを参照。

2018年10月29日月曜日

電解コンデンサの液漏れ

数年前になるが 電解コンデンサの液漏れが多発したことがあった。
順番は忘れたが ハブ、オシロ、マザボとやられていった。
電源が入らなかったり動作が不安定になったりして 調べたら液漏れだったといった感じ。

部品の特定は、外観で液漏れが明らかだったり うろ覚えだが電圧や抵抗値で探したような。
幸いこの時は電解コンデンサの交換だけで全て元通り使えるようになった。

OWON PDS5022S

ASUS P5B-VM (+5V standby)

参考リンク

『不良電解コンデンサ問題』
『80年代末期の“亡霊”に注意、現代の修理業務でも遭遇率高し』

2018年10月28日日曜日

MSP-FET430UIFのファームウェアv2,v3

CCSv4とv5では MSP-FET430UIFのファームウェアバージョンが違うらしい。
そのためCCSv5で使った後にv4で使うには 手動でファームウェアを書き換える必要がある。

VID:PIDとファームウェアバージョンは以下の通り。
CCSv4 -- VID:PID 0451:F430 firmware v2
CCSv5 -- VID:PID 2047:0010 firmware v3
MSP430Flasher -- VID:PID 2047:0010 firmware v3

v2からv3へは自動で行われる。
v3からv2へはCCSv5のツールからダウングレードを行う。

参考リンク

『MSPDS Debugger Up- and Downgrade』

Spartan-3E Starter Kit のオンボードJTAG

久しぶりに使おうとしたら iMPACTのエラーでダウンロードが出来なかった。
原因はオンボードJTAGのファームウェアが古いためで、アップデートすることで解決できた。

症状と対策

iMPACTのCable Auto Connectがfailedで終了 (ISE Webpack 13.1)
-------------------------------
 Cable PID = 0008.
 Max current requested during enumeration is 74 mA.
Type = 0x0004.
 Cable Type = 3, Revision = 0.
 Setting cable speed to 6 MHz.
write cmdbuffer failed 20000015.
Error reading reference voltage level.
Cable connection failed.
-------------------------------

Starter Kit添付の「ISE Webpack 8.2」をインストールしiMPACTを実行。
が、%windir%/system32/drivers/xusbdfwu.sysがないと言われる…
ISE/bin/nt/xusbdfwu.sysを上記フォルダにコピーし再びiMPACTを実行。
ファームウェアのアップデートが無事完了。

アップデート完了後は「ISE Webpack 13.1」のiMPACTでも問題なし。

参考リンク

『Spartan-3e Starter Kit USB cable connection failed』