2020-04-01から1ヶ月間の記事一覧

4月のまとめ

進捗 EtherCAT-IPゲートウェイと通信するAndroidアプリ作成 イベント等 4/11 第3回デジもくオンライン 4/18 第4回デジもくオンライン 4/25 第5回デジもくオンライン GitHub公開 github.com 所感 今月はSOEMのNucleo対応が難航したこと、入荷予定だったM5Stac…

UIスレッドで実行させる (雑な話)

UIスレッド(メインスレッド)以外のスレッドからUIを操作したいとき、Windows (.NET)でもAndroid (Java)でも直接操作することは許されない。そういうときはUIスレッドに処理を依頼する形を取る。WindowsならControl.Invoke()またはControl.BeginInvoke()、And…

SW4STM32での謎の不具合

Windows版のSW4STM32でデバッグを実行しようとすると、「OpenOCD Binary not found」というエラーが発生した。いろいろ試行錯誤したところ、デバッグの構成で「OpenOCD Command」の指定に拡張子「.exe」を付ければ解決した。「.exe」が無いとエラーが発生。 …

メモ:追加のボードマネージャのURL

Arduino IDEでサードパーティー製ボードのパッケージをインストールするためのボードマネージャのURLをメモ。 (2021/11/23 追記)M5Stack https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json ESP32 https://dl.espre…

メモ:Eclipse CDTでMakefile生成を抑制

Eclipse CDT系のマイコン開発環境であるSW4STM32でMbed OS5のプロジェクトをビルドすると、毎回Makefileの生成が行われ数分を要するということがある。Mbed OS5のソースファイル数が膨大なためである。このMakefile生成を次回から省略するには、プロジェクト…

メモ:MBED_COMPILER_BARRIERでビルドエラー

Mbed OS5 からSW4STM32にエクポートしてビルドすると、mbed_toolchain.hの下記の行で「'asm' undeclared」というエラーが発生する。 #define MBED_COMPILER_BARRIER() asm volatile("" : : : "memory") ビルドに用いるコンパイラの違いによるものである。下…

メモ: 未使用変数の警告を回避するマクロ (C言語)

コンパイル時に未使用変数の警告を出してくれるのは有用であるが、特定の変数が未使用であることを許容したい場合もある。そのような場合に下記のようなマクロを用意しておくと便利である。 #define UNUSED(x) (void)(x) 例えば下記のように使う。これによっ…

Androidアプリのレイアウトを動的に変化

やりたいこと Androidアプリの画面(Activity)のレイアウトの一部を実行時に動的に変化させたい やりかた Activityのレイアウトで、動的に変化させたい部分のLayout要素に名前(id)を付けておく。ここでは hoge とする。 <LinearLayout android:id="@+id/hoge" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> </LinearLayout>…

メモ:adbでプリファレンスを読み出す方法

Androidアプリで設定データを保存するにはプリファレンス(SharedPreferences)を用いるのが簡単で一般的だが、その実体はXML形式のファイルで保存されており、以下の手順で内容を確認できる。たとえば、net.lipoyang.hoge というパッケージ名のアプリの、Piyo…