* 15/12/28: Eagleでベタグランドをつくるときのクリアランスの指定 [#s8bf321e] http://www.picfun.com/Eagle/Eagle24.html デフォルトは近すぎるようなので、そこそこの値に。 * 15/12/26: Eagleでティアドロップをつける [#n49bd40c] ランドのまわりの配線の鋭角をなくすティアドロップ(Filletともいう)は、teardrop.ulpでつけられる。 http://www.webspace.ne.jp/rental/icon_tree_bbs/bbs.php?pid=5574&mode=r&no=325&mode2=thread * 15/12/24: Inkscapeのスナップのアイコンの意味 [#i54529d8] http://inkscapedesign.web.fc2.com/medium/snap.html * 15/12/12: EagleでベタGNDにVIAをうつ [#lbd567a2] 手動でVIAをうってネットをGNDにする http://karlsnautr.blogspot.jp/2014/03/eagle.html * 15/12/08: Eagleで面付け [#j3fe203a] http://blog.goo.ne.jp/jh3kxm/e/6d974ef0d3aaa6fc3b675f9f7a1eccaa * 15/12/04: mbedのコードサイズを減らす方法 [#zee8c6a7] https://developer.mbed.org/users/MACRUM/notebook/howto-reduce-binary-size/ * 15/11/19: SSH鍵の生成 [#lfb2701d] なかなか覚えられないので、再度。 - 秘密鍵:手元においておく - 公開鍵:サーバ側の~/.ssh/authorized_keys に追加する で、sshやscpで接続時にクライアント側で秘密鍵を指定すればOK http://kazmax.zpp.jp/linux/lin_sshrsa_win.html#ah_1 * 15/11/17: Mac ElCapitanでTeXをインストール [#d18e28ab] 基本的にはこちらのとおり、MacTexをbrewで入れ直せばOKそう。 ただしtlmgrが/Library/TeX/texbin/に移動しているので、ここのtlmgrを指定する(フルパスorPATHを通す)。 なおパスの設定は、~/.bash_profileに書けばOK http://qiita.com/nbkn/items/01a11392921119fa0153 * 15/11/17: Icarus VerilogをMacで使う [#hac9a562] 基本的にはソースからコンパイルすればOK http://fpga.kice.tokyo/design/iverilog-inst * 15/11/17: gitで使うポート [#s6befe4b] git://github.com では、TCP/9418を使う。 https://git-scm.com/book/ja/v1/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB * 15/11/17: FusionPCBAの使い方 [#f76c86fc] 小林先生の解説 http://qiita.com/mayfair/items/0206bd437c4302be5500 * 15/11/01: Xilinx ISEでEDIF形式のネットリストをつくる [#qda51f17] Xilinxローカルなネットリスト*.ngcから、Xilinxアクセサリ内のコマンドプロンプトで、ngc2edifでEDIF形式の*.ndfに変換できる。 http://natu.txt-nifty.com/natsutan/2007/09/xilinx_iseedifl_a1bf.html * 15/10/28: ひとのGitリポジトリにプルリクエストする [#u5c87212] http://kakakikikeke.blogspot.jp/2015/03/github-pull-request.html * 15/10/24: nRF51822のモジュールの書き込み [#v3787e3a] BraveridgeのモジュールだとSEGGER J-Link Liteというのが書き込み機として指定されていて、Nordic純正でもこれを使うみたいんだけど、同じnRF51822のHRM1017用の書き込み機であるTSUBOLink-IIでも書き込みできる模様。 https://www.switch-science.com/catalog/1829/ http://takafuminaka.blogspot.jp/2015/02/ucxpresso-lilypad-for-nano51822.html http://takafuminaka.blogspot.jp/2015/01/tsubolinkiible-nano.html * 15/10/21: Eagleのライブラリで1つのパッケージに複数の素子が入っている部品 [#z921b54a] 7400とかオペアンプのように、1つのパッケージに複数の素子が入っている部品のつくりかた。 電源ピンを含まない素子をAddで追加して、さらに電源ピンを、POW+などをAddして、それらをまとめてConnectでピン番号を対応付ける。 ちなみに、回路図入力で、非表示になっている電源ピンを表示させるのは、Invokeで選ぶ。 * 15/10/19: 赤外光の目の安全基準 [#j7958408] http://www.jisc.go.jp/app/pager?id=678735 * 15/10/07: VisualC#でのHTTPクライアントでConnection:Closeする [#h4638246] デフォルトでは、HTTPヘッダでConnection:はKeep-aliveとなる。これをCloseにする方法を調べてみたら、HttpWebReqeustクラスのConnectionプロパティを"Closed"にしろ、と書いてある文献をいくつか見かけたが、どうもうまくいかない(ほかの方法で変更しろ、というエラーになる)。 さらに調べた結果、こんな方法でできた。KeepAliveプロパティをfalseにする。 http://qa.atmarkit.co.jp/q/2904 * 15/10/03: PCBEではいたデータをスイッチサイエンスPCB(FusionPCB)へ [#l36a8440] ガーバー/ドリルデータの微調整が必要。 具体的には、ガーバーデータの冒頭のD02*をとり、途中のGコードをとる。 G71*G90*G75*D02* ←D02*をとる %ASAXBY*OFA0B0*MOMM*FSLAX43Y43*IPPOS*% %ADD13C,0.250*% ... %ADD20C,3.300*% G54D17* ←ここより下のGxxをぜんぶとる G01X174955Y170504D03* X172974D03* ... ドリルデータも、Gコードをとる。 G71 ←とる M48 M71 T01C0.300 ... % G90 ←とる T01 G81 ←とる X175879Y166628 ... * 15/09/09: Mac用TeXのDVIビューア [#r274a924] pxdvi、が吉か。 http://d.hatena.ne.jp/pyopyopyo/20121006/p1 * 15/09/03: ワイヤーボンディングするときにもっていくといい工具 [#v2524dde] - キムワイプ - 無水アルコール・純水のびん - ルーペ+自由アーム(ルーペ固定用) - 逆作用ピンセット - ピンセット(田中ピンセット) - 少し先がまがっているピンセット - +ドライバ(少し頭が平べったいもの):ホルダの位置調整用 - チップ固定用接着剤(木工用ボンド) - セロテープ * 15/09/01: いわゆる「田中ピンセット」の型番 [#vb6662e5] VLSI評価室においてある(あった)、とても使い勝手のよい、「田中」というシールの貼ってあった、いわゆる田中ピンセットの型番。 KFI K-3GG 125mm SUS * 15/08/22: Googleフォームで登録があったらメールで通知 [#ua79aeb4] http://kosumotti.blogspot.jp/2013/03/google.html * 15/07/31: mbedでgzip [#f846632b] 基本的に、これでいける。ただし関数の書き方がmbedオンラインコンパイラは受け付けないので、void foo(a) int a; みたいな書き方を void foo(int a) みたいに書き換えないといけない。 https://developer.mbed.org/users/jonathonfletcher/code/MBEDZlib/ * 15/07/14: STM32FのDMAの設定 [#q47057e6] STM32FのDMAは、Disableのときだけ、転送バイト数レジスタなどの設定が書き換えられる。 Reset時にはDisableされているからいいけど、途中から設定するときは、いったんDisableにするのを忘れずに (具体的にはDMAを使っているブートローダから別プログラムに分岐した先のDMA設定で、Disableしてなかったので転送バイト数が設定できず(両者でバイト数が違っていた)、はまった。とくにバッファサイズ-転送残りバイト数、で転送済みバイト数を計算すると、負になって、配列の添え字が負になってハングしてた) * 15/07/13: mbedのスタック位置を変更する [#h797bee6] mbedコンパイラは、スタックの位置などのメモリ配置をいじれない。 スタックの位置に関していえば、ARM-GCC用にexportした中の*.ldをみると、STM32Fの場合は次のようになっている。 RAM (xrw) : ORIGIN = 0x200000C0, LENGTH = 16k - 0x0c0 つまりRAMが0x200000c0から(16KB-0x0c0)バイト、つまりRAMは0x20000000 - 0x20004000、ということになる。つまりスタックの先頭は、0x20004000。 そこでmbedが吐くバイナリを逆アセンブルして、spの設定っぽいところで 0x20004000 (0x4000 / 0x2000)となっているところを探して、 それを変更すれば、スタックの初期アドレスを変更できる。 例えばこんな感じ(2か所)。 0: 4000 ands r0, r0 2: 2000 movs r0, #0 d8: 4000 ands r0, r0 da: 2000 movs r0, #0 これを、例えば0x20003f00にすれば、0x20003f00 - 0x20003fffの256バイトがスタックでも使われない(したがって初期化もされない)RAM領域として使えることになる。 * 15/07/07: GDSをプロッタでプロットアウト [#cd90eaf6] http://www.layouteditor.net/wiki/Introduction こちらのlayoutEditorでGDSを読み込み、プロッタPX-F10000をプリンタして印刷で、5分ぐらいでできる。 ただし体験版ソフトウエアで使用期限が短いので、注意。 あとデフォルトでは背景が黒のまま印刷されるので、背景を白に変えておくのを忘れずに。 あとレイヤ定義は、レイヤーマネージャでテクノロジマクロとして保存し、読み込みはユーティリティ→マクロ→マクロの実行、から行う。 * 15/07/07: ThinkPadのFnキーのランプ [#n1ef901f] ESC+Fnキーを押すと、FnキーロックのON/OFFがトグルして、ON(緑LED点灯)のときは、F1〜F12がファンクションキーとして機能する。 http://support.lenovo.com/jp/ja/documents/ht079216 * 15/07/07: Windowsでプリンタキューを強制削除 [#df593b93] PrinterSpoolサービスを停止→c:\Widows\System32\spool\PRINTER\ の中身を削除→PriterSpoolサービスを再開、の順。 http://dynabook.com/assistpc/faq/pcdata/010958.htm * 15/07/05: mbedでブートローダ [#j1e246cb] 「15/05/09: mbedで動的にプログラムを読み込み・実行」の続き。 どうも大きなプログラムになると、実行ができない(jumpしても、実行が始まらない(ようにみえる))現象に遭遇。 当初、RAM領域の重なり(大きな配列を確保している)か?でも呼び出し元のプログラムには戻らないはずだから、重なってても、少なくとも呼び出し先プログラムでは問題はないはず?と思いつつ、gcc-armははく*.mapをみなても、とくに問題はなさそう。といいつつ動的な配列は、当然ながら*.mapには出てこないので、そこは注意しないといけない。 で、DigitalInなどがない状態から少しずつ増やしていくと、3つ目くらいから実行ができない(ように見える)ようになる。 そこでDigitalInの定義からGPIO_Init()など、順にHAL関数の中をみていくが、やっぱりよくわからない(ここをコメントアウトするとOKというところまではつきとめたけど、それが原因とは考えられない) 結局このIOピン設定の問題は、初期化をとばしていくうちに、デバッグ情報を出しているUARTの設定(ピン)もはずれて初期化されなかった(なので、デバッグメッセージが出ないように見える)のが原因だった。 オチとして、先のページの元ネタページで_SystemInitをはずせ、と書いてあるところを、_SystemInitの中を見ていくと、クロックの設定だけでなく、割り込み解除とか、けっこういろいろなことをやっている。そこで、_SystemInitは呼び出し、その中のクロックの設定のみをコメントアウトしたところ、問題なくbootできるっぽい。 RAM領域が重なっている、という思い込みで、だいぶ時間を浪費してしまった。 * 15/06/25: ARMのサブルーチンコール [#zdac1491] 慣れればなんということはないけど、ちょっと普通(?)じゃない。 r13(スタックポインタ:sp)、r14(リンクレジスタ:lr)、r15(プログラムカウンタ:pc)を使って、以下の通り。 - BL ??? : lrに次の命令のアドレスを入れて、pcに分岐先アドレス(???)→分岐 - 分岐先で、まずlrをpushし、処理後、それをpcにpopする。(ARMの命令上、複数のレジスタをまとめてpush/popできる) push {r4, lr} ; ここではr4もいっしょにpush .... pop {r4, pc} * 15/06/25: リモートデスクトップ接続先が英語キーボードになる [#he7de1a1] 再起動でなおることもあるし、キーボードのドライバ更新でなおることもある、ようだ。 http://blog.masahiko.info/entry/2014/07/07/203115 * 15/06/25: Eagleでマウンタ実装用の部品座標データを出力 [#u5d7acf2] 困ったときのULP http://www.webspace.ne.jp/rental/icon_tree_bbs/bbs.php?pid=5574&mode=pr&parent_id=165&mode2=topic * 15/06/10: 画質評価指標のSSIM [#d34969b1] PSNRと違って画像の構造をみる。 http://d.hatena.ne.jp/denshikA/touch/20090921/1253535233 * 15/06/08: ESP8266のATコマンドFW ver0.21 [#tc641748] UART速度を変更できるバージョン。ここに含まれている。 http://bbs.espressif.com/viewtopic.php?f=5&t=154 書き込みは、ここにあるESP Flasher Tool、でいけるか?(少なくともESP8266のHWデータシート(0B-ESP8266__Hardware_User_Guide__EN_v1.0.pdf)中の書き換えツールと同じ画面っぽい。 http://www.electrodragon.com/w/ESP8266_firmware_flasher * 15/05/31: mbed/STM32Fの初期設定 [#ta5ce2f5] STMicro純正のSTM32CubeMXというツールがあって、ペリフェラルごとに仕様を指定すると初期化関数が生成される。それらはHAL (Hardware Abstraction Layer)関数なので、mbed関数から直接呼び出せる。 * 15/05/28: ESP8266の一次情報 [#mf80a93a] 最近やっと充実してきた(常識レベル的に)。例えばデータシートとかがある。 http://bbs.espressif.com/viewforum.php?f=21 で、公式でいろいろなファームウエアが配布されているが、ATコマンドでつつくやつは、 基本的にAT_からはじまるやつ、っぽい。 例えばここにある「at_v0.20_14_11_28.zip」は、ATコマンド用ファームウエア(v0.20)。 http://bbs.espressif.com/viewforum.php?f=5 * 15/05/28: mbed C++でクラス変数を引数に [#mc867b4d] 例えばmain.cppで宣言しているSerial sを、別のクラス(hoge)の関数(hogehoge)の中で使うために引数で渡すには、 main.cpp: hoge.hogehoge(&ss); hoge.cpp: void hoge::hogehoge(Serial *ss); のような感じでポインタでやりとりする。 * 15/05/25: iPad/MacのInstantHotspotが効かなくなる [#edcaba63] iPhone/iPadを再起動したあとはiCloudにログインしてない状態になるので、再ログインしないといけない、ことがあるみたい。 * 15/05/13: MacのExcel2011の文字入力が異様に遅くなる [#x5eb7efd] フォント関連の問題っぽい。たしかにこれで解消された。 http://eienshinjin.hatenablog.com/entry/2014/08/07/114816 * 15/05/09: mbedで動的にプログラムを読み込み・実行 [#b7d555dd] https://developer.mbed.org/users/okini3939/notebook/dynamicload/ 基本的に、オフラインコンパイラで、指定アドレスにプログラムを配置し、 本来のmain()からそれを呼び出す、という方式。 スタックなどの領域も、両者で分けておかないといけない。 ちなみにKeilのuVision用にエクスポートして、これらの設定(ROM/RAMアドレスの変更とスタートアップルーチンの変更)をしてコンパイルすればいいわけだが、スタートアップルーチンはmbedライブラリのソースが必要。なので、ここのようにmbedライブラリを削除→mbed-srcをインポート、した状態で、uVision用にExport、すれば、スタートアップルーチン(startup_???.s)もExportされるので、これをいじればよい。 ただしmbed-srcを含めてExportしたものをuVisionでコンパイルすると、サイズ制限の32KBを超えるっぽい。(使っていないmbed-libの関数もコンパイルされるから?) gcc用にExportするのが吉か。ちなみにgccはGUIはないのでコマンドラインでmakeする。makeコマンドはgcc-toolchainをインストールしても入っていないので、別途入手。このあたりからパッケージを入手するのが楽か。http://gnuwin32.sourceforge.net/packages/make.htm (2015/5/12追記) gccはこのあたりから。 http://qiita.com/okhiroyuki/items/68ced69cf36de3eac919 Exportのしかたはこんな感じ。 https://developer.mbed.org/handbook/Exporting-to-GCC-ARM-Embedded Exportしたgcc用プロジェクト内のmbed-src/targets/cmsis/TARGET_???/(MCU名)/(MCU名)/TOOLCHAIN_GCC_ARM/にある2つのファイルをいじる。(以下はSTM32F030の例) - startup_stm32f030x8.s : 「Reset_Handler:」の中にある「bl SystemInit」をコメントアウトする - STM32F030X8.ld : RAMとROMの領域を設定。例えば、 FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64k RAM (xrw) : ORIGIN = 0x200000C0, LENGTH = 8k - 0x0C0 これを次のように修正(本来の位置よりあとにずらす:当然ながら先頭アドレスは他のプログラムで未使用領域に) FLASH (rx) : ORIGIN = 0x08004000, LENGTH = 64k - 16k RAM (xrw) : ORIGIN = 0x200010C0, LENGTH = 4k - 0x0C0 これでmakeして、メインのプログラムのbinとくっつけて(あるいはこいつだけ)書き込み、 メインのプログラムから、こんな感じでアドレスを指定して呼び出す。 int main() { void (*func)(); unsigned int *p; p = (unsigned int *)(0x08004000 + 4); func = (void (*)())*p; // printf("jump vector (%08x)\r\n", func); func(); } (16/05/24追記)もちっと詳しい情報 http://marcelojo.org/marcelojoeng/2015/09/bootloader-on-stm32f0.html * 15/05/07: ESP8266関連のメモ [#n3d1f756] ちっこいWiFiモジュールESP8266の情報(主にファームウエア書き換え)をいくつか。 - ESP8266-WROOM-02というモジュールは、TELEC認証もとれている、らしい。(一次ソースに確認済み) - ファームウエアがいろいろあるが、一応ここが公式なんだろうか。http://bbs.espressif.com/ - ただし↑で配布されているファームウエアの新しいやつは、サイズが512KBではおさまらない。多くのESP8266EXがのってるモジュールの外付けFlashは4MB(=512KB)なので使えない。ちなみに起動時に71400bpsというえらく中途半端なボーレートで、起動メッセージ(外付けFlashから起動するよ、とか)が出ているっぽい。 - ↑の512KBで収まるファームウエアも、どうも書き込み方がわからない。esp_iot_sdk_v0.9.5_15_01_23.zip などのbin/at/readme.txtには、3つの*.binをそれぞれのアドレスに書き込め、とあるが、どうもそれだと起動しないっぽい。(ちなみに試したのはXTCOMというツール http://www.electrodragon.com/w/ESP8266_Firmware )ちなみにメーカのEspressifもgithubでファームウエアバイナリを公開している。https://github.com/espressif ちなみにXTCOMの使い方→http://www.rei-labs.net/esp8266-update-firmware-to-change-the-baudrate/ - Electricdragon、というところが、いくつかファームウエアと書き込みツール(esp8266_flasher.exe)を配布している。このあたりが無難か。 http://qiita.com/masato/items/3f386dbc600c1cd840f4 - ↑の書き換えツールとファームウエアの例→http://www.rei-labs.net/esp8266-update-firmware-to-change-the-baudrate/ - 基本的にファームウエア書き換えは、GPIO0=Lとして電源ON→書き換え、で行う。ちなみにGPIO0はふだんは未使用。 * 15/05/07: mbedバイナリの逆アセンブル [#h7060fc2] ARM-GCC toolchainで、こんな感じで。CortexM0ならThumb命令で逆アセンブル。 arm-none-eabi-objdump -D -b binary -m arm -M force-thumb ???.bin * 15/04/22: STM32F070をmbedで使う [#f2477121] いろいろはまったので、メモ。 - 水晶振動子でクロック生成: 水晶をつけると発振回路(HSE)が自動でEnableになる、ようだ。stm32f0xx_hal_conf.hやstm32f0xx_hal_rcc.cにそのあたりのことが書いてある。ちなみにHSE_VALUEで、つける水晶の周波数を定義(デフォルトは8MHz)。(mbedソース/targets/cmsis/TARGET_STM/TARGET_STM32F0/あたりにある) - DMA転送: UART受信→DMAでメモリへ適宜転送。RefManのとおりに設定。たとえばUSART2_RXをDMA Ch.5で受信するとこんな感じ。DMAへのクロック供給(AHB clock)をONにしないといけないのは、要注意(リセット時にはONになっていない。そのため設定レジスタを書き込んでも値が書き換わらない、ように見える)ついでに、割り込み関数の書き方もメモ。 RCC->AHBENR |= 0x01; // enable AHB's DMA clock DMA1_Channel5->CPAR = (uint32_t)&(USART2->RDR); DMA1_Channel5->CMAR = (uint32_t)buf; DMA1_Channel5->CNDTR = 256; DMA1_Channel5->CCR = 0x000030a2; NVIC_SetVector(DMA1_Channel4_5_IRQn, (uint32_t)DMAisr); // attach void DMAisr() ISR NVIC_EnableIRQ(DMA1_Channel4_5_IRQn); // enable DMA interrupt DMA1_Channel5->CCR |= 0x1; // enable DMA USART2->CR3 |= 1 << 6; // DMAR=1, enable USART2_RX DMA - UART受信は、標準だとSTARTビットを3回サンプルして値を判定するが、2つ違うとNFビット(nose detect)が立つ。ノイズが無視できる環境ならばONEBITをたててサンプルを1回にすることもできる。要注意なのは、NFビットがたつと、受信OK(RXNEフラグ)になるが、UART受信DMAのトリガはかからない。(よく読むとRefManにそう書いてある) - StandByモード: 設定のためにPowerブロックにAPBクロックをONにしないといけないのは要注意。あとStandByからwakeしたときのStandByフラグやWakeUpフラグは、手動でクリアしないと、またStandByには入っても、wakeしてしまう。 RCC->APB1ENR |= 1 << 28; // enable Power block APB clock PWR->CR |= 0xc; // clear StandBy & Wakeup flag PWR->CR |= 1 << 1; // PDDS=1 SCB->SCR |= 1 << 2; // SLEEPDEEP=1 PWR->CSR |= 1 << 9; // enable WKUP2 wake __WFI(); // WFI * 15/04/21: STM32FでUART受信データをDMA転送 [#n4eb0deb] ビンゴ。 http://www.kimura-lab.net/wikimura/index.php/STM32%E3%81%A7DMA%E8%BB%A2%E9%80%81%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B(USART%E7%B7%A8) http://beagle1.blog.so-net.ne.jp/2011-10-13 https://sites.google.com/site/stm32datasheet/home/060-STM32-program-smpls/32-dac-dma * 15/04/20: WiFi SoCのESP8266の関連情報 [#fafa3fda] ArduinoIDEでファームウエアを 書く http://makezine.com/2015/04/01/installing-building-arduino-sketch-5-microcontroller/ https://github.com/esp8266/Arduino ファームウエアの転送 https://www.ukhas.net/wiki/esp8266_firmware_update 一応ユーザーコミュニティ(ぱっと思いつくだけで2つある・・・) http://www.esp8266.com/index.php http://bbs.espressif.com/index.php ただしソースコードはけっこう分派があって、把握しきれなくなってる雰囲気。 たとえばFrankensteinファームウエア https://github.com/nekromant/esp8266-frankenstein * 15/04/15: Macのパッケージ管理ソフトbrewの使い方 [#e68acfcc] http://tech.caph.jp/2011/04/06/homebrew%E3%81%AE%E5%B0%8E%E5%85%A5%E3%81%A8%E4%BD%BF%E3%81%84%E6%96%B9/ * 15/04/15: MacのTimeCapsleのSpotlightインデックス作成をとめる [#j6a28ff9] これをやらないと、ディスクアクセスが止まらない状態になってとても困る。 http://note.chiebukuro.yahoo.co.jp/detail/n124512 * 15/04/10: XREAサーバでWordPress [#zc0495b4] セーフモード,というやつになっていて,ちょっと小細工をしないと更新とかプラグインの追加とかができない. http://mage8.com/websitetips/wordpress.html http://it-life.kakinota.net/wordpress%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%BB%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89 ちなみにXREAサーバのデータベース(MySQL)の管理画面phpMyAdminのログイン時のID/PWDの注意.たしかにまぎらわしい. http://www.panzee.biz/archives/3351 Postie(メールを取得して投稿)は,IMAP-PHPが入ってないと,POP3-SSLも使えない(=gmailが使えない)ということらしい. https://wordpress.org/support/topic/plugin-postie-only-pop3-available-pop3-ssl-not-avaiable * 15/04/10: MacのWordで校正機能をONにすると,Wordが起動直後に落ちる [#s481bf36] Siio先生情報.Macの環境設定→言語,で,「優先する言語」をEnglishにして立ち上げる(英語モードで立ち上げる)と,うまくいくこと多し. * 15/04/08: WiFiモジュールESP8266のプログラム開発 [#j57e7724] コンパイラ等の準備 https://github.com/esp8266/esp8266-wiki/wiki/Toolchain ここにも関連情報がまとまっている。 https://nurdspace.nl/ESP8266#Building_the_gcc_toolchain ちなみにコンパイラ等の準備に関して,Macではbrewを使うことになっている.brewはMacのパッケージ管理ソフトだが,MacPortなどと共用するとよくないので,どちらかにするべき. https://abeerforyou.com/?p=334 SSL/HTTPSにも対応したファームウエアがあるっぽい(要詳細調査) http://www.esp8266.com/viewtopic.php?f=9&t=923&p=12269&hilit=SSL#p12269 http://www.esp8266.com/viewtopic.php?f=6&t=2019&p=12038&hilit=SSL#p12038 http://www.esp8266.com/viewtopic.php?f=12&t=1795&p=10742&hilit=SSL#p10742 http://www.esp8266.com/viewtopic.php?f=6&t=1512&p=9043&hilit=SSL#p9043 http://bbs.espressif.com/viewtopic.php?f=7&t=62&hilit=secure+http * 15/04/08: HTTP以外のIoT向けプロトコル [#u315da39] MQTTとREST(RESTful)、というのがあるようだ。 http://qiita.com/toruuetani/items/cb85781e127b2959c1c3 RESTfulはこのあたりが詳しい。 http://www.slideshare.net/unsolublesugar/res-tful * 15/04/06: GoogleCalendarAPI v3 [#p616f840] 2014/11ごろにGoogleCalendarAPIがv3に変更になったのを忘れていたので、対応しなきゃ、ということでメモ。 http://hamatte-wataru.com/google_api_key/ * 15/04/06: TWE-Lite備忘録 [#v5673726] TWE-Liteは、基本的にはファームウエアを書き換えて使うもの、と考えたほうがよさそう。たとえば透過型UARTだと、これ。 http://tocos-wireless.com/jp/products/TWE-ZERO/App_Uart/tutorial.html 書き換えは、UART接続してPROG=0としてリセットをして専用アプリで書き換えるが、TWE-Lite(-DIP)とTWE-Lite-USB (ToCoStick)で別のものを使う。 - TWE-Lite用→jenprog : http://tocos-wireless.com/jp/products/ToCoNet/ToCoNet_SDK_manual_jenprog.pdf のp.8から - ToCoStick用→TWE-Lite Programmer : http://tocos-wireless.com/jp/tech/misc/LiteProg/ ちなみに最初に入っているのは「超簡単!TWEアプリ」というやつで、定期的にデータを取って送る、みたいな機能がある。 http://tocos-wireless.com/jp/products/TWE-ZERO/App_Twelite/index.html 自作ファームウエアを書いて主マイコンとして使う、という使い方もできるっぽい。 http://tocos-wireless.com/jp/products/ToCoNet/TWESDK.html * 15/04/04: Webページをブラウザ側で定期的に更新させる [#t3bbd4d9] ヘッダにこういうMETAタグを入れておく。 http://www.tagindex.com/html_tag/page/meta_refresh.html * 15/03/14: mbed SS-LPC824のファームウエア [#x8dedca2] 更新情報。 https://developer.mbed.org/teams/Switch-Science/wiki/Firmware-LPC824 * 15/03/13: LPC824での割り込み関数の設定方法 [#u1738db8] IOピン割り込みのInterruptInの定義をたどって、以下にいきつく。 int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32_t id) { ... irq_handler = handler; void (*channels_irq)(void) = NULL; switch (obj->ch) { case 0: channels_irq = &gpio_irq0; break; ... case 7: channels_irq = &gpio_irq7; break; } NVIC_SetVector((IRQn_Type)(PININT_IRQ + obj->ch), (uint32_t)channels_irq); NVIC_EnableIRQ((IRQn_Type)(PININT_IRQ + obj->ch)); つまり割り込みハンドラの関数のポインタをNVIC_SetVector()で定義して、NVIC_EnableIRQ()でその割り込みを許可する、ということ。 ちなみにNVIC_*は、targets/cmsis/(TARGET)/(TARGET)/cmsis_nivc.cで定義されている。 * 15/03/13: nRF51822のXTALFREQ [#sce62925] どうも外付け水晶発振回路の分周比を決めているっぽい。 以下、IOトグルの周波数。 - BLEnano (水晶=16MHz), XTALFREQ=0xff (16MHz設定)→480kHz - BLEnano (水晶=16MHz), XTALFREQ=0x00 (32MHz設定)→240kHz - EYSFCNZXX (水晶=32MHz), XTALFREQ=0x00 (32MHz設定)→480kHz つまり外付け水晶の周波数とXTALFREQの設定が一致すると480kHz、16MHzをつけて32MHz設定にすると動作周波数が半分になっている。XTALFREQ=0xff:水晶クロックそのまま、XTALFREQ=0x00:水晶クロックを半分、ということのようだ。 ちなみにEYSFCNZXXを16MHz設定でつかうと32MHz動作するのか?という気もするが、動作範囲外のようで動作しない(ハングってるっぽい)。 * 15/03/12: mbedライブラリのソース [#nf3b47c7] mbed.orgからソース一式はダウンロードできる。構造が結構複雑なので、備忘録。 たとえばSPI関連の関数はこんなかんじ。 - api/SPI.hで型宣言 - common/SPI.cppで少し定義。たとえばSPI.writeは以下のとおり int SPI::write(int value) { aquire(); return spi_master_write(&_spi, value); } - targets/hal/(TARGET)/(TARGET)/spi_api.c で、↑のspi_master_writeの中身の具体的な内容 * 15/03/11: mbed nRF51822の設定レジスタの定義ファイル [#o6bbd3a4] mbedのnRF51822ライブラリの中にないなーと思ったら、mbedライブラリの中にあるようだ。 https://github.com/mbedmicro/mbed/blob/master/libraries/mbed/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/nrf51.h ただ、HFCLKSRCのように一部のレジスタが書かれていないし、そもそもReferenceManualにも、そのレジスタの情報が載っていないものがる。いったいなんなんだろう。(そう指摘しているソースコードの例↓)他のレジスタのアドレスから類推はできそうが・・・ただ、ReferenceManualには載っていても↑のnrf51.hに載っていないレジスタもある。なんか意図があるんだろうか。 http://sourceforge.net/p/ulan/sysless/ci/9628e171d405d11237766eac10439cd554f1f33b/tree/arch/arm/mach-nrf51/libs/hal/hal_machperiph.c#l43 * 15/03/10: uSD→SD変換アダプタでマイコンにSDカード接続するときのSDカード端子の対応 [#f45f7993] http://blogimg.goo.ne.jp/user_image/4e/91/9533a3ba7e68807e5fea47ed144de740.jpg * 15/03/09: mbedでSPIデバイスからデータを取りながらSD書き込みで文字化け [#wbc18650] SD書き込みと、他のSPIデバイスからのデータ取得を非同期(タイマ割り込みなど)で行うと、SD書き込み中に別のSPIトランザクションが発生して、SD書き込みが失敗する(文字化けやハング)、という現象に気付くのにだいぶ時間がかかった。 * 15/03/09: mbedでlz圧縮 [#c17a2047] http://developer.mbed.org/teams/Nordic-Pucks/code/lz/ ちなみにこのLZ77圧縮というのは、zipとかで使われているDeflateの原型。 http://ja.wikipedia.org/wiki/LZ77 (2015/3/10追記)よく読むとこのライブラリでやっているのは、LZ77ではなくLZSSのような気がする。(一致があればmaker/長さ/位置、一致がなければsymbol/0、を書き込んでいる) http://ja.wikipedia.org/wiki/LZSS * 15/03/04: PCBE05がはくドリルデータがFusionPCBでずれる [#gbe6f2f2] 以前、PCBE05がはくドリルデータのうち、XY片方だけの座標のところが、FusionPCBでずれる、という現象があって、補完するスクリプトを書いていたけど、桁数を決めうちであぶなかっしかったので、かきなおし。 awk -f hole.hol > ???.TXT #ref(hole_conv2.awk) * 15/03/03: MakerbotWareDesktopが起動しない [#l257537c] 新しいPC(Win7/64bit)にMakerbotWareDesktopを入れたら、Prepareタブを押したら強制終了、という現象。いろいろ試した結果、VGAドライバが標準のままだったのが原因で、それを専用ドライバに変更したらOK。因果関係がわかりにくい。 * 15/03/03: mbedで簡易Webサーバ [#n5c8f6c1] mbedで内蔵LocalFileSystem(ファイル名8.3のみ)かSDカードのファイルを使って簡易Webサーバ https://developer.mbed.org/users/nyatla/code/MbedFileServer/wiki/Homepage * 15/03/03: LPCのレジスタマップ [#j3533d17] http://docs.lpcware.com/lpc800um/RegisterMaps/misc/t-Registers.html * 15/02/28: 太陽誘電BLEモジュールEYSFCNZXX [#n7b35edf] 太陽誘電の、nRF51822が入っているBLEモジュール。えらくちっこい。 http://www.yuden.co.jp/jp/solutions/ble/product/ ピン配置などはこちらから(Brief Data Report)。 http://www.yuden.co.jp/ut/wireless/bluetooth.html?__CAMCID=NFAzBnzpDc-968&__CAMSID=&__CAMVID=&_c_d=1#EYSFCNZXX ホシデンHRM1017などと違って内蔵クロックが32MHz。いろいろ取り組んでいる方はいるようだ。 http://hiro99ma.blogspot.com/2014/09/bleble.html * 15/02/27: mbedのSDFileSystemライブラリで使わない機能をけずる [#mcbdea70] SDFileSystemライブラリで使っているFATFileSystemの中のChaNさんのChaN/ffconf.hで、ライブラリの機能を選択できるようになっている。 たとえば「#define _FS_MINIMIZE」を変更することで、使える関数を減らしてサイズを減らせる。(はず)LFN(ロングファイルネーム)あたりも0にすると効果的。 ただし上位のSDFileSystemでは、これらで無効になる関数を使っているのがあるので、そのあたりは手動修整か。 * 15/02/27: AtmelStudio6.2/Win7(64bit)でAVRISPmkIIが使えない [#gd8ac7f2] デバイスマネージャではドライバはOKっぽいのにAtmelStudioから見つからない、という現象に遭遇。とりあえずこれで最新ドライバを入れたら使えるようになった(けど、これが原因だったのかはよくわからない) https://gallery.atmel.com/Products/Details/c2b640ce-1a06-4dfe-9f36-5f3f60908131? * 15/02/27: アルカリ電池の容量 [#ddb92563] 目安として、単4=1000mAh、単3=2000mAh、といったところ。 http://large.rgr.jp/H-aid/ELE/batt-1/ * 15/02/26: Android/iPhone充電のためのUSB端子のD+/D-の設定 [#f09d1bcc] http://kohju.justplayer.com/SmartPhoneTips_power_usbcurrent.html http://www.cafegoju.com/cgi-bin/glog/glog.cgi?page=20091005_1 * 15/02/24: iOSアプリを実機で動かす [#kaf2f240] 証明書やらいろいろ設定のメモ。 http://qiita.com/syokenz/items/b048dc0f03146e012036 http://macdays.hatenablog.com/entry/2013/10/11/172532 http://cocoa.synck.jp/1238728528.html * 15/02/24: mbedでARMをスリープしたりして省電力化 [#kf9ad742] http://developer.mbed.org/users/okini3939/notebook/low-power/ * 15/02/16: gnupackでgnuserv [#n8c0ab0c] gnupackのEmacsで、いわゆるgnuserv(ファイルをEmacsで開く)は、init.elなどで指定をすれば使えるようになる。http://nextstageone.g.hatena.ne.jp/satakesatake/20130705/1372997772 * 15/02/16: Cisco AnyConnectで"failed to initialize connection subsystem" [#pa8ab283] 2月のWindowsUpdateでアカンくなるようで、Ciscoから対策パッチが出ているっぽい。 https://supportforums.cisco.com/discussion/12423591/latest-microsoft-feb-2015-patch-breaks-anyconnect-smc * 15/02/16: mbedでFlashAir [#hba0fbb8] https://developer.mbed.org/users/ban4jp/notebook/ja-direct-tweet-for-flashair/ * 15/02/12: mbedエディタで入力した日本語の文字コード [#i525cd20] UTF-8、ということのようだ。 http://developer.mbed.org/forum/ja/topic/5030/ * 15/02/11: BGAをメタルマスク/クリーム半田なしでリフロー [#y1aa0ea7] やってる方がいた。フラックスは手塗りのようだ。 http://mouse.la.coocan.jp/index.php?%E5%AE%9F%E8%A3%85 * 15/02/10: mbedのSeeedstudio Arch-ProのEthernet [#k38c55a5] ちょっとクセモノで、標準だとMACアドレスが割り当てられてないので、「extern "C" void mbed_mac_address(char *mac)」で手動で設定しないといけない、ということのようだ。 http://developer.mbed.org/forum/platform-30-Seeeduino-Arch-Pro-community/topic/4692/?page=1#comment-26729 http://developer.mbed.org/forum/mbed/topic/972/?page=1#comment-10318 * 15/02/09: Macのシリアルターミナル [#n6364b6d] Screenコマンド。 screen /dev/tty.??? (baud) で起動。終了は、Ctrl+A→Ctrl+\で、Yes http://developer.mbed.org/users/okano/notebook/personal_memo--usb-serial_IO/ (15/02/10追記) Ctrl+Aのあとでいろいろ制御。たとえばCtrl+A→B、でブレーク送出(=mbedリセット)。 http://www.limy.org/program/screen.html * 15/02/07: Gainspan GS1011関連情報 [#u4a3976c] まとめている方がおられた。 http://www.sugakoubou.com/doku/gs-wifi ちなみにファームウエアは、オンラインでオプションを選んでBuildしてDLできるみたい。https://www.gainspan.com/secure/sdk_builder * 15/02/04: mbedのLocalFileSystem [#tcc19e40] PCにさしさときにUSBメモリのように見える領域を、mbedからディスクのように使える、といことらしい。 https://developer.mbed.org/users/okini3939/notebook/LocalFileSystem_jp/ * 15/02/02: mbedでコンパイルエラー(例) [#uddf2cd3] あるWebページの手順通りにEmptyからライブラリをインポートしたりしてつくるとコンパイルエラー。そのWebページから直接Programをインポートするとコンパイルが通る。 その差は何か?と調べたら、mbed libraryのバージョンの違いだった。 他にもいろんなLibraryがあるけど、mbed official、というのが一番信頼(?)できるのかな。 * 15/01/30: LiPoバッテリのTH端子 [#x68946ba] LiPoバッテリのものによっては+/-に加えてTHという端子がある(合計3本)ものがあるが、このTHはサーミスタ端子で、対応充電制御ICで温度監視に使える。 例えばこれ→http://www.linear-tech.co.jp/product/LTC4050 * 15/01/29: mbedのライセンス [#f543b9cb] mbed-SDKはApache2.0ライセンスで、ライブラリも含めて商用利用もOK、ということらしい。 http://developer.mbed.org/users/nxpfan/notebook/faq-japanese/ * 15/01/29: mbedでシリアル経由のリセット [#q6e02ec1] COMポート経由でブレーク信号(TeraTermだとAlt+B)でリセットがかけられる、ようだ。 http://developer.mbed.org/users/okano/notebook/personal_memo--usb-serial_IO/ * 15/01/26: LiPo電池のFuel Gauge [#a7968b1b] MAX17043で、LiPo残量を計測する。基本的には全部お任せで、レジスタを読むだけでいいっぽい。 http://baticadila.dip.jp/arduino_115.html * 15/01/24: mbedのprintf() [#cf50390b] COMポートに9600bpsで、ということのようだ。(ここにあるSerialを宣言しなくてもデフォルトならOK) http://blog.cloudninja.asia/?p=10443 * 15/01/23: mbedコンパイラと素のLPCマイコン [#f28a6a06] だんだんわかってきた気がする。 mbedコンパイラでつくった*.binを、デバッガとかのSWDライタを使って書き込めば、そのまま使える(はず)。 ということは、mbedで使えるボード(https://developer.mbed.org/platforms/)に載っているLPCとかのマイコンなら、そいつに書き込めばOKということになる。 ということは、自作ボードにそれらのマイコンを載せておけば、mbedコンパイラで書いたプログラムを動かせる、ということなる(のか?)。 デバッガを使っての書き込みは、このあたりか。http://developer.mbed.org/users/okini3939/notebook/flash-program/ あるいはST-Link2だと、純正ツールか。http://www.st.com/web/en/catalog/tools/PF258168 SWDの信号線はこのあたりか。http://www.eleki-jack.com/arm/2010/02/lpcxpressoled-1.html ちなみにSWDの規格ではSWCKとSWDの2本でOKだが、オプションとして、Reserveのピン(p6)にSWOをつないで使う場合があって、これはデバッグ用の情報(printfの出力情報など)を流すための信号線のようだ。http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0499dj/CHDHDGGG.html ちなみにSTmicroのNucleoのように、ライタ(デバッガ)ボードとメイン(ターゲット)ボードがついているやつだと、それのライタと、ターゲットに載っている同じマイコン(買ったままの素の状態でOK)に、両ボード間の接続線を使って書き込みOK。(ライタのマイコンに、ターゲットのマイコンの情報が載っているので、このライタで別のマイコンの書き込みはできない) * 15/01/22: Carbon Emacsで¥がバックスラッシュにならない [#t328c676] MacでPCキーボードを使うと、¥がバックスラッシュにならず、¥として入力される(ことがあるみたい)。 KeyRemap4MacBookのfor Japanese、に、¥をバックスラッシュにする、という設定があるので、それでOKの模様。 (15/02/17追記)この方法だと、RemoteDesktop接続したWin機で、バックスラッシュが\にならずに]になてしまうっぽい。しょうがないので、.emacsで\を\にキー割り当て変更、で乗り切る。 http://qiita.com/aKenjiKato/items/4ac7d9b100bdce0b8920 * 15/01/19: GitHub導入 [#pfe558f8] http://kawaidesu.hatenablog.com/entry/2014/06/28/092347 * 15/01/18: Autodesk 123D make [#ec87e631] 3Dデータをスライスしたり縦横で組み合わせた平面データに変換できる。これをレーザーカッターで切れば、立体をつくれることになる。 http://nakayasu.com/lecture/sculptris-123d-make/4001 * 15/01/05: Googleドライブを同期させずにクラウド的に使う [#vd9548a0] Googleドライブアプリをインストールしない、という方法しかないようだ。 http://blog.livedoor.jp/noanoa07/archives/1904665.html * 15/01/05: Winにリモートデスクトップで複数ログイン [#h7d198da] http://gigazine.net/news/20091205_universal_termsrv_dll_patch/ * 14/12/15: iPhone内の写真をまとめて削除 [#c99cc75d] iPhone単体で1枚ずつ選んで削除、はできるが、全選択、ができない。 こういう別アプリを使うのが現実的か。 http://www.apowersoft.jp/delete-photos-from-iphone.html