秋イベを振り返る。その3

E2海域の記事になります。

スタート地点が3つありますが次のようになります。

  • 上:史実艦ルート
  • 下:二航戦ルート
  • 中:その他ルート(潜水艦ルート)

f:id:tuttitan:20161208005842p:plain

嵐と野分がいたので、道中が一番楽な史実艦ルートで攻略しました。史実艦ルートで必要になるのは、嵐、野分、祥鳳、瑞穂、高雄愛宕あたりっぽいです。

敵編成は航空戦力が強力なので、W対空カットイン装備+できるだけ艦戦で臨みます。また索敵値がある程度ないとMマスに逸れてしまいます。

f:id:tuttitan:20161208010004p:plain

道中は通常戦1、対潜水戦1、航空戦1なので道中支援は出さず、決戦支援についても道中事故が間々あったため出さないスタイルで進めました。

旗艦のHP減少でゲージは削れるので、航空支援+航空戦で随伴艦を落として夜戦で倒していく戦略。ラスダンは旗艦スナイプで終わりましたが、決戦支援を出したほうがより確実です。

f:id:tuttitan:20161208005918p:plain

基地航空隊を2部隊使うことができ、1部隊は防空固定(仕様)、もう1部隊はOマス集中にしてみました。
Kマスまで行動半径7、Oマスまで行動半径8必要みたいです。

第1(出撃):1陸攻34[9]、1陸攻野中[8]、零戦52熟練[7]、彩雲[8]
第2(防空):飛燕224、雷電雷電、彩雲
※ [ ]内は行動半径

陸攻x4にすると、結構な数が撃ち落されてボーキが飛んでいきます...

秋イベを振り返る。その2

E1海域は輸送作戦となります。
潜水艦が多くボスも潜水棲姫なので、大発動艇が積める艦に対潜装備を載せて攻略に臨みます。もちろんドラム缶でもOK。

f:id:tuttitan:20161207230155p:plain

軽めの編成を組むことにより最短ルートでボスに辿り着くことができます。(駆逐3、軽巡1、高速軽母1、高速戦艦1)

航巡でも最短ルートで行けますが戦艦が入っていないと攻撃が2順しないのでA勝利・S勝利することが難しくなります。また速力を高速に統一しないとHマスからGマスに逸れるっぽいです。

f:id:tuttitan:20161207230019p:plain

輸送作戦はボスを倒しきる必要がない(輸送量でゲージが割れる)ので、A勝利できて輸送量が多くなる装備で周りましょう。甲作戦の場合、ゲージを突破するまではS勝利することはまず無理でしょう。(先制雷撃艦に対潜装備させてもなかなかS勝利は厳しいです...)

 

次はE2海域の記事です!

秋イベを振り返る。その1

艦これの秋イベントが11/18(金)~ 12/9(金)まで実施されています。

はじめは、やりながら攻略記事を書いていこうかと思っていたのですが、攻略に時間が掛かってしまったので後日談としてまとめていきたいと思います。(複数回予定)

 

海域のモデルは太平洋戦争末期~クロスロード作戦っぽい感じです。

 

作戦
発令!艦隊作戦第三法

期間
11/18(金)~ 12/7(水) 延長されて12/9(金)11:00

海域数
5(前段作戦3、後段作戦2)

札数
3(E5乙丙種の場合) or 4(E5甲種の場合)
輸送部隊:E1
迎撃部隊:E2, E3
増派部隊:E4
決戦部隊:E5甲作戦のみ

史実艦
嵐、野分、祥鳳、瑞穂、蒼龍、飛龍、愛宕高雄、羽黒、妙高、神通、摩耶、鳥海、木曽、長門、酒匂、プリンツあたり?

報酬艦
C. Teste(水上機母艦、E3)、Saratoga(正規空母、E5)

 

E4甲作戦の報酬で試製甲板カタパルトがあったので狙っていましたが、領域外の難易度だった(運がなかった)ためE4から乙作戦で攻略しました。

E5も甲種勲章に興味がないのと堀りが大変になるのを嫌って乙作戦で終えました。そして入手できたレア艦は次の通り、Prinz Eugenやりました!

海域艦娘
E1 鹿島、浦波
E2 天津風時津風、春風、神風、山風、江風
E3 高波
E4 親潮、朝風
E5 酒匂、Prinz

 

次から海域ごとに振り返ってみたいと思います。
まずはE1海域から!

Java8でRS-232C(準備編)

バイナリデータをシリアル通信でターゲット機器に送りたい...では、Javaで行きましょう!ということで環境構築を一通り行ないました。

JDKのインストールなど基本的なところは端折ります、といってもORACLEのHPからインストーラーをダウンロードしてインストールするだけですが...

Javaでシリアル通信を行なうためのライブラリとして、Java Communication APISun Microsystems)なるものがあるらしいのですが、バグがあるなどあまりよい噂を聞かないのでRXTXライブラリ(仕様としてはJava Communication APIと同じ)を使うことにしました。

前提条件
  • Windows7 32bit環境
  • JDK8がインストールされていて、jdk1.8.0_x/binのPATHが通っている
  • シリアルポートがCOM4として認識されている
  • cygwinでjavacおよびjavaする

 

手順
  1. RXTXライブラリ(安定版のバイナリrxtx-2.1-7-bins-r2.zip)をダウンロードする

    http://rxtx.qbang.org/wiki/index.php/Download

    f:id:tuttitan:20161108141829p:plain

  2. zipファイルを適当な場所に解凍する
  3. 一応、INSTALLファイルに目を通す
  4. RXTXcomm.jarとWindows/i368-mingw32/にあるrxtxParallel.dllとrxtxSerial.dllを適切な場所にコピーする。この手順が非常にわかり難いので後で詳述する。
  5. エディタでテスト用のJavaファイルを作成し、コンパイルおよび実行できることを確認する。コンパイルは普通に $ javac SerialTest.java、実行は普通に $ java SerialTest でいけるはず。

 

テスト用のクラス

 SerialTest.javaとして、以下のようなコードを用意します。やっていることとしてはシリアル通信ポートを開いてテスト文字列を送信しているだけです。

import java.io.OutputStream;
import gnu.io.CommPortIdentifier;
import gnu.io.CommPort;
import gnu.io.SerialPort;
 
public class SerialTest
{
    public static void main(String arg[]) {
   
        try {
            /* *** シリアルポートを確保する *** */
            // 使用するCOMポートを取得
            CommPortIdentifier comID = CommPortIdentifier.getPortIdentifier("COM4");
            
            // COMポートを開きます
            CommPort commPort = comID.open("hoge", 2000);
            
            // シリアルポートのインスタンスを生成…
            SerialPort port = (SerialPort)commPort;
            
            
            /* *** シリアルポートの設定 *** */
            // ボーレート、データビット数、ストップビット数、パリティを設定
            port.setSerialPortParams(
                115200,
                SerialPort.DATABITS_8,
                SerialPort.STOPBITS_1,
                SerialPort.PARITY_NONE);
            
            // フロー制御はしない
            port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
            
            
            /* *** テスト送信 *** */
            OutputStream out = port.getOutputStream();
            
            out.write('t');
            out.write('e');
            out.write('s');
            out.write('t');
            
            
            /* *** 終了処理 *** */
            out.close();
            port.close();
 
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

ライブラリファイルのコピー

JDKのインストール先(デフォルトならC:\Programs Files\Java)にはjdkjreがあると思うけど、Javaプログラムの開発に使われるのがjdkで、実行に使われるのがjreです。

 

zipファイルの中身でコピーすべきファイルは次の3つです。

  • rxtx-2.1-7-bins-r2/RXTXcomm.jar
  • rxtx-2.1-7-bins-r2/Windows/i368-mingw32/rxtxParallel.dll
  • rxtx-2.1-7-bins-r2/Windows/i368-mingw32/rxtxSerial.dll

dllファイルはPATHが通っている場所ならどこでもいいのですが、javacのPATHでもあるjdk1.8.0_x/bin/ の下にコピーします。

クラスライブラリであるjarファイルは jdk/jre/lib/ext/ と jre/lib/ext/ の2箇所にコピーする必要があります。非常にわかり難く私もハマりましたのでツリー図を以下に示します。

f:id:tuttitan:20161108150605p:plain

jdk/jre/lib/ext/ にライブラリのjarがないと、コンパイルするときにライブラリクラスを見つけられずにコンパイルエラーになります。

一方、jre/lib/ext/ にライブラリのjarがないと、Javaプログラムを実行するときにライブラリクラスを見つけられずにNoClassDefFoundErrorが発生します。

 

 

参考Webページ

FT232RLのドライバ

Windowsでシリアル通信をしたいと思い、昔購入した秋月電子通商のFT232RLなるものを引っ張り出してきた。

f:id:tuttitan:20161108130729j:plain

マニュアルを見てみるとWindowsXPでのドライバのインストール方法は書いてあるのだけど、Windows7の場合はどうやるのだろう?ということになり調べてみた。

ICの提供先であるFTDI社のページからVCP(Virtual COM Port)のドライバをダウンロードしてそれを使ってデバイスドライバをインストールすればよいとのことで、以下に手順をまとめます。

  1. FTDI ChipのホームページからVCPドライバ(CDM v2.12.24 WHQL Certified.zip)をDLする。執筆時点での最新バージョンは 2.12.24 でした

    http://www.ftdichip.com/Drivers/VCP.htm

  2. zipファイルを適当な場所に解凍しておく
  3. USBケーブルでFT232RLとPCを接続する
  4. デバイスドライバーソフトウェアは正しくインストールされませんでした」と出るかも知れないが気にしない
  5. バイスマネージャーからドライバーソフトウェアの更新を行なう

    f:id:tuttitan:20161108132228p:plain

    びっくりマークが表示されている「FT232R USB UART」を右クリックして、「ドライバーソフトウェアの更新」を選択

  6.  

    「コンピューターを参照してドライバーソフトウェアを検索します」を選択して、手順2でファイル解凍した場所を指定する。
  7. 以上でFT232RLのドライバがインストールされるはず...

  8. バイスマネージャーを確認して、まだびっくりマークが付いていたら手順5~6を再度行なう
    f:id:tuttitan:20161108132713p:plain
  9. バイスマネージャーを確認してCOMポートとして認識されていればインストール完了

    f:id:tuttitan:20161108133225p:plain

これでWindows7でシリアル通信を行なう準備が整いました。

 

 

参考Webページ

ThinkPadのファンコントロール(Debian系)

ThinkPadのCPUファンをLinuxでどうにかしたいという話です。

Windowsの場合なら、TPFanControlをインストールすれば済むけど、Linuxの場合はデバイスに直接アクセスして制御するっぽい。

Debian系(LUbuntuとか)での設定の手順を記しておきます。

  1. modprobe.dに設定ファイルを作る(root権限で)
    $ sudo emacs /etc/modprobe.d/thinkpad_acpi.conf
  2. エディタが起動したら次の文を書いて保存終了
    option thinpad acpi fan control=1
  3. 再起動する
  4. コマンドからファンの強さを指定する(x=0〜7, auto)
    $ echo level x | sudo tee /proc/acpi/ibm/fan

温度によってファン制御を行なう方法もあるみたいだけど、それはまたの機会に...

 

 

参考Webページ

TVTestのレンダラ問題

普段TVTestを実行しているPCはネットワークから遮断しているのでWindows7標準のデコーダMicrosoft DTV-DVD Video Decoder)で見れているのだけど、Windows Update を実施されている最新状態のPCでTVTestを実行してみると上手くレンダリングできない...

「Direct Showの初期化ができません。MPEG-2デコーダフィルタをフィルタグラフに追加できません。」というお叱りを受けてしまう。

どういうことか調べてみると、TVTestにバグがあってMSのプラットフォーム更新プログラムKB2670838 が当たることで Microsoft DTV-DVD Video Decoder  が使えなくなっているとのこと。

 

だがしかし、XP時代の頃のようにffmpegなど何か別のデコーダをPCに入れてやることで、この描画の問題は解決する。ではどのデコーダがいいのか?

またまた調べてみると、MPC MPEG-2 Video Decoder なるものがあるらしい。もともとMPC(Media Player Classic)は長年お世話になっている動画再生ソフトだし、せっかくなのでコレを入れることにした。

 

手順が少し厄介だったので以下示す。

  1.  少し古めのフィルターファイル(zip)をダウンロードする
    (最新のやつだとMpeg2DecFilter.axが入っていないので1.6.8.x86あたりDL)

    https://sourceforge.net/projects/mpc-hc/files/Standalone%20Filters%20-%20Win32/

  2.  zipを解凍して、Mpeg2DecFilter.axをC:\Windows\SysWOW64\ の下にコピーする
    (例によってバックスラッシュは円マークに読換えてね)

  3. C:\Windows\SysWOW64cmd.exe を管理者権限で実行する
  4. コマンドプロンプトが起動するので、regsvr32によってフィルターファイルを登録する
    > cd C:\Windows\SysWOW64
    > regsvr32 Mpeg2DecFilter.ax

 

 

参考Webページ