Quantcast
Channel: 秋月電子 –ともの技術メモ
Viewing all 43 articles
Browse latest View live

PIC18F14K50の他のサンプルを動かしてみる

$
0
0

調子に乗ってPIC18F14K50の他のサンプルを秋月の800円ボードで動かしてみました。

動作環境はLinuxMint13 + PicKit3です。「MPLAB-X」「MPLAB C18ツールチェーン」「Microchip Library for Applications」はすでにインストールされているものとします。(といっても、ダウンロードして、スーパーユーザー権限でスクリプトを走らせるだけでインストールできますが)

まず、サンプルプロジェクトを開いて初期設定を行います。ここではUSBキーボードのサンプルプロジェクトを動かしてみます。

  1. MPLAB-Xを起動します
  2. 「File」→「Open Project」で既存のプロジェクトを開きます。
    ダイアログボックスが開くので、ホームディレクトリの下の
    $HOME/microchip_solutions_v2013-06-15/USB/Device – HID – Keyboard/Firmware/MPLAB.X
    を開きます。
  3. プロジェクトが読み込まれますが、この状態では他のチップ用になっていますので、PIC18F14K50では動きません。
  4. 「File」→「Project Properties(Device – HID – Keyboard)」でプロジェクトの設定を行います。
  5. 左下の方にある「Manage Configurations」をクリックします。
  6. 開いたダイアログから「LPC_USB_Development_Kit_PIC18F14K50」を選択して、右側の「Set Active」ボタンをクリックします。
  7. 「LPC_USB_Development_Kit_PIC18F14K50」の右側に「(active)」が移動したら、「OK」をクリックします。
  8. 左側の「Categories」から「Conf: [LPC_USB_Development_Kit_PIC18F14K50]」の下にある「PICkit3」を選択します。
  9. 右半分がPICkit3関連の設定画面に変わります。
  10. 上の方の「Option categories:」から「Power」を選択します。
  11. 「Power target circuit from PICkit3」にチェックを入れて、「Apply」をクリックします。
    こうしないと、秋月の800円ボードに電源供給されないので書き込みができません。
  12. 「OK」をクリックして、ダイアログを抜けます。

次にビルド&書き込みを行います。

  1. 秋月の800円ボードのUSBコネクタをホストから外します。ICSPの信号線とUSBのD+/D-の信号線は同じ端子なので、USBを抜かないと書き込みできません。つまり、電源も供給されないので、PICkit3から電源供給してやらないとダメなのです。
  2. 次に、一旦PICkit3のUSB端子を外して改めて接続します。外すことでPICkit3からの電源供給を止めてやります。そうしないと、次にボードと接続する際に活線挿抜になってしまいます。運が悪いとボードが壊れるかもしれません。
  3. 秋月の800円ボードのICSP端子をPICkit3に接続します。
  4. IDE上の下向きの緑矢印がついたボタン(マウスカーソルを載せると「Make and Program Device」という表示が出ます)をクリックします。
  5. しばらくまつとコンパイル、書き込み、ベリファイが行われます。
    「Programming/Verify complete」と表示されたら完了です。
  6. PICkit3をボードから引き抜きます。
    この段階でPICkit3側のMiniUSBコネクタも一度引き抜いておいてもいいでしょう。
  7. 適当なエディタを開いて、新しいファイルを作成して、文字入力ができる状態にしておきます。
  8. ボードのUSBコネクタとホストをUSBケーブルで接続します。
  9. エディタに勝手に文字が入力されていきます。
    ここで慌てて他のウインドウを選択するとそちらに入力されていきますので、ご注意を(笑)
    動作を確認したら、USBケーブルを抜きましょう。

本来は評価ボードにはスイッチがついているので、そのスイッチを押すと文字が入力されるようなのですが、800円ボードにはそんなものはありませんので、勝手にキー入力されていってしまいます。

何のキーが入力されるかは、keyboard.c の907行目で HID REPORT にキーのコードに相当するusageを設定しています。usageはUSBの仕様書のうち、HID Usage Tableの53頁からの一覧表に乗っていて、4が「A」のキーに相当します。その後の926行目付近ではキーを話した場合のREPORTを送っています。

この辺を読んでソースを弄っていけば、変なキーボード(CTRL + ALT + DEL専用キーボードとか)も作れるはずです。(^^;


RasPiに緊急地震速報を報告させてみました

$
0
0

連続稼働に向けてラックに吊り下げたRaspberryPiですが、こいつに緊急地震速報を報告させてみました。

Pythonのスクリプトとして作ったのですが、処理としては以下のような感じです。表示および音声合成は別スクリプト&別スレッドにすることで、表示処理と音声読上げを同時に起動し、遅れをなるべく少なくするようにしています。

1.RaspberryPiでEEWBOTを監視し、地震速報を取得する

Twitterのアカウントでeewbotというbotアカウントを運営している方がいて、実験的に高度利用者向けの緊急地震速報をcsvで配信されています。
こちらのtweetをストリーミングAPIで受けとります。

2.受信した内容をデコードします。

デコードと言っても、都合のいいように表示用と読上げ用のテキストを生成するだけです。

3.USB接続のLCDに表示させます

生成したテキストをUSB接続のLCDに表示させます。

4.スピーカに音声出力します

RaspberryPiに接続したスピーカに合成音声で出力します。音声合成にはAquesTalk Piを使っています。いわゆる「ゆっくり声」で読み上げます。(笑)
(注:AquestTalk Piは商用利用では有償なので、真似する人はご注意を)

いまのところ、RaspberryPiのスピーカ端子にダイソーの100円スピーカ(ケーブルなし)を挿しているので、音量が小さくて静かな状況でないと聞き取れません。なるべくシンプルかつ小さくアンプを仕込む方法を考えています。

5.動かしてみて

遠めの地震だと地震速報の読上げ&表示後に揺れがきます。比較的近くだと揺れが先か同時くらいですが。音声だけだと読み取れなくても同じ内容がLCDをみれば表示されているので、読上げ完了を待たなくても内容がわかりますし、聞き取れなくてもやはり内容はわかりますので、結構便利です。

ちなみに、日本気象協会の地震情報(tenkijp_jishin)もフォローしていて、その内容もそのまま表示&読上げをしています。こちらは緊急地震速報が落ち着いてしばらくしてからTweetされます。

6.メモ

以降は自分用のメモです。

動かすの使った追加パッケージは以下のとおり。

$ sudo apt-get install python-gd
$ sudo apt-get install ttf-kochi-gothic-naga10 ttf-kochi-mincho-naga10
$ sudo pip install pyserial

「TweetToVoiceLCD.py」を走らせれば動作開始。

DIP版18F14K50ボードを作ってみました

$
0
0

余っていたDIP版のPIC18F14K50とユニバーサル基板でテスト用のボードを作ってみました。

OLYMPUS DIGITAL CAMERA

このボードを作ってみたのは、部品が余っていたから・・・というのもありますが、秋月の800円PIC18F14K50ボードとブレッドボードの組み合わせでは不便な点があったからです。それは、

  • 秋月の800円PIC18F14K50ボードではRA3はPICkit3へ接続するようになっている。
    よって、ブレッドボードではこの端子は扱えない。
  • USBでいろいろなソフトウェアを作って試すには、ブレッドボードでは持ち運びには不便。

というところからです。双方向でのデータのやりとりを試してみたいので、余っていた気圧センサとI2Cのキャラクタ液晶も載せてあります。気圧センサは液晶の下に置いてあります。(最初の写真は気圧センサから読み取った値を液晶に表示しています)

OLYMPUS DIGITAL CAMERA

裏面はこんな感じです。(自分用です。回路図を作っていないのでその代用(^^;。クリックすると特大画像が開きます。)

OLYMPUS DIGITAL CAMERA

各部分の説明(自分用です)

  • 基板裏面から見て右上の部分
    USBのBコネクタで、緑色の部品は100mAの保護用ポリスイッチです。
  • 基板裏面から見て真ん中やや上
    PIC18F14K50です。GND周りに付いている2個の小さな1608のコンデンサは1uFのチップコンです。VUSBのコンデンサは0.22~0.47uFが推奨だったと思いますが、半端な容量のコンデンサが手持ちになかったので1uFとしています。茶色の2012の大きなコンデンサ2個はクリスタル周りの22pFで、その左の4.7kΩはRA3のプルアップ抵抗、その左の1.2kΩ×2個はLEDの電流制限抵抗、その左の24kΩはタクトスイッチのプルアップ抵抗です。ポートCは内蔵プルアップがないので外付けせざるを得ませんでした。
  • 基板裏面から見て左の部分
    アナログジョイスティックと3.3VのCMOSレギュレータです。CMOSレギュレータIN/OUTには1uF16Vのチップコンがそれぞれついています。
  • 基板裏面から見て左下の部分
    2個のタクトスイッチです
  • 基板裏面から見て右下の部分
    LCDモジュールへのコネクタと気圧センサです。4.7kΩ×2個はI2Cバスのプルアップ抵抗です。

ポートアサインは以下の通りとしています。

  • RA3 – ブートローダスイッチ(L:ブートローダ起動)
  • RB4 – I2CバスSDA
  • RB5 – not use
  • RB6 – I2CバスSCL
  • RB7 – not use
  • RC0 – 3.3Vリファレンス電圧入力
  • RC1 – アナログジョイスティックY軸入力
  • RC2 – アナログジョイスティックX軸入力
  • RC3 – LED GREEN(H:点灯)
  • RC4 – LED RED(H:点灯)
  • RC5 – not use
  • RC6 – スイッチ入力左(L:ON)
  • RC7 – スイッチ入力右(L:ON)

I2Cバスのアドレスアサインは以下の通りです。

ソフトウェアはとりあえず以下の通りです。

  • PIC18F14K50側ブートローダ
    タクトスイッチとLEDのポートアサインを修正
  • PIC18F14K50側アプリケーション
    カスタムHIDデバイスのデモプログラムをベースにして、先に作った気圧センサ用のPIC16F1823用のI2C/LPS331/LCDドライバを移植。
    さらにTimer0割り込みを使って時間管理(似非マルチタスク処理)ができるように割り込み処理を追加。
  • Linuxホスト側ブートローダ
    Microchipのサンプルプログラムのまま
  • Linuxホスト側アプリケーション
    昔作ったHIDRAWでデータをやりとりするプログラムを改造し、双方向で希望するデータのやりとりができることを確認

これでLinux環境下でデータのやりとりをUSB経由で好きなようにできそうです。

秋月に新しいユニバーサル基板が登場

$
0
0

秋月電子のサイトを見ていたら、新しいユニバーサル基板が出ているのを発見。

従来の2.54mmピッチの端子間に表と裏にそれぞれ異なる向きで電源バスを這わせて、交差点の部分にスルーホールを設けた構造みたい。
単一電源の回路であれば電源・GND配線が格段に簡単になる上に、4層基板には届かなくても電源インピーダンスは確実に下がるはずので、いろいろ作りやすくなりそう。
(かといって、沿面距離は何をしても大幅に小さくなってしまうので、高電圧がかかる回路は絶対に避けないといけないですが)

プルアップやプルダウンの抵抗・パスコンも1005のチップ品を使えば電源グリッドのスルーホールから直接接続できそうな感じ。1608ではちょっと苦しいかな(いけたらうれしいのだけど)

サイズはBタイプCタイプの2種類。今度見かけたら買ってみることにします。

また気圧計の電池がなくなりました

$
0
0

前回10月30日に電池交換した気圧計ですが、今日電池がなくなって止まってました。
今日の昼間は稼働していたので、ほぼ25日間の動作ということになります。単三で作れば2ヶ月くらい駆動できるかな?
自作の電池駆動機器で簡単にこれだけの期間連続動作させられるようになるなんてしばらく前には予想できませんでしたね。

TOCOS Wireless Engineを試してみた

$
0
0

秋月でTOCOS Wireless Engineを入手してみたので動かしてみました。

入手したのはUSBドングルタイプのToCoStickを1つと、モジュールのTWE-Lite DIPの半完成品タイプ2つです。半完成品なので、マッチ棒アンテナとピンヘッダを半田付けしないといけないです。モジュールの端子とピンヘッダの端子がかなり近いので、ショートさせないように気をつける必要があります。

アンテナとピンヘッダを取り付けたら、初めからモジュール内にはアプリケーションが書き込まれているということで、まずはTWE-Lite DIP使用方法(初級編)に沿って動かしてみました。当然かもしれませんが、無事に動きました。本当に「あっ」という間に動くようになります。これだけで簡単なリモコンが実現できそうな感じです。(実際にはIDがぶつからないように設定変更するべきですが)

次に、TWE-Lite DIPを子機だけ1台に設定し、ToCoStickを親機にして制御してみることにしました。
・・・が、ToCoStick用のアプリケーションはLinux版は存在しません。ですので、Android版を試してみました。手持ちの中華Android4.0パッドでは動きませんでしたが、Xperia Aでは問題なく動作しました。こちらの画面では電波の強度も表示できるので、自室(鉄筋コンクリートのマンションで共用通路側です)に子機を置いて、Xperia + ToCoStickの組み合わせで歩き回って見たところ、奥のベランダ側の窓際で電波強度はギリギリ、共用通路側は自室前は問題ありませんが、隣家の前まで行ってしまうと電波強度はギリギリでした。まあ、WiFiの電波も飛び交っている所ですし、窓は防犯用の網入り窓ガラス + アルミ合金製ブラインドがついている(しかも閉めっぱなし)なのでしかたがないところだと思います。

次にToCoStickをLinuxマシンにさしてターミナルプログラムで115.2kbpsにて /dev/ttyUSB0 をみてみると、子機から飛んでくるデータがすでに見えています。TWE-Lite DIP使用方法(上級編)をみると、UARTでの制御は簡単そうです。

また、Raspberry Piに挿して、sshでRaspberryPiにログインした後、

$ screen /dev/ttyUSB0 115200

とすると子機からのデータが流れてくる様子をみることができます。(終了は CTRL-A + 大文字K)

ちょっと動かしてみただけですが、TWE-Liteは非常に扱いやすくまとめられていて、いろいろ工作のネタがありそうです。特に初めから収められているアプリケーションはIDさえ変えて混信回避の策をとれば十分にいろんなことに使えそうです。それに何といっても『認証済みの無線モジュールが秋葉原で安価に手に入る』というのは夢のようです。
欲を言えば、縦方向に場所を取るマッチ棒アンテナではなく、チップアンテナやパターンアンテナタイプがあればいろんなものに押し込むのに便利な所ですが・・・。

全ファイルスキャンしてみた

$
0
0

年の瀬ということもあり、所有する全ファイル(すべてのファイルがFreeNASに入っている)をKasperskyでウイルススキャンをかけてみたところ、秋月で買ったGPSデータロガー GT-730FL-S に添付のCDROMのアプリケーションにトロイの木馬があるという警告が出た。とりあえず、このファイル(ImageSetup_Canmore.msi)を削除して再スキャン。

・・・その後、問題のあるファイルはこれだけだった。
でも、このGPSロガー、結構あっちこっち出回ってたと思うんだけど、大丈夫なんだろうか?

大量のファイル名操作

$
0
0

Androidの本体側も不安でしたので、USBマスストレージとして認識する状態でディスクイメージを吸い上げ、ファイル抽出したところ、JPEGだけで1万個近いファイルがでてきました。(細々としたファイルも含めると10万個くらい?)

PhotoRecが80近いディレクトリを作ってしまったので、一括して処理しないと面倒です。なので、JPEGのみを集めてくることにしました。

#どうでもいいけど、本体もFATで処理できてしまった・・・。FATフォーマットなの?

$ ./testdisk-7.0-WIP/photorec_static Copy-Of-HONTAI.IMG 
$ cd OUTPUT-HONTAI/
$ ls
recup_dir.1 recup_dir.24 recup_dir.39 recup_dir.53 recup_dir.68
recup_dir.10 recup_dir.25 recup_dir.4 recup_dir.54 recup_dir.69
recup_dir.11 recup_dir.26 recup_dir.40 recup_dir.55 recup_dir.7
recup_dir.12 recup_dir.27 recup_dir.41 recup_dir.56 recup_dir.70
recup_dir.13 recup_dir.28 recup_dir.42 recup_dir.57 recup_dir.71
recup_dir.14 recup_dir.29 recup_dir.43 recup_dir.58 recup_dir.72
recup_dir.15 recup_dir.3 recup_dir.44 recup_dir.59 recup_dir.73
recup_dir.16 recup_dir.30 recup_dir.45 recup_dir.6 recup_dir.74
recup_dir.17 recup_dir.31 recup_dir.46 recup_dir.60 recup_dir.75
recup_dir.18 recup_dir.32 recup_dir.47 recup_dir.61 recup_dir.76
recup_dir.19 recup_dir.33 recup_dir.48 recup_dir.62 recup_dir.77
recup_dir.2 recup_dir.34 recup_dir.49 recup_dir.63 recup_dir.8
recup_dir.20 recup_dir.35 recup_dir.5 recup_dir.64 recup_dir.9
recup_dir.21 recup_dir.36 recup_dir.50 recup_dir.65
recup_dir.22 recup_dir.37 recup_dir.51 recup_dir.66
recup_dir.23 recup_dir.38 recup_dir.52 recup_dir.67
$ mkdir ALLJPG_F
$ i=1; for f in recup_*/f*.jpg ; do g=00000$i.jpg; mv $f ALLJPG_F/JPGF_${g:(-10)}; i=$((i+1)); done
$ mkdir ALLJPG_T
$ i=1; for f in recup_*/t*.jpg ; do g=00000$i.jpg; mv $f ALLJPG_T/JPGT_${g:(-10)}; i=$((i+1)); done
$ mkdir ALLJPG_E
$ i=1; for f in recup_*/*.jpg ; do g=00000$i.jpg; mv $f ALLJPG_E/JPGE_${g:(-10)}; i=$((i+1)); done
 (この行はファイルがないのでエラーになるはず。もしファイルがある場合に回収するためのもの。)
$ mkdir ALLPNG
$ i=1; for f in recup_*/*.png ; do g=00000$i.png; mv $f ALLPNG/PNG_${g:(-10)}; i=$((i+1)); done

冒頭のファイル抽出はSDカードの場合と何も変わらないので説明は省略します。
最後の8行でファイルを6桁の連番を付けながら、各ディレクトリに集めてきます。この部分はこちらのサイトを参考にさせていただきました。


Raspberry Pi 2がやってきた

$
0
0

先週の月曜日(2月2日)深夜に速攻で「ぽちっ」としてしまったRaspberry Pi 2が届きました。

上の2つが今回届いたRaspberry Pi 2、中段左が秋月で買ったRaspberry Pi model B+、中段右がRaspberry Pi Camera、左下かつて数ヶ月待ちで届いたRaspberry Pi Model B 512MBの残り1つです。

IMG_0354s

しかし、秋月価格のRaspberry Pi Model B+よりもRS価格のRaspberry Pi 2 Model Bの方が安い(ただし2個購入時)ってのがなんとも。

IMG_0355s

IMG_0359s

いまさらH8-300開発環境を構築してみたけど・・・

$
0
0

いまさらですが、余っているH8/3664ボードを何かに使おうと思って、開発環境を調査してみました。

1.環境

VMware上の Lubuntu14.04.2をターゲットにします。
OSをインストールしたら、build-essentialパッケージをインストールした後、VMware-Toolsをインストールします。

2.Cコンパイラ

いまさらアセンブラもないので、Cコンパイラを探します。
synapticでh8を検索すると、binutils-h8300-hmsとgcc-h8300-hmsが見つかります。これらをインストールします。これらをインストール後、バージョンを確認すると以下のようになっていました。

~$ h8300-hitachi-coff-gcc -v
Reading specs from /usr/lib/gcc/h8300-hitachi-coff/3.4.6/specs
Configured with: ../configure coff
Thread model: single
gcc version 3.4.6
~$

3.書き込みツール

昔、三岩さんが作られたものと思われるツールが sourceforge にあがっていましたのでコンパイルしてみます。説明では先頭の4行を環境に合わせて修正してからコンパイル、と書いてありましたが、はじめからLinuxのみが#defineされていました。

~$ mkdir H8tools
~$ cd H8tools/
~/H8tools$ wget mes.sourceforge.jp/h8/h8write.c
--2015-xx-xx xx:xx:xx--  http://mes.sourceforge.jp/h8/h8write.c
mes.sourceforge.jp (mes.sourceforge.jp) をDNSに問いあわせています... 202.221.179.22
mes.sourceforge.jp (mes.sourceforge.jp)|202.221.179.22|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 70666 (69K) [text/x-csrc]
`h8write.c' に保存中

100%[======================================>] 70,666       128KB/s   時間 0.5s 

2015-xx-xx xx:xx:xx (128 KB/s) - `h8write.c' へ保存完了 [70666/70666]

~/H8tools$ gcc h8write.c -o h8write
h8write.c: In function ‘error_print’:
h8write.c:732:4: warning: format not a string literal and no format arguments [-Wformat-security]
    fprintf(stderr,message[error_code]);
    ^
h8write.c:733:4: warning: format not a string literal and no format arguments [-Wformat-security]
    if ( s_message != NULL ) fprintf(stderr,s_message);
    ^
h8write.c:737:4: warning: format not a string literal and no format arguments [-Wformat-security]
    fprintf(stderr,message[error_code]);
    ^
h8write.c:738:4: warning: format not a string literal and no format arguments [-Wformat-security]
    if ( s_message != NULL ) fprintf(stderr,s_message);
    ^
h8write.c:742:4: warning: format not a string literal and no format arguments [-Wformat-security]
    fprintf(stderr,message[error_code]);
    ^
h8write.c:743:4: warning: format not a string literal and no format arguments [-Wformat-security]
    if ( s_message != NULL ) fprintf(stderr,s_message);
    ^
~/H8tools$

Warningがたくさん出ましたが、実行ファイルは生成されました。

4.コンパイルテスト

Strawberry LinuxのWebサイトからLED点滅サンプルを持ってきてコンパイルしてみました。

$ wget strawberry-linux.com/h8/h8led-0.1-20020706.tar.gz
$ tar xvfz h8led-0.1-20020706.tar.gz
$ cd h8led
$ make clean
$ make

・・・が、-lc がないと言って怒られます。探してみると、どこにもH8用のlibc.aがありません。これは libc.a がないことを意味していますので、newlibをインストールすることにしました。

5.newlibのインストール

組み込み用のlibcであるnewlibをコンパイルします。
その前に、まずgitからインストールです。

~$ mkdir newlib
~$ cd newlib/
~/newlib$ sudo apt-get install git
~/newlib$

さらに、newlibのソースを取ってきます。

~/newlib$ git clone git://sourceware.org/git/newlib-cygwin.git

このままコンパイルすると、「makeinfoがない」といって怒られますので、synapticでtexinfoパッケージをインストールして、別のターミナルを新規に開いてから configureスクリプトを走らせて、make、make install します。

~/newlib/newlib-cygwin$ ./configure --target h8300-hitachi-coff
~/newlib/newlib-cygwin$ make
~/newlib/newlib-cygwin$ sudo make install

libc.a、libg.a、libm.a が /usr/local/h8300-hitachi-coff/lib の下にインストールされました。

6.改めてコンパイルテスト

よくみると、さらにはMakefileでライブラリパスが設定されていなかったので、これを修正してみたのですが、今度は互換性のないlibc.aをスキップしました、となってしまいました。

~/H8sample/h8led$ make
h8300-hms-gcc -O -mh -g -mrelax -mint32 -DH8_3664 -T h8-3664.x -L /usr/local/h8300-hitachi-coff/lib -nostdlib 3664crt0.S  led.o -o h8led.exe  -lc -lgcc
/usr/lib/gcc/h8300-hitachi-coff/3.4.6/../../../../h8300-hitachi-coff/bin/ld: 互換性のないを /usr/local/h8300-hitachi-coff/lib/libc.a スキップしました (-lc を探索している時)
/usr/lib/gcc/h8300-hitachi-coff/3.4.6/../../../../h8300-hitachi-coff/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make: *** [h8led.exe] エラー 1

確か、gccのクロスコンパイラをビルドするときにはライブラリ(libcなど)なしで一度コンパイラをビルドしてライブラリをビルド、その後再度コンパイラをビルドし直す手順になっていたかと思うのですが、そのへんがちゃんと行われていないのかもしれません。(ググってもnewlibのバイナリがなく、ソースからビルドするしかなさそうだ、という時点で嫌な予感はしたんですけどね)

7.まとめ

・・・うーむ。ぐぐってみると、同じ問題がはるか昔に出ていたようです。
https://bugs.launchpad.net/ubuntu/+source/gcc-h8300-hms/+bug/342667
ここを見る限り、リポジトリにあってSynapticでインストールできても結局メンテナンスされてなくて使い物にならないようで、そのままずーっと放置されているようですね。

コンパイラごとソースからビルドすれば動く組み合わせもあるかもしれませんが、そこまでして動かす元気はありません。今でも秋月ではH8/300のボードを売ってますが、みなさんどうやって使ってるのでしょう?(メンテナンス目的?教材用?)
いまでもcygwin + gcc2.95.3ベースの環境をCD-Rで売ってるようですが、いまさらのような気がします。

H8は比較的電子工作用途に受け入れられた数少ない日本製マイコンですが、この状況ではとても使う気にはなれません。かといって、いまさらR8Cとか78Kとかってのもないでしょうから、素直に諦めるほうが良さそうです。

さて、余ってしまったボード、どうしよう・・・。

部品を買ってきました

$
0
0

FusionPCBからTrackingできるようになったよ、という通知がとっくに来ているのですが、なかなか荷物状況の確認ができるようにならず・・・。で、ようやくSingapore Postのトップ画面左側にある「Track Item」で「Information Received」になりました。でも、物理的な荷物の引受とは関係ないんだそうで(^^;。

まあ、焦ってもしょうがないですので、部品を買い集めました。

PARTS

基本的には秋月で手に入るものばかりで基板設計したので概ね揃いました。

秋月の新しいGPSモジュールを試してみました

$
0
0

秋月の新しいGPSモジュール(単品ではなくキットの方)を試してみました。

このキットはこのUSBシリアル変換基板と接続して使うことを初めから想定しているのか端子配置が合わせられています。・・・が、Androidでも使ってみたいと思っているので、今回はあえてPL-2303を使用したUSBシリアル変換モジュールと接続するケーブルを作成しました。

まずは、aitendoのモジュールと同じ構成で中華Androidに接続、「You Are Here GPS」を起動するとしばらくして測位ができて座標が表示されました。GPSモジュール側でもLEDが1秒周期で明るく点滅するようになりました。さらに、中華AndroidのGoogle Mapsでも現在位置としては取得できたのですが、継続的にトラッキングしてはくれません(理由不明)。

そこで、今度はLinuxMint13環境で動かしてみました。

まずはwineとwine-geckoをインストールして、秋月のWebサイトに上がっているMiniGPS(GPSチップの製造元、MediaTekのソフトのようです)を動かしてみました。

$ cd ~/.wine/dosdevices
$ ln -s /dev/ttyUSB0 com1

としてからMiniGPSをwineで実行します。実行したらCOM1を選択して9600bpsに設定。測位が完了すると無事にGPS衛星の掴み具合を表示してくれました。(なお、後述のgpsdをインストール後はCOMポートに接続できなくなりますので要注意)

次にgpsdをsynapticでインストールしました。・・・が、これだけでは動いているんだかよくわかりません。せっかくGPSなのですから、マップ上に自分の場所を表示させてみたいものです。ググってみると、Vikingというのが定番みたいなので、Synapticでインストールしてみました。

使い方がちょっとわからなかったのですが、ウインドウの左側がレイヤーになっているようなので、

  1. 左側の下の方の「+」ボタンを押して、「New Map Layer」でOpenStreetMap(MapQuest)を追加します。以下のダイアログが開くので、
    Screenshot-Layer-Properties-1「Autodownload maps」にチェックを入れてOKを押します。
  2. 次に、「New GPS Layer」でGPSを追加します。ダイアログで「GPSRealtime Tracking mode」を選択して、以下のように設定します。
    Screenshot-Layer Properties

この状態だと現在位置はニューヨークのマンハッタンになっているのですが、追加したGPSを右クリックして「Start Realtime Tracking」を選択してしばらくすると、地図上に軌跡が描かれるようになりました。

Screenshot-Untitled-Viking-1

キャプチャ画面でもわかる通り、道路に沿って綺麗に軌跡を描いてくれます。

ちなみにこのVikingですが、aitendoで購入したモジュールでも同じように動作しました。
Linuxで動かすぶんにはPL-2303系のモジュールである必要はないと思うので、FT234Xのモジュールに変更して動かしてみようかと思います。

秋月の新商品がおかしい・・・

$
0
0

今日発見した秋月電子の新商品・・・

Screenshot-2

どういう経緯で彼岸花の球根を電子パーツショップが扱うようになったのだろう・・・・?

Screenshot-3

「植物ですので大きさや色味はバラツキがあります」・・・・って、そりゃそうだけど、何故秋月に球根??よりによって彼岸花!?

しかも在庫が「AAA」ってどんだけ在庫してるんだろう??

ESP32を動かしてみた

$
0
0

ふと秋月のWebサイトをみていたら、ESP-WROOM-32が発売になっていました。早速、秋月へ行ってゲットしてきました。

で、とにかく動かしてみます。すでに先達もいるようなので、参考にさせてもらいながら、なるべく手抜きして動かします。開発環境はESP-WROOM-02の時と同様にArduinoで動かします。

使用した部品

使用した部品は以下の通りです。

  • ESP-WROOM-32
    まずこれがないと、ですね。
  • FT-232RQ USBシリアル変換キット
    最近のお気に入りのUSBシリアル変換基板です。Linuxでも安定して動作するのでGoodです。
  • NJU7223DL1
    3.3Vのレギュレータです。データシートの回路図だと入出力のコンデンサが小さくて済みそうなので、選びました。
  • 0.1uF 1608 チップコンデンサ✕3
    三端子レギュレータの入出力に各1個、USBシリアルのRTS端子とEN端子の間に1個
  • 22uF 1608 チップコンデンサ✕1
    ESP-WROOM-32の資料では電源入力に10uFが付いているので、手持ちの22uFのチップコンを使用
  • 10kΩ 1608 チップ抵抗✕2
    1個はEN端子のプルアップ、もう1個はIO0端子のプルアップ
  • 0.022uF 1608 チップコンデンサ✕1
    EN端子の入力とGND間に接続
  • 適当なタクトSW✕1
    IO0端子をGNDに落としてダウンロードモードに移行させるのに使います
  • ユニバーサルプリント基板
    これを使いました。最近は軽量化を目指して薄めの基板を使ってます。この基板は両面なのですが、内面がスルーホール処理されていないので表裏の接続ができていない箇所があってハマリました。
  • その他
    適当なピンヘッダ・ピンソケット、ポリウレタン被覆線、スズメッキ線

ハードウェアの組み立て

こちらの回路を参考に手抜きして作りました。

  • GND端子はUSBシリアル基板のGNDに接続
  • 3V3端子は三端子レギュレータの出力端子に接続
  • EN端子は10kΩでプルアップ、GNDとの間に0.022uF、USBシリアル基板のRTS端子との間に0.1uFを接続。この0.1uFによりPC側でRTSを制御するとESP-WROOM-32側にリセットがかかります。
  • IO0端子はプルアップ、および、タクトスイッチを接続して、ボタン押下でGNDに落ちるようにします。ボタンを押しながらArduino IDEで書き込み操作をすることで、書き込みモードへ移行できます。
    (注:IO0のプルアップは不要らしい。タクトスイッチによるIO0のコントロールがうまく行かなかった際につけたが、外してOKかは試していない。ちなみに、タクトスイッチでIO0がコントロールできなかった原因はノンスルーホール基板を使ったので基板の表裏で接続ができてなかったため。)
  • TXD0端子はUSBシリアル基板のRXDへ接続
  • RXD0端子はUSBシリアル基板のTXDへ接続

回路図はこんな感じです。15ピンのGNDは手抜きで接続していませんが、動いています。

 

こんな感じになりました。

ESP-WROOM-32は裏返しに両面テープで基板に貼り付けてあります。基板を作りなおす時も多分無事に剥がせると思います。

無計画に作ったので、裏側は汚いですw。左上のレギュレータ周りがどうしようもないですね。

まずはハードウェアの動作確認

Arduinoで書き込みをする前に、ハードウェアの動作確認をしておきます。
といっても、よくよく結線を確認した後、電源を投入(USBケーブルで接続)するだけです。
電源を投入したら、スマートフォンのWiFiアナライザなどアプリケーションで、「ESP-xxxxxx」というSSIDが見えることを確認しておきます。SSIDが見えればとりあえずESP-WROOM-32はアクセスポイントとして動作しているはずです。(注:Arduino環境の構築ができていれば、Arduinoのシリアルモニタで /dev/ttyUSB* を115200bpsでモニタすればブートローダなどの表示も確認できます)

Arduino開発環境の構築

PCはLinux Mint 18の64bit版です。

まず、arduino IDE をインストールします。その前に、古いバージョンをアンインストール。

$ cd arduino-1.6.12
$ ./uninstall.sh 
Removing desktop shortcut and menu item for Arduino IDE... done!

arduino.cc から最新版の arduino-IDE をダウンロード。今回ダウンロードしたファイルは arduino-1.8.1-linux64.tar.xz です。

$ cd ~
$  xzcat ダウンロード/arduino-1.8.1-linux64.tar.xz | tar xvf -
$ cd arduino-1.8.1/
$ ./install.sh
Adding desktop shortcut, menu item and file associations for Arduino IDE... done!

次に、arduino-esp32 をインストール。このページのコマンドをコピペ。

$ sudo usermod -a -G dialout $USER && \
> sudo apt-get install git && \
> mkdir -p ~/Arduino/hardware/espressif && \
> cd ~/Arduino/hardware/espressif && \
> git clone https://github.com/espressif/arduino-esp32.git esp32 && \
> cd esp32/tools/ && \
> python get.py
[sudo] xxx のパスワード: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています 
状態情報を読み取っています... 完了
git はすでに最新バージョン (1:2.7.4-0ubuntu1) です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 39 個。
Cloning into 'esp32'...
remote: Counting objects: 2799, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 2799 (delta 1), reused 0 (delta 0), pack-reused 2785
Receiving objects: 100% (2799/2799), 54.67 MiB | 3.44 MiB/s, done.
Resolving deltas: 100% (1152/1152), done.
Checking connectivity... done.
Checking out files: 100% (903/903), done.
System: Linux, Info: Linux-4.4.0-45-generic-x86_64-with-LinuxMint-18-sarah
Platform: x86_64-pc-linux-gnu
Downloading xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
Done
Extracting xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
Downloading esptool-fe69994-linux64.tar.gz
Done
Extracting esptool-fe69994-linux64.tar.gz
Done
~/Arduino/hardware/espressif/esp32/tools $

いよいよ起動します。デスクトップ上のArduino IDEのアイコンをダブルクリックして、Arduino IDEを起動。
起動したら、「ツール」→「ボード:xxx」→「ESP32 Dev Module」を選択でESP32モジュールを選択します。

サンプルを動かしてみる

次にサンプルを動かしてみます。シリアルに結果が表示されるものが良いと思うので、WiFiScanを動かしてみます。
「ファイル」→「スケッチ例」→ESP32 Dev Module用のスケッチ例の下の「WiFi」→「WiFiScan」選択すると、サンプルプログラムが表示されます。「ツール」⇒「シリアルポート」⇒「/dev/ttyUSB0(環境によって変わります)」でシリアルポートを選択した後、「ツール」⇒「シリアルモニタ」でシリアルモニタを起動しておきます。

準備ができたら「⇒」ボタンをクリックして、書き込んでみます。「⇒」をクリックする際にはIO0に接続したタクトスイッチを押しながらクリックすることでダウンローダを起動します。「Wrting … 」という表示が出たら、タクトスイッチのボタンを離します。

書き込み完了後はこんな感じ。

書き込みが終わると、シリアルモニタの方に表示が始まります。

 

こんな感じでSSIDのリストが表示されれば成功です。

ESP32でNTP Clientを動かしてみた

$
0
0

一昨日のESP-WROOM-32(ESP32)をArduino IDEで動かしてみた続きです。

Arduino IDEにはWiFi関連のサンプルプログラムがあるので、動かしてみました。

「ファイル」⇒「スケッチ例」⇒「あらゆるボードのスケッチ例」⇒「WiFi」の下にいくつかサンプルが有りますが、こちらはESP32環境ではビルドできませんでした。Espressif社提供のライブラリとArduino IDEに初めから付いているWiFiライブラリでは完全に互換ではないようです。(確か、バージョン情報を取得するようなライブラリでコケてたような気がします)

「ファイル」⇒「スケッチ例」⇒「ESP32 Dev Module用のスケッチ例」⇒「WiFi」の下の「WiFiIPv6」というのを開いてみると、NTPクライアントプログラムのように見えますので、これを動かしてみることにします。
スケッチ例を開いて、冒頭にある

#define STA_SSID "xxxxxxxxxxxxxxxxx"
#define STA_PASS "xxxxxxxxx"

の部分にSSIDとパスワードをセットして名前を付けて保存、シリアルポートを /dev/ttyUSB* に設定した後、シリアルモニタを起動して、次に基板上のタクトスイッチを押しながら、「マイコンボードに書き込む」としてやると、ビルドと書き込みが行われます。タクトスイッチは「Writing at 0x00010000… (5 %) 」という表示が出たところで離してもOK。

書き込みが終わると、ESP-WROOM-32モジュールは勝手にリブートして起動します。

 

シリアルモニタ側には IPv6 でのステーションとしての動作、アクセスポイントとしての動作状況の表示、IPv4のステーションとしての動作状況が表示され、IPv4のIPアドレス取得ができると、その後NTPクライアントが動作している状況が表示されました。

また、同時にアクセスポイントとしても動作しているので、スマートフォンのWiFiアナライザなどのツールでみると「esp32-v6」というSSIDでのアクセスポイント動作が確認できました。


Pine64を買ってみた

$
0
0

秋月に Pine64 A+ 1GB が入っていたので、買ってみました。価格はRaspberry Pi 3よりも安い2,980円。といっても、Pine64 A+はBluetoohもWiFiもないのでちょっと価格差的には微妙かもしれない。一緒に長さ15cmのmicroUSBケーブルとHDMIケーブルを購入。

早速、秋月のページにある公式サイトへのリンクからUbuntu Mateのイメージをダウンロードして、ddコマンドで適当な8GBのMicroUSBに書き込んでMicroUSBコネクタに挿入、HDMIケーブルでディスプレイに接続、マウスとキーボードを接続、イーサケーブルをルータに接続して、MicroUSBコネクタを挿して電源投入。・・・が、電源LEDは点くものの、うんともすんとも言わない。
MicroUSBケーブルを1.5mの長いものから購入した15cmの短いものに変更したら起動した。結構電流を食うので電圧降下しているのかもしれない。

起動すると、グラフィカルログイン画面になるので、ユーザー名: ubuntu 、パスワード: ubuntu でログインする。当然かもしれないけど、英語モードで起動。ターミナルを開いたりしてみたが結構軽快に動くようである・・・が、やっぱりストレージがMicroSDなのでストレージアクセスを伴うものはちょっともたつく。

とりあえず、アップデートをかけてみる。

$ sudo apt-get update
$ sudo apt-get upgrade

を試してみるが、何かパッケージの不整合を起こしているみたいで、追加でコマンドが要る模様。指示に従って、以下の通り試してみた。

$ sudo dpkg --configure -a
$ sudo apt-get install -f
$ sudo apt-get upgrade

でとりあえず一通りはアップデートができた模様。

System ⇒ Preferences ⇒ Hardware ⇒ Keyboard ⇒ Layout で Add を押して、キーボードレイアウトで Country で Japan を選んで Add を押す。レイアウトの順位を Japanese を一番上にして Close を押したら、キーボードレイアウトが日本語になった。

System ⇒ Preferences ⇒ Personal ⇒ Language Support を選択すると、The language support is not installed completely と出るので、Install を押す。パスワードが聞かれるので入力すると、language support をインストールし始めた。しばらく待つと、インストール完了。
この状態だと英語のみなので、 Install/Remove Languages … を押して、Japaneseにチェックを入れてApplyを押すと、フォントやfcitx、libreofficeのモジュールなどをダウンロード&インストールし始めた。
完了したら、Language for menus and windows のリストの一番下にある日本語を一番上にドラッグ&ドロップ、Keyboard input method system を fcitx に設定して、Apply System-Wide をクリック、再度パスワードを聞かれるので入力。
次に Regional Formats タブを選んでこちらも日本語を選択して Apply System-Wide をクリック。完了したら Close を押して、一旦ログアウトしてログインし直すと、日本語化が完了している。

これだけだと、日本語入力で漢字キーが使えなかった。キーボードの選択で言語別で日本語を選択しておく必要があったようで、設定を修正。右上のキーボードのアイコンを右クリックして「設定」を選択すると、キーボードが英語になっているので、「+」を押して日本語キーボードを追加、順番を一番上に持ってくる・・・が、日本語入力はできない。

とりあえず、

$ sudo apt-get install synaptic

で手慣れた Synaptic をインストール。

Synaptic パッケージマネージャから ibus-anthy をインストールして、システム⇒設定⇒ユーザ向け⇒言語サポートで、キーボード入力に使うシステムとして IBus を選択して再起動後、右上のキーボードアイコンから日本語−Anthyを選択したところ、日本語入力ができるようになった。

とりあえず、使えるようになった。

秋月のLPC11U35マイコンボードを動かしてみた

$
0
0

久しぶりに秋月へ行ったら、「USBメモリにファイルを書き込むのとほぼ同様の手軽さでプログラムを書き込むことができます」という触れ込みのマイコンボードが安く売っていたので、買ってみました。

で、動かしてみるべく、Linuxマシン(環境はいつものLinux Mintです)へ接続すると、確かにマスストレージデバイスとして認識します。で、秋月のWebサイトにある動作確認用ファームウェアを書き込んで、リセットしてみても、再びマスストレージデバイスとして認識されて、LEDが点滅する気配がありません。

mbedとしても動作する、というのでサンプルプログラムを作って同様に書き込んでみてもサッパリです。linuxではドラッグアンドドロップでの書き込みはうまく行かないのかと思って、コマンドラインで cp コマンドでコピーしてみてもダメです。

で、ぐぐってみたら、どうやら linux ではそもそもファイル書き込みではうまくいかないようで、こちらの情報によると先頭の4ブロック(2キロバイト?)を削ってddで書き込むとうまく行くようです。

ただ、デバイスファイルなんていろんな要因で変わってしまうので、毎回やるのは面倒ですし、事故のもとなので、pythonのスクリプト化しました。

lsblkコマンドで見た時に、転送方法が usb で、モデルが’LPC1XXX IFLASH  ‘となっているデバイスファイルを探して、そのデバイスファイルをアンマウントして、ddコマンドで書き込むだけです。スクリプトファイル⇒mbedにlinuxから書き込むためのスクリプト

ルート権限が必要なのは変わらないので、sudo 付きで python スクリプトを実行します。

$ sudo python ./write_mbed.py firmware.bin 
mbed device is /dev/sdc
umount /dev/sdc
dd if=firmware.bin of=/dev/sdc seek=4
16+1 レコード入力
16+1 レコード出力
8456 bytes (8.5 kB, 8.3 KiB) copied, 0.387457 s, 21.8 kB/s

みたいな感じで使います。(途中の umount とか dd コマンドの行はこのスクリプトの処理内容を表示しているだけで、書き込みに必要な操作は最初の1行目だけです)

 

NanoPi NEOを動かしてみた

$
0
0

秋月にまた安価なLinux板が出ていたので、つい買ってしまいました。

今回買ったのは、Nano Pi NEO 512MB で、価格は1,680円。本家本元?のFRIENDLY ELECでは512MB版は$9.99のようなのですが、思い立ったら買えるということを考えると、高くはないかと思います。併せて、専用のヒートシンクも買ってきました。こちらは400円ですが、本家本元では$2.97。本家では、その他のオプションとして3Dプリントされたハウジングがあるようなのですが、こちらは残念ながら秋月にはありません。

とりあえず、秋月の商品のところにあるリンクを辿って、official-ROMsからUbuntu-Core 4.11 をダウンロード、Linux Mint 16のUSBイメージライタで8GBのMicroSDに書き込みます。シリアルコンソールとして、手持ちのUSBシリアル変換ケーブルをNano Pi NEOの基板上のシリアル端子に接続してGtkTermで115200bpsのN81で接続、Ethernetは適当にDHCP環境のルータに接続して、MicroUSBにて電源供給すると、U-BOOTのメッセージに続いてLinuxの起動メッセージがつらつらと出てきて、そのうち勝手にログインしてくれます。シリアルコンソールの場合には自動的にログイン状態になるようです。初めから DHCPクライアントも動いているので、シリアルコンソールにIPアドレスも表示されます。

コンソールのみですが、基本はUbuntuなので難しいことはありません。秋月からもリンクされているサポートページの「6 Work with Ubuntu-Core with Qt-Embedded」あたりに従っていけばOKです。とりあえず、お約束?の、

$ sudo apt-get update
$ sudo apt-get upgrade

あたりと、

$ sudo npi-config

でパスワードの変更あたりを実施。

$ sudo apt-get install avahi-daemon

とやると、別の linux マシンから

$ ssh pi@NanoPi-NEO.local

とやってログインできるようになります。(NanoPi-NEOはデフォルトのホスト名。npi-config で設定変更できます)

初めから avahi-daemon が入っていれば、イメージをMicroSDに書き込んで、とにかく起動して、しばらく待ってから

$ ssh pi@NanoPi-NEO.local

でログインできそうなのがちょっと残念かも。まあ、IPアドレス調べればいいだけなんですけどね。

Pine A64+ 2GBにarmbianをインストール

$
0
0

Pine A64+ であるが公式サイトのUbuntu Mateはアップデートを行っていくと /boot パーティションの容量不足でアップデートができなくなってしまいました。これを機会に、armbianを試してみました。(ちなみに、以前の記事では1GB版でしたが、その後、秋月で2GB版が出ていたので買ってしまいました・・・)

1.イメージを書き込み

Ubuntu Desktopをこちらから bit torrent 経由でダウンロードして、ファイル展開、Linux Mint のUSBイメージライタで16GBのMicroSDカードに書き込みます。

2.起動

HDMIで液晶モニタに接続、USBでキーボードとマウスを接続してMicroUSB経由で電源供給してしばらくすると、CLIのログイン画面が表示されます。ここで、ユーザー名:root、パスワード:1234でログインすると、rootのパスワード変更が求められますので、パスワード設定を行います。引き続き、一般ユーザーの作成が求められますので、ユーザー名とパスワードとその他のログイン情報(空欄のままで大丈夫)を設定していきます。設定が終わると、GUIが起動します。

3.アップデートの適用

DHCPサーバーのある環境なので、何もしなくてもネットワークに接続できるようになっています。termnialを開いて、

$ sudo apt-get update
$ sudo apt-get install

でアップデートをすべて適用します。

4.日本語サポートの追加

左上の「Application」から「Setting」を選択、その下の「Language Support」を選択すると、「The language support is not installed competely」と表示されるので「Install」をクリックして不足部分のインストールを行います。この処理はかなり時間がかかります。途中、パスワード入力を求められるので、適宜入力してやります。
インストール直後だとサポート言語はEnglishのみなので、下の方の「Install/Remove Languages…」をクリックして、Japaneseにチェックを入れて「Apply」をクリック。
再起動してログオンし直すと、メニューなどが日本語化されます。

5.時計表示の修正

時計表示を右クリックしてプロパティを選択、タイムゾーンが空白になっているので、Japanに修正すると時刻表示が正しくなります。

6.ArmbianのConfig

デスクトップ上のConfigのアイコンをダブルクリックすると、uxtermが開いてその中でUbuntu16.04のconfiguration utilityが起動します。とりあえず必要な設定項目はないようですが、ここに設定があることを忘れないために備忘録としてメモしておきます。

7.ToDo

残っていること

  • 解像度が1280×720になっているので、1920×1080に変更したい。
  • 日本語入力の設定

ROCK64/4GBを買ってみた

$
0
0

秋月にROCK64が売られていたので買ってみました。ROCK64はRaspberry Piと似たような形状のボードコンピュータですが、ギガビットイーサネットとUSB3.0を搭載し、搭載RAM容量別に3モデルあって、この手のボードとしては大容量の4GBのRAMが搭載されているモデルがあるので手を出してみました。秋月のページでは電源供給には何やら工作しないと電源供給できないような面倒くさいことが書いてありますが、秋月で売っている内径2.1mmの5V3A出力のACアダプタと、2.1mmメス⇔1.3mmオスの変換プラグ(たぶんこれ)で基板上のDCジャックから電源供給できました。

次に、ソフトウェアというか、Linuxのイメージですが、こちらに掲載されているものをいくつか試してみましたが、まだどれも今ひとつな感じです。UARTコンソール経由で制御したかったのですが、シリアルコンソールは通信パラメータがわかりません。速度をいろいろ変えても、ubootも正しく表示できないです。(オシロスコープで直接見れば良いのですが・・・)
また、USB HUBを噛ませているからかもしれないですが、USBキーボードとUSBマウスで入力しようとすると、時々キーイベント(キー押下、キー放す)を取りこぼすようです。

もうしばらくいろいろいじってみる必要がありそうです。

Viewing all 43 articles
Browse latest View live