2016年6月11日土曜日

Nucleo-F103RB を Arduino IDE から使う

ST micro の Nucleo-F103RB (http://akizukidenshi.com/catalog/g/gM-07724/ )は開発環境に mbed が使えます。Arduino IDE (1.6.9)についても、次のような方法で使えました(F103RB以外のボードは今のところ使えないようです)。

まず、開発している Roger さんの書いている文章(https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki の Installation)にしたがって、Arduino Due 用のコンパイラを入れて、hardware フォルダにファイルを展開します。

MacOS Xの場合、dfu-util は入っているからインストールが要らないとありますが、libusb 周りが不足するので、Homebrew から dfu-util をインストールするといいと思います。

それで Nucleo の開発はできるはずなのですが、ちょっと気になるところがありました。一つはシリアルポートです。Serial でなくて Serial1 を使わないとPC(Mac)のUSB側と通信できません。Serial を使いたいときはSTM32F1/variants/nucleo_f103rb/board.cppを次のように書き換えます。

--- board.cpp.orig 2016-06-07 21:11:32.000000000 +0900
+++ board.cpp 2016-06-10 17:43:40.000000000 +0900
@@ -253,7 +253,7 @@
    DEFINE_HWSERIAL(Serial2, 2);
    DEFINE_HWSERIAL(Serial3, 3);
 #else
-   DEFINE_HWSERIAL(Serial, 3);// Use HW Serial 2 as "Serial"
-   DEFINE_HWSERIAL(Serial1, 2);
+   DEFINE_HWSERIAL(Serial, 2);// Use HW Serial 2 as "Serial"
+   DEFINE_HWSERIAL(Serial1, 3);
    DEFINE_HWSERIAL(Serial2, 1);
-#endif
\ No newline at end of file
+#endif

この変更をしても TX/RX(D1/D0)ピンに信号が出ていないようです。Serial(上記の変更したときはSerial1)はPC10/PC11 のピンで TX/RX で使えるようです。
-------------------------------------------------------------------------------------------------
マニュアルを見るとデフォルトでは

  • USART2(PA2, PA3)はST-LINK MCUに接続(SB13, SB14をショートしてSB62, SB63をオープン)

になっていて、

  • USART2(PA2, PA3)をCN9のTX/D1, RX/D0ピンに接続するには SB13, SB14 をカットして、SB62, SB63をショート

だそうです。USART3 (PC10: TX, PC11: RX) を CN10 の 35, 37 につないで、こちらをD0, D1ピンに出した方がよいのかもしれません。
-------------------------------------------------------------------------------------------------

それから I2C についても、Wire が使えません。これは
TwoWire Wire1(PB8, PB9, SOFT_STANDARD);
として Wire1 を宣言してWire1を使うか、STM32F1/libraries/Wire/Wire.cppとSTM32F1/variants/nucleo_f103rb/board/board.hを次のように書き換えます。

--- Wire.cpp.orig 2016-06-07 21:11:32.000000000 +0900
+++ Wire.cpp 2016-06-10 17:42:26.000000000 +0900
@@ -191,4 +191,4 @@
 
 // Declare the instance that the users of the library can use
 //TwoWire Wire(SCL, SDA, SOFT_STANDARD);
-TwoWire Wire(PB6, PB7, SOFT_STANDARD);
+TwoWire Wire(BOARD_I2CSOFT_SCL_PIN, BOARD_I2CSOFT_SDA_PIN, SOFT_STANDARD);
--- board.h.orig 2016-06-07 21:11:32.000000000 +0900
+++ board.h 2016-06-10 17:39:43.000000000 +0900
@@ -51,8 +51,8 @@
 #define A4 20
 #define A5 21
 // Wire.h Soft I2C standard pins for custom boards:
- #define BOARD_I2CSOFT_SCL_PIN     PC0
- #define BOARD_I2CSOFT_SDA_PIN     PC1
+ #define BOARD_I2CSOFT_SCL_PIN     PB8
+ #define BOARD_I2CSOFT_SDA_PIN     PB9
 
 #define BOARD_NR_USARTS         3
 //#define SERIAL_ORDER1     3 // HW Serial order for custom boards

2016年4月3日日曜日

Splashのタイヤ交換 (REGNO GR-XI)

1月にスプラッシュのタイヤを交換しました。溝はまだ残っていたのですが、5年を超えるとヒビが入り出してきたので。スプラッシュについてくるタイヤは Continental の ContiPremiumContact 2 (CPC2)というタイヤでサイズは 185/60R15 です。kakaku.comで検索すると分かる(http://kakaku.com/car_goods/tire/itemlist.aspx?pdf_Spec201=15&pdf_Spec202=185&pdf_Spec203=60&pdf_so=p1&pdf_pg=2)のですが、このタイヤは、1本11,000円〜(時期によって最安価格は変動する)ぐらいして、同価格のタイヤは、そのサイズの最上級グレードのタイヤになります。

2016年4月2日土曜日

IIJmio への MNP

Softbank, au と iPhone にしてから契約してきたのですが、この3月末から IIJmio (みおふぉん)に変えました。理由は au iPhone が mineo の au 回線で使えないという問題について IIJ の人が解決策を出していたのを見て(検索すればでます)技術力あるなと思ったからです。IIJは日本の商用インターネットの始まりを作ったような会社です し。あとから OCN でもよかったかなと思っています。これは 050 電話の月額基本料金がないからです。

IIJmio 契約にあたって、いくつかはまりました。一つ目は,amazon などで売っているスターターパックを買うと、直接申し込むよりも安くなる(タイミングが良ければ2000円以上)のですが、SMS付きnano SIM を買ってしまったことです。 音声付きの SIM は MNP 含めて、本人確認のために宅急便でカードを送ってくるようにしているようです。そのため、サイズだけあった nano SIM を買っても使えません。安くするつもりがかえって高くつきました。

2016年4月1日金曜日

iPhone 5s から iPhone 6s

2年前に契約した au の iPhone 5s を使ってきたのですが、違約金が必要のない月になったので iPhone の乗り換えを探していました。最終的には docomo版の iPhone 6s + iijmio に落ち着いたのですが、いろいろ迷いました。

2015年12月23日水曜日

Sony NEX-C3のコントロールホイール

Sony NEX-C3のコントロールホイールが正常に動かなくなって困っていました。左を押しても別な方向に動いたりします。で、探してみるとゴミが入って(?)正常動作しなくなるという話です。エアダスターを吹き込めば直ったとか(価格.comや英文で書かれている人など)。

真似してやってみたのですが、直りません。しょうがないので分解して K-100D のときと同じようにエアダスターを逆さにして液体を流し込んで清掃を数回繰り返したら直りました。