組み込み系

今さらEagleメモ

常にベクターフォントを使う Options > User Interface > Always vector font をチェック 部品のシンボルで型番をVALUEに表示 部品のライブラリでValueのラジオボタンをOffにする。 (Onだとデフォルトで空欄となる。意味不明だがそういう仕様。) 部品のシン…

メモ:FTDIのUSBシリアル変換でCOMポート番号を増えなくする

こちらの記事をもとに確認した。FTDIチップのS/Nによらず、PCの同じUSBポートに挿せば同じCOMポート番号になるようにできる。 要点 事前にデバイスマネージャで「非表示のデバイスの表示」にして既存のFTDIのCOMポートを削除 レジストリエディタで下記のパス…

I2Cのクロックストレッチ

I2Cバスは、通常はマスターがSCLラインを制御することで通信を主導し、スレーブはマスターのタイミングに従います。しかし、スレーブ側の処理が間に合わないとき、スレーブはSCLラインをLowに保持することでマスターを待たせることができます。これを「クロ…

メモ:RTOSのAPIリファレンス

Amazon FreeRTOS Azure RTOS ThreadX

I2CのEEPROMの容量とアドレス指定

I2C接続のEEPROMは、容量によって下記3つに分かれメモリアドレスの指定方法に違いがある。 16kビット(2kバイト) 以下 32kビット(4kバイト) ~ 512kビット(64kバイト) 1Mビット(128kバイト) 以上 16kビット(2kバイト) 以下 このクラスのものは、メモリアドレ…

BLEの最大データサイズ?

今さらですが、BLEの最大データサイズって (BLE4.2以降のデータ長拡張は別として) 何バイトでしょう? 27バイト? 23バイト? 22バイト? 20バイト?資料によってまちまちで混乱しませんか? 中には「20バイト程度」とかボカして書かれてたり。これ、図解す…

EtherCATネタまとめ

個人的に今年取り組んだ最大のネタはEtherCATでした。今年の成果をまとめます。 ブログ記事 (はてなブログ) ソース(GitHub) 動画 (YouTube) スライド資料 (SlideShare) ブログ記事 (はてなブログ) ソース(GitHub) 動画 (YouTube) スライド資料 (SlideShare) …

EtherCATのSDOとかPDOとか

EtherCATに関する文章を読んでいて、何のことわりもなく唐突にSDOとかPDOとかいう異質な言葉が出て来て面食らったことはないですか? SDOとかPDOとかってCANの用語じゃないの? SDOとかPDOとかいうのは、EtherCAT用語というよりは本来はCANopen用語のはず。E…

ExcelマクロでEtherCATの制御

EtherCATについて語る Advent Calendar 2019 はもう埋まりそうなので、こちらはニッチすぎる番外編記事です。 やりたいこと オープンソースのEtherCATマスターであるSOEMをDLL化し、ExcelのVBAマクロから呼び出せるようにする。これによって、ExcelからEther…

GR-SAKURAでEtherCAT

この記事は EtherCATについて語る Advent Calendar 2019 の16日目です。昨日は@nonNoiseさんの EtherCATでステッピングモータ を動かしてみる でした。さて、12月14日に開催されたルネサスナイト15にて「GR-SAKURAでEtherCAT」と題してLTしてきました。今日…

EtherCATマスターSOEMを.NETで使う

この記事は EtherCATについて語る Advent Calendar 2019 の11日目です。昨日は@nonNoiseさんの EtherCAT開発方法 フレーム編(ライトまで) でした。今日はオープンソースのEtherCATマスターであるSOEMをWindows上の.NETアプリで使う方法を解説します。 SOEM…

EtherCATマスターSOEMをマイコンに移植する

この記事は EtherCATについて語る Advent Calendar 2019 の8日目です。昨日は@nonNoiseさんの EtherCAT開発方法 概要編 でした。今日はオープンソースのEtherCATマスターであるSOEMをOS無しのマイコンに移植する上でのポイントをまとめます。(本件の位置づけ…

IoTつくるよ!でのEtherCATに関するFAQ

この記事は EtherCATについて語る Advent Calendar 2019 の4日目です。昨日は@nonNoiseさんの EtherCATスレーブに使える半導体 (1) でした。さて、11月30日(土)に開催されたIoTつくるよ!2に出展し、「ArduinoでEtherCATのデモ」を展示してきました。すこし…

EasyCATのコンフィグ方法

EasyCATとは? AB&T社が開発・販売しているEtherCATスレーブ基板の製品群。この記事ではおもに EasyCAT Shield for Arduino について述べる。その名の通り、Aruino用のシールドである。 EasyCATのコンフィグとは? EasyCATは、出荷時には入力32バイト+出力32…

ArduinoやラズパイでEtherCAT

ArduinoやラズパイでカジュアルにEtherCATを組むまとめ。 EtherCATマスターとEtherCATスレーブ EtherCATスレーブ : EasyCAT + Arduino Uno EtherCATマスター(1) : Rasoberry Pi EtherCATマスター(2) : Ethernet Shield 2 + Arduino DUE EtherCATマスター(3) …

ラズパイのセットアップメモ (ヘッドレス運用)

ヘッドレスでのセットアップと運用 ラズパイをヘッドレス(ディスプレイ、キーボード、マウスを接続しない)で使うためのセットアップ手順を以下にメモする。 母艦: Windows 10 の PC ラズパイ: Raspberry Pi 3B OS: Raspbian Stretch Lite SDカード: 16GB O…

HHD Free Serial Port Monitor

Windows PCのシリアルポート(仮想COMポートを含む)の送受信データを傍受してモニタできるツール。コンソール表示、Hex/ASCII表示など種々の形式でモニタできる。 freeserialanalyzer.comFree Serial Analyzerという名前になっているが、このソフトはHHD社のD…

FTDIのUSBシリアル変換ICのCBUSの機能割り当て

FTDIのUSBシリアル変換ICのCBUSxピンには種々の機能を割り当てることができます。 FT232RLの場合、デフォルトでは下表の機能が割り当てられています。 ピン 機能 説明 CBUS0 TXLED# 送信データLED駆動 (Lowアクティブ) CBUS1 RXLED# 受信データLED駆動 (Low…

WindowsでEtherCATマスター

Windows PCでLANポートを用いてEtherCATマスターを動作させる方法のメモ。 (2019/12/29 加筆修正) SOEMとは? SOEMのファイル構成 SOEMのビルド サンプルプログラム slaveinfo サンプルプログラム simple_test おまけ:ネットワークインターフェース名の取得…

MPU-6050系モーションセンサまとめ

6軸モーションセンサではSTマイクロのLSM6DS3とならんでメジャーなTDK InvenSenseのMPU-6050。派生型番がいろいろあってややこしいのでまとめ。 MPU-6050はI2Cのみで4mm角QFN。 MPU-6500はI2C/SPIで3mm角QFNだけどあまり見かけない。 MPU-9150 = MPU-6050 + …

Arduinoのボード別ソースの場所

Arduinoのボード別のライブラリソースは、通常は下記の場所にある。 (Winsows10の場合) C:\Users\ユーザ名\AppData\Local\Arduino??\packages\arduino\hardware\この場所にアーキテクチャごとにフォルダを切って置かれる。 avr\ sam\ stm32f4\

FM音源YMF825メモ

FM音源YMF825とは とても便利なヤマハのFM音源チップ。 SPI I/F DAC/アンプ内蔵 4オペ16音ポリ すぐに使えるモジュール基板が市販 akizukidenshi.com github.com Arduino用簡易ライブラリ Arduinoで使える簡単なライブラリを作成した。 github.com 作例 これ…

スマートオシロを作ろう(1)

やりたいこと オシロを基板に当てて波形を見る時、両手がふさがってオシロの操作に困ることがよくあります。そこで今流行りのAIスピーカを使って、声で操作できるようにしたいと思ってます。具体的には、Google AIY Voice Kitで音声を認識し、LAN経由でオシ…

SDS7102のファームウェアをアップデートしてSCPI対応

やりたいこと 中華オシロのSDS7102のファームウェアをアップデートして、SCPIコマンドによるリモートコントロールに対応させます。メーカー公式のファームウェアアップデートですが、後述するように少し挙動が怪しいです。アップデートの実施は個人の責任で…

Raspberry PiをWindows PCから操作

やりたいこと ラズパイとPCをLANケーブルで直結(※) コンソールまたはリモートデスクトップでラズパイにログイン PCのインターネット接続をラズパイと共有 ラズパイ上のフォルダを共有フォルダにしてPCから開く ※ ラズパイはAuto MDI/MDI-X対応なのでクロスケ…

SPIクロックのモード

SPIはクロックパルスの極性と位相による動作モードが4通りあって設定がめんどくさい。 モード0 : 正パルス前ラッチ (CPOL=0, CPHA=0) モード1 : 正パルス後ラッチ (CPOL=0, CPHA=1) モード2 : 負パルス前ラッチ (CPOL=1, CPHA=0) モード3 : 負パルス後ラッチ…

STM32のTips (Flash関係)

開発環境はIARのEWARMです。 binファイルの生成 デフォルトではプロジェクトをビルドするとoutファイルが生成されます。outファイルからbinファイル(バイナリイメージ)を生成するには、プロジェクトの[オプション]の[出力コンバータ]にて、[追加出力ファイル…

CubeMXのコードを流用して音声再生

この記事はMbed Advent Calendar 2017の23日目の記事です。 STM32のCubeMXの吐いたコードをmbedにコピペしても、ふつうにコンパイルできます。HALライブラリのAPIもふつうに使えます。そこで、Nucleo-F767ZIをmbedで使用しつつ、CubeMXで生成したコードをコ…

Nucleo/mbedのタイマリソースの調査

この記事はMbed Advent Calendar 2017の19日目の記事です。 目的 mbedベースでお手軽に開発しつつ、痒い所だけ本気出して底からコード書くようなスタイルが好みです。ただしそのとき問題になるのが、mbedライブラリがどういうリソースの使い方をしているかと…

nRF52ミニ基板「斑鳩」の試作

この記事はMbed Advent Calendar 2017の8日目の記事です。 BLEマイコンnRF52搭載のミニ基板「斑鳩」の試作について書きます。「斑鳩」はオープンソースハードウェアです。今はまだ試作段階ですが、そのうちイベント等で頒布するかも。12/16(土)・17(日)開催…