無線のクマデン

熊本のアマチュア無線ショップ「無線のクマデン」から、中古・ジャンク大放出というチラシが入ったので早速行ってみました。

そして購入した品々・・・

Kumaden

クマデンのジャンク放出で購入した品。

まず菊水電子の実験用電源PAB70-1A(¥2000-)。
前から実験用電源が欲しかったので即買いしました。70Vまで出せますがここまでは要らないと思います。むしろ電流容量がもう少し欲しいですけど贅沢は言えません。

そしてダイワの同軸切替機CS-201(¥1500-)。
時々あったら便利だなと思いますが無くても何とかなる品なのでこういう時に入手しておきます。

プリント基板の切れ端(¥200-)×2枚。
これは以前からあり購入した事もあるのですがストックが減ってきたので再び購入。これで当面CNCで削る材料に困りません。

抵抗が入った袋(¥200-)。
パワー系の抵抗が沢山入っています。

購入したのは以上ですが無線機類も含め他にも多数ありました。
FT-708とかローテーターとか興味を引かれる物がありましたがこれ以上ガラクタが増えても困るのであきらめます。
興味のある方はお早めに・・・

皮にレーザーマーキング~その2~

前回はくまモンを試し描きしたところまででした。
すこし大きすぎて皮の端切れからはみ出したので今回は少し小さくしてみます。

まず少し小さめのくまモンをPNG型式で作成します。背中も含めました。

そしてレーザーでマーキング。方法はこのあたりに書いた通りです。

少しですが加工中の動画を撮ってみました。

リングをつけてカシメで止めてキーホールダーにしてみました。
(この金具はカシメっていうんですかね。皮革加工は初めてなのでわかりませんが店ではそういう名札が付いていました。なんかそのままのネーミングです。因みにこれをカシメる道具は持ってないので万力で挟みました)

KumamnoKeyholder

くまモンキーホールダー
輪郭はハサミで適当に切ったのでガタついてしまいました。

暫く使用した後撮影したので既に剥げています。レーザーがスキャンした方向にスジ状に剥げているのでもう少し密度を上げてマーキングすると良いかもしれません。因みにこの時は144dpiの設定でした。

このキーホールダーは家の鍵に付けて使用しています。

OpenStickでフォースフィードバックができないか

前々からOpenStickでフォースフィードバックができないかと考えており調べています。
フォースフィードバックが出来るとフライトヨークにグイグイ力を加えたり、ヨットシミュレータで風の強さを手元に感じたりと夢が広がります。

が・・・
単純に入力だけのジョイスティックと比べて格段に難しいです。情報も少ないし、
このあたりを読んでも解らない事だらけです(しかも英語なんです)。

まず、普通のHIDデバイスはUSBのクラスIDは3番ですが、フォースフィードバック(PIDデバイス)の場合はどうなのでしょう?5番という記述も見るのですが、HIDと違う番号でPC側は問題ないのでしょうか?・・・といったところからして解りません。

そもそもウチにあるフォースフィードバックデバイスといえば「SideWinder Force Feedbak Pro」という古いジョイスティックがあるのですが、これはゲームポート&MIDIポートに接続する仕様の為、参考になりません(どこに仕舞ったかわからず写真も取れません)。

そこで何かフォースフィードバックのUSBデバイスが欲しいと思い、これを買ってきました。

BUFFALO BSGP1204

BUFFALO BSGP1204 ¥1980-

とりあえずPC(Windows7)に挿してみます。しかし暫く待っても認識されませんでした。ジョイスティックはドライバなぞ要らないもんだと思っていましたが、これは駄目なようです。そこで付属のCDからドライバを入れました(ドライバを入れた後も認識に暫くかかっていたので、もしかするとそのまま待っていれば認識したのかもしれません)。
OpenStickでフォースフィードバックデバイスを実現できたとして、PC側に何らかのドライバを書く必要があるのでしょうか?

コントロールパネルの「デバイスとプリンター」からデバイスの設定画面を出してみると下の様な派手なのが出ました。

BSGP1204Setting

セッティング画面

「バイブレーション」タブを押すと次の様な画面に変わります。

BSGP1204Setting2

バイブレーション設定画面

ここで「左側が振動」とか「右側が振動」とかをクリックするとゲームパッドがぶるぶると震えるので動作はしている様です。

次にこのデバイスのディスクリプタ類を見てみます。以前やったのと同様にLinuxマシンに挿して・・・

まずlsusbコマンドでベンダID,プロダクトIDを見ます。

$ lsusb
     : 
     : 
Bus 001 Device 005: ID 1dd8:000f

IDは「1dd8:000f」の様です。次に-v,-dオプションをつけてディスクリプタを見ます。
-vは詳細情報出力の意味、-dは指定デバイスのみ表示するオプションです。

$ lsusb -v -d 1dd8:000f

Bus 001 Device 005: ID 1dd8:000f
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x1dd8
  idProduct          0x000f
  bcdDevice            1.00
  iManufacturer           0
  iProduct                2
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      94
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
cannot read device status, Operation not permitted (1)

見たかったのはInterface Descriptor:内のbInterfaceClassです。
これは上に書いたクラスIDを示すものですが5番ではなく、やはり3番になっている様です。
また、良くわからないのはEndpointが入力用の1つだけである事です。想像では出力用にもう一つEndpointがあるものと思っていました。

余計にわからなくなってきました。
一旦これは置いときます。

いづれにせよPCからフォースフィードバック機器がどの様に見えるのかを知っておく必要があると思い、まずは振動を送るプログラムを書いてみようしてこちらもハマっています。

道は遠そうなのでぼちぼちやります。
どなたか詳しい方にアドバイスを頂けるとうれしいのですが・・。

 

Windows10(64bit)版でヨットシミュレータが動作しない件

Windows10への無償アップグレードが7月29日までという事なので、そろそろ検討を始めようと思い、まずはセカンドマシンで試してみました。
セカンドマシンとはHPのEliteBook2740pです。昨年の山口ミニメイカーフェアヨットシミュレータを動かすマシンが無かったため、中古で購入しました。セカンドマシンとはいえIntel i7搭載なので、メイン(Intel i5)より高級です。

HP Elite2740p

分厚いですがタッチパネルなのでWindows10を試すには最適です。

これには元々Windows7(32bit)が入っています。このマシンにはリカバリディスクが付いていないのでHPから購入しました。その際、32bitでも64bitでも購入可能との事でしたので64bit版を買っています。 よって今回は元々のWindows7(32bit)から、一旦リカバリディスクによりWindow7(64bit)を入れた後、無償アップグレードにてWindows10(64bit)化します。

まずリカバリディスクによりWindows7(64bit)をインストールした時点でヨットシミュレータを起動してみました。しかし何やらエラーが出ています。が、とりあえず今回はWindows10にしてから悩む事にします。

で、途中いろいろあったのですが、話はWindows10(64bit)インストール後に進みます。この状態でヨットシミュレータを実行してみるとやはり下の様なエラーが出て起動できません。

MSVCR100.dllがないため、プログラムを開始できません.

なにやらエラーが発生。

MSVCP100.dllが無いそうです。「OK」を押すとMSVCR100.dllも無いと言ってきました。検索してみると「MICROSOFT  VISUAL C++2010 再頒布可能パッケージ」を入れろとの事です。確かにヨットシミュレータはVISUAL C++2010でコンパイルしています。

ところで「MICROSOFT  VISUAL C++2010 再頒布可能パッケージ」には32bit版と64bit版があります。今回OSは64bitになったので64bit版をインストールしました。
しかしこれでは変化ありませんでした。なぜでしょう?
ヨットシミュレータは32bitアプリとしてビルドしてあります。結局アプリが32bitならOSが64bitでも32bit版パッケージを入れるのが正解な様です。

<参考>MICROSOFT  VISUAL C++2010 再頒布可能パッケージのダウンロード先