趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。コンテンツへスキップともの技術メモ趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。T-Cameraで監視している3Dプリンタですが、DHCPでアドレスを振っているのでたまにIPアドレスが変わってしまうことがあります。そこで、MACアドレスを検索してブラウザで開くbashスクリプトを書いてみました。${ip}fi2行目のgrepのところにあるのがMACアドレスです。chromeのシークレットモードで開くという単純なものです。小型PCのSSDをリムーバブルに改造あまり使用していないPCがあるのですが、これを実験用にするため、SSDをリムーバブルに改造してみました。改造後の状態はこんな感じです。スリムFDD取付用の場所にマウンタを作って付けてみました。基板は使わなくなったセンチュリーの「裸族のインナー(CRIN2535)」の基板だけを流用してみました。7mm厚のSSDしか使えませんが、SSDも安くなっているので問題ありません。1台、同じケースのPCがあるのですが、こちらも今マウンタを出力中です。これで安いSSDを付けて実験マシンにしたいと思います。写真ではわかりませんが、今回はABSで出力したのですが、やはり反りが結構きついです。自分の使い方だと寸法を十分に検討してPLAで出力するほうが楽なようです。NanoでLチカにトライしてみます。Examplesをクリック(3)します。GD32Vのarduino-blinkをクリックして選択して、Importをクリックします。サンプルプロジェクトが作成されますので、プロジェクトディレクトリの中のplatform.iniを選択(1)して編集します。ボード定義のうち、不要な部分(gd32vf103v-evalの方、2の部分)を削除します。dfuを3の部分(env:sipeed-longan-nanoの中)に追加します。更新したら1のマークをクリックしてビルド(コンパイル)します。成功すると2のような感じで結果が表示されます。Nano(sipeed-longan-nano)の両方のビルドがされるようですボードのgd32vf103v-evalの定義を消し忘れてました。ちなみに、ソースコードは左側のツリーのsrcの下にBlink.cppがありますので、そこで確認できます。NanoのBOOT0ボタンを押しながらRESETを押して(離して)、BOOT0ボタンを離すと書き込み準備ができているはず・・・・です。Nanoが動作を始める瞬間=RESETが離される瞬間にBOOT0が押されていればOK)1のチェックマークを押すと書き込みが始まります。画面が流れますが、最終的に2のようにFAILEDという表示が出るのですが、LEDは赤色で点滅を始めます。ソースコードのdelay()のパラメータを変えると周期も変わりますので、書き込みはできています。書き込みもできて、Lチカまで到達しましたが、まだまだの感じです。it.出力を見ると、いくつか課題が見えます。書き込みも評価ボードにも行おうとして失敗していること(まあ、これはいいでしょう)(Linux版の)DFUはGD32VF103には未対応であることがわかります。久々に3Dプリントネットで見かけた写真のデータを探して出力してみました。Nanoについての情報をメモっておきます。Debuggerhttps://docs.platformio.org/en/latest/plus/debugging.html以前秋月で買ったUM232HがJTAGデバッガとして使えるっぽい?ざっくり見ると、こいつが後継というか回路図レベルで同等品に見える。Nanoというボードが入荷していたので買ってきました。簡単に言うと、俗に(かな?)BluePillというSTM32F103C8が載った格安のボード(AliExpressで2ドル以下)がありますが、このボードのCPUをGD32VF103というGigaDeviceという会社のRISC-Vチップに置き換えて、小型のカラーIPS液晶(見た目の雰囲気はOLEDっぽいのですが???)と(写真にはありませんが)MicroSDスロットを追加した感じの仕様のものです。USBのコネクタは今時らしくType-Cになっています。嬉しいことに、これだけの仕様で秋月で830円という激安価格で売っています。写真は公式サイトにあるBadAppleのデモを動かしたものです。(残念ながら、Linux環境ではDFUでのダウンロードがうまく行かず、こちらの記事に従ってWindows環境でファーム書き込みしました)引き続き、開発環境を構築してみます。環境はいつものLinuxMintです。STARTEDにある手順に沿って開発環境を整えてみます。以前、PlatformIOは試してみているので、VScodeのインストールや、PlatformIO(PIOと略されている)のインストールは省いて、GD32Vのplatformの定義のインストールから行います。作業は現時点ではコマンドラインとGUIと両方必要なようです。Terminal」をクリックします。すると、新しいターミナルのペインが開くので、そこで。gd32vと入力してインストールします。environment.完了したら、GUIでの作業です。ACCRESSの中の「Open」をクリックします。開いたダイアログでhttps://github.com/sipeed/platform-gd32v.gitを入力してインストールをクリックします。こんな感じになれば成功です。あと、USBデバイスとして認識できるようにしておきます。/etc/udev/rules.d/99-gigadevice-udev.rulesとして、udevのルールを用意します。1つ目はPlatformIOの推奨のファイルをダウンロードしてきます。GD32VF103用の内容を用意します。MODE="0666"作成したら、認識させておきます。2019年10月28日GitHubを使ってみたこれまでソースコードは自宅内サーバ上に保管していたのですが、いつもぐちゃぐちゃでわけがわからなくなっているので、GitHubのプライベートリポジトリを利用してみることにしました。公式のチュートリアルで理解できたことは以下の通り。1.リポジトリを作る。統合開発環境で最初にプロジェクトを作る、というのとほぼ同じ意味だろうか。していたのが理解できた。2.一時的なブランチを作る一時的に改変して試す環境を作る、くらいの感じだろうか。branches/tags」に新しいブランチの名称を入れる。3.作成したブランチを編集してデバッグなどを行うチュートリアルではブラウザ上で編集できるファイルを編集しているので、ローカルで編集・デバッグする必要のあるファイルの操作方法は別途調べないといけない。Requestを作成するたぶん、「masterブランチにとりこんでね!」という要求。チュートリアルだとどちらも自分なのでわかりにくい概念だけど。2019年10月20日pyftdiでI2C通信pyftdiでI2Cデバイスをつなげてみました。接続したデバイスは昔秋月で買ったLPS331使用の大気圧センサモジュールです。右側のがLPS331使用の大気圧センサモジュール。真ん中のLEDは使用していません。27.53125という感じで気圧と気温を取得できました。これでデスクトップPCでもI2Cデバイスの評価などができて便利そうです。2019年10月19日pyftdiでLチカgpio.pyをベースにpyftdiでLチカしてみました。2019年10月19日pyftdiをテストpyftdiを動かしてみました。pyftdiのインストールまずは、インストールドキュメントをベースに進めます。MODE="0666"以下の内容を実行して再認識させます・・・が、再認識したのかどうかよくわからなかったので、USBケーブルを抜き差ししました。triggerpyftdiを使うため、以下のコマンドを実行します。plugdev・・・が、すでに、plugdevのメンバーになっている旨、表示されました。pyftdiGPIOテストの実施テスト用のスクリプトがあったのでダウンロードしてきます。https://github.com/eblot/pyftdi/raw/master/pyftdi/tests/gpio.py107-108行目の以下の部分をコメントアウトします。gpio.yとしてテストを実行すると、AD7に接続したLEDが消灯⇒点灯しました。