http://www.arconlab.com/lab/Arduino/Library/SD%20Reader%20-%20Fat32/html/class_sd_file.html
ハイサイドpMOSのゲート(G)をマイコンでON/OFFしようとしてて、G=0にしてONにしようとしてもVDDより低い電圧にしかならず、Gの電圧をみようとGにオシロのプローブをあてるとVDDまで上がる、という現象に遭遇。
原因は、Gを駆動しているピンが出力になっていなかったこと。 G=0にしているつもりが0Vまで下がっておらず(G=1のときからほとんど下がっていない)、プローブをあてると電荷が放電してpMOSがONになる、ということだった。
内部ではTimer0を使っている。 つまりdelay()を使うなら電源制御でTimer0を止めてはいけない、ということ。
その他にも、このあたりの内部リファレンスは参考になる。
http://garretlab.web.fc2.com/arduino_reference/language/functions/time/micros.html
http://garretlab.web.fc2.com/arduino_reference/language/functions/time/delay.html
http://garretlab.web.fc2.com/arduino_reference/language/functions/time/micros.html
strcmpの比較対象がbyte[]だと、型ががあわん、とエラーになるが、
strcmp((const char *)a, "hoge")
みたいにconst char *型にcastすればよろし。
駆動のタイミングで、各ピンの駆動初期化で全A=0、全K=0にするとき、一瞬だけ(10us)早く全K=0にしてたのが原因。これぐらいの時間でも、目でわかるくらい、薄く点灯してしまう。
Copy&Pasteで、ベクタ形式で張り付けられるんだそうだ。しらなんだ。
この方法だとビットマップで張り付けられるっぽい→ http://d.hatena.ne.jp/jasmine_88/20120401/1333268128
形式を指定して貼り付け、で拡張メタファイル、を選べばOKっぽい→ http://superable.wordpress.com/2011/09/15/%E3%83%91%E3%83%AF%E3%83%BC%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%AB%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E7%94%BB%E5%83%8F%E3%82%92%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91/
90秒ルール、というのがあるようだ。 http://news.mynavi.jp/articles/2013/06/24/ipadiphonehacks/
ただ、それでも見つからない場合があって、iPhoneを再起動(電源OFF→ON)したら見つかった、という場合もある。
SdFatのほうが高速、ということのようだ。
http://forum.arduino.cc/index.php?topic=90073.0
linum-modeで表示できる。.emacsに書いておくと起動時に表示できる。(あるいは表示させたくないときは書かない) http://lisphack.blog137.fc2.com/blog-entry-14.html
どうも"StartMenu8"のせいっぽい。困ったな。 http://answers.microsoft.com/ja-jp/windows/forum/windows8_1-performance/windows81/97c81b4f-50ee-4ab0-9df6-e4a293158cda
ちょっとあやしいけど、できた。 要はconnectしてdiscoverして、service(0xff00=KONASHI_SERVICE)をdiscoverして、必要なcharacteristics(PIOの出力なら0x3000=KONASHI_PIO_SETTING_UUIDと0x3002=KONASHI_PIO_OUTPUT_UUID)をdiscoverして、それらにwriteする。 ただし、この2つはWriteWithoutReplyなので、nobleのwriteによれば、第2引数はfalseにしないといけないはずなのだが、そうすると書き込みが行われない(callback関数に返ってこない)。第2引数をtrueにすると書き込みができるっぽい。ここだけ謎。
var noble = require('./index'); noble.on('stateChange', function(state) { if (state === 'poweredOn') noble.startScanning(); else noble.stopScanning(); }); noble.on('discover', function(peripheral) { noble.stopScanning(); peripheral.connect(function(error){ console.log('connected to ' + peripheral.uuid); peripheral.discoverServices(['ff00'], function (error, services){ // 0xff00=KONASHI_SERVICE_UUID var konashiService = services[0]; konashiService.discoverCharacteristics(['3000','3002'], function(error, characteristics){ characteristics[0].write(new Buffer([255]), true); // 0x3000=KONASHI_PIO_SETTING_UUID characteristics[1].write(new Buffer([255]), true); // 0x3002=KONASHI_PIO_OUTPUT_UUID }); }); }); });
http://www.kmonos.net/lib/caldix.ja.html
http://www.slideshare.net/kobashin/ble-32572318
こちらを参考に、Linuxでコマンドラインでkonashiをつついてみる。
sudo hcitool lescan ; scan sudo hcitool lecc ??:??:??:??:??:?? ; 接続 sudo gatttool -i hci0 ??:??:??:??:??:?? -t random -I
で、その後、gatttoolの操作。
connect ; 接続 primary ; handleの確認
これを、konashiのUUIDの対応をみながら調べると、
char-write-cmd 0x001f 04とすると、ハンドラ0x001fに0x04が書き込まれる、つまりPIO2が出力に定義される。続いて
char-write-cmd 0x0023 04とすれば、ハンドラ0x0023に0x04が書き込まれる、つまりPIO2にHIGHが出力され、LED3が点灯する。
次はnobleでこれをやる。
ダウンロードするたびにChromeの下のほうに現れるが、Ctrl+Jでダウンロードページを開くと、その下のほうの表示は消える。つまりCtrlJ→CtrlWで、それを消せることになる。
nobleはsudoする必要がある(と書いてある)が、sudo時のパスは、自分のパスとは違うので、sudo時に探せるようにrootのパスを通すか、パスが通っているところにシンボリックリンクを張る。
git clone git://github.com/....
みたいにアドレスを指定すればOK。gitコマンドはgit shellなどで実行。
konashiの各service, characteristicsのUUIDは公開されている。 http://konashi.ux-xu.com/documents/#core-ble
なので、これらを指定してつつけば、konashiをつつける。
ちなみにこれらは4桁(2byte)の短縮UUIDで、実際のUUID(32桁=128bit)は、 "Bluetooth Base UUID"をつけて、0000-????-0000-1000-8000-00805f9b34fb (????=短縮UUID) http://blog.fenrir-inc.com/jp/2013/09/bluetooth-le-firststep.html
Node.js用のBLEライブラリであるnobleは、UUIDを指定してつつく関数がある。 https://github.com/sandeepmistry/noble
橋本商会さんの、BlendMicroをnobleでつつく、のCoffeeScriptを参考にする。 http://shokai.org/blog/archives/9047
ちなみにCoffeeScriptは、JavaScript(js)のラッパーみたいなもの(?)で、JavaScriptに変換される。 http://ja.wikipedia.org/wiki/CoffeeScript
橋本商会さんのCoffeeScriptには、ServiceとCharactersiticsを探すところでこんな記述がある。
peripheral.discoverServices [], (err, services) -> service = _.find services, (service) -> service.uuid is UUIDs.service service.discoverCharacteristics [], (err, chars) -> tx = _.find chars, (char) -> char.uuid is UUIDs.tx
まず変数servicesに、peripheralがもつサービスを入れて、その中に狙いのサービス(この場合は最初に定義しているUUIDs.serviceがあるかを探す。
ちなみに_.findは、CoffeeScriptで、リスト(配列)から要素を探すメソッド。 http://codedehitokoto.blogspot.jp/2012/06/coffeescript-undersorejs-02collection.html
この例では、servicesの各要素をserviceという変数に順に入れて、service.uuidがUUID.serviceに一致するものを探して、それをservice、として返している。
続いてそのサービス内のCharacteristicsを探して、UART送信(tx)を探す、という手順。
ちなみにLinuxからBLEをつついたり、BLEのService, Characteristicsの構造などはこちらが詳しい。 http://www.slideshare.net/kobashin/ble-32572318
http://rainbowdevil.jp/?page_id=680
http://techfun.cc/android/windows-android-sdk-install.html
ちょっと小細工がいる模様。 http://somenman.blogspot.jp/2014/06/windows81-cisco-anyconnect.html
以前はTABまたはSPCでファイル名が補完できたが、最近はTABだけ、という仕様のようだ。慣れたほうがいいのかな。。。 http://at-aka.blogspot.jp/2005/12/emacs-22050-find-file-spc.html
以前設定していた、WordPressの新規投稿をみつけてFacebookに投稿してくれるRSSGraffitiがエラーになってた。たぶん先日の停電のときにWordPressのRSSの取得に失敗してエラーで止まっていた模様。(何回かretryすればいいのに・・・) 手動でRSSアイコンをクリックしてONにすれば連携再開。 http://miphoant.exblog.jp/19459858
Cygwinとかemacsを展開するだけで使えるgnupackというのがあって、便利そう。 http://sourceforge.jp/projects/gnupack/
ただしWin8.1では少し手直しが必要っぽい。
http://hardsoft.at.webry.info/201401/article_2.html
(14/11/1追記)emacsの追加設定とか
http://d.hatena.ne.jp/sandai/20120304/p2
ちなみに最近は設定は.emacsに書くのではなく、/home/.emacs.d/init.el に書くものらしい。(14/11/2追記)いや、どうもこのファイルは読み込んでいないっぽい(あえてエラーのあるファイルにしてもEmacs起動時にエラーが出ない).emacsに書くと反映される。
http://sakashushu.blog.so-net.ne.jp/2014-04-27
ATmegaのSPIに別のSPIデバイスがつながっている状態でISP書き込みしようとすると、1つのSPIバスに複数のデバイスがつながることになる。 ATmegaのプログラムで、SPIデバイスをOFF(CSn=1)にしていれば、電源ON時にSPIデバイスは電気的にSPIバスから切り離されているので、ISP書き込みは問題ないが、SPIデバイス非動作時の消費電流を測るために、SPIデバイスの電源を切り離し、CSn=0にするプログラムを書き込んだ後、SPIデバイスの電源をつなぐと、SPIデバイスにとっては、常時CSn=0なのでMISOを駆動していることになるため、この状態だとISP書き込みができない。そこで、MISOをいったん切り離して常時CSn=0としないプログラムをISP書き込みすれば、問題なし。 というわけで、このような構成では、SPIデバイス側のMISOは必要に応じて切り離せるように半田ジャンパをつけておくべき。
橋本商会さんが,Blendmicro (http://redbearlab.com/blendmicro/) をMacのNode.jsからつつくのをやっておられる. http://shokai.org/blog/archives/9047
というわけで, Node.jsの入れ方(基本的にnvm (Node Version manager)とあわせて使うのが吉,か)
http://tmlife.net/programming/javascript/nvm-nodejs-install.html
↑ではNode側のプログラムとしてecho.coffeeが紹介されている.*.coffeeとは,CoffeeScriptというやつで,Nodeのパッケージの一つ.なので npm install coffee-script -g で入れておけばOK
http://niwaringo.tumblr.com/post/16353537096/windows-node-js-coffee-script
ついでに,BLEライブラリnobleも,npmで入れておく.
ただし肝心のMacのBluetoothが4.0非対応(BLEが使えない)のため,実際の動作検証はまだ.
ちなみに橋本商会さんはBlendMicro用のBLE用ライブラリもつくっておられる.
http://shokai.org/blog/archives/9064
橋本商会さんによると、USB-Bluetooth4.0ドングルはなんでもよいわけではないらしく、nobleが対応していないといけないんだそうで、BroadcomのチップはOKとのこと。
USBドングルのメーカーとチップセットの情報
http://d.hatena.ne.jp/kinneko/20140219/p1
http://mino.blog.eonet.jp/minoproject/2014/02/bluetooth-usbwi-2a01.html
http://qiita.com/tesujiro/items/0d07c2bf57ecb86a8e00
http://smart.diipedia.net/bluetooth-usb.html
GitHubだけがGitじゃない。
http://qiita.com/kajiemon/items/85391e4e0729887653f2
このあたりがお手軽か。 http://wp.yat-net.com/?p=3874
BLEをPCからつつくのには、Node.jsがとりあえずお手軽そうなんだけど、そのNode.jsと、それとあわせてつかnpmのお手軽実行環境。 http://webgoto.net/239/
SPCRに何を書き込んでも、読みだすと0、という現象に遭遇。 原因は、その前にPPR(PowerReductionRegister)で、SPIをオフにしていたのが原因だった。
どうも同じ症状の人がいるんだけど、何ともない人もいる、模様。再インストールしたらなおるんだろうか。ちなみに2つめに紹介されているBuild1156でも、同様。
http://www.eevblog.com/forum/microcontrollers/atmel-studio-6-2-avrisp-mkii-clock-resets-too-high/
http://www.avrfreaks.net/forum/atmelstudio-62-build-1153-deleting-eeprom
http://www.water.sannet.ne.jp/masasuma/masa/e10-3g2.pdf
細かい設定の備忘録.「変換」「無変換」キーをMacで使う方法なども.
http://www.dream-seed.com/weblog/archives/2013/07/29124/
http://www.f.kpu-m.ac.jp/c/kojin/asano/kiso/topics/kentei/top.html
http://office.microsoft.com/ja-jp/mac-excel-help/HA102928067.aspx
http://www.geisya.or.jp/~mwm48961/statistics/bunsan1.htm
命令2(16bitのThumb命令をそのまま記述)、15-0bit=命令1、と書くと、命令1→命令2、の順で実行される。
IRコマンドで周期設定、D0とかでピンごとに機能を指定。
http://www.eleki-jack.com/wakamatsufan/2012/07/5zigbee.html
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
Cortex-M0用にコンパイルするなら、-mcpu=cortex-m0 -mthumb、あたり。
ちなみに-mthumbをつけないと、 "error: target CPU does not support ARM mode"と出て、なんのことかと思ったら、Thumb命令しか使えない(=ThumbでないARM命令は使えない)、という意味。わかってしまえばなんともないけど、「ARMのCortex-M0なのに、ARMがnot supportとはなんぞ?」と思ってしまった。
とりあえずhttpsアクセスを止めれば問題なし、との見解。 http://www.brocade.com/downloads/documents/technical_support_bulletins/brocade-assessment-bashabug-vulnerability.pdf
http://inaz2.hatenablog.com/entry/2014/05/30/004109
Dropboxをアンインストール→SDカードをNTFSでフォーマット→Cドライブ内にマウント→Dropboxをインストール時に保存場所を「詳細設定」で指定、という手順でいける模様。
http://kidzunajp.blogspot.jp/2014/03/windows81sd.html
UARTでコマンドを送って制御できる
(2014/9/18追記) AudioOutは、Pin9-GND間に適切な抵抗(例えば4.7kΩ)をつなぐと設定できるが、UART信号接続されている(またはTXD-RXDをショート)必要がある。
http://www.wdic.org/w/WDIC/WM-PORT
(2014/10/2追記)本体をしばらく(数分)操作しないと、本体がスリープモードに入るようで、RXD=Hにしたあとすぐに(500ms後ぐらい)に0x40を送っても、認証(?)されないっぽい。かといってこの時間をあけすぎると、認証に間に合わない。500msごとに2回ぐらい送る、あたりが順当か。
http://inkscapedesign.web.fc2.com/practical/tiling-circle.html
#ref(): File not found: "HR10Ascrew.jpg" at page "akita/2014"
簡単そうでてこずったので・・・この写真の赤と赤のところをネジみたいにひねる。
昔、秋月で売ってた、少し大きい赤外線受信機 CRVP1738 のピン配置
#ref(): File not found: "CRVP1738pin.jpg" at page "akita/2014"
PSoC1duinoで使っているAN2100のブートローダは、フラッシュ領域の最後のほうをブートローダが使っているので、E2PROMで使えない。AN2100のメモリマップを確認し、あいているところ(CY8C27443なら0x3500直前)をE2PROMで使う。
Air-wire、と呼ぶらしいが、そういうスクリプト(ULP)がある模様。zoom-unrouted.ulpあたりか。 http://electronics.stackexchange.com/questions/34917/finding-air-wires-in-eagle
KainsWiFiはVNCで使うポートが閉じているようなので、ポートフォワーディング。 以下はVNCのディスプレイ番号が73(ポート5973)の場合の例。
http://www3.big.or.jp/~schaft/hardware/bootloader_sketch/page003.html
http://cega.jp/avr/avr-eeprom_h
一例。
背景が透明なPNG画像をピクチャ・イン・ピクチャすれば、描画図形だけが動画にオーバーレイ表示される。そこで、動画画像を画面キャプチャしてInkscapeにインポートし、それにあわせて描画して、画面キャプチャの外枠に透明な長方形を描いておいて、ビットマップ(PNG)にエクスポートした画像を、動画サイズにあわせてピクチャ・イン・ピクチャすればOK
https://discussionsjapan.apple.com/thread/10134447
InkscapeでExportしたビットマップ画像(*.png)は、背景が透明になっている。こちらにあるように、
convert -background white -alpha off ??.png ??.bmp
のように2つのオプションをつけて変換すると背景を白(この場合は)にできる。
http://pen.agbi.tsukuba.ac.jp/~RStiger/hiki2/?Imagemagick
電源などの配線を先に手動でやったあとの、細い信号線だけだと、けっこう使えるかも。配線の幅やViaはRouteで使う指定が使われ、DRCルールはDRCで指定されているものが使われる。
FT230XはDTR端子がないけど、RTS端子を使えばDTRリセットがかけられる。
https://forum.sparkfun.com/viewtopic.php?f=5&t=32587
Change(スパナのアイコン)→対象のプロパティ→要素を順番に左クリック、でできる。(例えば回路図部品のピンのピン番号の表示の有無、など)
http://yak-shaver.blogspot.jp/
while(f);
の、fを、割り込みのようにループの外でクリアする、というプログラムを書くと、このwhileループを抜けない、ということがある。 これはコンパイルの最適化で、whileが無限ループになっているのが原因(の場合が多い)ので、このfを、volatile宣言しておく(と解決する場合がある)。
http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=1774
http://trac.switch-science.com/wiki/PersonalWorkDistribution
ときどきおこる。原因を調べた経緯のメモ。
両方とも15kΩだと思い込んでいたが、ホスト側が15kΩ、デバイス側が1.5kΩ。
http://www.picfun.com/usb03.html
どうもsleepからタイマ2割り込みで起きないと思ったら、データシートに注意が書いてあった。Timer2設定関係のレジスタ書き込みが、実際に各レジスタに書き込まれるのは外部32kHzクロックにあわせておこるが、その周期が内部クロック(1MHzとか)と比べて100倍以上長いので、十分またないといけない。そのために、レジスタ(ASSR)に、各レジスタへの書き込みがちゃんと行われたことを示すフラグがあるので、それをチェックして、ちゃんと書き込みが行われことを確認してからsleepに入らせましょう、という話。
教訓:データシートをちゃんと読もう。
Counter0/1のクロックとして外部ピンのT0/T1を使えるが、データシートのとおり、 T0/T1はclkIOで同期化されてからカウンタに入るので、IOクロック程度より高い周波数の信号はNG
http://www.clarestudio.org/elec/avr/mcu-usart.html
http://ednjapan.com/edn/articles/0711/01/news145.html
http://forum.arduino.cc/index.php?topic=80928.0
プレイリストをつくっておく、のが吉。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1268706467
http://dobon.net/vb/dotnet/control/buttonarray.html
例えばhogeから、hoge.ec.t.kanazawa-u.ac.jpを補完(?)させたいなら、「検索ドメイン」にec.t.kanazawa-u.ac.jp、を入れておく。
http://nauthiz.hatenablog.com/entry/20100929/1285778758
Gerberデータ用のCAMファイルを書き換えて、tCreamも書き出す。
CraftROBO向けだと、スイッチサイエンスさんのULPでDXFを書き出すのが現実的。
http://trac.switch-science.com/wiki/EagleCraftRobo
Win8→http://freesoft.tvbok.com/win8/testmode.html
Win8.1→http://setsuna-no-yume.cocolog-nifty.com/blog/2013/10/windows81-8fa3.html
座標やサイズの表現は1px=1/90inch、が単位で、変えられない。 http://www.kabipan.com/computer/inkscape/
当たり前問えばあたりまえだけど、正だとint(x+0.5)でいいが、負だとint(x-0.5)が正しい。
http://www.peardrop.co.uk/glade/
LEF(Library Exchange Format)の仕様は、どうもフリーのものではない模様。 http://www.si2.org/openeda.si2.org/project/showfiles.php?group_id=6#p44
http://www.hcn.zaq.ne.jp/___/SVG11-2nd/coords.html#TransformAttribute
まずはメニューバー(リボン)で「開発」を表示させる、というところがスタート。 http://msdn.microsoft.com/ja-jp/library/office/ee814737(v=office.14).aspx
自分のArduinoディレクトリ(ArduinoIDEで設定できる、標準でスケッチを保存しておくディレクトリ)の中にhardwareというディレクトリを掘って、その中に、ボードごとにboards.txtとかをおいておくと、ArduinoIDEから新しいボードとして選べる。
AVRStudio6.2で、AVRISPmkIIで書き込みをしようとして、AVRISPmkIIとマイコンを接続していない状態で、AVRStudio6.2のTools→ProgrammingでAVRISPmkIIを選び、ターゲットのマイコンを選んでApplyしたところで、"Toolsに接続できない"というエラーが出る。てっきりAVRISPmkII-PC間の接続の問題(USBのドライバがあたってないとか)かと思ったら、この時点でマイコンと接続を試みるようで、ターゲットのマイコンをちゃんとつないだら、Applyできた。ちょっとまぎらわしい(というかAVRStudio6.1のときと挙動が違うような気がする)。
http://takaslife.com/2013/06/22/facebook-rssgraffiti-setting/
ちなみにニコ動一般会員は600kbps以下。 http://akisute.com/2009/12/imovie-08.html ただしiMovieでビットレートを指定すると画質が大幅に落ちるので、 iMovieから高画質でExportしたあと、「つんでれこ」でmovにするのがよさそう。 http://ch.nicovideo.jp/tdenc/blomaga/ar128361
MusMus(クレジット表示すれば基本フリー):http://musmus.main.jp/
http://www.chip1stop.com/dispDetail.do?partId=ALPS-0008756
液晶コントローラ内蔵のATmega169をArduino化しようという話。 Atmel純正ボードのAVR ButterflyをArduino化するとうというArduinoButterflyというのがキーワードか。
https://code.google.com/p/butteruino/
http://www.avr-developers.com/cputable.html
http://forum.arduino.cc/index.php/topic,24280.0.html
SVGやEPSで平面図をインポートできる。
https://media.dmm-make.com/item/221/
http://awawa.hariko.com/avr_lcd_drive.html
http://kousaku-kousaku.blogspot.jp/2008/10/arduino.html
入力中に@をいれて名前(の一部)を入力すると出てくるリストから選ぶ。 http://selfyoji.blog28.fc2.com/blog-entry-3243.html
http://blog.goo.ne.jp/jh3kxm/e/6d974ef0d3aaa6fc3b675f9f7a1eccaa
ATtiny85上でソフトウエアUSB実装でArduinoスケッチの転送ができるDigispark、あたりまえといえばあたりまえだけど、電源を3.3Vにすると、以下の3点の部品でうごく。
http://d.hatena.ne.jp/seinzumtode/20120521/1337602009
http://mylifeyourlife.net/2012/10/inkscape-drawing-gear/
ATmega328でやっている例。
http://make.kosakalab.com/arduino/make/usbasp/index.html
iMovieを再度起動すると、編集したはずのタイトル(字幕)が消えちゃってることがあるんだけど、どもも環境依存で再現性のないFAQの模様・・・困ったな。動画ファイルに書き出しておく、というのが確実なバックアップか。 https://discussionsjapan.apple.com/message/100813733
http://support.apple.com/kb/PH2243?viewlocale=ja_JP&locale=ja_JP
bmpやpngは、iPhotoで取り込めるし、↓の方法でiMovieに直接取り込めるが、タイムラインにはめこめないっぽい。*.jpgならいずれもOK。 [#h5ab108a]
このあたりが便利そう。
https://www.macupdate.com/app/mac/31352/coolterm
geometryパッケージを使うという方法もある。 http://joker.hatenablog.com/entry/2012/07/09/153537
RohmのWiFiモジュール(BU1805)で、いったんスリープに入れると、アクティブに戻そうとコマンドを送っても戻らない、という現象に遭遇。 いろいろ調べた結果、データシートに書いてある、SDCLKピンをRXDピンに接続しろ、という点を見落としていて、これがつながっていなかったのが原因。
教訓:ピンの機能はちゃんと読もう。
ArduinoUNOをISPライタにすれば(SPI経由で)スケッチを転送できる。 http://d.hatena.ne.jp/jonki/20131109/1383977233
Sparkfunで売ってるRN42HIDというモジュールは、マイコンなどからUART経由でつつけて、PCからはHIDデバイスとして見える。つまりBT接続のマウスやキーボードを作れることになる。プレゼンマウスでもつくるか。
http://yak-shaver.blogspot.jp/2013/05/rn-42-ek-hid.html http://addsict.hatenablog.com/entry/2013/07/27/164647
http://iinamotto.com/2013/10/1553.html
http://at-aka.blogspot.jp/2005/12/emacs-22050-find-file-spc.html
http://dev.tetrastyle.net/2012/02/leonardo.html
Arduinoで他デバイスとSoftwareSerial通信しながらSDカードに記録する、というのをやっているとき、SoftwareSerialで受信したデータを、デバッグ用にSerialで表示するだけならOKだが、それとあわせてSDカードに記録すると、記録の途中でハングる、という現象に遭遇。記録するデータを増やしていくと途中でハングるようになり、また途中から表示されるデータ(配列に格納)も化けているので、てっきりRAMの使いすぎで配列変数の領域をSDカードライブラリが浸食(?)しているのが原因だろう、とふんでいたのだが、結果として全く違う原因だった。SoftwareSerial通信が2400bpsと低速なのでナメていたが、SDカードの記録もそれなりに時間がかかるので、SoftwareSerial受信しながら記録すると、受信が追いつかずにデータを取りこぼし、デバイス側の送信が終わっているのにArduino側で取りこぼしていて受信を待っている、というデッドロックになっていたのが原因だった。「途中から表示されるデータが化ける」という現象からRAM不足と思い込んでいたのも問題。RAM不足でなくても、受信されるべきデータが受信されない(=配列に入らない=配列の中身は受信前のデータ)ことでデータが化ける、という可能性もある。
というわけで教訓。
http://radiopench.blog96.fc2.com/blog-entry-447.html
Arduino ProとかでA6/A7があるものがあるが、ATmega168/328の仕様上、この2つはADC6/7なので、AD変換の入力専用ピン=ふつうのI/Oピンとしては使えないので注意。
ちなみにD0=0という通しのピン番号だとA0=14となり、A6=20も使えるように見える(コンパイルでエラーになるわけではない)がI/Oピンとしては使えないので注意。
「13/11/22: ArduinoのスケッチのHEXファイルをブランクAVRに書き込む」の方法で*.hexをつくっておいて。avrdudeで書き込める。
http://avr.paslog.jp/article/2455700.html
例えばこんな感じ。
avrdude -c arduino -P COM2 -p m328p -b 57600 -V -u -U flash:w:"hoge.hex":a
http://zapanet.info/blog/item/2653
タスクバーの位置とか勝手に同期されて有難迷惑。
http://pcmanabu.com/windows-8-1-synchronization/
Windows\System32、じゃなくて、Windows\SysWOW64、か?(まだよくわからない)
StrawberryLinuxのFT232Hボードで、FT232Hを245FIFOモードにして8ビットデータをがばがばPCへ転送しようとしたが、どうも入力のはずのD0-D7に与えている信号(今回はADコンバータ)の振幅がやけに小さく(電源3.3Vなのに0〜1V程度)なってしまうので、色々原因を調べていたら、FT232HのRD#ピンがLにしたまま(未接続)で、読み出し(つまりFT232HのD0-D7は出力ピンになる)動作が行われいた模様。RD#=1に固定したら、問題なくデータ転送できているっぽい。ちなみにVCPドライバを使えば、PC側からは普通のCOMポートとして見える。
exit(1)とかは使えないので、return;すればそこで終了 http://y-okamoto-psy1949.la.coocan.jp/VCpp/vcpp2010Win32/NewProject/
BSSID(Basic Service Set Identifier)は、インフラストラクチャモードではアクセスポイントのMACアドレス、と定義されている。
フランジバック(レンズの底面から撮像面までの距離)。Cマウント=17.526mm、CSマウント=12.5mm、マクロフォーサーズ=19.3mm http://www.uniel-denshi.co.jp/CCTV-LENSES/MOUNT/C-MOUNT.html
http://homepage3.nifty.com/fujigiken/gijututechou/mountfb.htm
http://dobon.net/vb/dotnet/process/sleep.html
using System.IO.Ports;して、SerialPortのオブジェクトをつくればOK
http://msdn.microsoft.com/ja-jp/library/cc825644.aspx
http://www.atmarkit.co.jp/fdotnet/dotnettips/620number3groupsep/number3groupsep.html
serialPort.NewLine = "\r";
みたいにして行末コード(この例では'\r'=0x0d=CR)を指定して、
string buf = serialPort.ReadLine();
とやると、stringで1行分読み出せる。
http://tmp.junkbox.info/e14.html
C+x b バッファ名 (=Switch to Buffer)、で存在しない名前をつければ、新規にscratch(終わるとき保存するか聞かれない)をつくれる。
http://stackoverflow.com/questions/234963/re-open-scratch-buffer-in-emacs
http://www.kumikomi.net/archives/2009/03/11circ3.php?page=24
http://sa89a.net/mp.cgi/ele/fpga_hdmi.htm
(2014/4/28追記)http://nahitafu.cocolog-nifty.com/nahitafu/2013/08/spartan-6hdmi-a.html http://hamsterworks.co.nz/mediawiki/index.php/Spartan_6_1080p
設定→一般→キーボード、の自動修正、でON/OFFできる模様。
http://macfan.jp/guide/2012/10/04/iphone_74.html
http://www.windowsreference.com/free-utilities/gnu-utilities-for-windows-with-unix-utils/
http://www.madobe.net/archiver/index.html
「ゴミ箱」のプロパティから。こんなところに設定項目があるのか。
http://homepage2.nifty.com/nonnon/Chinamini/win8/win8-h009.html
標準でついているようだ。 http://d.hatena.ne.jp/shimtom/20111110/1320852590
内蔵8MHzで動かすと、ハードウエアUARTのSerialでも115200bpsはしんどそう。特に受信が、よく文字化けする。SoftwareSerialだと、38400bpsでもあやしい。9600bpsあたりで使うのが無難か。
ATmega328のSPIは、SlaveSelectの/SSピンがPB2に割り当てられている。 もちろんソフトウエア的に、他のピンをSlaveに対するSlaveSelectとして使うこともできるが、ATmega内蔵SPIの仕様として、この/SSピン(PB2)は必ず出力ピンに設定しておかないといけない。そうしないとMasterに設定(SPCR:MSTR=1)しても、Slaveに変わってしまう(SPCR:MSTR=0になる)。
http://www.nekotorobot.com/2012/06/xbee.html
データ通信専用のMVNOは、使えない模様。SMSオプションをつける、ことで解決できるらしい。 http://nahareport.blogspot.jp/2013/10/ios7iphone4sim.html
どんなカラクリなの?と思ったらこういうことらしい。 http://techlog.iij.ad.jp/archives/487
http://www.atmarkit.co.jp/ait/articles/1302/22/news054.html