Firmware version 1.1

@fenrir-naru fenrir-naru released this Apr 11, 2016 · 95 commits to master since this release

Change log from Firmware version 1.0

  • Add support for running telemeter setup script before starting up.
    • For UART1 device connected to the CON3 connector(see BOM and schematics), setup procedure such as AT command communication is supported by inserting a Micro-SD having a file named "tlm.exp".
    • An example "tlm.exp" for esp8266 is in the repository. It is noted that the esp8266 baudrate differs from the default baudrate of NinjaScan-Light, therefore the configuration must be changed before running this script according to v1.0+Firmware release note. The hint is using renew_cfg_gen.rb with replacing 9600 to 115200.
    • The format of "tlm.exp" are the followings. It is line oriented.
      • A line starting with '@' followed by digits is a command to wait for the specified milliseconds. Spaces after '@' are ignored.
      • A line starting with '$' followed by characters is a command to send the characters to the UART1 device. Spaces after '$' are ignored. Some '' escape characters are recognized; '\' (backslash itself), '\n' (newline, LF), '\r' (carriage return, CR), and '\xHH' (any byte specified by two hexadecimal(H) characters).
      • A line starting with '>' followed by nothing or any characters is a command to wait until receiving everything or the specified characters followed by endline character(s) (CR or LF or CRLF) from the UART1 device. Spaces after '>' are ignored. The size of the characters to be matched is limited to seven due to the internal buffer size. The timeout for reception is 1000 ms, therefore to combine the '@' line is considerable when it is assumed that the UART1 device requires longer time. If the match is successfully performed, the script will be continued according to the next lines; otherwise, the script is stopped immediately with the error flag of the UART1 device, which prevent further telemetry.
      • A line starting with a character except for the above three '@', '$', and '>' is ignored.
  • Some minor bug fixes.

Firmware version 1.0 からの変更点

  • テレメータ設定スクリプトをサポートするようになりました。
    • CON3(BOMや回路図参照のこと)の先につなげたUART1デバイスに対して、"tlm.exp"というファイルをMicroSDに用意することで起動前のセットアップスクリプト(例えばATコマンド)を実行できるようになりました。
    • 例としてesp8266用の"tlm.exp"を置いておきます。なおesp8266のボーレートは初期設定と異なるので、v1.0+Firmwareのリリースノートを参考に設定を変えてください。このときrenew_cfg_gen.rbは9600が115200になります。
    • "tlm.exp"のフォーマットは以下のとおりです。行単位で意味を構成します。
      • @とそれに続く数字の行は、数字で指定したミリセカンド時間待つ命令です。@と数字の間の空白は無視されます。
      • $とそれに続く文字列の行は、UART1デバイスにその文字列を送信します。 $の後の空白は無視されます。エスケープ文字として'\' (バックスラッシュ)、'\n' (LF), '\r' (CR), '\xHH' (2つの16進文字であらわされる任意の1バイト)を文字列では使うことができます。
      • のみの行、または、>とそれに続く文字列の行は、UART1デバイスから行末(CR、LF、またはCRLF)まで全て、または、指定の文字列を受信するまで待ちます。>の後の空白は無視されます。指定の文字列は(内部のバッファの制限があるため)最大7文字まで一致が試みられます。UART1デバイスからの受信タイムアウトは1000msで固定されているため、応答に時間がかかると予期される場合は@の行と組み合わせて使うことを検討してください。一致した場合は次の行へと実行が進みます。それ以外(一致しなかった場合や受信タイムアウトの場合)はUART1デバイスがエラーと認識しスクリプトの実行を中断、以降のテレメトリ送信を断念します。

      • @、$、>以外ではじまる行は無視されます。
  • その他、軽微なバグフィクスをしています。

Downloads

Firmware version 1.0

@fenrir-naru fenrir-naru released this Mar 3, 2016 · 107 commits to master since this release

Change log from Firmware version 0.9

  • Improve direct connection feature; not only to the GPS receiver, but also to a UART1 device.
    • Previously, you can talk only to the GPS receiver on NinjaScan-Light via USB by inserting a Micro-SD having a file named "direct.gps".
    • Since this release, you can also talk only to a UART1 device connected to the CON3 connector(see BOM and schematics) by using a file named "direct.tlm".
    • It is also noted that when you use this direct feature, the baudrate configured under communication device class of USB, for example, baudrate of a NinjaScan-Light COM port recognized by a PC, is reflected precisely to the corresponding UART baudrate since this release. It means that you have to set appropriate baudrate in order to communicate to the devices. For reference, the default baudrate of the onboard GPS receiver is 115200bps.
  • Improve transmitting data feature before boot; not only to the GPS receiver, but also to a UART1 device.
    • Previously, you can send some data to the GPS receiver on NinjaScan-Light before boot by inserting a Micro-SD having a file named "gps.cfg".
    • Since this release, you can also send some data to a UART1 device by using a file named "tlm.cfg".
  • Add logging feature for reception data of UART1 device.
    • The data received via UART1 is logged as 'C' page, whose structure is a 'C' character and following 31 byte reception data.
  • Add permanent configuration renewal feature.
    • Previously, various configurations represented by which kinds of information the onboard GPS receiver outputs were hard coded, for example, gps.c.
    • Since this release, these configurations can be modified by a user.
      1. Generate a file named "renew.cfg" which describes new configurations.You can get "renew.cfg" by running a Ruby script "newrew_cfg_gen.rb" with your customization (see the comments in the file).
      2. Save the file in a Micro-SD card, then boot NinjaScan-Light with the Micro-SD inserted.
      3. If successfully the new configurations are installed into the ROM of the NinjaScan-Light, "renew.cfg" file will be updated; "!RENEWED!" string will be added to the last of the file. Otherwise, no update.
      4. Furthermore, the updated "renew.cfg" having "!RENEWED!" string is harmless for later boots, because of mismatch of file size required for the feature.
  • Some minor bug fixes.

Firmware version 0.9 からの変更点

  • GPS受信機だけとではなく、UART1につながったデバイスともUSBで直結できるようになりました
    • これまでは"direct.gps"というファイルが入ったMicroSDを入れて起動することで、USB経由でGPS受信機とだけ直通で通信することができました。
    • 以降のリリースではCON3(BOMや回路図参照のこと)の先につなげたデバイスに対しても、"direct.tlm"というファイルが入ったMicroSDを入れて起動することで、直通で通信できる機能が盛り込まれました。
    • なお今回のリリースから、USBで設定されるボーレート(例えばWindows PCではCOMとして認識されますが、そのCOMのボーレート)はちょっとすごいロガーのUARTのボーレートとして正しく反映されます。すなわち正しいボーレートを常に設定する必要があります。ちなみにデフォルトのGPS受信機のボーレートは115200bpsです。
  • 起動時にUARTデバイスにデータを転送する仕組みをGPS受信機だけではなくUART1につながったデバイスに対しても行えるようにしました。
    • これまではMicroSDの"gps.cfg"というファイルの内容が起動時にGPS受信機に転送されていました。
    • 今回のリリースからはUART1にながったデバイスに対しても、MicroSDの"tlm.cfg"というファイルの内容が起動時に転送されます。
  • UART1から受信したデータを記録するようになりました。
    • 'C'ページに記録されます。その構造は先頭が大文字の'C'で残り31byteが受信データです。
  • 設定を永続的に変更する仕組みが加わりました。
    • これまではGPS受信機が出力する情報の設定などはgps.cに見られるように、ハードコートされていてファームウェア全体を書き換えなければ変更できませんでした。
    • 今回のリリースからはこれらの設定をファームウェアを書き換えずに変更できます。
      1. 新しい設定を書いた"renew.cfg"というファイルを作成してください。Rubyスクリプトの"newrew_cfg_gen.rb"を望みの設定にあわせて編集(ファイル内コメント参照のこと)し、これを起動すると"renew.cfg"が作成されます。
      2. このファイルをMicroSDに入れ、ちょっとすごいロガーを起動してください。
      3. 設定がちょっとすごいロガーのROMに取り込まれると、"renew.cfg"ファイルが更新されます。 ファイルの中身の最後に"!RENEWED!"がつけたされます。失敗した場合は更新されません。
      4. なお"!RENEWED!"がついた"renew.cfg"がMicroSDにそのままになっていても、以降の起動に対してなんら影響を与えません。ファイルサイズを見て適切なファイルかどうか判断しているためです。
  • その他、軽微なバグフィクスをしています。

Downloads

Firmware version 0.9

@fenrir-naru fenrir-naru released this Feb 26, 2016 · 155 commits to master since this release

Change log from Firmware version 0.8

  • Add NinjaScan-Light ver.2 support.
    • There are two versions; NinjaScan-Light ver.1, and NinjaScan-Light ver.2, which have a combination of MPU-6000 (IMU) and MAG3110 (magnetic), and a MPU-9250 (IMU and magnetic integrated), respectively. These firmwares are different. Please use appropriate one.
  • Reduce time synchronization error.
    • By handling GPS data more precisely with narrower margin (see diff) etc., reduce time synchronization error.
  • Some minor bug fixes.

Firmware version 0.8 からの変更点

  • ちょっとすごいロガー ver.2のサポート
    • このリリース以降、ちょっとすごいロガーには2バージョンあります。MPU-6000(IMU)とMAG3110(地磁気センサ)の組み合わせを搭載したver.1と、MPU-9250(IMUと地磁気センサが統合されている)を搭載したver.2です。ファームウェアがそれぞれに用意されていますので、適切なものをお使いください。
  • 時刻同期エラーを低減しました。
  • いくつかの軽微な修正

Downloads