Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

LinuxMint18(MATE)にKiCADをインストール

Eagleを使っていたんですけれど、話題のKiCADに浮気してみようかなと思い、インストールだけ。
特に難しい話ではないんですが、メモとして残します。

本家からインストールしたりあれこれ試しましたが・・・・・
そんな必要は何もありませんでした。

「ソフトウェアの管理」からKiCADを検索し、必要なプログラムをインストールするだけでOKです。
ヘルプファイルとかサンプルとか様々あります。

何事もなくインストールは完了し、メニューの「プログラミング」グループに追加されていました。
KiCADのマニュアルも日本語化され、書籍も販売されている様子ですので、このタイミングで勉強してみても損はなさそうです。
Eagle(無料版)よりも大きな基板の設計できますしね。


優良アダルトサイト紹介の最終形態!!MaxInfo

NeogeoMiniのアケコン工作(スティック部)

Youtubeでとても面白い動画を発見しました。
NeogeoMiniで使えるアーケードコントローラーを作る企画ですね。

【NEOGEO miniアケコン化のやり方①】純正PAD分解・仕組み解説~アーケードコントローラー分解 - YouTube
【NEOGEO miniアケコン化のやり方②】純正PAD乗っ取り開始!ボタン基盤端子と配線はんだ付け - YouTube
【NEOGEO miniアケコン化のやり方③】スティック乗っ取り成功!・・・と思ったら怪動作暴走 - YouTube
【NEOGEO miniアケコン化のやり方④】マスターたすけて!電子パーツショップへ来店 - YouTube
【NEOGEO miniアケコン化のやり方⑤】ついに完結!コレを見れば君もアケコン化できるさ! - YouTube

電子工作を楽しみながらやっていた頃を懐かしく思い出しました。
動画に声と手で出演していらっしゃる奥様がかなり優秀です!

動画を拝見し、苦労しておられる十字スティック部分の回路を予想してみました。
実物を持っていないので確証はありませんが、参考になれば幸いです。

試行錯誤の結果、奥様はスティック側の基板の共通パターンをカッターでぶった切ってしまった様子ですが、切らなくとも動作できるのではないかと思っております。

おそらく、アナログ部分の可変抵抗と思われる部品の取り外しの必要はなく、配線に含めた抵抗も必要ありません。
その根拠は、一番最初の動画で、精密ドライバーで導通するだけでボタンの反応がありますから、アナログ回路じゃなくても動作するはずなのです。
さらに、ドライバーで導通させている「上下」と「左右」のピン配置を見ると、それぞれ真ん中のピンが共通になっています。
おそらく、グランドではないかと想像しました。

f:id:kamuycikap:20180823060203j:plain


優良アダルトサイト紹介の最終形態!!MaxInfo

LinuxMint18(MATE)でBrotherのDCP-J973Nをネットワークプリンタとして使う

LinuxMint18でBrotherのDCP-J973が利用できるかチャレンジ。

1)ブラザーのサイトからドライバーをダウンロードしてインストール。
  brscan4-0.4.4-4.i386.deb
  brscan-skey-0.2.4-1.i386.deb
  dcpj973npdrv-1.0.2-0.i386.deb

2)「メニュー」→「コントロールセンター」→「印刷設定」を開くと、「DCPJ973N」のアイコンは表示されている

3)テストプリントをしてみても、ステータスモニターでは「処理中」になりそのまま。

4)プリンターのプロパティを開くと、「プリンターの状態」が、「処理中 - プリンターが使用可能になるのを待っています」となっている。


結果を先に書くと、上記の手順でインストールされたのは、USB接続用のドライバ設定でした。
試行錯誤しましたが、結果下記の手順で無事に印刷できました。

  ↓↓↓↓↓

プリンタードライバのダウンロード

ダウンロードサイト
ソフトウェアダウンロード | DCP-J973N-B/W | 日本 | ブラザー

ここから、Linux用のドライバをダウンロード。
私のPCは32bitなので、32bit向けのドライバーをダウンロードしました。

f:id:kamuycikap:20180726144512p:plain
ダウンロードするOSとタイプを選択

f:id:kamuycikap:20180726144849p:plain
ドライバーを選択

f:id:kamuycikap:20180726145059p:plain
ダウンロードしたファイル

スキャナーが利用できるツールとドライバーもダウンロード

プリンタドライバ-のインストール

debパッケージなので、ダブルクリックするだけでインストールできます。(勿論ですが、管理者権限ユーザーのパスワードが必要です)

CUPSの設定

ブラウザを起動し、アドレスバーに下記のURLを入力
http://localhost:631/

f:id:kamuycikap:20180726150045p:plain
caps管理画面

表示された画面で、「管理」タブ → 「プリンターの追加」ボタン → 「発見されたネットワークプリンター」でBrother DCP-J973N (Brother DCP-J973N)を選択

f:id:kamuycikap:20180726150509p:plain
プリンターの選択

あとは、ウィザードに従ってそのまま続けるだけでOK。
何も変更しなければ、「Brother DCP-j973N」というプリンターが追加されるはずです。

プリンターを確認

メニューから「システム管理」 → 「プリンター」とクリックし、プリンターの一覧を表示します。
すると、「Brother DCP-j973N」が一覧に表示されているはずです。

f:id:kamuycikap:20180726151417p:plain
プリンタ設定
※一覧にDCPj973Nのアイコンがある場合、それはUSB接続用プリンタの可能性が高いです。(プロパティでデバイスURIを確認するとわかります)

Brother DCP-j973Nのアイコンを右クリック → プロパティ と操作し、テストページの印字ボタンで動作すれば正解です。


優良アダルトサイト紹介の最終形態!!MaxInfo

Excel2016 数式がセルに表示される

計算結果ではなく、数式がそのままセルに表示される

数式を入力したのに、数式の計算結果ではなく「数式」そのものが表示される場合があります。
何度か遭遇する度にGoogle先生に質問しているので、自分のブログに残します。

手順1:セルの書式設定で分類を標準にする

セルの書式設定が文字列になっていると、数式がそのまま表示されてしまうようです。
下記の通り、標準に戻してあげましょう。

[セルの書式設定]ダイアログ
 −[表示形式]タブ
  −[分類]欄
   「標準」を設定

手順2:編集してからEnterキーで確定

セルの書式設定を「標準」にしただけでは、症状は改善されないようです。
そこで

1.F2キーを押して数式の編集モードにする
2.数式に問題無ければEnterキーを押す

を実施します。

手順3:計算結果が表示されるセルをコピー

上記手順1~2で、数式の結果が表示されるはずです。
しかし、それは1つのセルだけですから、正しく表示されるセルを数式が表示されているセルにコピーしてあげることで解決できます。


優良アダルトサイト紹介の最終形態!!MaxInfo

今さら正規表現(否定編)

正規表現で(~を含まない行)を見つけたい

CSVデータ等、複数行のテキストデータに対して、フィルタをかけたい事が多々あります。
エディタを利用して、文字列の並び条件にマッチしている行だけを残したい場合、その条件にマッチしない行を削除すれば良い事になります。

■ 〜を含まない行

「abc」という文字列を含まない行にマッチする。

^(?!.*abc).*$

■ 〜を含まない行(複数指定)

「abc」または「efg」という文字列を含まない行にマッチする。

^(?!.*(abc|efg)).*$

※abc|def|ghi|jkl など、つなげれば複数条件も可能

■ 〜を含むが、〜を含まない行

「abc」を含み、「def」を含まない行にマッチする。

^(?=.*abc)(?!.*def).*$

■ 〜で終わらない行

「abc」という文字列で終わらない行にマッチする。

^(?!.*abc$).*$

■ 〜で始まらない行

「abc」という文字列から始まらない行にマッチする。

^(?!abc).*$


優良アダルトサイト紹介の最終形態!!MaxInfo

LinuxMint18でEpson EP-806Aシリーズを使う

Linux Mint18で、EpsonのEP-806Aシリーズが使えるようにしてみる。
スキャナ機能などが搭載されているが、まずは印刷が出来ることを目標に。

プリンタードライバのダウンロードとインストール

ダウンロード

プリンタドライバーのダウンロードは、日本語のダウンロードサイトからはできない。

EPSON Download Center

上記のURLで、プリンターの型式とOSを選択する。
上側の空欄にプリンターの型式を入力し、下側の選択ボタンでLinuxを選択する。
プリンターの型式入力欄の右側に、虫眼鏡のアイコンがあり、それをクリックすると選択したOSのドライバーダウンロードページに遷移する。

f:id:kamuycikap:20180206073734p:plain

虫眼鏡のアイコンクリック後f:id:kamuycikap:20180206074213p:plain

f:id:kamuycikap:20180206074015p:plain

注意するポイントは、自分がダウンロードしたいドライバを正しく選択すると言うこと。
32bitなのか64bitなのか。
今回はLinuxMint18なのでdebパッケージを選択。

インストール

インストールは、debパッケージをそのまま標準のツールでインストールするだけ。
ダウンロードしたファイルを、ダブルクリックすればOK

このドライバーはLSB3.2以上が必要なので、lsbをインストールしていない場合は、最初にインストールしなければならない。

$ suto apt-get install lsb

プリンターの設定

EP-806Aシリーズの前面パネルを利用し、プリンターを予めネットワークに参加させておかなければならない。
※USB接続でも問題ないかも知れないが、こんかいはネットワークプリンターとしてセットアップさせる

ネットワークプリンタとしての設定については、EP-806Aシリーズのマニュアルを参照してください・・・。

プリンターの追加

メニューから「システム」→「プリンター」

f:id:kamuycikap:20180206075811p:plain

f:id:kamuycikap:20180206080122p:plain

f:id:kamuycikap:20180206080512p:plain

表示されるEP-806Aシリーズを選択し、DNS-SD経由を選択したら、進むボタンをクリック

無事に印刷できるようになる。

WindowsにClozure CLを導入済みQuickLisp付きでインストールしてみた

WindowsにClozure CLをインストールする先人たちの知恵は、所かしこに存在するのですが、すでに導入しているQuickLispのライブラリも持ち歩きたいと考えた場合はなかなかみつからない。
そこで試行錯誤してみました。
結論、試行錯誤と言うレベルではなく、結構簡単に実現。
この結果が正しいかどうかは分かりませんが、作業結果としてブログに残します。

仕様概要

  1. 簡単に持ち歩きたい(環境まるごと)
  2. ネットワークに接続されている状態でならQuickLispによるライブラリの導入ができる
  3. ネットオフラインになっても導入したQuickLispライブラリを使いたい
  4. Clozure CLを採用したい
  5. SLIMEな環境で開発したい
  6. 可能な限りWindowsのバージョンに左右されないようにしたい

環境構築

Clozure CLのダウンロード

Clozure CLのダウンロードと導入については、他のサイトに任せます。
単純に本家のサイトに行き、Clozure CLのWindows用ZIPファイルをダウンロードし、それを任意のフォルダに展開するだけ。
便宜上、C:\work\cclとする

Clozure CLはインストーラなどは必要ない。
https://ccl.clozure.com/download.html

Clozure CLの展開フォルダをホームディレクトリに

ここの部分がキモになる。
Linuxな環境ならば、homeディレクトリという考え方があり、各ユーザーの設定を個別に管理できるが、Windowsの場合はバージョンによって様々。
Windowsでも好きに触れるならオレオレにすれば良いじゃないかと思ったのですが、利用しているアプリケーションによっては、勝手にホームディレクトリを変更すると動作がおかしくなる。
それは嫌だ。

なので、BATファイルを作り、限定的に環境変数を操作する事で回避する。
コマンドプロンプトを開き、そのコマンドプロンプト内だけホームディレクトリを、Clozure CLを展開したC:\work\cclにする。
そうすれば、他には影響が無いはず。

絶対に必要な設定はこちら

SET CCL_DEFAULT_DIRECTORY=%~dp0
SET PATH=%PATH%;%~dp0
SET USERPROFILE=%~dp0
SET HOME=%~dp0

環境変数のUSERPROFILEを再設定する事で、Linuxでいう所のhomeディレクトリを決めている。
SETXではなくSETを使っているのは、バッチを実行したプロンプトだけに設定を反映したかったから。
つまり、バッチを実行したプロンプト内は、全く別の環境として機能する。
以降の作業は、全てこのバッチを走らせたプロンプト内で実施しなければならない!

以下、バッチファイル全文。(意味を理解しなきゃ、コピペするだけじゃ動かないよ!)
Emacsxyzzyを使いたいし、graphvizも呼び出したいので、フォルダ作ってそこに配置し、PATHを通した。

@echo off
REM ClozureCL Start for Windows

echo =================================================
echo Common Lisp Environment Setup by Project Kinpira.
echo =================================================
echo .

echo EnvironmentValue Setup! -^> Start
REM カレントディレクトリをClozureCLのデフォルトディレクトリとして設定
REM ClozureCLの実行ファイルパスもPATHに追加する
REM 表示するプロンプトだけ有効にするため、SETXではなくSETで設定している
SET CCL_DEFAULT_DIRECTORY=%~dp0
SET PATH=%PATH%;%~dp0
echo CCL_DEFAULT_DIRECTORY -^> %CCL_DEFAULT_DIRECTORY%

REM このBATを実行した時だけ、userprofileをカレントディレクトリにする(他には何も影響しない)
SET userprofile=%~dp0
SET HOME=%~dp0
echo USERPROFILE -^> %USERPROFILE%
echo HOME        -^> %HOME%
echo EnvironmentValue Setup! -^> End
echo .

echo ApplicationPath Setup! -^> Start
REM サードパーティアプリの実行パスもPATHに含める(共通部)
SET PATH=%PATH%;%~dp0\third_party_tools\graphviz-2.38\release\bin
SET PATH=%PATH%;%~dp0\third_party_tools\xyzzy
SET PATH=%PATH%;%~dp0\third_party_tools\emacs\bin
echo Graphviz2.38 -^> OK
echo XYZZY        -^> OK
echo Emacs24      -^> OK


REM サードパーティアプリの実行パスもPATHに含める(Windowsバージョン別)
ver | find /i "Version 5.1." > nul
if %ERRORLEVEL% equ 0 GOTO :WINXP
ver | find /i "Version 6.1." > nul
if %ERRORLEVEL% equ 0 GOTO :WIN7
ver | find /i "Version 6.3." > nul
if %ERRORLEVEL% equ 0 GOTO :WIN8.1
ver | find /i "Version 10.0." > nul
if %ERRORLEVEL% equ 0 GOTO :WIN10
goto :END

:WINXP
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_WinXP\bin
goto END

:WIN7
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_Win7\bin
goto END
 
:WIN8.1
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_Win7\bin
goto END
 
:WIN10
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_Win7\bin
goto END

echo Tcl/TK       -^> OK
echo ApplicationPath Setup! -^> End
echo .
:END

echo QuickLisp Library List -^> Start!
dir %~dp0\quicklisp\dists\quicklisp\software
echo QuickLisp Library List -^> End
echo .

echo ===== Usage =====
echo Emacs起動 -^> runemacs
echo XYZZY起動 -^> xyzzy
echo 

REM ClozureCL起動
REM wx86cl.exe

QuickLispの導入

基本はこちらのサイトに掲載されている方法で導入。
http://modern-cl.blogspot.jp/2011/03/

QuickLispのダウンロードと設置

QuickLispの本家から「Quicklisp.lisp」をダウンロードし、Clozure CLを解凍したフォルダに配置。
C:\work\CCL
へ保存。

https://beta.quicklisp.org/quicklisp.lisp

Clozure CLの起動

先に作ったバッチを実行し、実行した後のプロンプトでClozure CLを起動。
なぜなら、次に行うQuickLispの導入とライブラリの導入先を、Clozure CLを展開したフォルダにしたいから。

QucikLispでライブラリ導入

こちらのサイトに紹介されている方法でQuickLispを導入。
http://modern-cl.blogspot.jp/2011/03/quicklisp.html

(load "quicklisp.lisp")
(quicklisp-quickstart:install)
(ql:add-to-init-file)

ここまでで、うまく行っていれば、Clozure CLの解凍フォルダにQuicklispの設定ファイルが出来ているはず。
これ → ccl-init.lisp


http://modern-cl.blogspot.jp/2011/04/4-common-lisp.html
こちらのサイトに掲載されている方法で、ライブラリを導入

Clozure CLの解凍フォルダに「quicklisp」フォルダが作成され、その中にどんどんとライブラリが蓄積されていくはず。

(ql:quickload :cl-ppcre)          ; 正規表現
(ql:quickload :local-time)        ; 時間計算
(ql:quickload :trivial-shell)     ; シェルコマンド実行
(ql:quickload :cl-fad)            ; ディレクトリ・ファイル操作
(ql:quickload :Drakma)            ; HTTPリクエスト
(ql:quickload :ltk)                     ; Tkライブラリ(GUI作成用)

こんだけあったら、現状の日常業務はなんとかなりそう。

ソースコードの実行

これもバッチファイルで実行。
ファイル名は、ccl.batとでもしておく

@echo off

wx86cl.exe --load %1 --eval (quit)

これで、

> ccl hoge.lisp

としてプログラムを実行できる。

開発環境の構築

ホームディレクトリが設定されているので、自分の.emacs.dをClozure CLの展開フォルダに配置するだけ。
NTEmacsを導入していたので、cドライブ直下にあるemacsディレクトリを、.emacs.dと同様にClozure CLの展開フォルダに配置する。

最終的に、フォルダ構成はこうなっている。
履歴として晒してみる。。。

 C:\work\ccl のディレクトリ

2017/11/25  19:17    <DIR>          .
2017/11/25  19:17    <DIR>          ..
2017/11/25  14:33    <DIR>          .emacs.d     <- Emacs用の設定
2015/11/06  20:10    <DIR>          .svn
2017/11/25  16:19                44 .xyzzy         <- xyzzy用の設定
2017/11/25  12:28               221 ccl-init.lisp
2017/11/25  15:45                51 ccl.bat     <- コンパイル用バッチ
2017/11/25  18:18             2,170 cl-setup.bat     <- 環境変数変更用バッチ
2015/11/06  20:09    <DIR>          compiler
2015/11/06  20:09    <DIR>          contrib
2015/11/06  20:09    <DIR>          doc
2015/11/06  20:09    <DIR>          examples
2015/11/06  20:09    <DIR>          level-0
2015/11/06  20:09    <DIR>          level-1
2015/11/06  20:09    <DIR>          lib
2015/11/06  20:09    <DIR>          library
2015/11/06  20:09    <DIR>          lisp-kernel
2015/11/06  20:09    <DIR>          objc-bridge
2017/11/25  12:18    <DIR>          quicklisp
2017/11/25  11:16            57,144 quicklisp.lisp     <- quicklisp.lispはココに置いた
2015/11/06  20:09    <DIR>          scripts
2015/11/06  20:09    <DIR>          src           <- ソースコード置くとこ作ってみた
2017/11/25  14:33    <DIR>          third_party_tools    <- この中に使いたいアプリを放り込む。(Emacsとxyzzy、TclとGraphvizが入っている)
2015/11/06  20:09    <DIR>          tools
2015/11/06  20:09    <DIR>          win32-headers
2015/11/06  20:09    <DIR>          win64-headers
2015/11/06  19:32           868,278 wx86cl.exe     <- 32bit用のClozure CL本体
2015/11/06  19:36        18,182,160 wx86cl.image
2015/11/06  19:36         1,078,774 wx86cl64.exe     <- 64bit用のClozure CL本体
2015/11/06  19:41        24,334,576 wx86cl64.image
2015/11/06  20:09    <DIR>          xdump
              10 個のファイル          44,524,635 バイト
              21 個のディレクトリ  267,617,517,568 バイトの空き領域

開発!!

  1. コマンドプロンプト起動(Win + R)
  2. cdコマンドでカレントディレクトリをC:\work\cclに移動
  3. cl-setup.batを実行
  4. Emacsやらxyzzyやらでソースコード作成!
  5. ccl.batでソースコード実行


優良アダルトサイト紹介の最終形態!!MaxInfo