Interplan IM920 library, 920MHz module
Dependents: IM920_sample IM920_SDlog IM920_sample IM920_sample3 ... more
IM920 ライブラリ
データモード、低速、長距離 の設定で通信するライブラリです。
920MHz無線モジュール
- mbedとモジュールとは、シリアル(TX,RX)、BUSY、RESET端子を接続します。
- モジュールはあらかじめ、コマンドでノード番号などを設定しておきます。
IM920_util.cpp@0:d3ab05ed8142, 2014-12-26 (annotated)
- Committer:
- okini3939
- Date:
- Fri Dec 26 15:35:20 2014 +0000
- Revision:
- 0:d3ab05ed8142
- Child:
- 4:ba939555ed35
1st tiny build.;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:d3ab05ed8142 | 1 | #include "IM920.h" |
okini3939 | 0:d3ab05ed8142 | 2 | |
okini3939 | 0:d3ab05ed8142 | 3 | int IM920::setCh (int ch) { |
okini3939 | 0:d3ab05ed8142 | 4 | if (ch < 1 || ch > 15) return false; |
okini3939 | 0:d3ab05ed8142 | 5 | return cmdSTCH(ch); |
okini3939 | 0:d3ab05ed8142 | 6 | } |
okini3939 | 0:d3ab05ed8142 | 7 | |
okini3939 | 0:d3ab05ed8142 | 8 | int IM920::getRssi () { |
okini3939 | 0:d3ab05ed8142 | 9 | cmdRDRS(); |
okini3939 | 0:d3ab05ed8142 | 10 | return _state.rssi; |
okini3939 | 0:d3ab05ed8142 | 11 | } |
okini3939 | 0:d3ab05ed8142 | 12 | |
okini3939 | 0:d3ab05ed8142 | 13 | int IM920::sleep () { |
okini3939 | 0:d3ab05ed8142 | 14 | if (_state.status != STAT_NONE) return -1; |
okini3939 | 0:d3ab05ed8142 | 15 | |
okini3939 | 0:d3ab05ed8142 | 16 | _state.status = STAT_SLEEP; |
okini3939 | 0:d3ab05ed8142 | 17 | return cmdDSRX(); |
okini3939 | 0:d3ab05ed8142 | 18 | } |
okini3939 | 0:d3ab05ed8142 | 19 | |
okini3939 | 0:d3ab05ed8142 | 20 | int IM920::wakeup () { |
okini3939 | 0:d3ab05ed8142 | 21 | if (_state.status != STAT_SLEEP) return -1; |
okini3939 | 0:d3ab05ed8142 | 22 | |
okini3939 | 0:d3ab05ed8142 | 23 | putUart('\r'); |
okini3939 | 0:d3ab05ed8142 | 24 | putUart('\n'); |
okini3939 | 0:d3ab05ed8142 | 25 | return cmdENRX(); |
okini3939 | 0:d3ab05ed8142 | 26 | } |
okini3939 | 0:d3ab05ed8142 | 27 | |
okini3939 | 0:d3ab05ed8142 | 28 | |
okini3939 | 0:d3ab05ed8142 | 29 | int IM920::x2i (char c) { |
okini3939 | 0:d3ab05ed8142 | 30 | if (c >= '0' && c <= '9') { |
okini3939 | 0:d3ab05ed8142 | 31 | return c - '0'; |
okini3939 | 0:d3ab05ed8142 | 32 | } else |
okini3939 | 0:d3ab05ed8142 | 33 | if (c >= 'A' && c <= 'F') { |
okini3939 | 0:d3ab05ed8142 | 34 | return c - 'A' + 10; |
okini3939 | 0:d3ab05ed8142 | 35 | } else |
okini3939 | 0:d3ab05ed8142 | 36 | if (c >= 'a' && c <= 'f') { |
okini3939 | 0:d3ab05ed8142 | 37 | return c - 'a' + 10; |
okini3939 | 0:d3ab05ed8142 | 38 | } |
okini3939 | 0:d3ab05ed8142 | 39 | return 0; |
okini3939 | 0:d3ab05ed8142 | 40 | } |
okini3939 | 0:d3ab05ed8142 | 41 | |
okini3939 | 0:d3ab05ed8142 | 42 | char IM920::i2x (int i) { |
okini3939 | 0:d3ab05ed8142 | 43 | if (i >= 0 && i <= 9) { |
okini3939 | 0:d3ab05ed8142 | 44 | return i + '0'; |
okini3939 | 0:d3ab05ed8142 | 45 | } else |
okini3939 | 0:d3ab05ed8142 | 46 | if (i >= 10 && i <= 15) { |
okini3939 | 0:d3ab05ed8142 | 47 | return i - 10 + 'A'; |
okini3939 | 0:d3ab05ed8142 | 48 | } |
okini3939 | 0:d3ab05ed8142 | 49 | return 0; |
okini3939 | 0:d3ab05ed8142 | 50 | } |