Interplan IM920 library, 920MHz module

Dependents:   IM920_sample IM920_SDlog IM920_sample IM920_sample3 ... more

IM920 ライブラリ

データモード、低速、長距離 の設定で通信するライブラリです。

920MHz無線モジュール

http://www.interplan.co.jp/images/contents/solution/im920.png IM920 (インタープラン製)

  • mbedとモジュールとは、シリアル(TX,RX)、BUSY、RESET端子を接続します。
  • モジュールはあらかじめ、コマンドでノード番号などを設定しておきます。

NECの920MHz近距離無線モジュールもおすすめ

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?

UserRevisionLine numberNew 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 }