Crescentスマートフォン専用ページを表示Crescentあると毎日がハッピーになるちょっと未来なデバイスやモノづくりのノウハウを発信、提案します。Writerを開発しましたので、紹介したいと思います。/SLG47004にプログラムを書き込む方法として、下記の方法があります。Hubからデバッグや書込が可能な1.のSLG4DVKGSDが王道ですが、流通量が少ないようで、在庫なしのタイミングが多々あるのが難点です。その次に多いのは2.のArduinoからの書込ですが、コード上にプログラムを埋め込んでいるため、プログラムを変更する度にArduino側も書き換えが必要なため、手間が非常にかかります。確定したプログラムを大量に書込する場合は2.や3.が便利ですが、試行錯誤しながら使用する場合で、1.を使用しない場合は非常に不便でした。Writerを開発しました。APIを活用して、ブラウザから直接、COMポートを介してI2CデバイスのGreenPAKを制御しています。そのため、スクリプトはすべてブラウザ内で完結しているため、クラウド等を介さずに書込や読込等の操作をすることが可能です。使用方法は下記の手順で行います。�@事前に上図のようにUSBシリアルI2C変換基板V2のRST端子とIO0をケーブルでジャンパさせます。�AUSBシリアルI2C変換基板V2とGreenPAKをI2Cで接続してPC等のUSBポートにUSBシリアルI2C変換基板V2を接続します。Address)をPing機能で確認します。多くのデバイスの初期状態は0x01(0x08)です。�CNVM消去を行います。Writerに読み込ませて、NVM書込を実行します。�EGreenPAKの電源を一旦切ってから再度、投入すると書き込んだプログラムが実行されます。�@でRST端子とIO0をジャンパさせる理由はSLG46824/SLG46826でNVM消去時にACKを返さないというエラッタがあるためです。エラッタによってI2Cに準拠しない挙動をします。そのため、消去時にI2C通信エラーが毎回発生して以降のI2C通信ができません。対策としてページ消去ごとにUSBシリアルI2C変換基板V2内のSC18IM704をリセットさせて、I2C通信エラーを強制的にクリアさせています。SLG47004ではこのようなエラッタはないため、ジャンパは不要ですが、SLG46824/SLG46826に合わせてジャンパさせてあっても問題ありません。GreenPAKの設定メモリの書き込みや削除は1ページ16byte単位となっており、1ページ毎に書き換える必要があります。USBシリアルI2C変換基板V1ではSC18IM700を搭載しており、バッファサイズが16byteです。コマンドやアドレスを含めると20byte以上になり、バッファサイズ16byteを超えるため、書込ができません(分割して書込できない)。そのため、バッファサイズが256byteに拡張されたSC18IM704を搭載するUSBシリアルI2C変換基板V2のみ対応しています。現在販売[スイッチサイエンス、Elecrow]しているUSBシリアルI2C変換基板はすべてSC18IM704を搭載したV2です。MTPタイプのデバイスはSLG46824/SLG46826/SLG47004の他に先日発表されたSLG46827もありますが、まだ入手できていないため、使用可能か現時点では不明です。個人的にはSLG46824/SLG46826よりも、エラッタがなく、アナログ機能が強化されたSLG47004が好みです。SLG47004を活用したデバイスを今後、紹介したいと思います。Writer(09/14)シーリングカバー(08/17)TkEasyGUIへの移行(07/20)pico-sdkディレクトリ変更時のポイントCrescentあると毎日がハッピーになるちょっと未来なデバイスやモノづくりのノウハウを発信、提案します。モーションコントロール、ロボット製作、ロボット制御、組込機器等の研究、開発を専門として行っております。販売プロダクト一覧はこちらで紹介しています。下記でもご紹介しておりますProjectionBall公式WebFacebookPageGitHubProjectionBallの質問や購入相談は下記にお願いいたします。2.0Seesaaブログ。