*****1.26f 2024/3/27****** ver 1.26.f 1.26d-1.26eで発生した不具合の修正 *****1.26e 2024/3/26****** ver 1.26.e ・If〜Then 後の EndIf までの間に Wan_Dr,Wan_Cnf,Wan_Adr があると Syntax Error が発生することがある不具合を修正 *****1.26d 2024/3/11****** ver 1.26.d ・冗長な内部処理を見直し ・Error時の処理変更 *****1.26a 2024/2/26****** Ver 1.26.a(非公開バージョン) ・CTRL変数の設定で、SLEEPコマンドが通常の内部32Kクロックで SLEEPできるようにしました。(いままでは内部超低電力32Kのみ) 内部32Kにすると消費電力は若干増えますがクロックの精度が良くなります。 (DEEPコマンドは適用外) ・FLASHの初期化時にWAN関連の設定値がデフォルトに設定されない ことがあった不具合を修正 *****1.25c 2024/2/20****** * Ver 1.23.c以降で16進数文字列の数値変換に不具合が あったのを修正しました。 * Wan_Drに0または1を設定したとき、デフォルトのDR2に 設定されないことがあった不具合を修正しました。 * Join中は各種keyの設定不可としました。 * Wan_Unjoin後にWan_ChListがデフォルト状態に戻って いなかった不具合を修正しました * Wan_TimeReqの仕様を変更しました 取り消し不可となりました。 Wan_Lengthに反映されます。 以下は実験的な実装です。不具合があるかもしれません。 状況によっては仕様変更または削除する場合があります。 * Wan_DutyTime 変数を追加(現在の送信制限時間を取得) * Wan_LastTxCh 変数を追加(最後に送信したCHを取得) * Wan_DwellStat 変数を追加(現在のDwell状態を取得) *****1.24d 2024/2/7****** ・AUTO変数の設定で、既に設定済みの文字列が残ってしまう不具合を修正しました Ver1.20.b以降でこの不具合が発生していました。 *****1.24b 2024/2/5****** Ver 1.24.a ・TOINT関数の仕様変更 詳細はソフトウェアリファレンスマニュアルを参照ください。 *****1.24a 2024/1/22****** Ver 1.24.a ・ToInt関数を追加 ・BASICプログラムのプロテクト機能を追加 ・その他軽微な変更 詳細はソフトウェアリファレンスマニュアル、LoRa-Wan_リファレンスマニュアル を参照ください。 *****1.23b 2024/1/11****** Ver 1.23.b ・LoRa-Wanモード(wan_mode=1)で使用した場合にsleep電流が増える不具合の修正。 ・その他 Bug-Fix *****1.22b 2023/9/25****** Ver 1.22.b ・psave%, pload% でLoRaによるUpload/Downloadを追加 ・pload&, pload% にappendモードを追加 ・プログラム実行中のdeleteコマンドを許可 ・CTRL変数の設定ビットを追加 ・DEBUG変数を追加(非公開、内部で使用) ・Ploadの引数を見直し(ver1.22.aに対して) ・その他 Bug-Fix *****1.20a 2023/8/25****** ・PSAVEで不具合が出る場合があったため修正 ・入力編集機能の追加 ・INT24/MChr/LChr関数を追加 ・Txdm/Rxdm変数を追加 ・ソフトの内部構造を一部見直し *****1.18e 2023/8/1****** ・Txdw / Rxdw, Txdwl / Rxdl の不具合を修正。 ・プログラム容量について Ver 1.18.a 以降は試験的にBASICプログラムエリアの容量を既存の4192byteから8192byteに増やしましたが、 Ver1.18.e からはこの容量(8192byte)を公式としました。 *****1.18d 2023/7/31****** ・PrintコマンドでカンマがTABにならなかった不具合を修正 ・Clockの値が22ビット以上の時に参照値が不正になることがあった不具合を修正 ・Milisec変数を追加(直前のClock変数参照によるClockミリ秒を取得)←実験的な実装です *****1.17c 2023/6/1****** ・Sleep/Deepに引数を追加しました。 追加の引数を指定しないときは、今まで同様に動作します。 この引数でSleepコマンドからの復帰条件にUp/Down/Bothエッジ、 High/Lowレベルトリガーを直接指定できます。 Deepコマンドでは、High/Lowのレベルの直接指定が可能となります。 ・Sleepのmode引数があるときはtimeが正でもPA06で復帰するようにしました。 ・その他軽微な変更 *****1.17a 2023/4/11****** ・TIMEVAL関数を追加(日時→シリアル秒への変換) ・WAN_TIMEREQ変数を追加(LoRaWANサーバーから日時を取得できる) ・TXWAVEコマンド、CADコマンドを追加 ・RECVコマンドの引数に仕様追加 ・数値文字列化機能に仕様追加 ・その他軽微な変更 *****1.16a 2023/1/10a****** バージョン番号のみ変更です。 *****1.15e 2023/1/10****** ・BUP変数をBUP1,BUP2の2つに変更 ・些細なバグを修正 *****1.15d 2023/1/9****** ・BUP変数を追加 リセットやDEEPからの復帰でも値を保持する変数です。 (電源ONリセットは除きます) ・OUTP/INPの対象にPA04,PA05を追加 SLEEP/DEEP時にPA04/PA05がGPIOになっていた場合は、 その状態を維持するようになります。(復帰時にはUARTに戻ります) ・代入'='で左辺を省略できるようにしました。 ・CTRL変数で複合代入を可能としました。 ・些細なバグ修正 *****1.15c 2022/12/28****** ・BRKCH変数でキャラクタとBreak信号の同時設定を可能にしました。 ・SPIBAUDでSPIモードを設定可能にしました。 ・軽微な修正 *****1.15a 2022/12/15****** ・SPI関連のコマンドを追加しました。 詳細はソフトウェアリファレンスマニュアルを参照ください。 ・軽微な修正 *****1.14c 2022/11/30****** ・UART,UART2のボーレート設定にパリティを追加 「例:BAUD=115202」(115200bps,Parity-Even) ・BASICに単項演算子の --, ++ を追加 「例:A++」 ・BASICに複合代入演算子(+=,-=など)を追加 「例:A*=2」 ・演算子に累乗(**)を追加(POW関数と同じ) 「例:A=B**2」 ・16進数文字列への簡単な変換方法を追加 「例:? $(A)」 ・演算子に些細な不具合があったのを修正しました *****1.13h 2022/11/4****** ・Wan_Txで設定によっては送信エラーまたは再起動する不具合を修正 ・Join状態でWan_Joinコマンド実行すると再Joinしないで"Already_joined"を表示するようにした。 ・軽微な修正 *****1.13g 2022/11/2****** ・ADCのポートがPA06のときにハングアップする不具合を修正 Microchipから提供のADCライブラリにバグがあったのが原因です ・ADC(28)でCPU温度を補正値で変換した0.1℃単位の値を取得するようにしました。 ・Deep/SleepでPA06を使用するまでは、PA06のポートをHi-Zのままとしました。 WAKEUPが指定されたDeep/Sleepの実行時にPull-up/downします。 *****1.13f 2022/10/25****** ・BRKCH変数が0以外でもBREAK信号が有効だったバグを修正し、 マニュアルどおりの動作にしました。(BRKCH=0のみBREAK信号が有効) *****1.13e 2022/10/3****** ・GETS,UGETS,UTRANSにタイムアウト機能を追加 ・^文字列の文字列長参照機能を追加 ・文字列を括弧を囲むと数値(16進数もOK)として扱うようにした。 (数式の任意位置に文字列の記述が可能になった) *****1.13b 2022/9/27****** ・ラベル関連のバグを修正しました。 ・数式中でのラベル使用、"_"単体使用の機能を追加 Ver1.13.aでの変更(非公開バージョン) ・Renum、Listコマンドのバグ修正 ・ProgOverFlow時のバグ修正 ・Null定数の文字列対応 ・Error変数の機能追加 ・Cause変数の追加(起動要因取得) ・Catchコマンドの追加(エラー処理ハンドラ) ・内部的な処理の見直し(バグ修正を含む) (詳細な内容は以下のリファレンスマニュアルを参照してください。) *****1.12e 2022/9/16****** ・ラベル中に英小文字があるとList表示がおかしくなる不具合を修正 *****1.12c 2022/9/13****** ・BASICのコメントと文字列リテラルにUTF-8の文字コードを 使用出来るようにしました。 (TeraTermでBackSpaceキーによる全角文字の削除も対応します) *****1.12b 2022/9/8****** ・LoRaWANで外部クリスタル(32.768kHz)が必要でしたが、本バージョンから 外部クリスタルがなくてもLoRaWAN接続が出来るようになりました。 詳細は、ソフトウェアリファレンスマニュアル(Ver.1.28)、ソフトウェアLoRaWANリファレンスマニュアル(Ver.1.13)を参照ください。 ・大幅な内部変更を行いました。 ・軽微な不具合の修正 *****1.09c 2022/6/29****** ・BME280で気温が40℃近くになると正しく計測できない不具合を修正 ・AESKEY変数を追加し、P2Pモードでデータを秘匿化できるようにしました なお、LoRaWAN仕様では常にデーターをAESで秘匿化しています ・内部的なコードの見直し *****1.08d 2022/6/2****** ・RECVコマンド実行時に、パケット受信とタイムアウトが同時に発生した時の不具合修正 ・RECVコマンドの引数が負数のときは、受信データ表示はせずにエラーは表示 していましたが、ver1.08dからは受信データーとエラーのどちらの表示もなくしました。 引数に正数を設定したときは、いままで同様に受信データとエラーを表示します。 (BASICプログラム動作時に、何も表示させたくない場合に対応) *****1.08c 2022/2/24****** recv コマンドで待ち時間に負数を指定すると待ち時間はその絶対値となり、 受信があると受信データを表示してからコマンドを抜けるようにしました。 ただし、待ち時間に-1を指定した場合に限り、引数無しの場合と同様に タイムアウトしません。 *****1.08a 2022/2/4****** ・BASICで、WHILE/DO/LOOPやFOR/NEXTが多重のときに不具合があったのを修正 ・Wan_Length変数を次パケットでの実送信可能バイト数とした *****1.07g 2022/1/27****** ・Wan_AppEui -> Wan_JoinEui に変数名を変更 (LoRaWAN仕様で名称が変更されたことに合わせた) LoRaWanリファレンスマニュアル(v1.10)に反映 ・Wan_DevAddrがJoin後に正しく反映されないことがあったのを修正 ・管理モードでなくてもWan_DevAddrを参照可能とし、状態表示にも追加。 ・Wan_Txの引数の不具合を修正 *****1.07e 2022/1/13****** ・SLEEP/DEEPコマンド実行時に、UARTの送信バッファが残っていたら 全データの送信完了後にSLEEP/DEEPするようにしました。 ・BME280制御 BME280のオーバーサンプリングを「x1」から「x8」に変更 フィルター係数は「x16」から「x8」に変更 ・Wan_UpCnt / DownCnt がSleep/Deep後に再設定される不具合を修正 *****1.07b 2021/12/13****** DATETIMEコマンドの日付計算に誤りがありました。 計算結果が12月の場合におかしくなっていたのを修正致しました。 *****1.07a 2021/11/02****** ■ATAN2関数を追加しました。 y/x の逆正接を求める関数 書式:ATAN2( 引数x, 引数y ) y/x の逆正接の計算結果が戻ります。 計算結果は-πから+πラジアンですが、本関数からの戻り値は計算結果x1000000となります。 したがって、計算結果を 17453 (1000000*π/180) で割ると度が求まります。 引数xが0の場合の戻り値は0となります。 一般的なAtan関数は計算結果が-π/2から+π/2ラジアンですが、本関数はx<0の場合でも正しい角度を計算します。(詳細は以下を参照) https://ja.wikipedia.org/wiki/Atan2 例) >? atan2(10,10) 785398 >? atan2(10,10)/17453 45 >? atan2(30,-10) -321750 *****1.06b 2021/11/01****** ■Distanceコマンドを追加しました。 GPSで計測した2地点間の距離と角度を求めます。 書式:Distance [引数] 引数には本コマンドで使用する配列変数の先頭index(0〜250)を指定します。 引数が省略された場合は引数に0が指定されたとみなされます。 以下のように、配列変数に2地点の位置情報(緯度/経度)を設定し、 演算結果はそれに続く配列変数に格納されます。 ・位置情報 @(index+0) : 地点1の緯度 (度を1000000 倍した値)、南緯は負数 @(index+1) : 地点1の経度 (度を1000000 倍した値)、西経は負数 @(index+2) : 地点2の緯度 (度を1000000 倍した値)、南緯は負数 @(index+3) : 地点2の経度 (度を1000000 倍した値)、西経は負数 ・演算結果 @(index+4) : 地点2の距離 (単位メートル) @(index+5) : 地点2の角度 (度を1000000 倍した値)、真北は0 (使用例) 10 @(1)=35710568 20 @(2)=139707339 30 @(3)=35669238 40 @(4)=139890923 50 Distance 1 60 Print @(5) 70 Print @(6) >run 17224 105439186 OK *****1.05g 2021/10/20****** ・Deep/SleepでRxLEDが点灯したままの時があった不具合を修正 ・Printコマンドや文字列指定に、'.'(ドット)を追加しました。 '.'のところが直前のPrintコマンドの内容となります。 例) 10 Print "ABCD";Form("02d",A) 20 Print . ただし、改行コードも含まれることに注意してください。 また、Uart1とUart2に同じ内容を出力したい場合 以下のように記述できます。(逆も可能) Print "123456":Uprint .; *****1.05f 2021/10/10****** BASICのIF文での条件判定で、複数の条件を&&でつなげたときに 計算後の条件によってはSyntax Errorになるときがあったのを修正。 *****1.05e 2021/09/27****** 出荷時のDevEUI(LoRaWANモード)は固定の初期値になっていましたが、 S/Nを基にしたDevIdをDevEUIに設定するようにしました。 DevEUIの値をDevIdにするには上記アップデート後に以下のいずれかの 操作をしてください。 ・方法1 コマンドでDevEUIにDecIdの値を書き込む。 WAN_DEVEUI=$"DevIdの値" ・方法2 アップデートツール(V1.08)にて初期化する。 (他のパラメータも初期化されますので内容をメモしておく事をお勧めします) ・方法3 コマンドで WAN_DEVEUI=$"" で一旦値を0にしてssave。 再起動するとDevEUIにDecIdの値が書き込まれます。 *****1.05d 2021/09/16****** ・BASICでエンコード付きのPRINT命令がエラーになってしまったのを修正。 例:「$print a」 V1.05cのみでの問題を修正 ・「Wan_Tx」で「Wan_Cnf=1(送達確認有り)」のとき、  Downlinkデータが無くても、受信したConfirmでRSSI、SNRを更新するようにしました。  なお、JoinのときはRSSI、SNRは更新しません。(機能なしのため) *****1.05c 2021/07/12****** COMM通信で動作がおかしくなってしまったのを修正(1.05aで発生) *****1.05a 2021/07/07****** GPS受信がうまくいかなかった時があったのを修正 GLONASS/GALILEO/みちびき対応 UART2関連のコマンドを追加しGPS以外の制御ができるようにした I2C関連のコマンドを追加し、BME280以外のI2Cデバイスにアクセス出来るようにした。 その他細かい不具合修正 *****1.03c 2021/05/10****** GPS受信コマンドにHDOPのパラメータを追加 その他マイナーバグの修正 *****1.03a 2021/04/30****** LoRaWANモードでsleepから起き上がれなくなる場合があったのを修正 LoRaWANのその他細かい部分の修正 COMM通信時の不具合修正 送信busyビットの追加 *****1.01g 2021/03/24****** 外部クロックの識別方法を修正 *****1.01b 2021/03/03****** Xtal32k(低速クロック32.768kHz)の設定を追加 Xtal32k=0(内部クロック) Xtal32k=1(外部クロック) LoRa-WAN使用時は外部水晶振動子の接続を確認し、 外部クロックに設定してください。(SSaveで設定保存可) 詳細はハードウェアマニュアル(Ver1.22以降 LoRa-WAN対応の項目)を参照ください *****1.00a 2021/02/08****** LoRa-WAN対応 詳細はLoRa-WANソフトウェアリファレンスマニュアル(V1.05以降)参照ください その他マイナーバグの修正 *****0.39j 2020/09/01****** CTRL変数の一部の動きがおかしかったのを修正 その他マイナーバグの修正 *****0.39g 2020/08/17****** UART2に正式対応 PWMに正式対応 GPSのコマンドを追加 双方向通信モード追加 これらのアップデートに伴い以下のコマンドを追加/修正 PWM、TRANS、GPS、DATETIME コマンド、TXDL、RXDL 変数を追加 TICK、CLOCK、INP、OUTP、COMM の変更 詳細はソフトウェアリファレンスマニュアル(V1.14以降)参照ください。 *****0.39b 2020/08/08****** 0.38bでプログラムの入力ができない問題の修正(dip化ボードの一部ロットに出荷) UART2に対応 PWMに対応 詳細はソフトウェアリファレンスマニュアル参照ください。 *****0.36a 2020/06/23****** BASIC命令でdeleteコマンドの不具合の修正 *****0.35c 2020/05/13****** 内部処理の変更 (仕様に変更はありません) *****0.35a 2020/04/14****** FSK受信時の不具合修正 その他内部処理の変更 *****0.33f 2020/04/02****** 消費電流関連の修正 *****0.33b 2020/03/27****** 細かい部分の修正 *****0.31b 2020/02/26****** リリースバージョン