#pcomment(reply); - [[2010以前(マイコンブ内):http://ifdl.jp/micon-bu/index.php?akita]] - [[./2010]] - [[./2011]] - [[./2012]] - [[./2013]] - [[./2014]] - [[./2015]] * 22/09/15: wcコマンドで文字数カウント [#bb3a1456] -mオプションでマルチバイト文字も数えられる。 * 22/09/12: Macプレビューで透明背景PNGの作成 [#y046b52f] https://qiita.com/na1412/items/90a9641d9644e1bfbb49 * 22/07/25: 古いWindowsのヘルプ(*.hlp)をWin10で開く [#iabe0b3e] https://kzstock.blogspot.com/2018/05/win10-winhlp32.html * 22/06/21: CubeMX+KeilでSTM32のプログラムを書く [#fff5e082] CubeMXはSTM32の周辺I/Oの初期化関数を自動生成するツール。Keilの新規プロジェクト作成時にそれを使うようにすれば、そのままKeilのプロジェクトの雛形がつくられるので、それをベースにプログラムを書いていけばいい。書き込み機はプロジェクトの設定のDebugツール、からST-Linkなどを指定できる。 プログラムの書き方の例 - https://www.waveshare.com/wiki/STM32CubeMX_Tutorial_Series:_PWM - https://deepbluembedded.com/stm32-pwm-example-timer-pwm-mode-tutorial/ Keilで新規プロジェクトをつくるときにCubeMXを使う https://www.keil.com/pack/doc/STM32Cube/html/cubemx_using.html 書き込みツールの変更 https://yuki-sato.com/arm/stmdiscover/stm_3_configproject.html * 22/06/13: Replicator2Xのノズル交換 [#z9e2b76e] https://yasurigake.com/replicator2x_nozzle/ こんな感じになる・ https://twitter.com/akita11/status/1478172333538160640 * 22/05/31: KiCADにビットマップ画像を入れる [#sb312b35] https://nobulabo.com/kicad-qr-code/ * 22/05/25: AltiumDesigner -> KiCAD変換 [#xb992230] https://github.com/thesourcerer8/altium2kicad これのオンライン版もある http://www2.futureware.at/KiCad/ と思ったら、PcbNew単体でインポートできる。 https://gitlab.com/kicad/code/kicad/-/issues/10146 逆はできないっぽい・・・? * 22/03/18: Docker for WindowsのWSLとイメージを外付けドライブへ移動 [#u470ebd1] https://buzz-server.com/tech/disk-space/ https://penguin-coffeebreak.com/archives/534 * 22/03/17: Thunderbirdのメッセージフィルタの設定ファイルの所在 [#o5325488] https://qiita.com/ShotaroImai/items/3d67c5d555d586cf1f38 * 22/03/10: SODから始まるSMDダイオードのパッケージ [#n7dee937] https://detail-infomation.com/package-types-sod/ * 22/03/07: Docker(Mac)を完全にアンインストール [#cb4365c6] Dockerイメージの置き場所を外付けドライブに移動している途中でスリープしたせいか、各種ファイルが壊れてしまい、Factory Resetする?と聞かれてOKとしてもDockerが落ちてしまう、という現象になったので、とりあえず完全にアンインストールしてみる。 https://qiita.com/esu_eichi/items/72bcd5801971fee793fe * 22/03/02: KiCADでTeardopをつける [#n9322998] https://ratelog.net/kicad-teardrops/ * 22/02/16: gitコマンドでpushするための公開鍵の設定など [#h5c9f9c1] https://nishinatoshiharu.com/how-to-gitpush-with-ssh/ * 22/02/08: RaspPiをボタン1個でシャットダウン [#xfc87416] https://qiita.com/ryo-a/items/2edabbbe2b67654e29c9 * 22/02/03: bitduinoでビルドできなくなる [#z15e9406] ArduinoIDでATtinyを使うbitduinoは、Digisparkを入れるとコンパイラが入れ替わっちゃう(unknown MCUというエラーが出るようになる)→DIgisparkを消してbitduinoを入れ直せばOK https://make.kosakalab.com/arduino/arduino-ide_avr-gcc_why/ https://make.kosakalab.com/make/electronic-work/arduino-ide/attiny10-13_dev/ * 22/01/10: M5Stack UnitV2をsshでつないで動かす&OpenCV [#e65108ad] いろいろと罠がある。例えば/dev/nullのパーミッションがなくてscpできないとか。 一応こちらを参考にビルドはできたんだけど、opencv関連のライブラリがUnitV2(のここに書かれている場所)にない。ディレクトリ構成が変わってるんかな。 https://rt-net.jp/humanoid/archives/3962 ただし環境構築で以下のような罠があった。 ------------- env NM=nm CFLAGS="" ./configure --prefix=$(pwd)/build --host=arm-none-linux-gnueabihf --build=x86_64-linux --enable-shared --without-gtk --without-python --without-qt --without-imagemagick --disable-video CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ → --without-xshmを./configureに追加 git clone https://github.com/m5stack/UnitV2Framework.git UnitV2Framework ------ cmake -DOPENCV_DIR=/home/akita/UnitV2/opencv/platforms/linux/build - DTARGET=camera_stream . make CMakeLists.txtでg++/gccの指定 arm-none-linux-gnueabihf-gcc -> arm-linux-gnueabihf-gcc arm-none-linux-gnueabihf-g++ -> arm-linux-gnueabihf-g++ <YOUR ???>とあるところを環境変数を参照するように修正(2箇所) - #set(OpenCV_DIR <YOUR OPENCV DIR> )(コメントアウト) - add_executable(example main/${TARGET}.cpp) ------------- Pythonでimport cv2はできたけど、cv2.VideoCaptureでカメラは取得できるっぽい(NULLではない)んだけど、cap.read()するとFalseが返ってくる。 もうちょっとちゃんと使い込むか。 * 21/12/22: Digisparkを使う [#c172c624] 起動時の5s待ちをなくす https://qiita.com/nak435/items/67aca33ca49b6f328faa なおM1 Macではコンパイラが使えない(M1用がない)ので、とりあえずNGっぽい。 * 21/12/08: Re:VIEWをDockerで使う&タイトル改行 [#g69e7039] https://mochikoastech.hatenablog.com/entry/2019/08/05/130711 https://mochikoastech.hatenablog.com/entry/2019/08/08/102254 https://kyabe.net/blog/review-newline-arbitrary-position/ * 21/12/08: MacでCH340 [#k35b2482] https://github.com/WCHSoftGroup/ch34xser_macos * 21/12/05: M1 MacでHomebrewのupdate等でgit関連のエラー [#n89b2605] https://sig9.hatenablog.com/entry/2021/03/04/000000 * 21/11/06: Windwos11でタスクバーの位置を変更 [#i1d4024a] タスクバーの位置が下で固定で、それをいじるのはレジストリをいじらないといけない。https://de2887diary.blogspot.com/2021/09/windows11.html * 21/11/01: M1 MacでEmacs [#q49b63f7] こちらのEmacs、M1にネイティブ対応、と書いてあるんだけど、実行すると強制終了してしまう。 プロパティをみると"Rosettaを使って実行"にチェックが入っていた。 これをはずしたらネイティブで実行OK(なのですごく快適)。 https://emacsformacosx.com/about * 21/10/22: 組版ソフトのRe:VIEW [#j858644a] https://zenn.dev/y_uuu/articles/f459284652d0ca15a6b7 Markdownからの変換ツールもある https://dev.classmethod.jp/articles/how-to-use-md2review/ (21/10/28追記)図のサイズのしては一工夫。 https://raintrees.net/news/154 * 21/10/07: Fusion360でサーフェスをソリッドに [#q060cf37] Fusion360で、サーフェス(面)でかこまれた立体を、ソリッドにするには、ステッチ、でできる。ソリッドにすれば3Dプリントもできる。 https://knowledge.autodesk.com/ja/support/fusion-360/learn-explore/caas/sfdcarticles/sfdcarticles/JPN/How-to-create-a-Body-from-surfaces-in-Fusion-360.html * 21/09/07: CH340KをMacで [#iaef3a87] IntelMacなら、この方法で使えるとのこと。ただしM1 Macはバイナリがないっぽい。 https://github.com/LilyGO/LILYGO-T-OI/issues/3 * 21/09/01: ESP32/8266のDTR/RTSリセット・書き込み回路 [#g1fddc5d] https://days-of-programming.blogspot.com/2018/05/esp8266dtrrts.html * 21/08/12: Macのスクリーンショットのプレビューを消す [#c0a230d1] Macのスクリーンショット(Cmd+4)で、スクショ直後に表示されるプレビュー(その分、保存が遅れる)を止める方法 https://unsolublesugar.com/20190513/143130/ * 21/08/04: ArduinoIDE+ESP32でビルドのエラー [#r49ef4b5] こんなエラーが出たことがあった。。 C:\{...}/xtensa-esp32-elf-ar: unable to rename 'core\core.a'; reason: File exists このあたりによると、無視してOK、とか、アップロードはできる、とか、ウイルス対策ソフトを切ればOK、とか、よくわからない。ArduinoIDEのバージョンを古いのにしたらでなくなったりした。 https://forum.arduino.cc/t/error-compiling-unable-to-rename-core-a/84863/6 * 21/08/02: WindowsでPython [#i8071497] いろいろやりかたがあって、どれがいいのやら、だが、とりえず本家の手順でいこう。まずは、他のものを一斉削除、からはいるのが順当。このほかにも、自前でPythonを抱えてて環境変数を設定しているアプリ(例えばレイアウトエディタのGladeがそう)も、環境変数をはずすなどの注意を忘れずに。(←pip installしようとしたら、環境変数PYTHONHOMEでGladeのほうを見に行っててエラーになった) https://www.python.jp/install/windows/venv.html ついでにOpenCVもpipで入れられる。 https://avinton.com/academy/opencv4-5-1-python3-8-ubuntu20-04-install/ * 21/07/27: MS Teamsの通知 [#oeab7d4a] 設定項目が多すぎる。 https://auto-worker.com/blog/?p=1126#toc_id_5 * 21/07/24: MacからWinにリモートデスクトップ接続時のバックスラッシュ [#sa7742bf] バックスラッシュ(アスキーコード0x5c)が、\(¥:Unicodeの0xc2a5)になってしまうのを回避。ただしWindows側のキーボードの設定ではうまくいかなさそう。 https://qiita.com/KNaito/items/174404ea42470d00c063 https://qiita.com/Hige-Moja/items/782a46edf18977638549 https://qiita.com/KNaito/items/e4436cb73f9ff257394d * 21/07/23: Qtのアプリのアイコン&配布 [#o27352d8] アイコン: http://qt-log.open-memo.net/sub/other__set_app_icon.html アプリの配布(Win): https://qiita.com/koyayashi/items/4d26d9f7a45c95e2f6c8 インストーラをつくってもいい(Win)。 http://qt-log.open-memo.net/sub/other__make_installer_by_inno_setup.html アプリの配布(Mac): https://blog.ch3cooh.jp/entry/20180421/1524290019 ※macdeployqtコマンドは、/Users/(user)/Qt/(バージョン番号)/macos/bin にある * 21/07/14: Qt事始め [#m1803640] WindowsでもMacでもLinuxでも,GUIアプリをつくれるQtのはじめかた。まずバージョンがいろいろあり,バージョン間の互換性が乏しいので,どのバージョンを使うかは注意。現時点だと標準インストールでQt5が入る模様。 - コンパイラのXcode(Mac)かVisualStudioCommunity(Windows)のインストール - Qtのインストール - 適当な新規プロジェクトを作成→ビルドして実行,で動作チェック ※なおMacではQt Creatorが「アプリケーション」フォルダに入らないので注意(/Users/(user)/Qt/ に*.appがある)。 GUIパーツは,VisualC++のようにmain.cppに手動で書いていってもいいし,mainwindow.uiをダブルクリックで開くDesinger画面でボタンを配置したりするのでもいい(このほうが直感的)。ボタンを押したらこの関数を呼ぶ,みたいなのは,シグナル/コネクトという方法で行う。 http://vivi.dyndns.org/tech/Qt/QtDesigner.html * 21/07/09: Inkscapeのデフォルトの線幅 [#n64b31e3] 編集→Inkscapeの設定のツール内の「シェイプ→矩形」や「ペン」等で、「新規オブジェクトのスタイル」で「このツール独自のスタイル」を選び、「選択オブジェクトから取り込み」すると、新規作成時にそのスタイルになるので、レーザーカッター向けに「ストローク赤・幅0.1mm」などを選んでおくと便利。 * 21/07/08: Macでrootパスワードを設定 [#bfabc399] https://monogusa.hatenablog.com/entry/2017/06/08/131725 * 21/07/05: VirtuosoでCalibre Interactiveを使う [#ccdeaa31] Calibreを起動できるようにしておく(パスを通しておく)のに加えて、.cdsinitに、以下を書いておく必要あり load( strcat( getShellEnvVar("MGC_HOME") "/lib/calibre.skl" )) * 21/07/05: MacでXウインドウを開くときのエラー [#h0a7b984] sshで-Xオプションをつけて接続時に、以下のエラーが出て、Xウインドウを開けない。 Warning: untrusted X11 forwarding setup failed: xauth key data not generated こちらの方法で/etc/ssh/ssh_configに追記して解決 https://banbara-studio.hatenablog.com/entry/2017/12/02/140245 * 21/06/15: Macでアプリのインストール時に付帯フォルダのコピーがはねられる [#n6d2d878] Macでアプリのインストールを、こんな感じでファイルをドラッグしてコピーする方法の場合で、アプリ以外のファイルのフォルダをコピー時にはねられてコピーできなかった。これは管理者権限が必要っぽくて、コピー先のフォルダをFinderで開いて、そこにドラッグするとコピーできる。KiCADもそうだった。 * 21/05/23: CMOSの素子分離が必要な理由 [#ea826fa3] 並んでるMOSFETだけならLOCOSはいらないけど、配線としてのPolySiが通るとLOCOSがないとマズい、と。 https://terakoyamiho.wordpress.com/%E7%B4%A0%E5%AD%90%E5%88%86%E9%9B%A2%E3%81%AE%E3%81%8A%E8%A9%B1%E3%81%97/ * 21/05/15: AndroidのDozeモードを解除 [#a384de73] スリープに入って通知が来ない、というのを回避。 http://android.f-tools.net/Q-and-A/Doze-Off-Setting.html * 21/05/11: 技適のとり方 [#d656a3f5] FCCがすでにとられているのは楽そうだけど、ゼロからだとけっこう大変そう(特に回路部分がシールド、とか)。micro:bitはどうやってとったんだろう。 https://tech-blog.cerevo.com/archives/725/ ※210515追記:マクニカのサイトに詳細手順があった。 https://www.macnica.co.jp/business/semiconductor/articles/texas_instruments/127181/ * 21/04/09: Macでファイルを開くデフォルトのアプリの変更 [#reaf492b] 右クリック→このアプリで開く、から選択しても、どうもうまく設定できないこともあるみたいで、ファイルの情報、から選択する方法だといけそう。 https://support.apple.com/ja-jp/guide/mac-help/mh35597/mac#:~:text=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8F%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E6%81%92%E4%B9%85%E7%9A%84%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B&text=%E3%80%8C%E6%83%85%E5%A0%B1%E3%80%8D%E3%82%A6%E3%82%A4%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E3%80%81%E3%80%8C,%E5%A4%89%E6%9B%B4%E3%80%8D%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%E3%80%82 * 21/04/01: Win10-20H2でタスク切換えでEdgeのタブが別々に [#q1d01349] まったくこういういらない更新をよくやってくれるなあ・・・ https://dekiru.net/article/20419/ * 21/03/23: Macでコマンドをショートカットで実行 [#vd830f87] https://applech2.com/archives/20160801-icanhazshortcut-shortcut-manager-for-macos.html * 21/03/23: Macでオーディオ入出力をコマンドで切替 [#xbbbab98] SwitchAudioSourceが便利そう (Earsでもできるはずだが、どうもうまく切り替わらない) https://electricdoc.net/archives/7650 * 21/02/16: XREAサーバのhttps化 [#abfbb0f8] https://mimikakimemo.hatenablog.jp/entry/2018/07/14/185227 * 21/01/06: 太陽電池のMPPTをマイコンで [#z0d3f375] https://blog.goo.ne.jp/paramako/e/fa0c697f02eb981741befb2fe15c59dd * 21/01/05: ESP32でWebサーバ・固定IPとmDNS [#z34196b8] http://marchan.e5.valueserver.jp/cabin/comp/jbox/arc202/doc21106.html ついでに、ESP32で固定IP https://qazsedcftf.blogspot.com/2018/07/ip.html ついでにmDNSで指定した名前は、<名前>.local でアクセスできる。 https://www.webzoit.net/hp/it/internet/homepage/env/iot/esp8266/mdns_avahi_bonjour/ * 21/01/04: Windows用のXサーバ [#ff1cf405] なかなか決め手がないみたいだけど、この MobaXterm はsshクライアントとセットになってて、ある程度は使えそう。 http://www.elc.ees.saitama-u.ac.jp/CAD/PCsetting.html * 20/11/25: M5StackのLiPoバッテリのコネクタ [#j042b969] Molexの530470210(ピン間1.25mm) https://www.digikey.jp/product-detail/ja/molex/0530470210/WM1731-ND/242853 * 20/11/07: note.muで記事の公開に失敗する [#z226dda1] ただ「記事の公開に失敗しました」とだけ出て公開できないことがあって、原因がわからなかったけど、調べてみたらこちらの記事にたどり着いて、これで解決でいた。わかりにくい。 https://note.com/y_labo/n/n59690168e562 * 20/10/26: TeraTermで公開鍵認証ログインと、それをデフォルトに設定する [#sb1ba920] https://webkaru.net/linux/tera-term-ssh-login-public-key/ https://www.j-oosk.com/teraterm/authorized_keys/306/ ついでにscpコマンドなどでは、~/.ssh/ に秘密鍵を置いておけば、毎回指定しなくてもOK * 20/10/07: TensorFlowとかKerasのバージョン間互換性 [#ba571483] びっくりするほど互換性がない。特にTensorFlowの1.xで書かれたコードは、2.xでエラーが結構出る。 Google Colabで、強制的に1.x等にバージョンを変更して実行することはできる(が、毎回やらないといけない) https://colab.research.google.com/drive/1pKE4KH87mCDsBG9F81MptJlKNcir0Avm?usp=sharing 例えばtf.to_float(x)は、tf.cast(x, tf.float32) のように書き換えることになる。APIドキュメントを見ると、どう書きかえるか(どの関数を代わりに使うか)が書いてあるのでそれを参考に。なお実行時に、Warningとして、将来のバージョンでは使えなくなるよ、という情報が出ているのものある。 https://www.tensorflow.org/api_docs/python/tf/cast * 20/10/04: ATmega328Pと微妙に互換な激安マイコンLGT8F328P [#gb0d8ad8] http://powerele.sblo.jp/article/185374432.html * 20/10/02: 深層学習フレームワークの比較 [#gdbfd3cd] - Chainer vs Keras https://tech.visasq.com/chainer-keras/ - Keras vs PyTorch https://rightcode.co.jp/blog/information-technology/machine-learning-frameworks-keras-pytorch-comparison-mnist * 20/09/29: M5StickVでMaxiPyIDE [#pe93caab] まずkflash_guiで、ファームウエアの*.kfpkg(*.binだけでもいいかもだけど、関連ファイルを含む*.kfpkgをまとめて書いておくのが無難か)を書き込む。 その後は、ターミナルで直接MicroPythonしてもいいし、MaxiPyIDEから、接続してから、*.pyを書いて実行、でもよい。 * 20/09/26: KiCADのダイオードの回路図シンボル [#ge16dc54] pspiceライブラリ内のDIODEは、1=anodeだが、他(Deviceライブラリ内のDや、ほとんどのフットプリント)は逆の1=cathodeなので、要注意。 https://twitter.com/akita11/status/1309823694072549377?s=20 * 20/09/24: UbuntuでNVIDIAのドライバが読み込めない [#a40c9c3a] こちらを参考にUbuntuでNVIDIAのドライバを入れてるんだけど、動作確認でドライバが読み込まれていない、とでる。 結果として、BIOSでセキュアブートを無効にして、再度入れ直したら、OKそう。 https://qiita.com/ksasaki/items/b20a785e1a0f610efa08?#%E3%81%8A%E3%81%BE%E3%81%91-nvidia-%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB * 20/09/11: Kerasで転移学習 [#s0fe6227] まとまっていて、ソースコード例もあって、わかりやすい。 https://elix-tech.github.io/ja/2016/06/22/transfer-learning-ja.html * 20/09/07: RazerサブキーボードをMacで使う [#u04ad771] https://daisystar.hatenablog.com/entry/2018/03/11/010704 * 20/09/06: ESP8266IRKitをcurlでつつく [#u34e6445] ESP8266ボードでIRKit互換機を作るESP66IRKit https://github.com/toskaw/ESP8266IRKit こちらにならってcurlでつつくと、400 Bad Requestが返ってくる https://qiita.com/ikeyasu/items/dfb991007a31d5aa03c2 ESP8266IRKitのソースを読んだところ、HTTPヘッダに"X-Requested-With"が必要のようなので、curlに-Hでつける。 https://qiita.com/kumechang/items/80007cf25688244b9ccc なおdeviceID等を含めたHTTPリクエストの内容は、そのESP8266IRKitをWebブラウザで開く(IPアドレスはIRKitアプリから確認できる)とみえるminlRumで確認できるが、どうもclienttokenが毎回異なり、それにあわせてdeviceID等も毎回変わってしまい、確かにAPIのPOSTはできるんだけど、赤外線送信等の動作がおこらない。→deviceidとclientkeyはIRKitアプリのデバイス(の詳細)から確認できるので、その値を使ってHTTPでpostすれば動作OKそう。 * 20/09/05: UbuntuをインストールしてDockerを入れる [#y5f6ab2c] - ブート用USBメモリ runfsでISOイメージからブートUSBメモリをつくり、BIOSで起動先をUSBメモリに設定 (ramdiskの展開に失敗、みたいなエラーが出るが、ちゃんと起動する模様) - 手動でネットワークの設定 https://mongonta.com/f347-howto-setup-ipaddress-on-ubuntu-server-and-core/ - sshdの設定 http://eno0514.hatenadiary.jp/entry/20160417/1460828669 https://unskilled.site/sshd_config%E3%81%AE%E8%A8%AD%E5%AE%9A%E9%A0%85%E7%9B%AE%E3%81%AE%E7%90%86%E8%A7%A3%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99/ - ユーザをsudoグループに入れる https://qiita.com/white_aspara25/items/c1b9d02310b4731bfbaa - Dockerのインストール https://qiita.com/tkyonezu/items/0f6da57eb2d823d2611d * 20/09/03: Ubuntuで機械学習 [#u996d8b5] クラウドのGoogle ColabとかだとTensorFlowのバージョンが変わったりするので、いろいろとハマることもあって、一番安心なのはローカルで持つこと。NVidia Dockerあたりだとインストールや管理も楽そう。ついでにJupyter Notebookも入れておくと、Colabとあまり変わらない環境にできる。 - NVIDIA Docker https://qiita.com/ksasaki/items/b20a785e1a0f610efa08? - UbuntuでJupyter Notebook https://qiita.com/zono_0/items/49eb8605ef4d841b2c26 * 20/09/01: Win10でドライバ署名を無効にする [#h4316cf1] けっこうめんどくさいけど、しょうがない。 http://pasofami.game.coocan.jp/Win10_DrvIns.htm * 20/08/27: WinでEmacs [#u7316db2] これまでgnupackに含まれるEmacsを使っていたんだけど、新しいPCで起動しない(ウインドウが出てこない)。このあたりっぽいけど、どうもうまくいかない。 http://www.dab.hi-ho.ne.jp/sasa/biboroku/misc/gnupack-pretest_devel-2018.11.25.html そこでIMEパッチがあたってるビルド済みEmacsをつかうことにする。 http://cha.la.coocan.jp/doc/NTEmacsFont.html 設定ファイルはこのあたり。 https://gabekore.org/windows-emacs-beginner * 20/08/26: KLayout(Win)の設定ファイルの場所 [#h4444cec] c:/Users/(user名)/AppData/Roadming/KLayout/ (初回起動時に作られるはずが、なければつくる) なおキーバインドなどが書いてあるklayoutrcは、 c:/Users/(user名)/KLayout/ に置かれる仕様になった模様。 * 20/8/20: MacをHighSierraにしたらXウインドウが開かない [#k1b0c9d0] ssh -Xで接続後にXウインドウアプリを起動すると以下のエラーでXウインドウが開かなくなった。 Warning: untrusted X11 forwarding setup failed: xauth key data not generated こんな対処でOK https://banbara-studio.hatenablog.com/entry/2017/12/02/140245 * 20/08/17: MacのM5BurnerでファームウエアをDLできない [#l32d6778] read-only filesystem、とやらでDLできないときは、管理者として実行する。 https://qiita.com/decobisu/items/5d748122bfd345bff5c3 * 20/06/26: IrKitをIFTTTでつつく [#bcd0093a] https://qiita.com/ikeyasu/items/dfb991007a31d5aa03c2 * 20/06/08: M5StickVで転移学習 [#d3ebdf1b] M5StickVで転移学習の話。転移学習とは、ある特性のデータで学習させたモデルを、別の特性のデータに適用すること。 こちらに笹尾さんのM5StickVで転移学習の話がある。 https://qiita.com/ksasao/items/6d6bcac4c5e92fa692a2 これは、本来画像の識別用に学習させたCNNの途中の層の出力を使って、別の学習に使おう、ということ。この例では、29層目の768次元ベクトルを使って、データ間の距離を求めて識別などに使っている。 ベースになるのはこちらのBrownie_learn https://github.com/ksasao/brownie/tree/master/src/brownie_learn/doc/NTKanazawa2020 ただM5StickVのFWが少し変わっていたりM5UnitV対応があったりするので、少し変更スべき点がある(もうすぐドキュメントは更新するとのこと) - FWはM5Stack配布版を使う https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start?id=m5stickv-quick-start - 同梱モデルは全結合層なし版で出力をそのまま学習に使ってる(のでset_layers(task,29)はコメントアウト) https://github.com/ksasao/brownie/tree/master/src/brownie_learn/doc/NTKanazawa2020 なおM5StickVのFW書き込みはこのあたりを参考にkflashを使う https://qiita.com/nnn112358/items/6f4934f8b81902b8e98c * 20/06/08: ThinkPad X395で、「ステレオミキサ」 [#r540f8de] PCスピーカの音をテレビ会議なので音声入力にまわすために使う「ステレオミキサ」。 https://www.realtek.com/ja/component/zoo/category/pc-audio-codecs-high-definition-audio-codecs-software ここからコーデックをダウンロードしてインストール→コントロールパネルーハードウェアとサウンドーサウンドのオーディオデバイスの管理→録音タブを選ぶ→ステレオミキサーを有効化 * 20/05/19: KiCADで面付け [#p9649bb3] 基板エディタを単独で開いて、基板データを読み込む。ついでにVcutの設定なども。元の基板で外形線をつけず、面付け後に外形線をつけるほうが楽かも。(ただしベタの塗りつぶしをやり直さないように注意) https://spiceman.jp/kicad-panelizing-board/ * 20/05/19: MS Officeで、デフォルトでローカルにファイルを保存する [#tc1ad52f] ファイル→オプション→保存、から、「既定でコンピューターに保存する」をチェック * 20/05/11: LaTeX Workshopで、サブファイルをbuildするときのメインファイルの指定 [#zfc556ad] 文中にコメントとして「% !TEX root = <filename>」を入れておくと明示的に指定できる。 https://texwiki.texjp.org/?Visual%20Studio%20Code%2FLaTeX#jf392861 * 20/05/01: Win10でオーディオ入出力の切り替えをショートカットキーで [#r62814a3] https://nelog.jp/audio-switcher * 20/04/20: VSCodeで行を右端で折り返し [#dbc1af21] View→Toggle WordwrapでON/OFFを切り替え * 20/04/08: platformIOのCOMポート [#m66ea589] アップロードやモニタで使うポートの番号や通信速度は、platformio.iniに指定できる。 upload_port = COM6 monitor_port = COM6 monitor_speed = 115200 シリアルモニタを開くのは、コマンドパレット(Ctrl+P)でplatformio->serial monitor、か、Ctrl+Alt+S * 20/04/08: TangNano/GW1NのDONE/RECONF等のピンをIOピンとして使う [#p8541eec] Place&Routeの設定の"Dual Purpose Pin"で、使えるように設定できるらしい。 https://twitter.com/ciniml/status/1247718257848487937?s=20 * 20/04/08: Verilogでgenerate/for/alwaysの順序 [#m5a991f1] 順序があるみたい。 http://yuinore.net/2016/12/genvar/ * 20/04/07: platformIOでM5StickCの開発 [#h964163a] M5Stackライブラリとは別に、M5StickCライブラリ(大文字小文字区別するので、この名称で探す)をいれておくと、#include<M5StickC.h>が使える * 20/04/02: MIFファイルの作製 [#i1cb84e5] メモリの初期化のMIF (Memory Initialization File)のつくりかた。Quartusでとりあえずは作れる。 http://www.lab3.kuis.kyoto-u.ac.jp/~takase/le3a/flow/ram.html * 20/04/01: GitHubでorganizationのリポジトリをGitHubアプリからpushできない [#h778e7ac] https://qiita.com/fiftystorm36/items/11ee4d0dfc9f4b9bf8c8 * 20/03/26: ブラウザから使えるプレビューつきMarkdownエディア [#h1f12630] https://code-life.hatenablog.com/entry/markdown-editor-stackedit * 20/03/18: Pythonでバイナリデータを扱う [#j36b2f7b] 標準入出力の読み書き https://hhelibex.hatenablog.jp/entry/2017/10/17/214438 整数・バイナリ等の型の変換 https://gist.github.com/devlights/ff14ad78ec2a2ace8b13304976c5c355 stdoutのbuffer(-uをつけると、buffer出力がblockingになって、printとかと出力のタイミングが揃う) https://qiita.com/keisuke0508/items/ea68e4dfd3043cc49957 16進数の表記 https://note.nkmk.me/python-bin-oct-hex-int-format/ * 20/03/18: dvipdfmxで作成したPDFで、EPS図がずれる [#vc545b26] https://qiita.com/zr_tex8r/items/089b56291588f7b05b02 https://qiita.com/zr_tex8r/items/442b75b452b11bee8049 https://qiita.com/zr_tex8r/items/5413a29d5276acac3771 - \usepackageで[dvipdfmx]オプションを指定する - colorパッケージを使っている場合は、そちらでも[dvipdfmx]オプションを指定する※←映像情報メディア学会誌のスタイルファイルではこれが原因だった - dvipdfmxではPDFも図として取り込める(が、Inkscapeから出力するPDFはバウンディングボックスが自動で設定されない) * 20/03/14: コンパレータのヒステリシス [#w4dff388] 計算がけっこうめんどいけど、計算ツールもある。 http://sim.okawa-denshi.jp/compkeisan.htm * 20/03/11: ステッピグモータの型番のNEMA [#f79fd422] http://mimono.wpblog.jp/2018/01/15/nema%E3%82%B9%E3%83%86%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%83%A2%E3%83%BC%E3%82%BF%E3%81%A8%E3%81%AF%E3%80%81/ * 20/03/02: Excelで条件を満たすデータの標準偏差 [#e7506929] 平均は=AVERAGEIF()でいけるが、標準偏差は=STDEVIF()はないので、こんな方法で。要は{=IF(範囲=条件,値の範囲)}とすれば、条件を満たす値の配列が得られるので、それに対してSTDEVをかけることになる。 https://mikadukim2.tumblr.com/post/114475106672/excel-%E6%9D%A1%E4%BB%B6%E3%81%A4%E3%81%8D%E3%81%A7%E6%A8%99%E6%BA%96%E5%81%8F%E5%B7%AE%E3%82%92%E6%B1%82%E3%82%81%E3%82%8B-stdevif%E7%9A%84%E3%81%AA%E9%96%A2%E6%95%B0 * 20/01/31: platformIOのライブラリ等の置き場 [#h481ae61] https://qiita.com/watarukato/items/455c74c625e178de385d * 20/01/29: Eagle使いがKiCADで気をつける点 [#nf9bd56b] 一通りKiCADを使ってみて、気づいた点 - フットプリントのパッドはTH/SMDで共用(プロパティで設定する) - 移動とドラッグが別(端点を持って変形はドラッグ) - 配線削除で、フットプリントも削除できてしまうので注意 * 20/01/29: KiCADでガーバー出力 [#ubaa9e44] - ガーバーはProtel互換形式を選べば拡張子がFusionやElecrowで注文できる形式になる - ドリルはPTH/NPTHをマージ、を選ぶ http://support.seeedstudio.com/knowledgebase/articles/1187731-kicad%E3%81%8B%E3%82%89%E3%82%AC%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95 * 20/01/28: 謝金手続きの出勤簿と報告書 [#k8af6ae6] 学生の場合は出勤簿+報告書、それ以外の場合は報告書のみ * 20/01/24: iMacのSSD換装とHDD内容のリカバリ [#na552ad6] 交換は意外と簡単そう。交換後、リカバリーモードで起動し、TimeMachineから戻すのが簡単そう。 https://d-xanthus.com/blog/tips/imac-27-inch-mid-2010%E3%81%AE%E3%80%81ssd%E3%81%B8%E3%81%AE%E4%BA%A4%E6%8F%9B%E6%89%8B%E9%A0%86 https://like-apple.com/imac2010-ssd-setting/ * 20/01/20: EagleのライブラリをKiCADにインポート [#w723cc91] Eagleで回路図に部品を置いて、それごとKiCADにインポート、という手が使える模様。 https://make.kosakalab.com/make/eda/eagle-lib_to_kicad-50/ * 20/01/20: AndroidAutoとGoogleMap [#qa53d050] 似てる気もするけど、基本別物で、前者はクルマの中で使いやすく設計されている、ということか。 https://cobby.jp/android-auto.html * 20/01/15: 海外で日本のラジオを聞く [#aa1b1a19] https://4keta-blog.com/sp-raziko/ https://4keta-blog.com/rajiko/ http://xn--o9j0bk1lofn705a2r6b.com/%E6%B5%B7%E5%A4%96%E3%81%A7%E6%97%A5%E6%9C%AC%E3%81%AE%E3%83%A9%E3%82%B8%E3%82%AA%E3%82%92%E8%81%B4%E3%81%8F%E6%96%B9%E6%B3%95/ * 20/01/15: 海外への大きめの荷物の送付 [#t3f52395] 郵便局UGX: https://www.post.japanpost.jp/int/UGX/ / 詳しく→ https://netshop.impress.co.jp/node/5242 展示会の荷物の例(カルネ手帳) https://butsuryu-techo.com/ata-carnet2/ * 20/01/14: Win10でコマンドプロンプトから環境選定を設定&保存 [#rdf022ac] setxコマンドで、設定&保存をまとめてできる。 https://qiita.com/tomorrow56/items/7e3508ef43d3d11fefab?fbclid=IwAR2iZIw2hJNdk3l5Y1vHxVDsgaOi2W0HuUgkIbhw8a6sLdg4a9iXJgWRaP0 * 20/01/09: Macで入力方法を切り替えるショートカットキー [#u5d5096c] 設定→キーボードのShortcutからいける * 20/01/07: ArduinoIDEのコンパイル結果の場所 [#u7ccb1c7] コンパイル結果の*.hexや*.binは、c:\Users\(ユーザ名)\AppData\Local\Temp\arduino_build_????\ の中。ArduinoIDEの環境設定でコンパイルのdebug messageを表示させておくとログに表示される。 [#oe75f6aa] * 20/01/06: Eagle9のキー定義などの設定ファイル [#p03f0a11] c:\Users\(ユーザ名)\AppData\Roaming\Eagle\settings\(バージョン番号)\eaglerc * 19/12/23: 中国金盾でブロックされているかの確認 [#ud03108c] https://www.comparitech.com/privacy-security-tools/blockedinchina/ * 19/12/23: ProMicroの文鎮化とその復旧 [#l10ef472] SparkfunのProMicroは、ArduinoLeonard互換だがブートローダが少し違う。Lenoardは起動後8秒間書き込みを待機して、なかったらプログラムが起動する。ProMicroはこの待ち時間が750ms。ただしProMicroでリセットを素早く2回押すと、Leonardと同じ8秒間待ちになる。ProMicroの文鎮化(英語ではBricked)は、クロック設定が違う設定で書き込んだときにもおこる。まずは素早く2回リセット→8秒間だけシリアルポートが現れるので、そのポートを選んで正しい設定でプログラムを書き込む、で復旧できる。(8秒間しかないので素早くやる) https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/troubleshooting-and-faq * 19/12/18: Eagleのライブラリで長穴をつくる [#o5ccd078] http://trac.switch-science.com/wiki/ssciPCB-milling * 19/12/15: GitHubで新しいリポジトリを作って既存フォルダを置く [#uf97d3f4] GitHubで空リポジトリをつくったあと、 - ローカルにCloneしたあと、そこに既存フォルダをコピーしてPush(ローカルのGit履歴はGitHubには残らない) - ローカルでGitでリポジトリをつくっていたら、それをgitコマンドでremote add http://(...).gitしてpush originする(ローカルのGit履歴がGitHubに残る) * 19/12/12: VSCodeとPlatformIOでM5stackのプログラム [#x2aa5a8b] - MS製のエディタがVSCodeがなかなか便利らしい。Extension追加でEmacsキーバインドもいけそう。(Metaキーの扱いだけ要調査→Awesome Emacs KeymapだとAltでいける) https://qiita.com/bussorenre/items/bbe757ef87e16c3d31ff - VSCodeのExtensionのPlatformIOは、各種マイコンのコンパイラ・書き込み・デバッグの統合環境で、ArduinoIDE互換にもできる。 - M5Stackもいける。 https://qiita.com/lutecia16v/items/1c560bdd7eac7ebeaff7 https://qiita.com/watarukato/items/04525a17972f2fd893b2 https://qiita.com/lutecia16v/items/1c560bdd7eac7ebeaff7 https://qiita.com/watarukato/items/455c74c625e178de385d - シリアルモニタの通信速度はplatform.iniに書く。なおTerminalで、コンパイル中のメッセージとシリアルモニタがシームレスに切り替わって表示されるので、明示的に切り替える必要はない。 https://kunsen.net/2018/07/28/post-618/ * 19/11/13: ThinkPad X240sのトラックパッドをX250のものに交換したあとのドライバ・設定 [#lf8a21a4] https://minkara.carview.co.jp/userid/206485/blog/35635376/ https://takanotume24.com/blog/x240-x250 * 19/11/11: PlatformIOでArduino [#ced4992c] VisualStudioCodeでArduino開発できる。 https://www.media.lab.uec.ac.jp/?page_id=1414 * 19/10/22: USB-CをUSB2.0っぽく使うときのCC1/2の扱い [#hb475dd8] https://hanpenblog.com/11049/ * 19/10/17: Win10で休止モードを有効にして電源オプションに表示させる [#rb90a16f] https://www.atmarkit.co.jp/ait/articles/1808/20/news026.html * 19/10/15: Xiaomi AmazFitの文字盤の自作 [#y11d2815] https://www.hide10.com/archives/30291 * 19/10/15: Win10でウインドウの位置を記憶 [#w44acdfd] 以前のWin7の頃にはpositionSpiceというのを使っていたんだけど、Win10でどうもうまく動かない。これなら大丈夫そう。 https://www.vector.co.jp/soft/dl/win95/util/se401241.html * 19/10/15: Win10のコマンドプロンプトでウインドウのサイズ・位置を指定 [#la2761b6] https://news.mynavi.jp/article/win10tips-316/ * 19/10/12: GPUの消費電力 [#mea7a09b] けっこうバカにならないことはわかった。 例えばGeForce GTX1060で120Wくらい。 GPUをのせるPCの電源は400W以上が推奨されている http://www.ccre-alp.org/post02.html * 19/10/10: レーザーカッターでコピー用紙でハンダマスク [#c157685c] UniversalLaserの設定メモ。Power=40, Speed=100, DPI=500 * 19/10/10: GerberをDXFへ [#acbe80b2] KiCADのみでできる。これで、PCBEで設計した基板のソルダーマスクをレーザーカッターでつくれる。 https://denshikousakusenka.jimdo.com/%E3%81%9D%E3%81%AE%E4%BB%96/%E3%82%AC%E3%83%BC%E3%83%90%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92dxf%E3%81%AB%E5%A4%89%E6%8F%9B/ * 19/10/07: Fusion360のちょっとした操作の設定 [#xcbbb3d3] - マウスホイールとズームの向きが逆な気がするのは設定で逆にできる - マウスの中ボタンを押したままドラッグ=回転、がどうもうまくいかないが、設定をTinkerCADにすると→ボタンを押したままドラッグ=回転、となるので、このほうがいいかも。 http://fusion360.info/sitecontrol/ * 19/10/02: Windows10でリモートデスクトップで複数セッション [#fb543448] http://kougen.iobb.net/hobbygardens/article.php?id=65 https://itjo.jp/windows/remote-desktop-multiple-account/ * 19/09/24: レイアウトGDSのプロットアウト [#yd98f765] KLayoutできれいに印刷できそう。プリンタのプロパティで、原稿サイズ=A0(sq)、用紙サイズ=A0とすれば、プレビューでは解像度が粗いが印刷すれば大丈夫。 * 19/09/20: AndroidのuSDカードを内部ストレージにしてアプリを置く [#zc84f7f6] https://digitalnews365.com/android-sdcard-internal-storage * 19/09/13: Qflowの配置配線のパラメータ [#x348f279] 一般的には、initial densityで初期配置の密度、rowSepで行間の配線領域の幅(トラック数)を指定するが、initial densityが高ければレイアウトが小さい、というわけでもない(配置作業の結果、レイアウトが大きくなることが大きくなることもある)。 配線が密そうな場合は、rowSepを大きめにとって(たとえば0.6)、initial densityを高めにするほうが、配線が最後まで行くことが多い印象。 * 19/08/11: Webの情報の新鮮さ [#g3087b1d] ESP32でArduinoIDEでタイマ割り込みを使うのに、「ESP32 Arduino タイマ割り込み」でGoggleって、こちらのページの方法を試してみたら、ウオッチドッグタイマ(WDT)でひっかかってハングる。(ちなみにいま気づいたけど、masawoさんの記事) https://qiita.com/tomorrow56/items/fcf5ea7bfd2056e8f88f 日付が1年前な事に気づいて、他に調べてみたら、どうも標準ArduinoIDEのTickerでいけるっぽい。 Webの情報は日付を確認しましょう(特に変化が早い分野は)、という話。 * 19/08/08: Windows10のスタートメニューのある場所 [#gae876aa] https://www.nishishi.com/blog/2016/02/windows10_start.html * 19/07/14: 自作キーボード入門 [#v74c3e5b] 自作キーボード沼には、沼の住人しかわからない暗号や暗黙知がけっこうあるので、メモ。 - 規格:CherryMXとKailhLowProfileの2種類が主流。 https://www.diatec.co.jp/products/CHERRY/ http://www.kailh.com/en/Products/Ks/CS/321.html - PCBのフットプリント:両者それぞれのデータシートから穴の位置は決められる。両者のORをとれば、どちらでも実装できる基板ができる。こんな感じになるはず。 https://gyazo.com/48c95b8616e1001f38c0570bf8a9bf42 ちなみにKiCADライブラリはこちら。 https://github.com/foostan/kbd/tree/master/kbd.pretty - 3足/5足:CherryMXスイッチで、位置固定用のボス(突起)があるものとないものがある。あるものが5足、ないものが3足。(基板は5足用に穴をあけておけばよい) - フットプリントのミラー:[[Meishiキーボード>>http://biacco42.hatenablog.com/entry/2018/01/21/204749]]などをみると、フットプリントが鏡像対称っぽくなっている。これは、左右分離キーボードで両側の基板を共用(反対側は裏面に部品を実装する)するためのアイディア。 - キーピッチ:使うキートップによるが、19.05mm間隔、が標準。 * 19/07/11: 俗にいう"AI"関連の用語 [#bda185bb] お恥ずかしながら、俗に「AI」と呼ばれる技術でいろいろ出てくる用語が、いまいち区別がついてなかったので、いまさらながらお勉強。 - CUDA:NVIDIAのGPU向けコンピューティングのプラットフォーム。いわゆるGPGPUのベース。 - Deep Learningの方法の1つ、DNN(Deep Neural Netowork)の計算ライブラリ:Therano, TensorFlow, Torch7, Caffe, Chainer, CNTK(それぞれ開発元やライセンス形態などが違う) https://ai-kenkyujo.com/2018/10/25/framework/ - ニューラルネットワークの、より抽象度の高いライブラリ Keras : TensorFlow等の上で動く - 画像分類(image classification)のモデル:MobileNet、ResNet、・・・ https://keras.io/ja/applications/ -- MobileNet: https://qiita.com/simonritchie/items/f6d6196b1b0c41ca163c - JetsonNanoでの実行例: https://developer.nvidia.com/…/jetson-nano-dl-inference-ben… - Sipeed MAIXでの実行例: https://bbs.sipeed.com/t/topic/682 - 元ネタ: -- https://qiita.com/bonotake/items/cbd44abbcbe333f264d8 -- https://qiita.com/simonritchie/items/f6d6196b1b0c41ca163c ミクミンPさん情報 https://twitter.com/ksasao/status/1148932941440929793 - K210が載っているM5StickVやMAiXでMAIXPyを使って物体認識: https://bbs.sipeed.com/t/topic/682 - モデルの構造を観る: kpu.netinfo(task) https://maixpy.sipeed.com/en/libs/Maix/kpu.html#netinfo - 層の途中までの計算結果が欲しいときは kpu.set_layers(task,レイヤID) - MobileNetで求めた特徴量間の距離だけで画像認識をする例 https://gist.github.com/ksasao/ad8fb722d45a2efa3745f34c1df28bdf - ただしMAIXPyにはnumpyはない - MobileNetで特徴量だけ求めて(=CNNの出力層の手前の値(特定のn次元の値)をベクトルとして使って)、その特徴量間の距離で類似度を求める、というのもあり。 -- 要はCNNはフィルターかけて次元数を減らしていく処理なので、最後の結果(classificationの結果)にする手前のレイヤーの値=「なんとなく特徴により値の異なる値の配列」。(たとえば車を判別するMobileNetのモデルは「車の特徴を数値化するモノ」として使えるので、手前の出力をベクトルとして特徴量を求め、マスタデータのそれと比較することで、学習させてない車種の判別もある程度できる) - MobileNetは画像認識(Classification)、YOLOは物体認識(Object Detection)のモデル -- YOLO = You Look Only Once、探索ウインドウは用いず、画像を一度だけCNNに通すことで物体認識を行う。https://www.renom.jp/ja/notebooks/tutorial/image_processing/yolo/notebook.html - 特徴量間の近傍探索はいろいろ。以下は例。 -- Faiss https://qiita.com/wellflat/items/741c0e8de35973cc68c7 -- annoy https://qiita.com/wasnot/items/20c4f30a529ae3ed5f52 * 19/07/08: 3Dプリンタのステージ用のフィルム [#f4bcaf6e] こんなお試し記事が。 http://www.fumi2kick.com/komekame/archives/2079 * 19/07/07: MAiXのボードを使う手順の備忘録 [#r3e609d7] - 用意するもの (ref: https://qiita.com/kingyo222/items/048a7bf477f0dad488ef ) -- K-Flash(ファームウエア書き込みツール) https://kendryte.com/downloads/ -- TinyYoloのROM https://bbs.sipeed.com/t/topic/683 から maixpy_20class.zip -- uPyLoader(Pythonスクリプトの転送ツール) https://github.com/BetaRavener/uPyLoader/releases からuPyLoader-win.exe -- USBシリアル(CH340)のドライバ http://desktopstation.net/gateway/bin/CH341SER.ZIP -- MaixPyIDE https://github.com/sipeed/MaixPy/releases から、MaixPy IDE v0.1.0、フラッシュに焼くファイル(face_model_at_0x300000.kfpkg, maixpy_v0.3.0_full.bin)をDL - 以下、必要に応じて。 -- K-Flashは7-zip形式(*.7z)なのでその展開ツール https://sevenzip.osdn.jp/ -- key_gen(MAiXボードのMachineIDを生成・取得。K-Flashで書き込んでリセットすると、シリアル(115200bps)に表示される)※https://bbs.sipeed.com/t/topic/845?fbclid=IwAR2bRXzRZ60fm703d-18BdVkIf6y70pHjdasRywYuo_-DJoZQ0oq6rAtZ-4 にある顔識別サンプルで必要 https://bbs.sipeed.com/uploads/default/original/1X/bca0832bed92a1ada63bd05327688784e2ef14d1.zip - 環境構築→20クラス分類モデル変換→クラス分類まで一通り https://qiita.com/k2kdisk/items/9d092ac94e88ba719049 -- Maix ToolboxでTensorFlowLiteのモデルをkmodel(SipeedボードのK210で使える形式)に変換できる。ただしレイヤ構成などに制限がある模様。 - こちらでも20クラス分類のデモ。uSDカードに保存する方法も。 https://qiita.com/kingyo222/items/048a7bf477f0dad488ef - メモ -- MaixPy本体のmaixpy-??.bin, ユーザプログラム(*.py)、モデル(*.kmodel)は、それぞれ別領域に置かれる。 -- ユーザプログラム(Pythonスクリプト)はPyloaderで転送するのが便利。使い方は https://github.com/BetaRavener/uPyLoader で、最初にファイル転送スクリプトをFile->Init Transfer Filesで転送する必要がある(がどうもうまくいかない:転送中にハングる?) * 19/07/04: Gladeの細々としたこと [#t41d1496] - スケマでMOSのインスタンス名は、そのままネットリストに出力される。つまりスケマでのインスタンス名をMから始まる名前にしておかないと、SPICE/LVSでMOSとして扱われない。(LVSだとdeviceがないよ、というエラーになる) - ウエルコンタクト・基板コンタクトがないと、MOSのB(ボディー)が「なくなる」。つまりネットリスト出力時に、MOSがS/G/Dのみの3端子の素子として出力される。 * 19/06/25: Emacsの色の変更 [#t3678666] 関数の色、とかの細かい設定もできる。 https://qiita.com/AnchorBlues/items/91026c4f1c0745f5b851 * 19/06/17: SQliteでCSVを読み込んで2つのテーブルを紐づける [#o8ef45c2] SQliteの使い方を含めて。例えばこのあたり→https://www.dbonline.jp/sqlite/ - 起動 sqlite3 データベースファイル ※SQlite内でデータベースに操作(テーブルの作成や操作を含む)を加えると、そのデータベースファイルが更新される - CSVをインポートして新規にテーブルを作成(※改行コードはCR+LF) .mode csv .import file名 テーブル名 - テーブルの情報 .schema テーブル名 - テーブルの表示 select * from テーブル名; - テーブルの指定したカラムのみ表示 select COL1,COL2,... from テーブル名; - 列COLUMNの値でソート select * from TABLE order by COLUMN asc/desc; (昇順 or 降順) - 列COLUMNが指定した値のものを抜き出し select * from TABLE COLUMN='data'; - 列COLUMNが指定した値(複数)のものを抜き出し select * from TABLE where COLUMN IN(data1, data2, ...); または select * from TABLE where COLUMN=data1 OR COLUM=data2 OR ...; - 内部結合 select * from TABLE1 inner join TABLE2 on TABLE1.COLUMN1 = TABLE2.COLUMN2; - テーブルにカラムを追加 alter table テーブル名 add column カラム名[ データ型]; - テーブルにデータを追加 insert into テーブル名 values(値1, 値2, ...); - テーブルの指定したカラムにデータを追加 insert into テーブル名(カラム1, カラム2, ...) values(値1, 値2, ...); - カラムの値を演算して取得(例:カラムAの値×10+カラムBの値) select カラムA*10+カラムB from テーブル名; - カラムの値を演算して取得して別のカラムに追加(例:カラムAの値×10+カラムBの値をカラムCへ) insert into テーブル名(C) select A*10+B from テーブル名; - カラムのヘッダを表示/非表示 .headers ON|OFF .show ←現在の設定を確認する - カラムが指定した値のものみ表示 select * from テーブル名 where カラム=値; - テーブルの作成 cerate table テーブル名(カラム名1[ データ型], カラム名2[ データ型] ,...); - 列を選ぶときに別名を付ける select A as NAME from テーブル; // A列にNAMEという名前を付ける - 列の値を更新する update TABLE set COL=値; 例えば、以下で、C列の値=A列の値+B列の値(全てのデータに対して)、になる。 update TABLE set C=A+B; - 終了 .exit * 19/02/13: Photoshopで写真をきれいに二値画像にする [#rbed6559] http://www.geki-t.com/photoshop%E3%81%A7%E5%86%99%E7%9C%9F%E3%82%92%E6%A0%BC%E5%A5%BD%E8%89%AF%E3%81%8F%E4%BA%8C%E9%9A%8E%E8%AA%BF%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ * 19/02/04: COMポートの整理 [#qd3b7c1c] https://trac.switch-science.com/wiki/Delete_device_driver * 19/02/01: スマホ対応のWebページ [#m6cd55ba] ヘッダにviewportを記述しておくのが、とりあえずは簡単か。 https://www.u-ziq.com/blog/2011/01/post_61.html (このページの下の方にテンプレート例がある) * 19/01/20: M5stackのケース [#f38b5b01] https://macsbug.wordpress.com/2018/03/09/make-a-case-of-m5stack/ * 19/01/17: M5stackのLiPo電池残量 [#d7a8df4a] 内蔵の制御ICに、残量を測る機能自体はある模様。(ただし外には出ていない) http://asamomiji.jp/contents/documents/electronics/battery_indicator_for_m5stack * 19/01/11: tomu USBをつつく [#ofc28730] https://qiita.com/hirano/items/7ded24ecefc4fd99ab8b Winだとなぜかmakeの最後のobjcopyでエラー(メモリの範囲外)が出る。MacだとOK。Winでつくった*.elfをMacのobjcopyで変換するのもOK。arm gcc toolchainの両者のバージョンは同一。謎い。 * 19/01/11: Macにarm-gcc toolchain [#f5a44f54] https://www.yokoweb.net/2016/09/03/macos-arm-gcc/ * 19/01/09: M5stackのMicroPython(オフライン版) [#ibeb592c] https://buty4649.hatenablog.com/entry/2018/12/20/192330 * 19/01/08: LatticeのちっこいFPGA [#j2d008d8] Latticeのちっこい手半田できそうなFPGA。 - iCE40のLP384(QFN32)、LP1K(QFN84)、HX1K(QFP100)、HX4K(QFP144) - iCE40UPのLP1K/2K/4K・UP5K(QFN48)。 http://www.latticesemi.com/Products * 19/01/02: NanoPiでPaSoRiでFelicaを読む&GPIO制御 [#d49cff18] https://gato.intaa.net/archives/10256 https://qiita.com/t114/items/819a9cdfe90ea98dd4d3 https://qiita.com/nanbuwks/items/9f7e709025b587c038d2 * 18/12/05: Virtuosoの.cdsinitでレイヤ切り替えのショートカットキー設定 [#wbe79938] こんな感じでprocedureを定義して、それをショートカットキーに割り当てる procedure( MetalSelect(num "x") let(((MetalList list(sprintf(nil "M%d" num) "drawing")) ) leSetEntryLayer(MetalList) hiRedraw() ) ) hiSetBindKey("Layout" "Ctrl<Key>1" "MetalSelect(1)") 参考:http://venividiwiki.ee.virginia.edu/mediawiki/images/5/5e/Toggle_bindkeys.il * 18/11/28: IIJmioのSIMでテザリングできいない [#da18ff89] APNタイプにdunを追加する、というのが解決策になることもある模様。 http://nij.hatenablog.com/entry/2018/09/03/Xiaomi_Mi_Max_3_%E3%81%A7%E3%83%86%E3%82%B6%E3%83%AA%E3%83%B3%E3%82%B0 * 18/11/23: M5stack/ESP32のFlash Download Toolsの起動エラー(UnicodeDecodeError) [#n2cd9794] FlashDownloadToolsがおいてあるパスに日本語などの2バイト文字が含まれると、このエラーになる模様。 https://github.com/espressif/arduino-esp32/issues/860 * 18/10/15: Virtuosoで起動時にキー割当を読みこむ [#u6e4187e] .cdsinitに書いておく https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/11755/how-do-i-automatically-load-bindkeys-every-time-i-open-virtuoso * 18/10/03: ofoの登録 [#p7363a73] 本人認証のためにパスポートの写真や、それを持っている自分の写真、をアップロードするところが、ちょくちょくある。(eSenderの登録、ofoの登録) https://diary.shuichi.tech/entry/2017/07/15/175937 http://panda-note.hatenablog.jp/entry/2017/05/31/185844 * 18/09/11: 平型Nd磁石の固定方法 [#u8165813] セメダインあたりでいける、工業用だとより強力、とのこと。 https://www.neomag.jp/mag_navi/mames/mame_glue.html * 18/09/07: docomo WiFiの二重ログイン解除 [#ud7512f6] スマホ側で0000docomoに接続→ログイン→ログアウト。その後、PC等で0000docomoに接続→ログイン、でいけるらしい。めんどくさいな。 https://platzblog.com/mobilephone/docomo/docomo0000-wi-fi-error-trouble-shooting * 18/08/21: ATmega328のヒューズリセッタ [#ke4d7bf7] http://100year.cocolog-nifty.com/blog/2014/05/atmega488816832.html * 18/08/16: GladeのLVSで謎挙動2つ [#rc9f337c] OpenRule1umでLVSをかけてて謎挙動が2つ。 - 回路図からネットリストを出力すると、トップの回路に.SUBCKTがつかない。(階層型(Hierarchical)LVSでは、これが必要 .SUBCKT top_name <---- これが必要だが出力されない X0 n0 n1 inv1 ... .ENDS - MOSFETの幅(W)が、LVS時に2倍になる。例えばこんなこんなかんじ。 <ro3_extracted.cdl> : 回路からのネットリスト。W=2umと書いてある MM1 n3 n0 n1 n1 nch w=2e-06 l=1e-06 as=4e-12 ps=6e-06 ad=4e-12 pd=6e-06 $X=5.8 $Y=2.8 これが、LVSの結果をみると、W=4になっている。(当然ながらLVS不一致エラーになる) ro3_extracted.cdl ro3.cdl_flat (1) Device type: N N Inst name : MM1 M0/X1 Model : nch nch S: n3 n2 D: n1 vss G: n0 n0 W/L: (um) 4.000/1.000 2.000/1.000 この2点を、Gladeユーザフォーラムで質問中。 * 18/08/11: Arduinoで大きな数を扱う [#x4f2fe95] https://github.com/nickgammon/BigNumber このBigNumberが神ライブラリ。castとかそのまま四則演算ができる。必要に応じて必要桁数も指定できる。 ただし細かい点は要注意。 - long型をそのままcastできない。→sprintf(buf, "%ld", num)でいったん文字列をつくってから、castすればOK - 指数表記の文字列(1e2など)はcastできない。→固定少数点表記のみ。 * 18/08/11: ATmegaにArduinoブートローダを書き込む [#n85f3402] ArduinoUNOを使い方法、以前はトラブルが多かった印象なんだけど、最近は安定している模様。 https://qiita.com/moh-lee-3/items/1bbbf5d35cd67ece0d41 * 18/08/09: ATmega168用のArduino Pro Mini 8MHzのFuse設定 [#c635776b] ATmega328と同じだろうと思ったら大間違いで、ATmega168とATmega328はExtendとHighのヒューズ構成がまったく違う。結果的にこちらでOKそう。(要は、BOOTRST=ON、SPIEN=ON、ほかはOFFで、OSCをIntRCにする) - ATmega328 : Extend=0xff, High=0xda, Low=0xe2 - ATmega168 : Extend=0xf8, High=0xdf, Low=0xe2 * 18/08/08: Arduinoで大きな数を扱う [#j211922b] 例えば2^23は、「(uint32_t)1 << 23」のように、シフトの前に明示的に16bitを超える値というとを示しておかないと16bitの範囲でシフトされて0になっちゃう。 * 18/07/23: iTunesの曲をmp3に変換 [#zaa21ade] iTunes単体でできる。 https://support.apple.com/ja-jp/HT204310 * 18/07/02: Pythonで標準入力から1行ずつ読み込む [#mbf45e51] https://maku77.github.io/python/read-stdin.html * 18/07/01: Pythonでファイル書き込み [#idf45633] https://hayataka2049.hatenablog.jp/entry/2018/01/24/192000#pprint%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%E9%81%95%E3%81%86 (18/07/03追記)このあたりも詳しい。https://note.nkmk.me/python-file-io-open-with/ * 18/07/01: Pythonで少し待つ [#n123c1a3] import timeして、time.sleep(1)で1秒待つ https://qiita.com/7of9/items/f674e155f53f0fd06458 * 18/07/01: M5stackでMicroPython [#gd42f223] シリアルコンソースから対話的に実行したり、M5cloud経由でダウンロードしたり。 https://qiita.com/inachi/items/d23b9e39551836cddb09 (181017追記)Windows版はこちらを参照 https://github.com/m5stack/M5Cloud * 18/07/01: Pythonのmodule内に関数の一覧 [#b462da70] dir(モジュール名)でみられる。 https://qiita.com/7of9/items/eecaa520c52a3b4e6cdc * 18/06/12: 工作室のフライス盤のドリルチャックの交換 [#hcb23144] 回転軸の頭の部分のネジを六角レンチで、少し(10mmくらい)ゆるめ、木の板をはさんでハンマーで軽くたたくと、回転軸が落ちてはずれるので、その後、ネジをはずしてとりはずす。取り付けはこの逆。 * 18/06/12: マルチファンクションスイッチATD-004Aのピン配置 [#taaa5673] aitendoで売ってるマルチファンクションスイッチ(ATD-004A)のピン配置。 http://www.aitendo.com/product/6930 https://twitter.com/akita11/status/1006333179374923777 * 18/06/11: TWE-LiteのUARTアプリでUART双方向通信 [#y4098199] インタラクティブモードに入って設定を変更。 m=T(透過モード)は、1-1の通信でバイナリも遅れる。 m=D(プロンプトなしチャット)は、ブロードキャストでテキストのみ。(感覚的にはこれが透過モードかと思い込んでいた) * 18/05/30: WindowsでGDSをプロットアウト [#ze2ca8d5] - KLayoutだと、どうもビットマップのの解像度が低くて、荒い。これを設定変更する方法がみあたらない。→(18/05/31追記)プリンタ(プロッタ)設定で、「原稿サイズ=A0(sq) (831x831mm)」、「ロール紙幅に拡大」を設定すると、十分高い解像度で印刷できる。 - GDS Viewだと、ちょっと印刷は遅いけど(あとたまにVIAの位置がおかしいことがある)、解像度は十分。ただしハッチングの線の間隔を印刷ダイアログで指定するが、標準の3mmだとけっこうスカスカなので1mmくらいがいいかも。 * 18/05/29: VirtuosoでPathの幅を変更 [#q4c78fe9] F3キーでダイアログを出して設定。 http://www.cse.psu.edu/~kxc104/class/cse577/11s/hw/hw1/CadenceLayoutTips.pdf * 18/05/28: Eagle→基板切削NCデータの生成 [#l0ad031d] https://github.com/JohnAtl/pcbgcode / https://macsbug.wordpress.com/2011/12/11/pcb-gcode-%E5%82%99%E5%BF%98%E9%8C%B2/ / http://www.richa1.com/RichardAlbritton/create-g-code-from-an-eagle-file/ http://zeroalpha0.blog.fc2.com/blog-entry-33.html ガーバーデータから変換するのもある。http://eng.homuzorow.net/pyGerber2Gcode.html こういうのもある。http://flatcam.org/manual/installation.html#microsoft-windows * 18/05/28: 旧バージョンのEagleのダウンロード先 [#u586ae08] http://falabo.blog115.fc2.com/blog-entry-221.html * 18/05/07: GoogleカレンダーAPIで終日イベントの取得 [#t7054e38] どうも扱いが微妙にドキュメントと異なるようで、終日イベントは、$item->start->dateに日時が入り、$item->start->dateTimeが空欄になる。開始終了時間を指定のイベントは、その逆。 http://d.hatena.ne.jp/fujisan3776/20130822/1377179701 * 18/05/07: DIY製本 [#g1029d01] いろいろある。 無線綴じ : https://nanapi.com/ja/1598 http://tojisuke.trylife.jp/how-to-use-tojisuke/make-a-bool-by-hotmelt/ このほか、中綴じ、平綴じ、など。 (180509追記)背を固定するホットメルトシートを、グルースティックから作る方法もある。http://ebook.dojin.com/how-to-make-hotmelt-sheet/compare-hot-melt-sheet/ あるいは直接グルーガンを塗る方法も。 http://tojisuke.trylife.jp/how-to-use-tojisuke/how-to-make-a-book-by-glue-gun-text/ * 18/05/06: NanoPiの青LEDを消す [#y390c37b] /sys/class/leds/blue_led をつつく。 https://gato.intaa.net/archives/8337 ただしsudo -sしたあと。 http://www.dc7jzb.de/node/124 * 18/05/01: Android版WeChatのファイル保存先 [#a50a3f0d] 内部ストレージ→tenscent→WeChat(画像)/Download * 18/04/26: LINEのスタンプをLINE Payから支払う [#x110480e] PC版からイケるみたい。ややこしい。 http://did2memo.net/2017/05/08/naver-line-line-pay-convert-to-line-coin/ * 18/04/24: Arduinoでシリアル受信割り込みでスリープから復帰 [#t16cd9c5] http://tetsuakibaba.jp/index.php?page=workshop/ArduinoBasis/sleep http://playground.arduino.cc/Learning/ArduinoSleepCode * 18/04/19: ATtiny10/13でWS2812制御 [#v8cb7a41] https://make.kosakalab.com/avr/attiny10-ws2812/ * 18/04/18: Wordの「区切り」 [#c78129fc] ページ区切り(物理的区切り)とセクション区切り(論理的区切り)があって、ページ番号の振り直しなどは後者じゃないとできない。 https://dekiru.net/article/14291/ * 18/04/12: Wordでの図などの番号の参照の更新 [#l79d307e] フィールドの更新、または、印刷する(直前でとめてキャンセルしてもよい)と更新される。 http://www4.synapse.ne.jp/yone/word2010/word2010_zuban_kousin.html * 18/04/11: Fusion360のタイムライン [#k6772fe8] 操作履歴が残っているので、戻って修正、とかができる。 Undoをものすごく強化したもの、という考え方もできる。 https://www.myautodesk.jp/JEFF/Fusion360_ATC_201603.pdf * 18/04/09: Androidアプリのファイルの保存先 [#i8e054cd] どうもアプリごとにバラバラで、なかなか覚えられない。 基本的に、内部ストレージのDownload、なのかな。 - Chrome: 内部ストレージ→Downdload - LINEの写真: 内部ストレージ→Pictures→LINE / https://316-jp.com/android-line-save * 18/04/06: TWE-Liteプログラミングの情報 [#g2ea2b68] 例えばこのあたり。 http://dsas.blog.klab.org/archives/52201101.html * 18/04/05: curlでLINE Notifyを送る [#d3fb74b3] https://engineering.linecorp.com/ja/blog/detail/88 * 18/04/05: Nano Piでcurl [#qc8840e4] https://mzyy94.com/blog/2017/11/10/nanopineo2-homekit/ * 18/04/05: mbedでhttps [#c609a360] https://os.mbed.com/forum/team-886-GR-PEACH_producer_meeting-community/topic/5330/ * 18/04/05: Arduino/ESPでLINE Notifyを送る [#d835f549] https://codeiq.jp/magazine/2017/07/52949/ * 18/04/02: C/CSマウントレンズのフランジバック [#hf5fbd0b] Cマウントが17.526mm、CSマウントが12.5mm https://www.asanumashoukai.co.jp/sanki/opt_trivia/detail/1.html * 18/03/14: バッチファイルでファイル名だけ抜き出す [#ld67cdbd] 拡張子だけ、とか、いろいろできる。 http://orangeclover.hatenablog.com/entry/20101004/1286120668 * 18/03/06: Voltera V-Oneでノズルのつまりをとる [#x32f01dd] ギターのスチール弦の一番細いやつを通す、のがいいらしい。アセトンをつけながら、も効果的っぽい。 https://community.voltera.io/t/how-to-fix-clogged-nozzles/393/6 スチール弦はこのあたりによれば、一番細いのは0.01インチ=0.254mm http://livearth-music.com/school/contents/1549/ * 18/02/27: VirtualBoxでディスク容量を変更する [#lde83235] https://qiita.com/ryokato_eras/items/3b2298f9016a8a002ecd * 18/02/27: Windows10のRDPで複数接続 [#g6a7d646] https://yamahide.biz/archives_114.html →https://www.kougen.dev/hobbygardens/article.php?id=65 (210119追記)RDPwrapper https://www.rootlinks.net/2019/10/04/rdp-wrapper%E3%81%AEtermsrv-dll-ver-10-0-17763-771%E3%81%A7%E3%81%AE%E5%AF%BE%E5%BF%9C/ https://github.com/stascorp/rdpwrap (210816追記)RDPwrapperの使い方 https://memonotealpha.net/blog/archives/3152 * 18/02/25: コリメート光 [#qfdbf7e2] 光学系で平行になるように調整された光のこと。レーザーポイインタとかに入ってるのがコリメートレンズ https://www.global-optosigma.com/jp/community/comm01_1bn4.html * 18/2/23: Windowsで画面外に出てしまったウインドウを移動 [#jed3cd8a] https://support.microsoft.com/ja-jp/help/880147 (18/08/07)↑のリンクが切れているようだが、この方法。ウインドウを選択後、Alt+SPC→Mで、移動モードになるので、カーソルキーで移動できる。 http://www.atmarkit.co.jp/ait/articles/0312/06/news006.html * 18/2/20: ArduinoIDEでAVRISPmkIIを使う [#of53cd53] AtmelStudioをインストールすると、AVRISPmkII用の純正ドライバが入ってしまうが、それだとArduinoIDEから使えない。そこでこのあたりを参考に、libusbドライバを入れる。 http://jujurou.blog34.fc2.com/blog-entry-301.html (18/03/06追記)このドライバを入れても、AtmelStudioから書き込みはできる。 * 18/2/17: Inkscapeで円や曲線(らせんなど)にそって図形を並べる [#h37605b0] 基本的に、沿わせる図形も並べる図形も、オブジェクトやストロークをパスに変換してから、エフェクトをかける。 円周に均等に: https://hail2u.net/blog/software/align-objects-circularly-and-equally-with-inkscape.html 曲線にそって: https://inkscape.paix.jp/manual/edit-path/path-effect-editor/pattern-along-path/ * 18/2/12: VirtualBox + Ubuntu16.04で、共有フォルダ [#b171b37d] 基本事項なのかもしれないが、意外と書いてないので備忘録。まずはゲストOS(Ubuntu)側で、Guest Addtionsを入れないといけない。これでvboxsfが使えるようになるので、それを指定してmountする。 https://qiita.com/haseken/items/982c5369988636991a4a ※ちなみにここに書いてある「mount -v vboxsf」は、「mount -t vboxsf」が正しい。 * 18/1/23: ArdunoIDEでATtinyのプログラムを書く [#n16cdcf0] http://make.kosakalab.com/make/electronic-work/arduino-ide-dev/ * 18/1/21: Inkscape→Fusion360でサイズがずれる [#o0e3be2e] Inkscapeで描いたSVGを、Fusion360でスケッチとして読み込むと、なぜかサイズが1/1.07倍くらいに微妙に小さくなる。 Inkscapeの長さの単位pxが、1px=1/96inch→1/90inchに途中で変わったのが原因という話もあるけど、微妙に縮小率が違う。 というわけで原因はよくわからいけど対処療法。Inkscapeで10mmのものがFusion360で9.344mmになるので、全体を10/9.344=1.0702倍にするために、SVGファイルの<g のところで、"<g transform="scale(1.07024)">"を手動で追記したら、Fusion360で実寸で読み込めた。 * 18/1/20: VivadoでZyngBerryでブロックRAMへ自作回路からアクセス [#wb8866c9] BlockRAMには、BlockRAMControllerとStandAloneの2つのモードがあって、前者だとCPUからAIXバスでアクセスできるBlockRAMContollerをつなげば、CPUのメモリ空間にマッピングしてアクセスできる。StandAloneモードではそれができない。 自作回路からこのBlockRAMにアクセスするには、StandAloneモードであれば、一般的なRAMと同じ制御線でアクセスできるが、BlockRAMContollerモードでは、それができない(まぎらわしいが、BlockDiagramでは、アドレス線やwrなどの一般的なRAMと同じ制御戦がBlockRAMのブロック図にあるんだけど機能しないっぽい)。 BlockRAMをDualPortモードにすると、2つのポートで、BlockRAMContoller/StandAloneモードを分けることはできない。 したがって、AポートをCPUからアクセスし、Bポートを自作回路でアクセスする、という使い方のためには、BlockRAMControllerモードにして、CPUとはAIXバス経由でBlockRAMControllerでつなぎ、自作回路とは、別のBlockRAMController経由でAIXバスでつなぐ、つまり自作回路でAIXバスをつくる、しかない。 AIXバスには、AIXとAIX Liteがあって、バースト転送や32bit以外の読み書きを使わないなら、AIX Liteでもできて、それだとだいぶ素直な仕様。信号線が多いが、クロック同期でアドレスを出し、RAM側(Slave)でデータが出てきたらReadyがたつので、データを読む、みたいな、けっこうシンプルなアクセスなので、最低限であれば実装はそれほど難しくない。詳しくはARMのOfficialから、AMBA/AIXの仕様書を読むのが吉。↓から「AMBA AXI and ACE Protocol Specification Issue E」あたり。 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.amba/index.html (18/01/23追記) AXI4Liteについてはこの辺りも詳しい。 http://dora.bk.tsukuba.ac.jp/~takeuchi/?%E9%9B%BB%E6%B0%97%E5%9B%9E%E8%B7%AF%2FHDL%2FVivado%E3%81%A7AXI%E3%83%90%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8 * 18/1/19: VivadoでZynqBerryのこまごまとしたこと [#o30c90fa] - HDLで書いた回路を、IP化せずに、直接BlockDiagramへ入れられる。(HDLソースを右クリック→Add Module to Block Diagram)ちょくちょくいじる場合はこのほうがいいかも。 - ブロックメモリ(Block Memory)を、モードをBRAM Controlにすると、BlockMemoryController経由でAIXバスにつなげる=ARMプロセッサのソフトウエアからアクセスできる。例えば以下のような感じ。なおサイズは、AddressEditorで割り当てアドレスを指定すると、それにあわせたサイズになる。モードをStandaloneにすると、AIXバス経由でアクセスできない。 XBram bram; XBram_Config bram_config; bram_config.DeviceId = XPAR_BRAM_0_DEVICE_ID; XBram_CfgInitialize(&bram, &bram_config, XPAR_BRAM_0_BASEADDR); volatile uint32_t *p = (volatile uint32_t *)XPAR_BRAM_0_BASEADDR; *p = 0; // 書き込み * 18/1/18: OLEDの消費電流 [#q72b05f0] もちろんモノや点灯条件によるが、目安として、↓で、全画素消灯で5mAくらい、1/3くらいの画素が点灯した状態で10mAくらい。 https://www.switch-science.com/catalog/829/ * 18/1/12: Xilinx Vivado SDKのxcmdの使い方 [#k0f87149] ZynqBerryでの使い方の例 connect arm hw // 接続 rst // リセット con // 動作継続(リセットのあと。runではだめ) disconn [id] // 切断(Flash書き込み時にはいったん切断) * 18/1/8: gnupackでEmacsの起動エラー(vfork)のときの回避方法 [#o26a7ad5] 最近のgnupackには修復ツールがバンドルされている。 http://d.hatena.ne.jp/ksugita0510/20150502/p1 * 18/1/6: Replicator2Xのフィラメント送りのつまりの修復 [#h6830e8d] Replicator2Xで、フィラメント送り機構のうち、モータのすぐしたの金属の穴に入る部分でフィラメントが折れて、押しても先からフィラメントが出てこなくなることがある。フィラメントが溶けるのは、ここよりだいぶ先のほうなので、load filamentでフィラメントを溶かしても、ここの部分は溶けないので、押し出せない。本来ならば穴とフィラメントのすべりがよければ押し出せるはずだが、押し出せなくなることがある(カスがつまっているから?)。 このような場合は、この詰まった部分を、ドリルで削りながら、掻き出すのが現実的。20mmくらい奥まで、1.5mmドリル(フィラメント径は1.75mmなので、周りに少し隙間がある)で、穴の周囲のフィラメントを削りながら掻き出す。一番奥に、半分溶けたフィラメントの塊があるので、それを引き出せるまで、掻き出す。途中、フィラメントを押し込んで、スムーズに奥まで入っていけるまで、掻き出す。奥まで入っていけたら、load filamentで溶かしながら、フィラメント押し出しつつ、セットする。 * 18/1/6: Git LFS [#qfe2b00b] Gitでバイナリを管理する仕組み。git 2.xから利用可能。GitHub等のサーバ上にバイナリ実体を置き、ローカルではそこへのポインタをもつ。 https://qiita.com/minagawa-sho/items/582c086311d3630563bc * 18/1/4: ArduinoのSoftwareSerialで同時送受信 [#bfa8461b] SoftwareSerialは送信も受信もタイマ割り込みを使うので、送信と受信は同時にできない。 つまりTXとRXをつないで受け取ったデータをそのまま送り返すloopback(オウム返し)は、送信中にデータの受信開始を見落とすため、受信できない。 * 18/1/2: Eagleでラリブラリから他のラリブラリへ部品ごとコピー [#mcdaea9b] コピー先のライブラリを開いた状態で、コピー元の別ライブラリの対象部品を右クリック→Copy to Library * 18/1/1: ESP32のArduino環境 [#a4851bfc] https://www.mgo-tec.com/arduino-core-esp32-install * 17/12/25: ESP8266でIRKit的なもの [#r711f608] http://eleclog.quitsq.com/2016/09/minirum.html * 17/12/23: IFTTT [#v565a6ac] いまさらながらIFTTT。IFTTT=If This Then That。指定したトリガー(各種Webサービスが指定できる)がかかったら何かする(アクション)、というもの(Webサービス)。そのうちMakerChanne(2017年ごろにWebhookに名前が変わったlが、これに対してPOSTでつついてトリガーをかけられ、それに対してあらかじめ指定しておいたURLをつつく、ようにできる。 - 基本的には、Appletを新規に作って、そこに、トリガーやアクションを追加していく。 http://oita.oika.me/2017/09/16/ifttt-push-to-phone/ - ArduinoでIFTTT http://mag.switch-science.com/2015/06/25/ifttt-maker-channel/ - ESP8266でIFTTT https://qiita.com/mayfair/items/e761c788a9d8787bc610 - GoogleHomeからIRkitをつつく https://qiita.com/kazunori279/items/e3485f00fbe0ad85cce2 ※Windows用のcurlだと、いろいろハマるので注意。例えばSSL証明書は-kで回避。また"と'の扱いがMacと異なるようで、どうも最後の赤外線コマンドを直接curlでPOSTするのが謎エラーになるので、直接IFTTTにいったほうがいい。 - IFTTTのアクション側でArduino https://qiita.com/glory/items/497b3d357d55cac17ef8 * 17/12/22: ESP32でTwitterなど [#pb82ebdd] http://makezine.jp/blog/2017/12/twitter-api-arduino-esp32-trend-get.html * 17/12/21: Gladeで長方形のサイズを変更 [#b7a45d6a] Reference(最近はGladeインストールディレクトリにある)にはっきり書いてないけど、dbGetOverlaps(q, layer)のlayerは、レイヤ番号じゃなくて、LSWに並んでる使っているレイヤの通し番号。 ちなみに階層構造の中の長方形をいじるには、dbGetHierOverlapsを使うっぽいんだけど、その使い方がはっきり書いてない。このあたりのやりとりが参考になりそうではあるので、あとで読む。 http://www.peardrop.co.uk/forum/index.php?tid=124 * 17/12/10: Google HomeでiTunesで登録している曲を再生 [#o015ea99] GooglePlayMusic経由でいける。 http://www.itmedia.co.jp/pcuser/articles/1711/08/news046.html * 17/11/24: ICパッケージの開封 [#pc5aabb1] http://makezine.jp/blog/2017/11/how-to-decap-and-explore-ics.html * 17/11/07: GPD Pocketに休止モード [#o041da89] https://www.dream-seed.com/weblog/note/how-to-gpd-pocket-hibernate-on * 17/11/07: Python(Anaconda)でOpenCV [#a2083e6d] https://blog.mktia.com/how-to-install-opencv-into-anaconda/ * 17/11/03: Excelで住所←→郵便番号 [#tb882051] Excelマクロがある。 https://www.becoolusers.com/excel/wizard-postcode.html#add-code あと住所をGoogle検索すると、地図とともに郵便番号が表示される。 * 17/11/02: ZynqBerryでLチカ [#f6b5dee0] チュートリアルのとおりがけっこうはまったのでいろいろメモ。 https://www.trenz.jp/tutorial/zynqberry-tutorial/ こちらからいく。 + Vivado 2016.4用のreference design (te0726-test_board-vivado_2016.4-build_08_20170519161338.zip:ボードのピン配置とかの情報がまとまっているファイル群、という理解でよさそう)があるようなので、こいつを使う。 + チュートリアルにそって、blink回路をVHDLでつくって追加し、IPとして登録して、MPU(ZyngにはARM Cortex-A9が2個入っている)からつつけるように、AXIバス↓でつなぐ。ここまではチュートリアルどおり。 + Generate Bitstream (ビルドのようなもの)すると、エラーがでる("Cドライブに書き込めない、のような感じ)が、とりあえず無視してよさそう。Warningはチュートリアルどおり無視してよさそう。 + SDKにうつってMPU側のプログラムを書く。ただしここでチュートリアルに載っているプログラムと、どうもGPIO周りのヘッダファイル名、関数名がいろいろ変わっているようで、そのままだとビルドがとおらない(xpgio.hがない、など)。vivado/test_board.sdk/blink_bsp/include 以下をいろいろ探して調べて、以下のように書けばよさそう。 #include "xparameters.h" #include "xgpiops.h" #include <stdio.h> #include <stdlib.h> int main() { XGpioPs led; XGpioPs_Config led_config; char s_interval[100]; int i_interval = 1000; int count; led_config.DeviceId = XPAR_PS7_GPIO_0_DEVICE_ID; XGpioPs_CfgInitialize(&led, &led_config, XPAR_PS7_GPIO_0_BASEADDR); XGpioPs_SetDirection(&led, 1, 0); while(1){ printf("input Interval[ms] (now %d [ms])\n", i_interval); scanf("%s",s_interval); i_interval = atoi(s_interval); printf("set %d[ms]\n\n",i_interval); count = i_interval * 50000; //50000 = 50000000[MHz] / 1000 (input [ms]) XGpioPs_Write(&led,1,count); } return 0; } + 続いてFSBLつくってBootImageをつくるとき、Vivadoでつくったbitファイルがリストにあがっていないっぽかったので手動で追加し・・・と思ったら、TargetのHardware Platformが、zsys_wrapper...にデフォルトではなっていなかったので作り直し(これだとこれらがリストにあがっている)、Boot Imageを作成し、書き込み。 ※Vivadoのビルド時のCドライブが・・・のエラーは、これかな?と思ったけど、どうも関係なくて無視してよいエラー、っぽい。 https://forums.xilinx.com/t5/Synthesis/Could-not-open-C-for-writing/td-p/790890/page/2 (171103追記:もう一回やったら、このエラーはでなかった・・・なんぞ) (171103追記:最後のFlash書き込みは、xcmdでconnectした状態だとできないっぽい・・・?(エラーになる) * 17/11/02: AXIバス [#pe154a9a] Xilinx Zynqなどで、MPUと自作IPをつなぐのに使うバス。 http://dora.bk.tsukuba.ac.jp/~takeuchi/?%E9%9B%BB%E6%B0%97%E5%9B%9E%E8%B7%AF%2FHDL%2FVivado%E3%81%A7AXI%E3%83%90%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8 * 17/10/30: Eagle8でのショートカットキーの割り当て [#g1aea33f] Eagle7のころとは設定方法が違う模様。 http://kerororobot.blog.shinobi.jp/cad/eagle%208%E3%80%80%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%81%AE%E8%A8%AD%E5%AE%9A * 17/10/27: Fusion360でSTL出力 [#s28132e8] 3Dプリント、からでもいけるけど、左の一覧からオブジェクトを右クリック→STLで保存、でもいける。 http://fusion360.blog.jp/blog/20151103/1044196383 * 17/10/26: Pythonで標準エラー出力 [#nc220a13] import sys print >> stderr, "文字列" http://d.hatena.ne.jp/kakurasan/20101008/p1 * 17/10/25: Dropboxの設定(ログイン)が真っ黒になる [#q7ce8d52] 闇夜の操作。。。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12173743577 * 17/10/23: Emacsのタブとインデント [#d1619c2d] http://yohshiy.blog.fc2.com/blog-entry-264.html 一時的に、自動でのタブなどを解除するには、M-X fundamental-modeでFundamentalモードに戻す、というのもあり。 http://fpga.kice.tokyo/design/vlgmode ちなみにVerilogモードでも設定できる。 https://ameblo.jp/concello/entry-10818413020.html (17/10/26追記)このあたりが設定項目について詳しい。ちなみにverilog-indent-level等が、インデント時の字下げのスペース数。 http://d.hatena.ne.jp/bluerepliroid/20071227/1197882707 * 17/10/20: Fusion360でスケッチの拘束条件 [#ib324971] このあたりがまとまっている。 http://fusion360.blog.jp/blog/20151104/1044253210 拘束条件の解除は、拘束条件のアイコンを選択→DEL ちなみにFusion360の操作入門は、このあたりが詳しい。 https://fabcross.jp/list/series/fusion360/ * 17/10/17: Windows10でBluetoothテザリングをショートカットでON/OFF [#c283c387] AutoHotkeyのスクリプト。 http://hitoriblog.com/?p=25466#ASUS_VivoTab_Note_8 ただしUI制御の回避スクリプトがobsolateになっているが;最近のAutoHotkeyではRun as UI Controlを右クリックメニューから指定できるので、そのスクリプトをこれで実行すればOK https://autohotkey.com/docs/Scripts.htm#Installer_uiAccess * 17/10/17: 磁界を使った位置センサ [#ba39fdcb] - POLHEUS http://www.ddd.co.jp/polhemus/ - Flock of Birts http://www.mikimoto-japan.com/beans/support/pdf/ctlg_j_flockofbirds.pdf どっちかが静磁界、どっちかが交流磁界、っぽい。 * 17/10/13: GPD Pocketのキー割り当ての変更tips [#bea32e1f] http://shikarunochi.matrix.jp/?p=1790 http://brand-new.tokyo/gpd-pocket-japanese *17/10/13: GDSのdatabase unit (dbu)とGladeでの扱いの整理(疑問あり) [#t5c4daa1] - GDSの内部寸法は、[dbu] (database unit)という単位であらわす。これが実寸の何[um]に対応するかは、[dbu/um]という単位で、ライブラリやGDSデータ自身が保持する。例えば1000[dbu/um]での1[um]は1000[dbu]、100[dbu/um]での1[um]は100[dbu]ということになる。 - GDSのdbuは、1000[dbu/um]である場合が多い(標準的)で、多くのGDSビューアはこの1000[dbu/um]を仮定している。 - 100[dbu/um]で作ったライブラリで100[um]を作成すると、内部的には100*100=10000[dbu]ということになる。ここからGDSを作成すると、100[dbu/um]なので、10000[dbu]となるが、これを1000[dbu/um]を仮定して読み込むと10[um]になることになる。 - Gladeでは、1000[dbu/um]で作成したライブラリに、このGDSを読み込む際に、"Set dbu/um from GDS"をチェックする場合としない場合では、以下のようなログになる。 -- "Set dbu/um from GDS" checked >>> ui().importGds2("test1000", "C:/Users/akita/Documents/test.gds", "", 0, 0, 1.000, 0.000, 0.000, 23, 102, 0, 1, 1, 0, 2, 0, -1, 0, 1, 0, 0, 0) # INFO: Database unit is 1e-09 metres # INFO: Database units per user unit are 100 -- "Set dbu/um from GDS" unchecked >>> ui().importGds2("test1000", "C:/Users/akita/Documents/test.gds", "", 0, 0, 1.000, 0.000, 0.000, 23, 102, 0, 1, 0, 0, 2, 0, -1, 0, 1, 0, 0, 0) # INFO: Database unit is 1e-09 metres # INFO: Database units per user unit are 100 # WARNING: dbuPerUU is 100, scale factor set to 1.000000 - チェックしない場合(=ライブラリが1000[dbu/um]で、GDSが100[dbu/um]と異なる)、warningが出るが、scale factorが1.0になるのが謎。この場合は、10000[dbu]を1000[dbu/um]のライブラリに読み込むので10[um]になるのが正しいはず(照会中)。 - ちなみにGladeのGDS読み込み時の"scale factor"は、いわゆるoptical shrinkで、座標を単純にこの係数倍に拡大・縮小して読み込む。 * 17/10/13: Win10で管理者権限が必要なプログラムをスタートアップで起動 [#c17f45c6] Startupフォルダに入れても管理者権限で実行できないので、タスクスケジュールで指定する。 http://forest.watch.impress.co.jp/docs/serial/win10soudan/1006245.html * 17/10/13: ASUS RT-AC3200ルータのネットアクセスログ [#vfc4a72d] Linuxが動いていてsshでログインして、設定をいじれる。 ログの表示は、Webアクセス設定画面の「接続」ログ表示のときに呼ばれる/www/Main_ConnStatus_Content.asp を解読すると、netstat-natコマンドで表示していることがわかる。 https://tweegy.nl/projects/netstat-nat/ これは、/proc/net/nf_conntrack を表示するコマンドなので、要はこのファイルを読めばよく、たしかにアクセスログが残っている。ただしタイムスタンプが記録されていない。 一般的なファイアウオールはiptablesコマンドでつくるが、一般的なその設定ファイルの/etc/sysconfig/iptables などがみあたらない。いったいどこにあるのか引き続き探す。Linuxのディストリビューションが特殊なやつなんかな。 最終的にはタイムスタンプつきのログとり→リモートのsyslogdへ飛ばす、をやりたい。(17/10/10の内容) * 17/10/12: Windows10でスタートアップに登録を簡単に [#r612f3da] shell:startupでフォルダを開ける。 https://windows-sousa.com/2015/12/06/post-1148/ * 17/10/10: ASUSの無線ルータRT-AC3200のsyslog設定 [#ncee7731] ちょっと機種が違うけどだいたい同じ。 https://fatmin.com/2015/01/04/configure-syslog-logging-levels-on-the-asus-rt-ac66u-router/ * 17/10/02: プリント基板の表面処理HASL [#veea4706] HASL=有鉛半田レベラー。鉛入りハンダ処理。 その他の表面処理:https://unicraft-jp.com/pcb/order/word/finishing.shtml * 17/09/25: ArduinoLeonardでD0(RX)/D1(TX)を使う [#ucb4b47c] Serial1を使う。 https://trac.switch-science.com/wiki/Guide/ArduinoLeonardo * 17/09/22: GitHubのWeb操作でディレクトリを掘る [#lbdc80c7] ファイルを追加するところで、ファイル名のところに/で区切ってディレクトリを書けば、それが掘られる。 * 17/09/15: VisualC#で桁数を指定してToString()する [#n6d17be7] なかなかおぼえられない。 例えば16進数なら、ToString("X2") とすれば、2桁にそろう。 https://dobon.net/vb/dotnet/string/inttostring.html * 17/08/29: レーザーポインタの径を絞る [#h571537c] コリメートレンズ https://ameblo.jp/amano-jacky-nochio/entry-11775548254.html * 17/08/23: 導通チェッカー [#s591aec5] 印加する電圧は低めに。コンパレータで低抵抗を検出。 http://www.ht-net21.ne.jp/~mkanari/checker.html * 17/08/22: Eagleで配線をぜんぶはがす [#bc1318bd] ripup; でぜんぶはがす(未配線に戻す) http://101eagle.blogspot.jp/2009/12/eagle-ripup-all.html * 17/08/12: PythonのライブラリとWindows [#n2417c0c] WindowsでPythonのライブラリをpipで入れるのに、*.whl(パッケージファイル?)とネットワークからダウンロード、の2系統があって、混在するとマズいっぽい。例えばこちら。 http://toriaezu-engineer.hatenablog.com/entry/2016/10/09/084428 anacondaを入れる、のがよさそうな模様。 http://qiita.com/t2y/items/2a3eb58103e85d8064b6 ちなみにanacondaで入らない(見つからない)ライブラリは、pipで入れるのが吉か。 http://oyamazemi.wiki.fc2.com/wiki/%E6%96%B0%E3%81%9F%E3%81%AA%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E5%B0%8E%E5%85%A5 * 17/08/08: リモートデスクトップの接続を速くする [#a3db27a6] SSL証明書の取得をoffにすると接続が速くなる(が、ログイン情報がほぞんされない)。 https://everyday-growth.com/?p=647 * 17/08/08: Virtuosoでレイアウト上で離れているpinをつないでLVSをかける [#beba3219] レイアウト上で離れているが、実はつながっている(上位でつながる)pinを、つないだ状態にしてLVSをかけるには、LVS Options→Connect→Connect nets named:、でつなぐpin名を指定して、仮想的に接続する。 * 17/08/03: LTspiceメモこまごま [#q8753d8e] - 実測データのV-IペアなどをLTspiceで表示するには、ltsputilでデータを変換。使い方は、LTspiceが吐く*.rawを参考に、Title〜Valuesのヘッダをつけて、そのあとにタブ区切りで変数を並べて書く。(変数の数と名前、計測点数もヘッダ内に書く)その後、 ltsputil -toa ???.txt ???.raw で???.rawをつくったら、それをLTspiceでwaveformとして開いてadd traceすればグラフを描画できる。 https://groups.yahoo.com/neo/groups/LTspice/files/%20Util/ltsputil/ - 素子モデルのパラメータ解析は、.model内に、例えば IS={X} のように変数Xを定義し、それを回路図のほうでspice directiveとして、.step param X ....と振るパラメータを指定すればOK。(.step param X start stop step または .step param X list a b c ...のように書く) * 17/08/03: I-V特性の測定器 [#o753b31c] いろいろな呼び方があるようだけど、SMUとかエレクトロメーターと呼ぶ装置。 http://jp.tek.com/keithley-source-measure-units/smu-2600b-series-sourcemeter http://www.adcmt.com/techinfo/product/intro/i_8252.html * 17/08/01: ケーブルの5つ編み [#gc257ac1] これが一番わかりやすかった。 http://www.wb.commufa.jp/powetcho/ituami.html * 17/07/25: リングオシレータの理論解析 [#waff5473] 調べ物をしていて、こんな記事を見つけた。リングオシレータの理論解析とインバータ2個のRC発振回路との関係、そこからの偶数段リングオシレータ。http://qhodo.at.webry.info/201110/article_8.html * 17/07/23: Studuino [#rb2dc81a] サーボ用コネクタがあったりする、ロボット向けArduino互換機。Scratchでもいける。 http://www.artec-kk.co.jp/studuino/ja/ * 17/07/23: 光学マウスをArduinoからつつく [#a75541f1] http://arms22.blog91.fc2.com/blog-entry-565.html * 17/07/12: ArduinoLeonardでHIDキーボード [#o0dbde44] http://qiita.com/MergeCells/items/17bdc1c1fb35949195b5 * 17/07/11: 最近のシンセンの技術事情 [#p056c956] 高須さんから聞いた話の備忘録。 - 公板(gong ban): 規格化されているいろいろなボード。これが部品になって、これをくみあわせてガジェットをつくれる。 - 公模: 公板と同じように、規格化されている外装部品。 - 張牌: 牌=ブランド。ブランド化すること。公板・公模でつくったガジェットにブランドをつけること。OEMみたいなもの。 (2017/7:20:追記) ↑にちょっと誤解があったのでメモ。 - 公板は、別に規格化されているわけではないが、リファレンスデザインが、設計データと実際のパーツ(コンポーネント)として流通している。JENESISがやっているのは公板・公膜を使った設計といえる。 - 公板に関する記事→https://fabcross.jp/topics/tks/20160922_Shenzhen_02.html https://wirelesswire.jp/2016/09/56792/ - 貼牌(↑は字が違う)は、ノーブランドの完成品にブランドロゴを貼る行為。自社では設計をしていないものに、ブランドロゴだけ貼るOEMみたいなもの。 * 17/07/11: TWE-LiteをArduinoでシリアル通信として使う [#r25de8ed] http://jumbleat.com/2016/10/21/twe-lite_send_1/ * 17/07/10: ArduinoでNTSC出力 [#r0753ee1] http://ht-deko.com/arduino/tvout.html * 17/07/05: MacのExcelが異様に遅くなる [#qce50832] Cacheなどを削除すると改善するかも。 https://ideacloud.co.jp/blog/other/mac-excel.html * 17/07/04: CalibreのDRCエラーのファイル(*.db)を確認する [#v3cec0c9] CalibreのRVE(Virtuosoから起動できる)で、*.dbを読み込む。 http://www.mentorg.co.jp/products/ic_nanometer_design/calibre-integration/cadence/ * 17/07/01: GladeのF3/F4 [#n03a2a70] ヘルプの奥の方に書いてある。 - F3: コマンドのOption Dialogの表示On/Off - F4: オブジェクト選択モード(Full/Partial)の切り替え * 17/06/30: Seeeduino v3のブートローダ [#g851795c] Arduino Duemilanove (ATmega328)と互換なので、このあたりを参考に http://d.hatena.ne.jp/rin1024/20111109/1320819673 HEXファイル: https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex * 17/06/20: VisualStudioのautoraiseをオフにする [#u5136d35] いわゆるX-Mouseで、カーソル移動だけでウインドウにフォーカスが移りつつも、そのウインドウを前に持ってこない(autoraiseをオフ)にするには、このあたりのツールでまとめて行える。 http://d.hatena.ne.jp/bellbind/20091203/1259789832 ただVisualStuioなどはそれでもautoraiseしてしまうが、このあたりのツールで抑制できる。(True X-Mouse) https://stackoverflow.com/questions/121111/how-do-i-keep-visual-studio-from-autoraising-when-i-activate-focus-follows-mou * 17/06/14: AVRのCLIでプログラム書き込み [#t220cdc2] http://blog-yama.a-quest.com/?eid=970178 * 17/06/08: Vivadoで*.mcsの作成 [#z1654c1b] tclスクリプトで生成、ということのようだ。 http://www3.hdl.co.jp/spc/xcm/466-q20160229.html * 17/05/31: Eagleでオペアンプ、論理ゲート等の電源ピンを表示 [#vdc023c6] シンボル→Invoke http://www.technoveins.co.jp/develop/eagle/libedit.htm * 17/05/11: STM32L151をmbed的に使う [#ee15d0d3] STM32L152と構成がほとんど同じで、L152のmbedはあるので、それを使うのがよさそう。 https://developer.mbed.org/questions/68705/does-mBed-support-the-STM32L151/ ↓にある、RF-LinkのLoRaモジュールのRM-92AのマイコンはSTM32L151。 ちなみにもう一つのES920のマイコンはMKL16Z128で、mbed対応はないっぽい? * 17/05/01: ATtinyをHighVoltageモードで書き込む [#ye3499a8] このあたりの付加回路で、Arduinoを使ってイケるっぽい http://mightyohm.com/blog/products/hv-rescue-shield-2-x/ https://arduinodiy.wordpress.com/2015/05/16/high-voltage-programmingunbricking-for-attiny/ * 17/04/28: LoRaについて調べたメモ [#a844c2e0] LPWA(LowPowerWideArea)のうち、LoRaはもろもろ。SIGFOXはクローズドな規格っぽい。 http://japanese.engadget.com/2017/04/14/iot-lpwa/ LoRaについてけっこうまとまっている情報源。 http://qiita.com/miminashi/items/a74a55d86a74251f213e LoRaモジュールいくつか。 http://www.rflink.co.jp/index.html https://tokyodevices.jp/items/233 http://joomlaweb.blog117.fc2.com/blog-entry-541.html FONみたいに、みんなでゲートウエイを、というプロジェクト。 https://www.thethingsnetwork.org/ ↑の東京版もある。 https://www.thethingsnetwork.org/community/tokyo/ http://japanese.engadget.com/2017/04/14/iot-lpwa/ * 17/04/28: Eagleのcream-dxf.ulpで、SMDのStopとCreamが一致しない部品のマスクをつくる [#z8c6f6a8] "Ignore pads with no stop flag"をはずしておけばOK(普通はStopとCreamの形は一致するんだけど、それが一致しない(Creamだけ)ものを無視せずに出力する、ということ) * 17/04/16: Excelで行と列を入れ替える [#mf476ee6] http://shikaku.biglobe.ne.jp/pc_technic/excel/03_1.html * 17/04/14: MATLABで変数を表示する [#l2075709] 実行過程の表示とかで変数を表示するにはdisp()がつかえる. https://jp.mathworks.com/help/matlab/ref/disp.html * 17/04/10: Arduinoのライブラリのインストール(ライブラリマネージャ経由) [#s0bfb27a] library.propertiesというファイルをおいておくと、ArduinoIDEのライブラリマネージャからzipのままインストールできる https://www.mgo-tec.com/arduino-ide-lib-zip-install * 17/04/08: CalibreのLVSで謎っぽいエラー [#ae381ac8] LVS結果のmismatchの解読のコツの一つ。 Layout/Sourceでそれぞれ、ある端子が、片方にあってもう片方でmissingとなる(お互いに)場合、バス配線の添え字が1個ずれてたのが原因のことがあった。たしかにこういうエラーになるけど、このエラーから原因を読み解くのはちょっとコツがいりそう。 * 17/04/05: iPhoneの拡大鏡 [#t7ccaa6f] 3本指タップでON/OFF http://iphone-howto.jp/gamen-kakudai-kaiketu-98 * 17/04/04: Windows10でウインドウの周りが微妙に空く [#a1d66e87] レジストリの設定で直せる模様。 http://tonyjaa.blog.fc2.com/blog-entry-71.html * 17/03/16: gnupackでの環境変数HOME [#t2e9f673] 環境変数HOMEは設定しないといけない。 (別のアプリでHOMEのパスをLinux風に/で区切るように設定をしていて、それからEmacsが起動時にエラーをだす(vforkなんとか)ようになって、原因がこれだったという話) http://yoshiiz.blog129.fc2.com/blog-entry-794.html * 17/03/13: Windowsでウインドウの位置を覚えさせる [#nd774100] Ctrlを押しながらウインドウを×で閉じると、位置を覚えさせられる。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12108240532 * 17/03/07: Virtuosoの初期設定ファイル.cdsinit [#ja128d17] Virtuosoの初期設定ファイル.cdsinitは、マニュアルには~/にあれば読みこむ、と書いてあるが、ホームではなく、起動ディレクトリにないと読み込まないっぽい。 * 17/03/04: JAISTにあるプリント基板加工機MitzElevenAutoの使い方メモ [#x4fe6aef] +DesignProを起動、アプリケーションをConverterにして、ガーバーとドリルを読み込む。 +設定からドリル、ミリング、ルーターのツール番号を実際にあわせて設定 +ドリル、基板パターン、外形の各データを作成 +アプリケーションをCam-Zにする +加工ボタンを押す +加工開始前のダイアログが出るので、位置合わせ→基板左下(P1点)にヘッドを移動させて、HOMEでP1点を設定 +ツールをミリングに変更(持たせる)し、空いているところにヘッドを移動→スピンドルON→DOWN→適当に移動→UP→スピンドルOFF、で溝をほる。これが0.3mmになるように高さ(深さ)を調整。 +加工開始 * 17/02/19: UNIX系コマンドでカラー表示をやめる [#f1f2cd31] Cygwinのlsコマンドなどは、見やすいようにファイル種別などごとに色がつくが、このためのESCシーケンスコードが、gawkなどにパイプで渡すときにじゃまになる。 そこで--color=neverをつけると色がつかなくなる。 つまり ls -l --color=never | gawk '{print $NF}' のような感じ。 * 17/02/09: LPE [#f5c79910] いわゆる回路抽出(寄生素子を含む)のこと。 Layout Parameter (or Parasitic) Extractionの略 http://techon.nikkeibp.co.jp/article/WORD/20081224/163310/?rt=nocnt * 17/02/03: GitHub/SourceTreeメモ [#xc7b9a59] 雑多なメモ。 - (SourceTreeの)HEADは、ブランチの途中に戻るときにできるが、どこのブランチにも属さない現在位置なので、存在するべきではない→そこからのブランチ(過去のチェック用として)を切るべき - コミットを戻す(なかったことにする)ことはできない。→revert(コミットの打ち消し)を使う。これだと、「そこに戻す」というコミットでブランチが進む。 - リポジトリを別のリポジトリの一部にする(submodule)ことは可能だが、元リポジトリの管理から外れるので、やらないほうがいい。別リポジトリの中にフォルダを新規に作ってそこにファイル一式を移動させる、のが現実的。 * 17/02/01: LaTeXでEPSの図の位置がずれる [#wadc2248] BoundingBoxが正しくてもずれる場合、\usepackage{graphicx}のところで[dvipdfmx]を指定しているかを確認。 http://qiita.com/zr_tex8r/items/089b56291588f7b05b02 * 17/01/31: GitHubのリポジトリ名の変更 [#a083d646] http://d.hatena.ne.jp/MonteCut/20110819/1313742250 * 17/01/16: ArduinoのI2Cライブラリの使い方 [#c6fa154f] http://qiita.com/MergeCells/items/20c3c1a0adfb222a19cd よくある、「レジスタアドレスをwrite→repeat start→読み出し」の手順は、 Wire.beginTransmission(slave_addr); Wire.write(reg_addr); Wire.endTransmission(false); // repeat start Wire.requestFrom(slave_addr, Nbyte, true); // true: 読み出しが終わるまで待つ byte val = Wire.read(); // Nbyte回くり返す となる。 なおslave_addrは、7bitアドレス(書き込みも読み出しも同じ)なのに注意。 * 17/01/13: MATLABの*.mの実行 [#t784bc3b] MATLABコマンドラインから、その*.mファイルのファイル名(拡張子を除く)、で実行。hoge.mなら、hoge、で実行される。 * 17/01/12: WAVファイルのフォーマット [#zd35b8cb] 基本的にヘッダのあとは生データが続く。 http://www.graffiti.jp/pc/p030506a.htm * 17/01/12: CPUファンの3p/4pコネクタの結線 [#tc038329] http://www.intel.co.jp/content/www/jp/ja/support/boards-and-kits/desktop-boards/000005560.html おまけ:ifdlkpのCPUファン交換のときに調べた情報。まったく同じCPUファンの交換をしている方がいた。http://sea.netyasun.com/article/294916869.html * 17/01/05: WordPressの復旧 [#x8be7953] 更新に失敗しちゃったときなど、復旧させる方法。 http://nobuo-create.net/wp_down/ 要は、新しいWordPressを展開して、themeとuploads(とplugin)とwp-config.iniをオリジナルから戻してアップロードする。 * 17/01/05: ChromeでBackspaceでページ戻り [#d0f63272] 拡張機能を入れれば復活させられるっぽいけど、フォームの入力中に文字を消そうとBackspaceを押してページが戻って消えてしまう、のも事実なので、Alt+←で戻る、に慣れるのが吉か。 http://blog.clock-up.jp/entry/2016/08/17/chrome-backspace * 17/01/05: Wiiの映像端子のピン配置 [#s8177090] https://www33.atwiki.jp/pentagon/pages/76.html * 16/12/27: Eagleのデフォルトの長さの単位 [#z837a0a2] eagle.scr/eaglerc.usrに、Gridで書ける。例えばGrid mm 1 On;とすれば、1mmになる。 http://blog.goo.ne.jp/yggdrasill033/e/e61509476be6190d5cbf3f8aadfcfb34 * 16/12/27: WindowsのGPTパーティション [#j4051bf4] 最近のWindowsのHDD/SDDは、ブートレコーダがMBRではなくGPTという形式になっている(MBRは2TBまで、GPTはサイズ制限なし)。GPTでは2つの不可パーティションがあるが、BIOS設定で起動ドライブ順序が、自動だと、起動できないパーティションが指定されていて起動できない旨のメッセージが出る場合があるが、起動ドライブを同一ドライブの別のパーティション変更すると起動できる(場合がある)。 * 16/12/20: セラミックコンデンサのESR [#ab84d478] 一般に電極材料などが効いて、他よりもESR(等価直列抵抗)はだいぶ小さい。 http://www.murata.com/ja-jp/products/emiconfun/capacitor/2011/04/14/en-20110414-p1 * 16/12/13: 箱の展開図 [#j576b040] http://www.order-box.net/view/ * 16/12/08: GoogleAPIでカレンダーを取得 [#db2504df] 結果的にこの方法で取得できたけど、だいぶはまった。主な要因は、バージョンをあわせる、こと。最新バージョンのほうがよい、というわけではない。 http://www.spiceworks.co.jp/blog/?p=7603 * 16/12/08: C++の関数のデフォルト値と引数の数 [#nd1ab2b3] たとえば void hoge(int a, int b, int c=10); とかくと、引数が2個で使おうとすると引数a,bとなり、3個目のcはデフォルト値の10が使われる。また引数3個で使うこともできる。 また void hoge(int a, int b=10, int c); とすると、引数が1個(a)と2個(a,b=10)しか使うことができない(ほんとか?)ので、引数3個で使おうとすると、該当する関数がないというエラーになる(ほんとか?) * 16/12/08: Git/GitHubのメモ [#tc82f3e7] - ブランチ=ローカルにある情報 - リモート=サーバにある情報 - チェックアウト=ブランチの切り替え - (SourceTree)コミットするときに、Hunk(修正のかたまり)単位で、無視する(破棄)こともできる - コミット先行してたら、プルしてからコミット、が吉 - (SourceTree)スタッシュ=一時保管場所。ブランチに関係なく、スタッシュに保存した変更点を反映できる(たとえばデバッグ用メッセージの出力、など) * 16/12/07: CypressのCYBLE-022001-00 [#x7d43d2f] 分かればなんでもないんだけど、この「CYBLE-022001-001」というのがチップ名のようなもので、PSoC CreatorのプロジェクトでDevice Settingで選べるので、これを選べば、それに応じた(モジュールの)ピン配置になる。 https://www.switch-science.com/catalog/2503/ * 16/12/05: Windowsのジャンクション [#f9c12732] シンボリックリンクとちょっと違うジャンクション。 例えばDropboxのフォルダ名が「Dropbox(個人)」みたいになったのを、 「Dropbox」という名前のジャンクションをつくると、その名前でアクセスすることができる。 http://www.atmarkit.co.jp/ait/articles/1306/07/news111.html * 16/11/28: BLEのHID-Over-GATTでキーボードをつくる [#j2b8faff] https://lowreal.net/2016/08/30/2 * 16/11/21: USB Type-Cの(充電)規格 [#gf7ad221] http://andmem.blogspot.jp/2015/12/usb-type-c-current-issue.html * 16/11/16: GoogleカレンダーAPIでカレンダー情報を取得するPHP [#k35ac6da] http://www.spiceworks.co.jp/blog/?p=7603 * 16/11/09: Windows10の標準アプリを削除する [#pb02c7ec] http://www.lifehacker.jp/2015/08/150819_win10_app_uninstall.html * 16/11/09: ChromeをDドライブにインストールする [#hcc40a7f] Chrome Portale、が吉か。 http://portableapps.com/apps/internet/google_chrome_portable * 16/11/09: XBee (S2C)をペアリングモードで使う [#lf5a22a5] 基本的にはこのあたりを参考に、片方をRouterモード、もう片方をCoordinatorモードに設定し、Destination (DH/DL)を相手のMACアドレスに設定する。 http://mag.switch-science.com/2012/08/01/startup_xbee_zb/ ただしX-CTUのバージョンが新しいやつは、Function setでRouter/Coordinatorを切り替えられないが、設定項目の中にCE (Coordinator Enable)があるので、これをCoordinatorモードにするほうだけEnableにすればOK http://hawksnowlog.tumblr.com/post/143431424040/xbee-zb-s2c-%E3%81%A7-zigbee-%E5%85%A5%E9%96%80 * 16/11/08: 赤外カットフィルタをはずしたカメラで撮った画像の色味の補正 [#of120138] 赤外カットフィルタをはずして撮影すると赤っぽい画像になるが、gimpの自動補正→ホワイトバランス、でホワイトバランスを自動補正するとだいぶ自然になる。 * 16/11/02: Eagleライブラリで矩形以外のパッドをつくる [#la90aac5] 一応できなくはない・・・らしい。(詳しく読んでない) http://jiwashin.blogspot.jp/2016/08/trial-to-create-polygon-smd-pad-for-eagle-library.html * 16/11/02: EagleライブラリのパッケージでCreamをSmdPadと別形状にする [#g629afad] SmdPadのプロパティでCreamをはずし、Cream形状を別に描画する。 http://www.s-m-l.org/eagle.html#Cream形状をPAD形状と違う形にする * 16/10/21: iOSの「書類とデータ」を削減 [#u5cfdf05] アプリでためこんでいる「書類とデータ」は、アプリをいったん削除→再インストール、で削除できるっぽい。 https://i-bitzedge.com/tips/how-to-manage-documents-and-dat * 16/10/21: PSoC Designer時のアカウント権限 [#w17b8728] 管理者権限のあるアカウントでも、インストール時に"You don't sufficient privilege"とはねられる場合がある。 インストーラを右クリック→管理者として実行、でいけるっぽい。 「管理者アカウントで普通に実行」と「管理者として実行」は違う、ということうか。 * 16/10/12: Macキー割当変更アプリKarabinerのMacOS sierra対応のKarabinier-elementの設定方法 [#tb451c41] http://fanblogs.jp/macyarounanoka/archive/226/0 ※(16/10/17追記)英字キーボードとして認識されるというknown bugがあるようで、とりあえずちょっと古い0.90.46で回避できる模様。http://qiita.com/kamoc/items/93550dd7f5bbae15e70f * 16/10/01: Jupyter [#f884a360] Python等の実行環境つきのメモ帳、という理解でいいのかな。 http://pythondatascience.plavox.info/python%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83/jupyter-notebook%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86/ http://techlife.cookpad.com/entry/write-once-share-anywhare * 16/10/01: Docker [#a5085030] PCのハードウエアごとソフトウエアでエミュレートするのが仮想化で、アプリケーションの実行に関する部分だけソフトウエアでエミュレートするのがDocker、という理解でいいのかな。 http://cn.teldevice.co.jp/column/detail/id/102 * 16/10/01: MQTT Broker [#w84706c6] MQTT Broker=MQTTの仲介役、つまり公開されているMQTTサーバみたいなもの、という理解でいいのかな。 http://acro-engineer.hatenablog.com/entry/2015/06/19/120000 * 16/09/07: Inkscape SVG→Autodesk 123D DesignのSketch [#kb4bc2c3] Inkscapeで描いた図形を123D DesignでSketchとしてimportするとき、Inkscapeの1px=123D Designの1mm、になる。つまりInkscapeでグリッドを1pxにしてこれを1mmだと思って描けば、実寸で123D Designに取り込める。 * 16/09/05: Facebookの投稿へのリンクURL [#y79400ef] 投稿日時のところからたどれる。 http://ameblo.jp/724685/entry-10820481613.html * 16/09/01: Win10でショートカットをスタートメニューにピン留する [#i96c5e1d] 要はスタートメニューの実体フォルダにショートカットをコピーしておく、ということ。 http://loumo.jp/wp/archive/20150812000033/ * 16/08/30: Win10でVPN接続のショートカットをつくる [#f82d21cf] http://www.atmarkit.co.jp/ait/articles/1608/17/news024.html * 16/07/28: インクジェット用不織布でポスター印刷 [#ne2c8b79] http://www.nakagawa-mfg.co.jp/product/poster/large-inkjet/large-inkjet-09/ EPSONの大判プリンタだと用紙設定は「PX/MCプレミアムマット紙」。用紙自動カットはつかわずに手動でカット、とあるが、一応自動カットもできそう。用紙吸引などは標準設定のままで大丈夫そう。 * 16/07/15: VisualC#からDOSコマンドを実行する [#c4d944c6] http://dobon.net/vb/dotnet/process/standardoutput.html * 16/07/11: ダイオードのPN接合と空乏層 [#z5607779] まず基本的に、半導体内のキャリア(電子・ホール)の振る舞いは、拡散(勝手に動いて広がる)とドリフト(電界による移動)と熱平衡をあわせて考えないといけない。 PN接合では空間電荷が空乏層を形成して内部電位をつくり、これがキャリアの拡散をおさえて平衡状態になっている。 順方向電圧を加えると、N領域の電子が空乏層を超えてP領域入り、ホールと再結合して空間電荷になる(ホールが減る)、が、熱平衡状態ではP領域内の電子とホール密度の積は一定なので、他のところに電子-ホール対が現れて熱平衡状態が保たれる(と考える)。さきほどの空間電荷になった電子は順方向電圧に引っ張られてP領域の端に向かって、この生成された電子-ホール対のホールを転々と移動し、最終的にはP領域から出る(=電流)。 なおこの順方向電圧印加時には、P領域にある負の空間電荷(電子)もP領域の端側向きに力を電界から受け、↑の熱平衡を保ちながら電子が移動し、結果として空乏層は薄くなる。 逆方向電圧を加えると、↑の逆で、多数キャリア(N領域の電子など)が、空乏層とは反対側に向かう力を電界から受けるため、N領域内の電子の分布が空乏層から離れる向きに偏るため、結果として空乏層は厚くなる。 * 16/07/08: GDSレイアウトのプロットアウトのためのWindowsツール [#f003c996] なかなか決め手がなくて一長一短だが、KLayoutがよさそう? - Owl: Java。印刷できない - KLayout: レイヤ表示パターンが多いて表現しやすい。印刷能力は未検証 - GDSview: 大きなGDSだと表示が一部怪しい(違う位置にVIAが印刷される、など) - layoutEditor: 製品(けっこう高い。しかも1年単位ライセンス)。体験版でも機能制限はない。印刷は速い。 * 16/06/29: MacのOfficeでファイルを開くと、昔閉じたファイルも開かれるのを抑制する [#hc7e8a32] https://teachme.jp/contents/26495 * 16/06/17: レーザーカッターのラスター密度とレーザー出力と刻印品質 [#h9c01d11] ラスター刻印のラスター密度(↓)を下げると加工時間が短くなるが、Y方向の密度が下がってスダレのようになる。その分レーザー出力を上げれば1本の横線が太くなるので、スダレが目立ちにくくなる。コルクへの刻印の例だと、密度を2ぐらいまで下げてもレーザー出力を標準から+10%くらいあげると、だいぶスダレが目立ちにくくなる。 * 16/06/10: レーザーカッター(ユニバーサルレーザー)の加工パラメータの調整 [#k637f82c] CorelDrawから印刷、を送ったと、ULCの設定画面では変更できない加工パラメータ(Image Densityとか)がある。これは印刷を送る前に、プリンタのプロパティ、からだと設定変更できるので、ここで設定する。 * 16/06/10: mbedのwait()と割り込み [#i4d330a6] mbedのwait()は、内部でタイマ1割り込みを使っているので、割り込みを__disable_irq()などでとめてしまうと、wait()は所定の時間を待つという動作をせず、すぐにループを抜けるので、見かけ上waitする時間が短くなるように見える。 * 16/06/08: mbedのクラスの初期化 [#p3ea71eb] あたりまえのことではあるのだけど,備忘録. シリアル(Serial)のオブジェクトをメンバに持つクラスを定義し,そのクラスをmain()の外のグローバル変数として宣言すると,main()が始まる前にこのオブジェクトのコンストラクタが呼ばれる. そのコンストラクタ内で,baud()で通信速度を設定すると,そのときはまだmain()が呼ばれる前なので,例えばmain()内でクロックの設定をすると,その前にbaud()が呼ばれることになる. * 16/06/08: STM32FのSYSCFGレジスタの設定 [#n508c2c8] SYSCFGレジスタもAPBクロックの下にあるので,RCC->APB2ENBでSYSCFGへのクロック供給をONにしないと,値の変更ができない. * 16/06/07: ArduinoIDEの*.bin/*.hexの所在 [#v27c3a0e] ユーザフォルダ/Local Settings/Temp/build???? の中 https://www.arduino.cc/en/Hacking/BuildProcess * 16/05/31: STM32Fのクロック切り替え(ブートローダ関連) [#l1f3f225] STM32F/mbedでブートローダ関連で、2つのプログラムを行き来する際に、クロックの設定が必要。 基本的には、別のプログラムに分岐する前に内蔵オシレータ(HSI)で動作するようにクロックを切り替えて(&フラッシュのプリフェッチバッファ(FLASH->ACR)もオフにしたほうがいいかも)、分岐すればいいんだけど、どうも失敗する。 原因をいろいろ調べた結果、結論として、system_stm32f0xx.cのSystemInitが初期化時に呼ばれるが、そこでのクロック設定を指定している以下の#defineがポイントだったっぽい。 #define USE_PLL_HSE_XTAL (1) /* Use external xtal */ #define USE_PLL_HSE_EXTC (0) /* Use external clock */ HSE_EXTCを(1)にしておくと、外部クロック(水晶でなく)を使おうとする。基本的には「使おうとする」だけで、切り替えてみてクロックがきてなかったらあきらめて別の設定にする、というように書いてあるので、普通は問題はない。 ただし今回のようにHSEをONにしたりOFFにしたりをしていると、OFFにした直後はまだOSC_INに発振波形が残っているのか、SystemInit時に外部クロックが供給されているように誤解→外部クロックを使う設定(HSE=1,HSEBYP=1)にするが、実は外部クロックは着ていないのでハング、ということのようだ。 というわけで明示的にHSE_EXTCを(0)にしておけば、最初から外部クロックを使おうとは試みないのでOK。 たしかにSTM32F070のUserManualのRCCのHSEクロックのところにも、Cautionとして、それっぽいことが書いてある。 * 16/05/25: ARMのSysTick [#wb3961fe] ARMの基本機能なので、各社のマイコンのデータシートには詳しく書いてない。 https://sites.google.com/site/stm32datasheet/home/060-STM32-program-smpls/43a-systick * 16/05/24: Eagleデータ→SVG [#q60dad7c] FritzingのライブラリをEagleデータから作りたいな,と思ったら,Eagle→SVGはULPがあるので,そこをスタートとするのがよさそう. https://learn.sparkfun.com/tutorials/make-your-own-fritzing-parts * 16/05/23: RasPiでsyslogd [#a4eda9d8] http://www.angelcurio.com/raspberrypi/index.php?Raspberry%20Pi%2Fsyslog%E8%BB%A2%E9%80%81 * 16/04/19: MATLABで行列転地 or 行/列ベクトルの変換 [#h085cd84] http://jp.mathworks.com/help/matlab/ref/transpose.html これを使えば、行ベクトルAと列ベクトルBを2行or2列の行列にまとめる、なんてこともできる。(AとBを並びでCSV形式で出力するときにcsvwrite()するときに必要) * 16/04/19: Windows10の自動更新&再起動の設定 [#v5bccc5b] レジストリをいじると、もう一息詳しく設定できる。 http://answers.microsoft.com/ja-jp/windows/forum/windows_10-update/windows10%E3%81%AB%E3%81%8A%E3%81%84%E3%81%A6windo/1e714cab-d507-4923-917e-a7f8d51adc73 * 16/04/18: 昇圧DC/DCコンバータの出力側への電圧印加 [#i4f86cb1] 昇圧DC/DCコンバータの出力側に、外の電源から電圧を加えると、壊れやすい。そりゃそうか。 * 16/04/04: Replicator2Xのノズルの交換 [#b4cbc2e8] http://yasurigake.com/blog/2015/06/18/replicator2x_nozzle/ * 16/03/29: EagleのULPをショートカットで実行する [#t8de2a33] run hogehoge.ulp でULPをできるので、これを適当なショートカットに割り当てればOK。 * 16/03/27: EagleのTearDropの解除 [#y110d634] VIAの移動などがめんどいので、設計終わってから、ほぞんご、別ファイルに対しておこなうべき。 解除は、VIAとUnrouteのレイヤを見えなくしてRipUpすると、少し楽。 * 16/3/16: gitのmasterとブランチ [#k442002c] 一般的には、masterを安定板、として、そこから開発版としてdevelopなどのブランチを切り、そこからさらに開発要素ごとにブランチを切って開発を進め、安定したらmasterにマージする、という使い方。 * 16/03/15: Linuxでシリアルのデータを横からよむ [#c4b1744a] socatというので、ソケット通信全般を接続先を切り替えられる。デバッグに便利そう。 http://ma-tech.centurysys.jp/doku.php?id=mae3xx_tips:use_socat:start http://momijiame.tumblr.com/post/48934531325/socat-%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E5%90%84%E7%A8%AE%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88%E3%81%AE%E6%93%8D%E4%BD%9C%E3%81%8C%E6%8D%97%E3%82%8A%E3%81%BE%E3%81%8F%E3%82%8B%E4%BB%B6 * 16/03/14: STM32FのDFUモードFW書き換え [#od26bc05] https://rur.mech.tuat.ac.jp/robotbot/archives/645 * 16/03/11: mini/microUSBのID端子 [#c6978a84] GNDにつなぐとUSBホスト(OTG=OnTheGo)、オープンで普通のUSB。 http://s2jp.com/2011/06/about-usb-host-cable/ * 16/03/10: gnuplotでボーデ線図 [#ac0f55fe] i={0,1}で虚数単位を定義して、例えばexp(i*x)で、exp^{ix}を書けて、real()とimag()で実部と虚部や、abs()とarg()で絶対値と偏角を求めてグラフにも描ける。ついでにこちらの方法で絶対値と偏角で軸をわければボーデ線図が描ける。 http://www.int.otaru-uc.ac.jp/lyx-howto/writing/gnuplot/two-graphs * 16/03/05: 不要なCOMポート(Bluetooth SPPの予約ポートなど)を消す [#c5071e78] http://airvariable.asablo.jp/blog/2013/02/22/6727432 * 16/03/01: リモートデスクトップのポート番号を変更 [#w07908eb] レジストリをいじって再起動して、ファイアウオールのポートをあける。 http://www.atmarkit.co.jp/ait/articles/0309/27/news003.html * 16/02/25: GoogleグループのMLの返信先をML宛てに変更する [#sa6dfd4f] https://open.shonan.bunkyo.ac.jp/sysroom/?p=8148 * 16/02/23: Sony Digital Paper DPT-S1のWebDAVのファイルアップロード [#p0ccb242] WebDAVサーバの設定で「送信フォルダ」を指定しないと、追記したPDFがそのままアップロードされる。 * 16/02/22: Xilinx ISEで入力・クロック制約 [#k13a1a17] クロック周期の制約をかけたり、入力信号のセットアップ/ホールド時間の制約をかけたり。特にクロック信号は、ちゃんと制約をかけないと、変な回路ができてぜんぜん動かないこと、がある(FPGAツールの特性)ので注意。 http://japan.xilinx.com/support/documentation/sw_manuals_j/xilinx11/pce_db_setuptime-clockinfo-dialog.htm http://marsee101.blog19.fc2.com/blog-entry-1246.html http://marsee101.blog19.fc2.com/blog-category-59.html * 16/02/22: Windows10のスタートメニュー/スタートアップ [#f53303df] http://jmatsuzaki.com/archives/15784 * 16/02/20: iPhoneのイヤホン端子のマイク [#b8b15dfe] 4極のピン配置はCTIAという規格のものが多い模様。DCバイアスが出ているので、そのままコンデンサ経由でアンプにつなげばいい、ということか。 http://sceneryandfish.withnotes.net/?p=852 ついでに、3極でプラグインパワーのマイクのピン配置は、いくつかの規格がある模様。 http://ameblo.jp/shin-aiai/entry-10374359455.html * 16/02/18: Excellonドリルフォーマットの方言(?) [#uf3740d2] PCBEでつくったドリルデータをSeeedに送ると、ズレている、と言われることが多い。 いわゆるExcellonフォーマットに方言が多くあるのが原因なので、備忘録。 方言の種類 http://www.p-ban.com/others/vol20.html Mコードの解説例: http://www.isoplotec.co.jp/index2.htm PCBEが吐くドリルデータの例: G71 M48 ←データ先頭 M71 ←ミリ系(インチ系はM72) T01C4.000 % G90 T01 G81 X6000Y160000 G80 M30 ちなみにEagleでSeeed用CAMで吐いたドリルデータの例: % M48 M71 T01C4.000 % T01 X60000Y1600000 M30 両者を比べると、Gコードをとればよいようだ。あとSeeedでは小数部桁数は4桁しか受け付けてくれない(ことがある:担当者依存)ので、PCBEでもそれにあわせるか、3桁で出力して手動で最後に0を追加するか。PCBEでは整数部が4桁だが、Seeedでは2桁で取り込まれる(ことがある:担当者依存)ので、明示的に4桁と指定したほうがいい。 * 16/02/17: Adobe Readerのツールパネルを表示しない [#ie36117d] http://solomon-review.net/acrobat-reader-dc/ * 16/02/16: Xilinx ISEのChipScope [#mfed7b19] 動作中のFPGAの内部を外部から観測できる。 インプリメント後に、Inserterを実行する、のが、元の回路に修正をくわえなくてよくて楽か。 http://japan.xilinx.com/support/documentation/sw_manuals_j/xilinx11/ise_c_process_analyze_design_using_chipscope.htm * 16/02/15: SDカードにDropboxをおく [#z45902d3] http://johokankyo.com/cloudwork/onedrive/tablet_microsd/ * 16/02/14: Eagleで特定領域にベタGNDをつけない [#t216abdb] PolygonでCutOffを選んで描画すると、そこの中はベタGNDがつかない。 * 16/02/13: Windowsでウインドウを端へもっていくと最大化、をやめる [#scd1582d] http://windowstip.web.fc2.com/WindowsTips/tips/window-max.html * 16/02/10: 充電専用uUSBケーブルの結線 [#e8c5001d] http://xn--n8jtcug9751a.biz/post-2969/ * 16/02/08: ESP8266の開発環境rtos [#f592312d] Native開発環境に近いとのことで、導入メモ。 まずUbuntu14.04をVirtualBoxに導入。32bitのほうがいいかも。 ついでに共有フォルダを設定しておく。→http://qiita.com/HirofumiYashima/items/6044cfc64cfa3e84f97c 次に、こちらの手順で、esp-open-sdkを入れる。 https://github.com/pfalcon/esp-open-sdk/ まずRequirementに書いてあるパッケージを入れて、buildして、pathを通す。Ubuntuでは~/.profileに書く(ref: http://qiita.com/takanemu/items/6027291be8a2a6af9adc ) 次に、esptool.pyを入れてpathを通す。 https://github.com/themadinventor/esptool ただしsetuptoolがない、と言われるので、こちらの通りいれる。 http://stackoverflow.com/questions/14426491/python-3-importerror-no-module-named-setuptools 最後にesp-open-rtosを入れる。これは自分のホームディレクトリでもいい。 https://github.com/SuperHouse/esp-open-rtos FTDI-Basicをつなぐとttyデバイス(COMポート)ができるが、標準ではpermissionが自分にないので、こちらに沿って、/lib/udev/rules.d/50-udev-default.rules にMODEを0666としておけばOK。 http://d.hatena.ne.jp/kinneko/20140118/p2 シリアルターミナルはこのあたり。 http://linuxandxx.blog.fc2.com/blog-entry-34.html * 16/02/03: リモートデスクトップ接続先でWinキーが押しっぱなしになる [#y9f450fe] 例えば下カーソルでウインドウが最小化される、などの現象としてみえる。 とりあえずの回避策として、Winキーを1回押す、というのが有効な模様。 https://prepro.wordpress.com/2009/05/14/remotedesktop%E3%81%AE%E3%83%90%E3%82%B0%E3%81%A7%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E6%83%85%E5%A0%B1%E3%81%8C%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84/ * 16/01/25: Macで左クリックが効かなくなることがある [#r33bdc90] 元電源をぬいてしばらく待って戻してSMCリセット、が効く、か? https://discussionsjapan.apple.com/thread/10086191?tstart=0 https://support.apple.com/ja-jp/HT201295 * 16/01/17: OneDriveをWebDAVとしてドライブレターを与える [#oce4d75c] http://www.code-lab.net/?p=230 * 16/01/08: Eagleでグリッド変更をショートカットで [#ma552a8b] http://trac.switch-science.com/wiki/EagleShortCutSetting