株式会社 アイ・ツー LoRa 無線モジュール LRA1 開発補助ツール LRA1_Aid 試作版 Ver.1.33a (2023.01.15)

・2023/01/15 入力支援で Ch, Inp, To の解説が表示されなかったのを対策。
・2023/01/13 "PdfToTxt Trial を同梱。
・2023/01/10 "BUP1, BUP2" の強調(色付き)表示に対応。
・2023/01/09 "RANDOMIZE" が強調(色付き)表示されないのを手直し。


 開発補助ツール LRA1_Aid は、2つのツール(LRA1_Aid.exe、LAR1_Aid2.exe)を組み合わせています。
 ・LRA1_Aid.exe : コードエディター + LRA1 との通信(下図左側)
 ・
LRA1_Aid2.exe : コマンド、関数、変数等の一覧、検索表示(下図右側上) + 評価ボードのピン配置表示(下図右側下)
 それぞれ単独で使用可能ですが、
LRA1_Aid2 は二重起動不可です。
 LRA1_Aid2 の [ウィンドウ整列] ボタンで各ウィンドウが下図のように整列されます。
 


LRA1 とは
 アイ・ツー社の LoRa 無線(920MHz帯)モジュールです。
 非常に良く飛びます。(競合他社製品との比較ですが、あくまで個人の感想です・・・)
 製品紹介ページはこちらです→ https://i2-ele.co.jp/LoRa.html
 特徴は↓
 ・LoRaWAN対応(クラスA/クラスC)
 ・超小型(13mm × 18mm × 2.4mm)
 ・超低消費電流(sleep時 0.7uA以下)電池運用でも今までにない長時間運用が可能です。
 ・BASICインタプリタ内蔵なので外付けCPU無しでも動作可能。
 ・特別なツールなしで簡単にお客様でプログラミングできます。
 ・UART(2ch)/I2C/ADC(12bit)/PWM(8ch)/SPI
 ・高い信頼性。弊社内で設計、製造管理しています。
 ・SEMTECH LoRa chip使用
 ・LCD、温湿度・気圧センサー付き評価ボード(2台/1セット)


■概要
 
 LRA1 単体で BASIC プログラム(中間コードに変換後で 4096バイトまで)を作成でき、
 マイコンを追加することなく、I/O、UART、GPS ... 等を使える無線モジュールです。
 BASIC プログラムは、TeraTerm を使って、1行ずつコードを送信する必要があり、
 結構なストレスになります。

 本ツールは、LRA1 との通信機能とプログラムを編集・送信する機能を提供します。
 他のエディターで編集し、本ツールにペースト。行番号を追加。LRA1 へ送信。
 ・・・という使い方も可能です。

 ちなみに TeraTerm ですが、
 [Ctrl + V] ではなく、マウスを右クリックし、「TerTerm クリップボードの確認」ダイアログで、
 [OK] ボタンをクリックするとペースト(LRA1 へ送信)されます。
 ※アイ・ツー社は送信抜けが起こる可能性があるため、推奨していないようです。
 
 本ツールでは、LRA1 からの応答を監視し、応答が無い場合は送信を中断します。
 送信、監視インターバルはメニュー「送信設定」-「タイマー」で変更可能です。

■機能
 ・LRA1 との通信(TeraTerm と同じ感じ)
 ・使いそうなコマンドの送信
 ・Break 信号、Reset コマンドの送信
 ・ファイル読み込み、編集、保存
 ・行番号の追加、削除
 ・編集したコードの送信
 ・LIST 表示したコードを編集エリアに取り込み
 ・シリアル番号の取得
 ・配列変数@へのデータ変換、送信(Ver.1.17より)
 ・受信データの 16進表示 (Ver.1.20)
 ・使用変数の列挙(= の直前の文字を検出)
 ・配列変数 @[]、I2cD[] の添え字を加減算
 ・[ F1 ] または [ Ctrl + Shift + SPACE ] キーで LRA1 ソフトウェアリファレンスマニュアルを HELPっぽく表示(Ver.1.30)
 ・[ F2 ] または [ Ctrl + SPACE ] キーで入力候補を表示(Ver.1.31)
 ・簡易的なプログラムコードの整形(インデント調整のみ)

■使い方、メモ
 ・インストーラーは作成していません。適当なフォルダに解凍してください。
  LRA1_Aid.exe をダブルクリックすると起動します。
  2 台を同時に編集する場合は、LRA1_Aid.exe を 2 個起動してください。
 ・リストから接続先を選択してください。
  起動後に LRA1 を接続し場合は、[再検索]ボタンをクリックしてください。
  必要であれば、[デバイスマネージャ] ボタンで COM ポートを確認できます。
 ・[OPEN] ボタンをクリックすると、LRA1 に接続します。
  ボタンが緑色、文字が CLOSE に変わります。
 ・[CLOSE]ボタンをクリックすると、接続を終了します。
 ・ComPort リストの下に Command リストがあります。
  リストを選択すると、LRA1 へ送信されます。
  LRA1_Aid.exe と同じフォルダの LRA1_Aid_CommandList.txt を読み込んでいます。
  変更可能です。"(" 以降は無視されます。"," は CrLf に変換されます。
  ※ RUN 中はコマンドを送信しても拒否されます。
    [Break] ボタンで終了させて下さい。
 ・[SN] ボタンでシリアル番号を取得します。
  2 台あるうちのどれが対象なのか分からなくなったので、付けています。
 ・[Load LIST] ボタンで LIST 表示したコードを編集エリアに取り込みできます。
 ・編集エリアは2つ有ります。
  上側が LRA1 へのコマンド送信と LRA1 からの返信が表示されます。
  TeraTerm と同じ感じです。
 ・[RESET]コマンド、[Break]信号の送信が行えます。
 ・[ F1 ] または [ Ctrl + Shift + SPACE ] キーで LRA1 ソフトウェアリファレンスマニュアルが HELP っぽく表示されます。
  別 EXE なので初回起動は時間がかかります。
 ・[ F2 ] または [ Ctrl + SPACE ] キーで入力候補、解説が表示されます。
  [Enter] キーまたはダブルクリックでエディターに挿入されます。
  [ESC] キーまたは他のウィンドウをアクティブすると表示終了。

 ・メモ
  コードに TAB が有っても LRA1 は読み込んでくれます。
  行番号だけでもエラーになりません。
  コメントもバイト数に入ります。
  日本語 (UTF8) コメントも使えます。

■エディター機能
 下段の編集エリアは、TSynEdit を使ったエディターです。
 ・ファイルのドラッグ&ドロップに対応
 ・強調表示は LRA1-Basic 専用(Ver.1.22)
 ・フリーカーソル(有効/無効)
 ・オートインデント
 ・タブは 4 固定
 ・[Shift] + [TAB] または [BackSpace] でタブを削除
 ・ブロックインデントに対応
 ・不完全ながらブロックコメント(Ctrl+/)にほぼ対応(Ver.1.17)
  先頭のコメント "'"(シングルクォート)が対象です。
 ・UNDO([Ctrl]+[Z])は 1024 まで
 ・検索・置換 (Ver.1.18)
 ・入力候補の表示,挿入 (Ver.1.31)
 ・マウスダブルクリックで、入力候補を表示、または HELP を表示
  (機能は OFF にしています。メニューで変更可能です。)
 ・[ F2 ] または [ Ctrl + SPACE ] キーで入力候補を表示
 ・簡易的なコード整形(インデントのみ)
 ・オートコンプリートは未実装

■制限事項
 ・LRA1 からの応答文字列は、CRLF 受信で表示されます。
  CRLF が付加されていない場合、応答文字列は表示されません。
  (16 進表示部には、表示されます)
  例えば、
  Print "Input A:";: Input A
  は ";" により CRLF が省略されるため表示されません。
  Print "Input A:": Input A
  は、表示されます。

 ・強調文字列等が黒く表示(背景色と同色でまったく見えない)される場合は、 色の設定を行って下さい。
  メニュー「エディター」-「表示色設定...」です。

■配列変数@[ ] 用データ作成
 タブ区切りファイル、CSVファイル、または1行ごとに数値を記入したファイルを読み込みます。
 または、エクセルの必要な範囲のみをコピーし、編集エリアにペーストすると タブ区切りで取り込めます。
 メニュー-エディター-「@[ ] 配列データに変換」を選択し、整数化倍率を指定し、[OK] すると、
 @[0] = 1234
 @[1] = 2345
 ....
 のような形に変換されます。
 この状態で LRA1 へ送信できます。
 送信後、ASAVE で LRA1 に記憶します。(電源を切っても消えません)
 使う時は、ALOAD で値を参照できます。

 16 ビット x 2 として扱うこともできます。
 負数を扱う場合は、データ読み出し時に Int16() または、マイナス ( > $8000) の時は -$10000 が必要です。

■テストモード (Ver.1.20)
 TEST チェックボックスを ON にするとテストモードになります。
 ・送信文字列中の <13>,<10>,<$0D>,<$0A>... 、<STX.>, <ETX> ... 等を制御コードに置換して送信します。
  <> 内の文字列が数値に変換できない場合は、送信データ全体を置換せずにそのまま送信します。
 ・TEST OFF の時は、LRA1 からのエコーが繰り返されるため、送信行を削除しています。
  (これは TeraTerm のコマンドプロンプトっぽく見せるためです。)
  TEST ON の時は、送信行はそのまま残ります。


■LRA1 ソフトウェアリファレンスマニュアル(テキスト版)の表示(Ver.1.30)
 LRA1_ソフトウェアリファレンスマニュアル_xxx.PDF から抽出したテキストファイルから、
 コマンド、関数、予約語等を一覧、検索表示するツール(外部EXE)です。
 
 LRA1_Aid.exe から使う場合は、と同じフォルダ内に
LRA1_Aid2.exe が必要です。
 (ZIP ファイルに同梱しています)

 メニュー「ヘルプ」 から 「LRA1 ソフトウェアリファレンスマニュアル(テキスト版)」 をクリックするか、
 エディター部をアクティブにして
[F1] または [Ctrl + Shift + SPACE] キーを押すと起動します。
 キーを押して起動したときは、キャレット位置の文字列が検索文字列して採用されます。
 
 表示されるテキストは、PDF ファイルからからテキストを抽出したものです。
 部分一致でコマンド、関数、予約語の検索が行えます。
 
LRA1_Aid2.exe 単独での使用も可能です。
 
 LRA1_ソフトウェアリファレンスマニュアル_138.txt を同梱していますが、
 改訂された時は、各自でテキスト抽出ファイルを作成し、
LRA1_Aid2.exe と同じフォルダに入れて下さい。
 PDF-TXT 変換サイト PDF TXT 変換。オンライン フリー — Convertio 等、または同梱の PdfToTxt.exe で作成します。
 PdfToTxt.exe はメニュー「ヘルプ」から起動できます。
 ※日本語がすべて変換されない場合は、他の変換サービスを使ってみて下さい。
 ※Acrobat Reader でテキスト出力したファイルには対応していません。
 
 LRA1_ソフトウェアリファレンスマニュアル_138.txt の同梱については、株式会社アイ・ツー様の承諾を得ています。

 改訂された時は、各自でテキストファイルを作成して、
 LRA1_Aid2.exe と同じフォルダに入れて下さい。
 フォルダ内のファイル名を "LRA*_ソフトウェアリファレンスマニュアル_*.txt" で検索し、文字コードの降順でソートし、先頭のファイル名を採用しています。

 検索ボックスにコマンド、予約語等キーワードの一部を入力すると、
 部分一致するキーワードが一覧表示されます。
 そのキーワードをクリックすると、対応する解説部分が先頭表示されます。
 複数行を選択して、[ Ctrl + C ] またはマウス右クリックのポップアップメニューから選択行をクリップボードにコピーできます。

 [評価ボード PIN 配置」ボタンで、EXE と同じフォルダの LRA1_Aid2_PIN.png(リファレンスマニュアル_136 版)が表示されます。
 小さくて見にくいときは、フォーム右下をマウスでドラッグして下さい。
 
 
 LRA1_Aid.exe が終了するとき、最初に見つかった LRA1_Aid2.exe が終了します。


■使用コンポーネント
 ・Delphi 標準コンポーネントの他に下記コンポーネントを使用しています。
  エディター :TSynEdit
  シリアル通信 :TApdComport
  PdfToText : TFpdf (PDFium Component Suite for FireMonkey
試用l版)
  ※TFpdf は試用版のため、評価のみに使えます。

■著作権、免責事項等
 ・本ツールの著作権は作者 f.izawa が所有し、これを主張します。
 ・本ツールを使用したことによる事故、損害等の一切について、作者はその責を負いません。

■作者連絡先
 ・e-mail: f.izawa@dream.com
 ・URL: http://www.izawa-web.com/

■開発環境
 ・Delphi 10.4 Professional + TSynEdit + TApdComport + TFPdf / Windows 10

■ダウンロード
 LRA1_Aid133a.zip  2023/01/15 (LRA1_Aid.exe +
LRA1_Aid2.exe + PdfToTxt.exe + ReadMe 他)


■履歴
 2022/09/10 Ver.1.00
  初版作成
 2022/09/11 Ver.1.05
  メニューにファイル履歴 10 個までを追加
  [Load LIST] ボタンを追加
 2022/09/11 Ver.1.06
  上書き保存(Ctrl+S)ができなかったのを手直し
 2022/09/13 Ver.1.10
  特殊文字の表示、キャレット形状の変更を追加
 2022/09/14 Ver.1.11
  受信バッファをクリアしていなかったのを手直し
  メニューに送信タイマーの設定を追加
  コード送信時、エラー受信で送信を中止するを追加
 2022/09/14 Ver.1.12
  確認用ログファイル作成が ON のままだったのを OFF にした
  その他、細かい修正
 2022/09/15 Ver.1.13
  しばらく使うと受信できなくなるのを修正
  送信、受信ランプを追加
 2022/09/16 Ver.1.14
  日本語コメントに対応
 2022/09/17 Ver.1.15
  送信中止ボタンを追加
  メニューにフリーカーソル(有効/無効)を追加
  ブロックコメント(Ctrl+/)を追加 (Ver.1.16 でとりやめ)
 2022/09/19 Ver.1.16
   ブロックコメント(Ctrl+/)をとりやめ
   コメントを送信しないチェックボックスが機能していなかったのを修正
   コード送信時、"Program area overflow error" で接続を終了(切断)するを追加
 2022/09/21 Ver.1.17
   不完全ながらブロックコメント(Ctrl+/)に対応(行頭のコメントのみ)
   LRA1 関係の強調表示を追加(スクロールが遅くなります)
   配列変数@[ ] 用データ作成、送信を追加
 2022/09/24 Ver.1.17a
   LRA1 からエラーが返信されたときのメッセージが表示されなくなっていたのを手直し
 2022/09/28 Ver.1.18
   LRA1 関連の強調表示をとりやめ(検索結果の表示を優先するため)
   文字列検索・置換を追加
 2022/09/30 Ver.1.18a
   検索終了方法を手直し
   検索ダイアログで [F3], [Shift]+[F3] で即検索開始を追加

 2022/10/03 Ver.1.20
   受信データの16進表示を追加
   簡易的なテストモードを追加
   マウス右クリックのポップアップメニューに「現在行、選択行をそのまま送信」を追加
 2022/10/05 Ver.1.21
   送信データの16進表示を追加
   マウス右クリックのポップアップメニューに「現在行、選択行をそのまま送信」で受信バッファがクリアされていなかったのを手直し

 2022/10/06 Ver.1.22
   強調表示を LRA1-Basic 専用にした
 2022/10/07 Ver.1.23
   LRA1 変数、関数、予約語の強調表示を追加
   メニューに色設定を追加
 2022/10/09 Ver.1.24
   コード送信、LIST 表示中は、HEX 表示をしないようにした
   その他、不具合修正
 2022/10/10 Ver.1.25
   @[] 変数作成で、16 ビット× 2 での作成を追加
 2022/10/10 Ver.1.25a
   @[]変数作成で、16ビット×2を符号なしに変更
   (データ読み出し時に、Int16() または、マイナス(>$8000)の時は -$10000 が必要)
 2022/10/12 Ver.1.25b
   「名前をつけて保存」のファイル名を編集中のファイル名にした
 2022/10/29 Ver.1.25c
   強調表示に、CATCH を追加
   ポップアップメニューの「クリア」で HEX 表示部もクリアするにした
   ポップアップメニューに「エラーメッセージを表示」する/しないを追加
 2022/11/10 Ver.1.25d
   ボーレートを再度設定しないと正しくならないのを手直し
   コード送信時、"Program area overflow error"で通信を終了させていたのを取りやめ (LRA1 ファームウェアで対応済のため)
 2022/11/15 Ver.1.26
   メニューに選択範囲内の配列変数 @[]、I2cD[] の添え字の加減算を追加
 2022/11/16 Ver.1.26a
   16進表示部の Ctrl+C で、選択部分をタブ区切りでクリップボードへのコピーを追加
 2022/11/21 Ver.1.26b
   LRA1 からの文字列に "ERROR"(大文字、小文字区別なし)を含む時、時刻を追加して表示するを追加
 2022/12/07 Ver.1.26c
   配列変数の添え字の加減算でマイナスが使えなかったのを手直し
 2022/12/12 Ver.1.26d
   LRA1 からの応答文字列で先頭の空白が削除されていたのを手直し
 2022/12/15 Ver.1.27
   強調表示に SPIBAUD, SPITRX, BSWAP16, BSWAP32, SWAP を追加
 2022/12/30 Ver.1.28
   メニュー「エディター」に、「コード整形(インデント調整のみ)」 を追加
 2023/01/02 Ver.1.29
   LRA1 ソフトウェアリファレンスマニュアル(テキスト版)の表示を追加
   (LRA1_Aid.exe と同じフォルダ内に LRA1_Aid2.exe が必要)
 2023/01/03 Ver.1.29
   エディター部のポップアップメニューに コピー、ペースト、カットを追加

 2023/01/05 Ver.1.30
   LRA1_Aid.exe -> LRA1_Aid2.exeの連携を追加

 2023/01/06 Ver.1.30a
   キャレット位置によって、LRA1_Aid2.exe への転送文字列の切り出しが正しくできなかったのを手直し

 2023/01/09 Ver.1.31
   LRA1_Aid2.exe に [評価ボードピン配置] [ウィンドウ整列] [全文検索][*演算子] 他のボタンを追加
   [F2] または [Ctrl + SPACE] キーで入力候補と解説3行の表示を追加
   "DISTANCE" が強調(色付き)表示されないのを手直し
   エディター部のマウスダブルクリックで入力支援または HELP 表示を追加
   LRA1_Aid2.exe に作業エリアを追加
 2023/01/09 Ver.1.31a
   "RANDOMIZE" が強調(色付き)表示されないのを手直し
 2023/01/10 Ver.1.32
   "BUP1, BUP2" の強調(色付き)表示に対応
 2023/01/13 Ver.1.33
   入力支援の解説行を最大60行に変更
   [Ctrl+Shit+Space] で LRA1_Aid2.exe が起動されなかったのを手直し
   PdfToTxt Trial を同梱、メニュー「ヘルプ」から起動可能に
 2023/01/15 Ver.1.33a
   入力支援で Ch, Inp, To の解説が表示されなかったのを対策