1回目は書き込みできるのに、2回目以降、FuseとLockBitは書けるのにプログラムだけ書けない、という現象に遭遇。いろいろ確認した結果、ISPでつかうSPIにぶらさがっているSlaveデバイス中にSSがアクティブHのやつがいたので、そいつが悪さをしていた(MISOに信号を出していた)のが原因の模様。Slaveデバイスを切り離したら書き込みOK。しかしプログラムだけ書き込めない、とか、1回目だけ書き込める、とか、実に紛らわしい。
勝手にONになっているが、デフォルト保存先をSkyDriveでなくする設定のやりかた。
http://snow-white.cocolog-nifty.com/first/2013/11/windows-81-skyd.html
http://ciao.aoten.jp/ciao/2013/07/office-2013skyd.html
ダミー基板に熱電対をカプトンテープで張り付ける、というのが現実的か。 http://www3.big.or.jp/~schaft/hardware/reflow/page004.html
今まで違いがよくわかってなかったので整理。
※(13/12/27追記)S1でのブロードキャスト通信は、DH=0、DL=FFFF(0x0000FFFF)にする。PAN IDは同じに設定しておく。ちなみにX-CTU ver6.2だと、DH=0に設定できない(買い込んでも前の値が残っている)っぽい。X-CTU ver5.2なら大丈夫。
http://mag.switch-science.com/2012/07/20/startup_xbee_s1/
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1481510089
D-(2)とD+(3)を200Ω(またはショートでもOK?)でつなぐと急速充電になる。
このあたりでできそう。stk500は,「13/10/16: AVRISPmkIIでコマンドラインから書き込み」あたりを参照。(ただしプログラムの書き込みがうまくいかない・・・AVRStudioからも書き込めなくなってしまった・・・)
http://playground.arduino.cc/Learning/Burn168
このあたりに解決策がある。
http://www.datazx.cn/Forums/ja-JP/bbb113e0-dc54-41fc-a1cc-c70efecea739/action?threadDisplayName=os
this.openFileDialog1.ShowHelp = true;
とするとよい,という謎の解決策もある模様。
大きく次の二つがある、ということらしい。 (ArduinoIDEでは、あたかもAVRISPmkIIで書き込めるみたいな選択肢があるが、標準ではできない模様)
http://members2.jcom.home.ne.jp/seisuke-y/WeakWave.html
VisualC# ExpressとかだとVisualStudioからインストーラをつくれないが、フリーウエアのWiX Editあたりが便利そう。 http://www.02.246.ne.jp/~torutk/windows/wixandwixedit.html
(2013/12/17追試)このあたりの使い方が詳しい。→http://d.hatena.ne.jp/sakurai_youhei/20100818/1282153247
あたりまえといえば当たり前だけど、ArduinoのanalogWriteはTimerのPWMを使っているので、タイマを自分でいじる場合は、どのピンがどのTimerを使っているか、に注意。(これではまった)
CR+LF、という仕様とのこと。 http://auxin01.wordpress.com/2012/07/11/arduino_crlf/
1つめはArduinoに限った話ではないけど、ビットシフト演算子の優先度の話。BCDの変換で
(d / 10) << 4 + (d % 10);
と書くと、<<は+より優先度が低いので、(4+d%10)ビットシフトされてしまう。
((d / 10) << 4) + (d % 10);
と書くのが吉。
あとこれもありがちだけど、グローバル変数とローカル変数で同じ名前の変数を宣言していてもエラーは出ない。が、別の変数領域のどっちをアクセスするか、どうもコンパイラ依存っぽいので、やっぱりさけるべき。
Arduino Pro 3.3V8MHz(外付けオシレータなし)にブートローダを書き込むときのFuseの設定。なかなか見つからなかいので備忘録。
http://robo.mydns.jp/Lecture/index.php?Arduino%2FArduino%20%A4%CE%BC%AB%BA%EE%2FMINIMAL
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_021/csharp_abc01.html
unsafeを使うには、プロジェクトのプロパティから「unsafeをチェックしない」をチェックする
ちなみにBitmapを直接いじるのはこのあたりを参考に。 http://xptn.dtiblog.com/blog-entry-99.html
ENGINEERの半田吸い取り機SS-02、便利なんだけどずっと使っていると、ロック部分の金具がすり減るのか、ロックしにくく(orロックしてもすぐ外れる)なってくる。ロックボタンのところのバネを強いもの(長いもの)に変えると、だいぶよくなった。 http://www.engineer.jp/products/solder/hd06/item_04/ss-02
部品表(BOM; Bill of Material)を出すには、bom.ulpを使う。やっぱりEagleは、とりあえずULPってことか。
穴の変換で、座標の桁数が小さいときにバグがあったので修正。
#ref(): File not found: "e2p_conv131124.zip" at page "akita/2013"
http://www.ina111.org/archives/212
ただしbuildフォルダをつくってもProgram Filesの中は書き込み制限が厳しいので、build.path=c:\tmpあたりにしておくのがよさそう。
Sanduinoが使えそう。 http://sanguino.cc/breadboardsanguino
と思ったらArduinoIDE 1.0では対応してないっぽい。 このあたりを使うのが順当か。 https://code.google.com/p/arduino-atmega644/
AVR StudioのTool→Programmingで、どうもうまく書き込みができないような気がするんだけど、気のせいだろうか。 電源電圧を5Vにすると普通に書き込めるが、3.3Vだと、Programボタンを押してOK、VerifyもOKそうだけど、動作しているプログラムが書き込む前のもの、のようだ。 データシートを読む限り、Serial Progamming時の電源電圧は1.8〜5.5Vの範囲、とあるので、3.3Vでもできるはずなんだけど、なんでだろう。
(2013/11/8追記)ATtiny10は書き込み時は5Vが必要とデータシート(の1ページ目)に書いてありました。ただ3.3Vで書き込めてなくてもVerifyが通る、というのはまぎらわしい。
例えばB1版ポスターをB0ロール紙に90度回転して印刷する場合、プリンタのプロパティから「ポスターレイアウトに配置」をチェックして印刷を開始すると、ロール紙上の好きな位置・向きに印刷を指定できる。
#include <Arduino.h>
で、Arduino.hをインクルード。
error: two or more data types in declaration of 'size_t'
みたいなエラーがでて、なんだと思って調べてみたら、クラス定義の
class hoge{ ... };
の最後のセミコロン(;)がない、というオチ。エラーメッセージからは類推しにくいです。 http://forum.arduino.cc/index.php?topic=36936.0
ポッチの間隔=8mm、が基本寸法。高さは「ふつうのやつ」がその6/5倍=9.6mm。 http://www.nanolab.t.u-tokyo.ac.jp/~takamasu/mind-micro2.html
いちいち調べるのが面倒なので、よく使うものをまとめてみた。
#ref(): File not found: "terminals.png" at page "akita/2013"
#ref(): File not found: "terminals.svg" at page "akita/2013"
できないことはないようだがけっこうめんどうそう。
http://blog-yama.a-quest.com/?eid=970131
http://www.shol.com/shadow_tech/nostudio.html
M-=で指定範囲の文字数(と行数)を表示。
http://d.hatena.ne.jp/takehikom/20101118/1290023600
棒に巻く方法。
http://www.youtube.com/watch?v=DNovkZdRl7M
操作対象(スケッチの図形とか物体とか)を選んでから操作を選ぶ、という順の操作だと、対象をえらびにくい。が、操作を選んでからだと、その時点で選べる図形しか選べない(Extrudeならスケッチ内の図形のみ、など)ので、操作がやりやすい。
あと奥の方にあるスケッチを選びにくいときは、SolidをHide、SketchだけShow、にした状態にすると選びやすい。
やはり作っている方がおられる。とりあえず「型番+Eagle」で検索してみるのが吉か。 http://memo.tank.jp/archives/1879
Primitiveでは置けないけど、Sketchだとグリッドに配置・描画のときはスナップできるので便利(だけど移動だとできないっぽい?)
スケッチを配置するときと、物体(Solid)を配置するときで、少しやり方が違う。 例えば円形に配置する場合、スケッチでは、同一スケッチ内に円と図形を描く→円形配置を選ぶ→並べたいスケッチを選ぶ→配置の中心を、円の中心で指定する。 http://www.youtube.com/watch?v=8nEzlY4i3aQ
物体のときは、円形配置を選ぶ→物体を選ぶ→中心軸にする辺を選ぶ。 http://www.youtube.com/watch?v=9wv3FjkpRro&list=PL7epVYI5EUL6IBfOvzkVlO7wp4AUvfoXT
標準でついているexp-project-lbr.ulp、で抜き出して*.lbrとして保存できる。 そこから↓の方法で、自分のライブラリにコピーもできる。
template/deafult.svgを開き、いろいろ設定をいじって、上書き保存。
http://kattekrab.net/inkscape-change-default-document-properties
メニューの「エクステンション」→「パスの変形」→「マーカーの色をパスに合わせる」
Sparkfunで売ってる、超小型の微弱無線機RF12B https://www.sparkfun.com/products/9582
こいつをつかったBreakoutボードもある。 http://jeelabs.net/projects/hardware/wiki/RFM12B_Board
JeeLabsというところでArduino用ライブラリを作っているみたい。 http://jeelabs.net/pub/docs/jeelib/md_intro_rf12.html
それを使ったスケッチの例はこちら。RF12.*, RF12sio.*, Ports.*, JeeLib.hをArduino/Libraries/RF12に入れておけば、ライブラリRF12として使える。 https://www.inkling.com/read/arduino-cookbook-michael-margolis-2nd/chapter-14/recipe-14-6 ただしこれは結構上位のプロトコルまで実装していて、GroupとIDを指定できる。GroupはSYNC PATTERNとして指定しているようなので、無線機の物理層レベルで同一Groupしか通信しない、ということにできるようだ。もう1つのIDのほうは、1バイト単位での送受信の中にIDを埋めていて、受け側でIDが一致したら受信処理をする、みたいなことをしている。というわけで1バイト単位の送受信であれば、RF12B_code.pdfの例のように、FIFOを(マジックナンバーのpreambleを入れたりして)こべつにつつくのが順当そう。ただしかなり文字化けするようなので、CRCかチェックサムは必須(たぶん)。
http://arms22.blog91.fc2.com/blog-entry-502.html
http://mag.switch-science.com/2012/12/26/remoconplug/
http://mag.switch-science.com/2012/08/03/diy-light/
http://plaza.rakuten.co.jp/jashi/diary/201107140000/
こんな方法があるのか。簡単。 http://ameblo.jp/pixy77/entry-10047968356.html
Arduinoブートローダの書き込みのように、設定するべきHIGH/LOW等のFuseビットの値がわかっている場合は、書き込み時に直接その値を入力すれば,それに応じて各bitの設定が変わるので、設定項目をON/OFFしてFuseビットの値をあわせる、ということをしなくてもよい。
Hole、であける。
http://tomozon.sakura.ne.jp/eagle/use_eagle_1/
つくってみた。(2013/9/25:黄色いところの計算ミスがあったので差し替え)
#ref(): File not found: "Eagle_unit.xlsx" at page "akita/2013"
#ref(): File not found: "Eagle_unit.png" at page "akita/2013"
Webブラウザでうごく描画アプリのcacooってのを試してみたんだけど、なかなか悪くない。 電子回路描くための部品とかもまあまあそろっている。SVGとかPDFとかpptとかに書き出しもできる。http://cacoo.com/
scr\Eagle.scrに書いたものが起動時に読み込まれる、という仕様になったみたい。 http://trac.switch-science.com/wiki/EagleShortCutSetting
http://izm.way-nifty.com/robo/2007/10/post_c97f.html
ISPのSPIクロックから与えられるものだとばかり思い込んでいたが、MPU自体のクロックは必要。新品なら工場出荷設定で内蔵8MHzになっているのでISP書き込みできるが、それ以外の場合は、外部クロックや水晶発振子などが必要。
http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/AVRTestB/AVRtestb.html
http://www.hmwr-lsi.co.jp/fpga/fpga_1.htm
http://app.m-cocolog.jp/t/typecast/260142/217579/71255967
ダイアログ内の上の「プリンタの追加」から行うのがポイント。
long型は4バイト(32ビット)だが、演算は、少ないほうのビット数にあわせられるみたい。
unsigned long x, y; unsigned a, b; x = a * b; y = (unsinged long)a * (unsigned long)b;
この例では、xはintの16ビットで求められるので、a*bが65536を超えると結果が正しくないが、yは正しく求められる。
名前がわからなかったけど「ダクト・固定」あたりで画像検索で発見。ホースバンドという名称。 http://www.amazon.co.jp/%E3%82%BF%E3%82%AB%E3%82%AE-takagi-%E3%83%9B%E3%83%BC%E3%82%B9%E3%83%90%E3%83%B3%E3%83%89-17-38-QG425/dp/B0055MANBE/ref=sr_1_3?ie=UTF8&qid=1378642719&sr=8-3&keywords=%E3%83%9B%E3%83%BC%E3%82%B9%E3%83%90%E3%83%B3%E3%83%89
http://www.fumi2kick.com/komekame/archives/1577
http://www.fumi2kick.com/komekame/archives/1529
Ctrl(Cmd)を押しながら部品を選ぶ。
http://allorsomething.blog75.fc2.com/blog-entry-54.html
http://hello-world.blog.so-net.ne.jp/2011-11-17
http://elm-chan.org/works/capsens/report_j.html
投稿時にON/OFFするスイッチがOFFになっている、ということもあるみたい。 http://atasinti.chu.jp/dad3/archives/11502
複数入りオペアンプなど、回路図に電源ピンが表示されていないものでは、 Invokeで1個選び、非表示になっている電源ピンを選んでOKすると、 それをどこに置くか選ぶようになるので、適当なところにおいて、 普通のノードと同じように電源配線をする。
http://www.technoveins.co.jp/develop/eagle/libedit.htm
http://yoppa.org/tau_bmaw13/4790.html
http://www.lifehacker.jp/2010/03/100318printerhate.html
ただしコマンドプロンプトからだと、管理者実行してもspoolへのアクセスが拒否される。Explorerでアクセスするといったん拒否されるが、OKを押せばアクセスできる。
ソフトウエア割り込みを併用する方法が紹介されていた。 http://www.pastelmagic.com/psocbbs/index.cgi?m=read&bnum=1213&num=1219 http://www.pastelmagic.com/wiki/psocwiki/index.php?%E7%99%BA%E8%A1%A8%E4%BC%9A%E4%BC%9A%E5%A0%B4
要は、トリガピンの割り込み→PWM_Start→PWMのTerminalCount割り込みで、PWM_Stop、ということ。
IrDARXでやっているような、外部ピンとPWMをLUTでWiredORする、みたいな方法はちょっとトリッキーで難しそうな雰囲気。 http://www.pastelmagic.com/psocbbs/?m=look&bnum=1910
OneShotモジュールの性格(?)上、生成するパルス幅の1/8の周期のクロックにあわせてシフトレジスタが動作する、という構成のため、トリガパルスが短すぎるとNG。解決策はたぶんない。
http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=8&t=1222&start=50#p11120
Fn+SPACEで点灯
http://nasunoblog.blogspot.jp/2012/11/lenovo-thinkpad-x1-carbonos.html
sedの基本中の基本だけど、すぐ忘れるので備忘録。
sed -e 's/hoge/HOGE/'
で、行中の1つめのhogeをHOGEに置換。
sed -e 's/hoge/HOGE/g'
で、行中のすべてのhogeをHOGEに置換。
http://wiki.livedoor.jp/engineernochiebukuro/d/sed%20%A4%CE%BB%C8%A4%A4%CA%FD
あとawkでCSVを「ちゃんと」扱うのはめんどい(ただ「,」をFieldSeparatorにするだけだと、ダブルクオート中の「,」も区切りになってしまう)んだけど、全てのフィールドがダブルクオートで囲われている、という仮定があれば、「","」を「"\t"」に置換に、必要であればそのまえに「,,」を「\t""\t」に置換(更に必要であれば3つ以上の「,」のみの空フィールドが続くならばそれらも事前に)すれば、とりあえずは扱える。
八角形アパーチャの取り扱いにバグがあったので修正。
#ref(): File not found: "e2p_conv130615.zip" at page "akita/2013"
MATLAB的には常識レベルかもしれないけど備忘録。
ベクトルや行列を、[A B]とすると水平に結合。[A;B]とすると垂直に結合。A'はAの転置(行と列の入れ替え)。行/列ベクトルaだとa'は列/行ベクトルとなる。
save('filename','変数名','-ascii');
で行列の中身を保存できるが、変数名のところに羅列すると、ファイルの中ではつながる。たとえば'a','b'とすれば、'a'が保存された直後に'b'が保存される。したがって、aとbを並べて保存するには、data=[a b]で両者を並べた変数(行列)をつくってそれを保存する。
あと代入や演算のさいごにセミコロン(;)をつけると、演算結果は表示されないが、つけないと、演算結果の変数の内容などが表示されるので確認に便利。
http://elm-chan.org/docs/ir_format.html
キャリア40kHz。あと45msごとにリピートで出さないと、最初の一発だけではうまく動かないことが多いようだ。信頼性はそれぐらい、というかんじなのだろうか。
なかなかデータシートを読んでもわかりにくいが、大きく分けるとINT0とPCINT0がある。 INT0は特定ピン(たしかPB0)の割り込みで、エッジ、レベルを指定できる。 PCINT0は、名前が紛らわしいが、PB0(PCINT0)〜PB3(PCINT3)のいずれかのピンの状態変化時の割り込みで、個別にマスクできる。つまりPB3(PCINT3)ピン変化の割り込みも、PCINT0という名前なので、そのISRは、ISR(PCINT0_vect){}に書く。(ISR処理が特になくても、割り込みフラグのためだけにこのISR()は用意しておかなければいけない)ちなみにAVR Studio6.0だと、このISR(PCINT0_vec)を書くと、"register not supported"というエラーが出るが、known-bugのようで(なぜかドイツ語ページがよくひっかかる)、AVR Studio6.1にあげると解消する模様。
IAMAS小林さんが言っていた話。 無線チップメーカーのNordicが、物理層で技適をとっているモジュール(アプリケーション層はユーザが作れる、というかつくらないといけない)として販売している、という例。「汎用デバイスとしての部品」の例、と考えることができる。 http://www.sankeibiz.jp/business/news/130228/prl1302281528052-n1.htm
PB0からPWM波を出そうとして、FastPWM(mode=15)のChannelAをPB0につないで(TCCR0Aの上位2ビットで設定)、Timer0のTOPをOCR0Aにして周期を決めようと思ったのに、PWM波が出てこない。 で、調べてみたら、ビンゴ。 http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=114473&start=0
データシートのp.53(Timer0/Counter0の構成図)の通り、ChannelAのコンペアマッチはOCR0Aを使うので、Timer0のTOPをOCR0AにするFastPWM(mode=15)は使えない。TOPをICR0で指定するFastPWM(mode=14)などを使う。
ATtiny10をTPIで書き込みしようと思ったら失敗して、なんでだろう?といろいろ試したら電源を3.3Vから5Vにしたらあっさり書き込みできた。そんな制限ってあったっけ? ざっとデータシートを見た範囲では、そのような仕様は書いてないんだけどなあ。
http://flexir.net/blog/item_244.html
いろいろ変えていたので最新版。BoardではDeleteやWireは使わないけど、気分的にはRip-upが配線削除でRouteが配線なので、それぞれD/Wに割り当てている。
#ref(): File not found: "EagleKeymap130528.png" at page "akita/2013"
#ref(): File not found: "EagleKeymap130528.txt" at page "akita/2013"
秋月I2C液晶に載っているPICがソフトウエア処理なのかI2Cクロックが100kHz以下という制約があるので、Standard速度で動かせば大丈夫。あとデータシートには明記されていないがaddr=0x50に0x00+コマンドか0x80+データの2バイトを送る。 キャラクタ液晶につきもののmsオーダーの長いウエイトも含めて、こんな感じ。(CPUCLK=SYSCLK/2)
BYTE I2Cbuf[16]; #define I2C_LCD 0x50 void LCDwrite_command(BYTE d){ I2Cbuf[0] = 0x00; I2Cbuf[1] = d; I2CHW_bWriteBytes(I2C_LCD, I2Cbuf, 2, I2CHW_CompleteXfer); while(!(I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE)); I2CHW_ClrWrStatus(); } void LCDwrite_data(BYTE d){ I2Cbuf[0] = 0x80; I2Cbuf[1] = d; I2CHW_bWriteBytes(I2C_LCD, I2Cbuf, 2, I2CHW_CompleteXfer); while(!(I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE)); I2CHW_ClrWrStatus(); } void delay_ms(BYTE d){ WORD w; while(d-- > 0) for (w = 0; w < 300; w++); } void main(void) { BYTE d; I2CHW_Start(); I2CHW_EnableMstr(); M8C_EnableGInt; I2CHW_EnableInt(); LCDwrite_command(0x01); // clear display delay_ms(5); LCDwrite_command(0x38); // 4bit/2line delay_ms(5); LCDwrite_command(0x0f); // display&cursor&blink on delay_ms(5); LCDwrite_command(0x06); // cursor motion delay_ms(5); LCDwrite_command(0x80); // set address as 0 delay_ms(5); LCDwrite_data(d); // write character at current position }
そういうULPがある。 http://ameblo.jp/neophile/entry-10427032905.html
やっている人がいた。さすがにやはり無理とのこと。 http://kawaiirobo.web.fc2.com/lasercutter.html
Boardではできる。コマンド欄に rotate r45 '???' (???=部品番号。R1、など) でできる。
http://www.eaglecentral.ca/forums/index.php/mv/msg/32831/112877/
http://d.hatena.ne.jp/suikan+blackfin/20090207/1233982188
融合していてほしい複数オブジェクトを別々につくって、まとめてSTL形式でExportすると、 KISSlicer→pronterfaceで、うまく融合した物体にできないことがある(結構多い)。 そこでFreeCAD上で、PartsDesignにして、融合したいオブジェクトをFusionすると、 1個のオブジェクトに統合できるので、こいつをExportするとうまくいくっぽい。
こちらを参考に。要点はこんなかんじ。
ちなみに以前にも書いたけど忘れていたので備忘録
3DプリンタのBlade-1で続けて成形をしていると、送り機構がフィラメントを送れなくなる(送るときにステッピングモータがカコッカコッと脱調する)ことがあって、成形に失敗することが多い(ような気がする)。原因はだいたい送り機構(かその付近のフィラメント)が熱くなっていて、ここでフィラメントが少し溶けて、送り機構のギザギザに少しくっついているために送りに失敗しているのが原因。送り機構を冷やすと、冷風をあてるとヘッドの温度も下がってしまう。
対策として、ヘッド温度上昇中はいったんフィラメントを抜き、ヘッド温度が設定温度まで上昇してからフィラメントをさして射出テスト後に成形をはじめると、失敗が少ない感じ。
基本的には、データに対してfftして、conjで共役をとって正規化。 http://www.mathworks.co.jp/products/matlab/examples.html?file=/products/demos/shipping_ja/matlab/fftdemo.html http://digital-lives.seesaa.net/article/180722066.html
今まで知らなかったけど、けっこう凝ったことができる。
set a=hogehoge
set b=%a%
set b=%a:b=c%
set c=%date%
set c=%date:/=%
並び順でどっちが上か、でどっちからどっちの差分か、が決まる。 http://inkscape.paix.jp/manual/editpath-boolean.html#boolean-4
Win8でもこれでいけるっぽい。 http://www.forest.impress.co.jp/article/2008/07/22/placesbareditor.html
ネットワーク接続の復元、が原因の1つの模様。とりあえずログオン時に再接続、をはずしてみる。 http://support.microsoft.com/kb/313937/ja
IOポートのトグル、の書き方のメモ。
LPC_GPIO0->DIR = 0x0100; // set P0.8 as output LPC_GPIO0->DATA = 0x100; // P0.8 = '1'
のように書く。(という流儀もある、という感じ?まだよくわからない)
http://www.eleki-jack.com/arm/2010/02/lpcxpressoled-6.html
添付のQuickStartGuideによれば、1114用のサンプルをImportして、MCU Settingを1115に変えて使え、の一言で済まされているが、その設定は、ちょっと奥まったところにある。 ProjectのProperty→C/C++Build→MCU Setting内。
http://meimeiyajisan.blogspot.jp/2011/05/blog-post_29.html
専用ページから設定しないといけない模様。あとiPhone側も、なぜかExchangeアカウントでは追加した(サブ)カレンダーがみえなかった。Gmailアカウントで同期したらみえた。 http://blog.caraldo.net/2012/04/google_iphone.php
標準でインストールされるemacsclientw.exeを使うのが簡単。emacsclientw.exeに"-n"オプションをつければ、ファイル受け渡し時のコマンドプロンプトを開かない。
http://d.hatena.ne.jp/tokorom/20080107/1199708103
このあたりが参考になるか。 http://d.hatena.ne.jp/clayfish/20090301/1235839554
Blenderというオープンソースの3Dモデリングがあって、STLデータのExportができるが、Blenderでの寸法の単位がBlenderUnit(BU)という独特なもので、ExportしたSTLデータの寸法がどうもいまいちよくわからない。(BlenderのScaleで単位をミリなどに設定できる、ようなのだけど、STLデータには反映されないっぽい)。
そこで付け焼刃ではあるが、KISSlicerで読み込んだあと、"Scale by X"で、全体を拡大縮小するのが現実的か。ちなみにKISSlicerでは読み込み時に自動的に回転する、というオプションもある模様。
レーザーカッターでベニヤ板を加工するとき、モノによっては反っているものがある。湿気の多い金沢ではしょうがないといえばしょうがないけど、反りがひどいとヘッド(特に材料表面に近いアシストエアのノズル)がぶつかってしまう。というわけで反ったベニヤ板の直し方。大きく分けると、(1)ふくらんだ側を加熱する、(2)内側をぬらして平らになるように力を加えた状態で数日待つ、といったところ。 http://okwave.jp/qa/q28272.html http://vicdiy.com/assy_knowhow/0010/0010.html
#defineでDEBUGを定義しているときだけ確認メッセージを表示させたくて、以下のようなコードを書いた時の罠。
if (!init()) #ifdef DEBUG Serial.print("Failed to init"); #endif init2();
DEBUGをdefineしているときは問題なく動くのだけど、defineをしないと、動作しない(init2()が行われない)。 考えてみればあたりまえの話で、この書き方だと、DEBUGをdefineしていないときは、以下と等価になる。
if (!init()) init2();
つまり、init()の戻り値がfalseのときだけinit2()を実行する、という、本来と逆の動作となっていまう。 というわけでこう書くのが正しい。
if (!init()){ #ifdef DEBUG Serial.print("Failed to init"); #endif } init2();
やはり#ifdefは注意して使わないといけない。
Servoというライブラリがあるのでそれを使うと便利。 http://kousaku-kousaku.blogspot.jp/2008/06/arduino.html
A0-A5が、D14-D19となる。 http://www.musashinodenpa.com/arduino/ref/index.php?f=2&pos=116
デバイス側のSlaveSelect(SS)をArduinoの別端子に割り当てれば、SCLK/MISO/MOSIは共用できる。ただしSPIの動作モード(LSB/MSBファースト、クロック極性など)が異なる場合は、その都度SPIの動作モードを切り替えるか、SCLK/MISO/MOSIを別ピンに割り当てるのが現実的。なおSPI通信を、ATmega内蔵のSPIモジュールを使わずにソフトウエアI/Oピン制御で実装している場合もあるので要注意。(SPIモジュールをEnableにしてしまうとソフトウエアI/Oピン制御はきかないため)
外側と真ん中の芯線がつながっててー極。四角の内側の両側が+極。20V。
#ref(): File not found: "TP_X1_ACconn.zip" at page "akita/2013"
ありそうでなかったので備忘録。 http://rebelrider.web.fc2.com/webcamohcproject/index.html
デフォルトだと、線の太さも含めた外枠がBoundingBoxとなるが、寸法が厳密な製図などでは扱いにくい。Preferenceから幾何学的BoundingBoxを設定するとよい。 http://inkscapedesign.web.fc2.com/basic/glossary-basic.html
http://freecad-tutorial.blogspot.jp/
あと、つくった立体の1つの面に対して加工をしたい場合、新規に1つ空のスケッチをつくっておいて、その立体の面を選び、PartsDesign→"Map sketch to face"を選ぶと、その面のスケッチがつくれる。
あとPocketの使い方がいまいちよくわかっていなかったんだけど、↑のように面からつくったスケッチで、もう1つ図形を描いた状態でPocketすると、その書いた図形の部分がへこんだ形状になる。
拾ってきた3次元モデルのSTLデータを加工したいときのやり方の一つ。FreeCADでSTLを開いて、Mesh Designでいじり(いらないところを消す、など)、またPartsDesignなどでほしい部分を追加する、など。
プライベート内に置いたUSBデバイスサーバをグローバル側からアクセスできるようにするために必要となる設定。 http://sa3g.blogspot.jp/2010/12/vyatta.html
http://www.moonmile.net/blog/archives/402
BDC (Bluetooth Daughter Card)で、いくつかバリエーションがある模様。
InkscapeでDXF出力しようとするとエラーが出ることがあって、対処はだいたいスクリプト*.py関係なわけだけど、PythonをInkscapeが自前で持っているようで、そのPythonに対して設定・プラグインの追加をしないといけない。
例えばWin版Inkscapeだとこんなエラーが出ることがある。
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1345-1348: ordinal not in range(128)
http://nanitsuku.blogspot.jp/2011/12/macinkscapedxf.html ここによれば、Pythonのencodeの設定の問題なのだけど、その設定ファイルを置く場所は、Inkscapeのインストールディレクトリ内のPython/Lib/以下、におかないといけない。
3次元のデータをつくるとき、平面図を読み込んでから、ということは多いわけだけど、Google Sketchupは、Pluginでいろいろ読み込める。 たとえば、
レジストリいじるといける模様。 http://www.hidekik.com/adminpage/hbg/hbg.cgi?number=660
最近なぜかちょくちょくあって、なんだろう?と思ったらこんな方法を発見。 http://kppn012.blog.so-net.ne.jp/2013-01-07-1
avrdudeでいけそうな雰囲気。 http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Favrdude39
いろいろあるので、散発的だけど備忘録。
Wordでは変更履歴を記録するときに校閲者ごとに色を分けられるが、その色は指定できない、ということらしい。 http://office-qa.com/Word/wd16.htm
C:\Users\{username}\AppData\Roaming\CadSoft\EAGLE\eaglerc.usr、ということのようだ。
http://www.element14.com/community/community/experts/blog/tags/eagle
System.IO.Path.にいろんな便利関数がある。 http://dobon.net/vb/dotnet/file/pathclass.html
CLKPSRレジスタで行うが、データシートにある通り、CCPレジスタにマジックナンバ0xd8を書いてから。つまりCCP=0xd8;→CLKMSR=0x00;(x1の場合)のように行う。