(行)左(通)右(帰)
- 行きがけ順 (行)の位置で根を処理するやり方
- 通りがけ順 (通)の位置で〃
- 帰りがけ順 (帰)の位置で〃
(行)左(通)右(帰)
2.5V→5Vで5V側が13mAなのに2.5V側が190mA程度になる。単純計算すると(5*13)/(2.5*190)=14%の効率・・・
4V→5Vだと5V側20mA、4V側36mAで69%。あまり低電圧で使わない方がよいかも?
ATmega328は外部クロックによるカウンターの利用ができるが、純粋なカウンターでなく、システムクロックに依存したエッジ検出によりカウントされている。そのため計測可能な周波数上限もシステムクロックに依存する。上限は半分で推奨は2.5で割った値以下である。
例)システムクロックが20MHzの場合。
上限→20÷2=10MHz
推奨→20÷2.5=8MHz
The external clock must be guaranteed to have less than half the system clock frequency (fTn < fclk_I/O/2) given a 50% duty cycle. Since the edge detector uses sampling, the maximum frequency of an external clock it can detect is half the sampling frequency (Nyquist sampling theorem). However, due to variation of the system clock frequency and duty cycle caused by the tolerances of the oscillator source (crystal, resonator, and capacitors), it is recommended that maximum frequency of an external clock source is less than fclk_I/O/2.5.
cf.http://www.atmel.com/ja/jp/devices/ATMEGA328P.aspx 187p.参照
データやクロックにかかわらず、「クリアは出力QをLにする。プリセットはHにする。」と考えるとよい。
※クリア、プリセットを同時に使う場合の真理値もあるが通常使用の範囲でないと思われる。
cf.http://toshiba.semicon-storage.com/jp/product/logic/detail.TC7WH74FU.html
OTA(遠隔設定)対応とあるが、動かすまでに大分つまづいたので手順をまとめておく。
ver 1.5.3 (2015/6/12 リリース) 2015/6/13 以降に出荷される TWE-2525A(リビジョン2) 基板に書き込まれています。 http://mono-wireless.com/jp/products/TWE-Lite-2525A/firmware_update.html
まず受信側の装置が必要だ。今回はToCoStickを準備した。以降、親装置と呼ぶ。
公式URL:http://mono-wireless.com/jp/products/TWE-Lite-2525A/assemble.html
リビジョン2の場合、「※ 電池ボックスの向きはどちらでも構いません。」とあるが写真の通りにつけた方がよい。なぜならば、ピンヘッダをつける場合、逆向きだと電池の出し入れの時に邪魔になるからだ。
TWE-Lite プログラマを使用。
書き込むファームウェアはver 1.5.3 (2015/6/12 リリース) (http://mono-wireless.com/jp/products/TWE-Lite-2525A/firmware_update.html)。
ファームウェア(書き込み用ファイル) (143KB)
を解等してでてくる「Samp_Monitor_EndDevice_Input_JN5164_CNFMST_1_5_3.bin」。
※Rev2のファームが1.5.3だったためあわせる必要があった。今後の出荷では変更の可能性がある。
書き込み方法は割愛。
書き込み後は一度ToCoStickを抜き差しする必要があるので注意!
公式URL:
http://mono-wireless.com/jp/products/TWE-ZERO/OTA/index.html
http://mono-wireless.com/jp/products/TWE-Lite-2525A/manual_Samp_monitor.html
ターミナルで親機に接続する。
TeraTermの場合、は公式URLの動画を参考。
TinyTerminalの場合、「tt port=親機のポート番号,,115200」と入力。
接続できたらエンターを入力。
以下のような表示がでる。
[[2J[[H--- CONFIG/Samp_Monitor V1-05-3/SID=0x81006cf0/LID=0x00/RC=10000 --- a: set Application ID (0x67726305) i: set Device ID (--) c: set Channels (15) x: set Tx Power (13) d: set Sleep Dur (500) ←送信間隔設定。ms単位 w: set Sensor Wait Dur (0) m: set Sensor Mode (0x35) p: set Sensor Parameter (0) P: set Sensor Parameter2 ( ) k: set Enc Key (0xA5A5A5A5) o: set Option Bits (0x00000001) ←00000011の場合、00000001に変更する必要があるもよう。 --- S: save Configuration R: reset to Defaults *** POWER ON END DEVICE NEAR THIS CONFIGURATOR ***
ショートカット: 設定できる内容 (現在の設定値)
↑のフォーマットで一覧になっているが、大事なことはこれはあくまで親機に保存されている「子機に書き込み用の値」 であって、これが既に子機に書き込まれているというわけではない。
大文字Sでsaveとあるが、これもあくまで親機にその設定値を保存する操作だ。
実際に子機に書き込むには親機の近くで子機の電源を入れる必要がある。
その時に大事なことは親機にかなり子機を近づけてから電源を入れる必要がある。(環境によるだろうが、それこそ数センチぐらい)
もし遠い場合は「!LQI」という表示がでてエラー扱いになる。
成功した場合は、↓のような表示が即座にでる。
!INF REQUEST CONF FR 810208D0 >>> TxCmp Ok(tick=56644,req=#6) <<< !INF ACK CONF FR 810208D0 SUCCESS 810208D0
これで子機の設定は完了。
4.親機を受信モードにする。
現状の親機は設定用のファームなので受信用のファームに書き換える必要がある。
(なんとも面倒だが仕方ない)
ターミナルを切断したあと、TWE-Lite プログラマで書き込む。
対象のファームウェアは「Samp_Monitor_Parent_JN5164_1_5_3.bin」だ。
書き換え後、再度親機を抜き差しして、ターミナルに接続する(設定などは同じ)。
成功すれば下記のような出力が見られるはずだ。
::rc=80000000:lq=183:ct=0376:ed=810208D0:id=0:ba=2870:a1=1288:a2=0653:x=-001:y=- 013:z=-087 ::rc=80000000:lq=183:ct=0377:ed=810208D0:id=0:ba=2870:a1=1290:a2=0651:x=-002:y=- 013:z=-087 ::ts=11 ::rc=80000000:lq=183:ct=0378:ed=810208D0:id=0:ba=2870:a1=1290:a2=0653:x=-001:y=- 013:z=-086 ::rc=80000000:lq=180:ct=0379:ed=810208D0:id=0:ba=2870:a1=1288:a2=0653:x=0000:y=- 014:z=-087 ::ts=12 ::rc=80000000:lq=180:ct=037A:ed=810208D0:id=0:ba=2870:a1=1288:a2=0653:x=-002:y=- 014:z=-086
以上。
TOCOSの製品はモノはいいのだが、説明が今一つわかりにくい。設定などで躓いてしまったらメーカ、ユーザともにもったいないことになる。もう一がんばりして欲しいところだ。
cf.http://blog.studiok-i.net/raspberry-pi/766.html
======================================================================== BYTE UNIX Benchmarks (Version 5.1.3) System: raspberrypi: GNU/Linux OS: GNU/Linux -- 3.18.11-v7+ -- #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 Machine: armv7l (unknown) Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968") CPU 0: ARMv7 Processor rev 5 (v7l) (0.0 bogomips) CPU 1: ARMv7 Processor rev 5 (v7l) (0.0 bogomips) CPU 2: ARMv7 Processor rev 5 (v7l) (0.0 bogomips) CPU 3: ARMv7 Processor rev 5 (v7l) (0.0 bogomips) 02:13:33 up 39 min, 1 user, load average: 0.69, 1.28, 0.72; runlevel 2 ------------------------------------------------------------------------ Benchmark Run: Sat Jul 25 2015 02:13:33 - 02:41:58 4 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 2985758.5 lps (10.0 s, 7 samples) Double-Precision Whetstone 496.4 MWIPS (10.0 s, 7 samples) Execl Throughput 364.8 lps (29.7 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 70336.8 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 19934.0 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 187237.8 KBps (30.0 s, 2 samples) Pipe Throughput 165768.7 lps (10.0 s, 7 samples) Pipe-based Context Switching 33598.6 lps (10.0 s, 7 samples) Process Creation 1229.6 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 1205.7 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 334.5 lpm (60.2 s, 2 samples) System Call Overhead 403760.3 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 2985758.5 255.8 Double-Precision Whetstone 55.0 496.4 90.3 Execl Throughput 43.0 364.8 84.8 File Copy 1024 bufsize 2000 maxblocks 3960.0 70336.8 177.6 File Copy 256 bufsize 500 maxblocks 1655.0 19934.0 120.4 File Copy 4096 bufsize 8000 maxblocks 5800.0 187237.8 322.8 Pipe Throughput 12440.0 165768.7 133.3 Pipe-based Context Switching 4000.0 33598.6 84.0 Process Creation 126.0 1229.6 97.6 Shell Scripts (1 concurrent) 42.4 1205.7 284.4 Shell Scripts (8 concurrent) 6.0 334.5 557.6 System Call Overhead 15000.0 403760.3 269.2 ======== System Benchmarks Index Score 171.1 ------------------------------------------------------------------------ Benchmark Run: Sat Jul 25 2015 02:41:58 - 03:10:32 4 CPUs in system; running 4 parallel copies of tests Dhrystone 2 using register variables 11925376.9 lps (10.0 s, 7 samples) Double-Precision Whetstone 1985.5 MWIPS (10.0 s, 7 samples) Execl Throughput 1359.0 lps (29.7 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 115187.5 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 32877.5 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 315024.9 KBps (30.0 s, 2 samples) Pipe Throughput 656931.2 lps (10.0 s, 7 samples) Pipe-based Context Switching 130014.7 lps (10.0 s, 7 samples) Process Creation 2836.6 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 2681.5 lpm (60.1 s, 2 samples) Shell Scripts (8 concurrent) 353.0 lpm (60.3 s, 2 samples) System Call Overhead 1559450.1 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 11925376.9 1021.9 Double-Precision Whetstone 55.0 1985.5 361.0 Execl Throughput 43.0 1359.0 316.1 File Copy 1024 bufsize 2000 maxblocks 3960.0 115187.5 290.9 File Copy 256 bufsize 500 maxblocks 1655.0 32877.5 198.7 File Copy 4096 bufsize 8000 maxblocks 5800.0 315024.9 543.1 Pipe Throughput 12440.0 656931.2 528.1 Pipe-based Context Switching 4000.0 130014.7 325.0 Process Creation 126.0 2836.6 225.1 Shell Scripts (1 concurrent) 42.4 2681.5 632.4 Shell Scripts (8 concurrent) 6.0 353.0 588.3 System Call Overhead 15000.0 1559450.1 1039.6 ======== System Benchmarks Index Score 441.4
出力ウィンドウにフォーカスをあてると、自動スクロールがとまることがある。
出力ウィンドウを一番下までスクロールしてからフォーカスを外すと自動スクロールが再開する。
esxi5.0で4TB HDDを認識させようとしたらwinで-128mbの認識。freenasで0の認識。
esxi6.0にアップグレードすると問題解消。
ルータはPR-500KI
※ちなみにシリアルのリバースは単に2,3を入れ替えたもの。5の接続は必須。