2016年10月29日

2016 Le Tour de France SAITAMA CRITÉRIUM

フラム・ルージュ
ツール・ド・フランスさいたまクリテリウムである。
初めて観に行ったがこれはなかなか楽しいものであった。

愛三工業レーシングチーム
オープニング走行の愛三工業レーシングチーム。
ポストカードを配る。

愛三工業レーシングチーム
こういうのよいね。

スペシャルチームジャパン
トラックの混成チーム。
ニッポと学生。

新城選手と別府選手
新城選手と別府選手。

ヒゲ
ヒゲ。
ジャイアント・アルペシン。

ETIXX-QUICK STEP
エティックス・クイックステップ。

AG2Rと悪魔
AG2Rと悪魔おじさん。

ディアブロおじさんは自転車
ツールといえばこの人である。
ほんとよく招致できたと思う。

ディアブロ子ちゃんは走る
悪魔おじさんの後から走ってきたディアブロ子ちゃん達。
自転車に追いつける訳もなく、ちょっとした罰ゲームである。

アルドワジエ
タイムギャップを表示する黒板バイク。

フルーム選手
フルーム選手。
TTの姿勢が浅いという違和感を感じた。
ノーマルバイクのせいだろうか。

新城選手前
ポイントレースはTTに出場しなかったメンバーが走る。
終始先頭でポイントを窺う新城選手。
見事に獲りましたね。

ヒゲ
虹色のヒゲ。
余裕な表情。

IMGP7123_
クリテリウムメインレース。
パレードランにもかかわらず本気逃げの内間選手。
アグレッシブでよいです。

ところで、平地なのに何で山岳賞があるのかコースを歩き回っていて謎が解けた。

さいたま新都心地下道
さいたま新都心地下道を下る。
けっこうな勾配。

7%勾配
駅地下、最低部に7%の勾配標識がある。

山岳ポイント
地下道の勾配が急なので登り切ったところを山岳ポイントとしている、という事だった。
これは納得。
  

2016/10/29 20:23 | カテゴリ: ロードレース

2016年10月16日

世界選手権男子エリート2016

2016-10-16 (2)
世界選手権男子、UCI Channelからはじき出されるの図。

ロード男子はNHKとJ Sportsがあるのでお前のとこの国には配信しないよ、という意地悪フィルターが発動した。
名前出ている以上、2社にはきっちりライブ中継して頂きたい。

2016-10-16 (1)
フィニッシュラインの辺りに日の丸と宇都宮ブリッツェンの旗が見える。

別府選手はDNF、新城選手は5:26遅れの35位。
終始集団内にいたようで、ちょこちょこ中継に映り込んでいました。

中継がカヴェンデッシュ連呼だったので、てっきりそのままいくかと思ったらサガンが押さえた。
そして3位はトム・ボーネン。久しぶりに絡んできた。いやあ、よいスプリントでした。

そういえばこの3名、みんなアルカンシエル着用組でしたね。
 

2016/10/16 23:32 | カテゴリ: ロードレース

2016年10月15日

世界選手権女子エリート2016

UCI Road World championship Race Woman Elite (2016)
カタールのドーハで開催中の自転車世界選手権女子エリートのレースで與那嶺選手が逃げている。
世界選手権なりオリンピックのロードレース競技で日本人選手の逃げというのはあまり聞いたことがない。

出場できる人数も限られ、組織的戦いが難しいならばせめて逃げて目立つというのはよい戦略である。
いや、もちろん勝てばそれに越したことないですが。



 
2016/10/15 20:07 | カテゴリ: ロードレース

服喪期間

プミポン国王陛下のご逝去に伴いタイが喪に服しているが、Webサイトも一様に弔意カラーになっていた。

2016-10-15 (在京タイ王国大使館)
在京タイ王国大使館
在京タイ王国大使館[thaiembassy.jp]

2016-10-15 (タイ王国政府観光庁)
タイ王国政府観光庁
ホーム | タイ国政府観光庁[thailandtravel.or.jp]

2016-10-15 (タイ航空)
タイ航空
Thai Airways | Smooth as Silk[thaiairways.com]

2016-10-15 (Google.co.th)
Google(タイ)もだった。
Google[google.co.th]

謹んで哀悼の意を表します。
 
2016/10/15 17:22 | カテゴリ: 日記

2016年10月11日

AVRISP-MKII Clone Programmer Projectのコンパイル

LUFA AVRISP MKII Clone Programmer Projectのコンパイル手順を示す。
例としてAT90USB162の場合を示しているが、適宜使用するマイコン(ATmega32u2等)に読み替えて頂ければ宜しいかと思われる。

■検証環境


・Microsoft Windows10 version 1607 build 14393.223
・Atmel avr8 gnu toolchain Ver.3.5.4.91
・MSYS GNU Make Ver.3.82.90
・Doxygen Ver.1.8.12 Windows x64
・自作AVRISP mkII clone board(AT90USB162)→AVRISP mkII cloneの製作

■AVR toolchainをダウンロード


AVR toolchain

Atmel AVR Toolchain for Windows[atmel.com]

執筆時点では avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe であった。

インストールが終了したら、
C:\avr8-gnu-toolchain\bin
を環境変数のPATHに追加する。
Windowsスタートメニューを右クリック→システム→システムの詳細設定→詳細設定タブ→環境変数→ユーザー環境変数でPATHを選択→編集→新規で追加できる。
(パスはインストール先に応じて適宜変更の事)


■MinGWをインストール


MinGW

今どきの流行はMSYS2なのかもしれないが、慣れているのでMinGWを導入する。
MinGW | Minimalist GNU for Windows[mingw.org]

mingw-get-setup.exeをダウンロードして実行。

MinGW_Installation_Manager_Setup_Tool

パッケージマネージャが起動するのでインストールする項目を選択。

MinGW_Installation_Manager

項目としては
・mingw32-base (基本ツール)
・mingw32-gcc-g++ (C++ 言語コンパイラー )
・msys-base (bash grepなどのツール)
の3つにチェックを入れたら Installation→Apply Changes で導入開始。

C:\MinGW\msys\1.0\bin
C:\MinGW\bin
を環境変数のPATHに追加する。
(パスはインストール先に応じて適宜変更の事)


■GitHubからソースコードを入手


LUFA Library Copyright(C)でおなじみのDean Cameraさんからソースコードを貰って来る。
GitHub - abcminiuser/lufa: LUFA - the Lightweight USB Framework for AVRs.[github.com]

github lufa

ログインしていれば右側に緑色のボタンでClone or download と表示されるので押す。
Download Zipを選択すると、Zipでファイル一式を落とせる。
色々同梱されているが、ここで必要なのはLUFAとProjectsのAVRISP-MKIIである。


■makefileの編集


Zipファイルを展開したら、Projects\AVRISP-MKII の makefile をテキストエディタで開いて下記の箇所を編集。
(メモ帳だと改行コードが崩れるので宜しくない、notepad++等のテキストエディタを導入する)

MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000



MCU = at90usb162
ARCH = AVR8
BOARD = USBTINYMKII
F_CPU = 16000000

に変更。


■コマンドプロンプトの起動


エクスプローラで Projects\AVRISP-MKII フォルダに移動して、ファイル→コマンドプロンプトを開く→コマンドプロンプトを開く
でコマンドプロンプトを起動する。


■コンパイル


mingw32-make と入力するとコンパイルが始まる。
make

--
C:\temp\lufa\Projects\AVRISP-MKII>mingw32-make
[INFO] : Begin compilation of project \AVRISP-MKII"...

avr-gcc (AVR_8_bit_GNU_Toolchain_3.5.4_1709) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[LNK] : Linking object files into \AVRISP-MKII.elf"
avr-gcc obj/AVRISP-MKII.o obj/AVRISPDescriptors.o obj/V2Protocol.o obj/V2ProtocolParams.o obj/ISPProtocol.o obj/ISPTarget.o obj/XPROGProtocol.o obj/XPROGTarget.o obj/XMEGANVM.o obj/TINYNVM.o obj/HIDParser.o obj/Device_AVR8.o obj/EndpointStream_AVR8.o obj/Endpoint_AVR8.o obj/Host_AVR8.o obj/PipeStream_AVR8.o obj/Pipe_AVR8.o obj/USBController_AVR8.o obj/USBInterrupt_AVR8.o obj/ConfigDescriptors.o obj/DeviceStandardReq.o obj/Events.o obj/HostStandardReq.o obj/USBTask.o -o AVRISP-MKII.elf -lm -Wl,-Map=AVRISP-MKII.map,--cref -Wl,--gc-sections -Wl,--relax -mmcu=at90usb162
[OBJCPY] : Extracting HEX file data from \AVRISP-MKII.elf"
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature AVRISP-MKII.elf AVRISP-MKII.hex
[OBJCPY] : Extracting EEP file data from \AVRISP-MKII.elf"
avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings AVRISP-MKII.elf AVRISP-MKII.eep || exit 0
[OBJCPY] : Extracting BIN file data from \AVRISP-MKII.elf"
avr-objcopy -O binary -R .eeprom -R .fuse -R .lock -R .signature AVRISP-MKII.elf AVRISP-MKII.bin
[OBJDMP] : Extracting LSS file data from \AVRISP-MKII.elf"
avr-objdump -h -d -S -z AVRISP-MKII.elf > AVRISP-MKII.lss
[NM] : Extracting SYM file data from \AVRISP-MKII.elf"
avr-nm -n AVRISP-MKII.elf > AVRISP-MKII.sym
[SIZE] : Determining size of \AVRISP-MKII.elf"

avr-size --mcu=at90usb162 --format=avr AVRISP-MKII.elf
AVR Memory Usage
----------------
Device: at90usb162

Program: 9924 bytes (60.6% Full)
(.text + .data + .bootloader)

Data: 117 bytes (22.9% Full)
(.data + .bss + .noinit)

EEPROM: 2 bytes (0.4% Full)
(.eeprom)


[INFO] : Finished building project \AVRISP-MKII".
--

AVRISP-MKII.hexが出力されている事を確認する。

■ドキュメント生成


Doxygenでドキュメントを出力する。
Windowsバイナリもちゃんと提供されている。
GUIは不要なので、32-bit doxygen binary in a zip をダウンロードする。
Doxygen: Downloads[stack.nl]

適当なフォルダに展開したら PATHを追加しておく。
実行はプロジェクトフォルダでdoxygenと入力する。

C:\temp\lufa\Projects\AVRISP-MKII\doxygen

Documentation\htmlが生成される。

index.htmlを開くとプロジェクトのドキュメントを閲覧できる。
ISPやPDI、TPI接続のピン配置もまとめられているので一度目を通しておいたほうがよい。

■FLIPでボードに書き込み


Atmelから書き込みソフトをダウンロードする。
FLIP[atmel.com]

執筆時点では、Flip Installer - 3.4.7.112.exeであった。

Device Selection
Device→SelectでAT90USB162を選択

Settings Communications USB
Settings→Communication→USBを選択

File→Load HEX File..でhexファイルを選択。

Runで書き込み。

基板上のLEDが点滅する。
Verify PASSの表示がでればOK。

Start Appricationで書き込まれたプログラムが実行される。
ここで再起動を要求されるがしなくてもよいと思う。

HBWジャンパを外してUSBを抜き刺しするとAVRISPとなり、HBWジャンパを付けるとAT90USB162になる。
ジャンパ付けても変わらない場合は基板上のリセットボタンを押すと多分変更される。


■ドライバ導入


AVRISP MKII
始めて書き込みを行った場合はlibusb32のドライバが当たっていないと思われるのでデバイスマネージャで[?]が出る。以下3つの手順のうちどれかを参考にドライバを導入する。

1.libusb-win32(これが一番まっとう)
libusb-win32 download | SourceForge.net[sourceforge.net]
ただし署名なしのドライバなのでWindows10での導入には色々と手順が必要。
・BIOSでUEFIのセキュアブートを解除
・設定→更新とセキュリティ→回復→PCの起動をカスタマイズする→再起動する→トラブルシューティング→詳細オプション→スタートアップ設定→再起動
・スタートアップ設定の起動オプション、7)ドライバー署名の強制を無効にする を選択して起動
起動後は未署名のドライバも導入出来るようになっている。

Driver inf wizard
libusb-win32-bin-1.2.6.0\bin の inf-wizard.exe を実行。

Driver inf wizard
AVRISP mkIIを選択し、Nextを押す。

Driver inf wizard
これでinf及びcatファイルを生成され、Install Nowでドライバが導入される。

2.Githubのlufaのドライバ
AVRISP-MKIIのソースコードにWindowsドライバも付属しているように見える。
Lufa AVRISP MKII Windows Driver
これを使って良いのだろうか?

Lufa AVRISP MKII Windows Driver
署名付きなので再起動は不要。

3.olimexのドライバ
AVR-ISP-MK2 - Open Source Hardware Board[olimex.com]
市販のAVRISP MKIIクローンとして有名な物。
回路が同じだから拝借してみると使えた。あまりお行儀はよくない。
これも署名付きなので再起動は不要。


■書き込みテスト


LチカのサンプルプログラムBlinkを書いてみる。
なお、サンプルスケッチのpinModeを1から3に変更している。
これはATtiny85のデジタルアウト3にLEDを接続している為である。

void setup() {
// initialize digital pin 3 as an output.
pinMode(3, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(3, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(3, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}


■書き込みテスト動画


Arduino IDE 1.6.12 で上記スケッチをコンパイル、AVRISP MKII clone boardを使用してATtiny85に書き込むとLEDが点滅する。




■参考


使用したSource codeとCompile済みファイルを7zip形式で上げておく。
AT90USB1287@8MHz, AT90USB162@16MHz, ATmega32u2@16MHz, ATmega32u4@16MHzのhexである。
 sz.png AVRISPMKIICloneProgrammer.7z
[license]LUFA Library Copyright(C)Dean Camera, 2016.
[SHA256]0fba33dc1d4375650e99b79a8f63ab45b55fb5b7341c79ee8f29c868aa2bc34e
virustotalでウイルスチェック済み。
 

【関連記事】
AVRISP mkII cloneの製作
ATTiny書き込み用8Pin子基板の製作
AVRISP mkII cloneを3.3V化
 
2016/10/11 23:59 | カテゴリ: 特殊工作部

2016年10月09日

ATTiny書き込み用8Pin子基板の製作

8pin mini board
ATTiny85用の子基板を作るの図。

ATTiny85に書き込む際、自作のAVRISP mkII clone boardからいちいちジャンプワイヤー飛ばすのは美しくないと思い、基板の破片でISP6ピンとDIP8ピンの変換基板を作った。

AVRISP mkII clone with 8pin mini board
そういう風に作ったので当たり前だがISPのコネクタにきれいに刺さる。

余った土地にLED付けたり、ひょっとしたら20ピンのATTiny使うかもしれないのでジャンパでGNDを延ばせるようにしたりと設計思想にブレがある。
こういう冶具は雑念が入る前にちゃちゃっと作ってしまった方がよい。

ところでいい加減Arduino 1.0.6でもないだろうという事で、最新のArduino 1.6.12環境に上げて書き込みをしてみたのだが、案の定以下の様なエラーを吐いて止まった。
Arduino 1.6.12 Error Message

avrdude: stk500v2_recv_mk2: error in USB receive
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_command(): failed miserably to execute command 0x02
avrdude: stk500v2_setparm(): failed to set parameter 0x98
シリアルポート「avrdude: stk500v2_setparm(): failed to set parameter 0x98
」が選択されていますが、そのポートは存在しないか、ボードが接続されていません。

これはAVRISP MkII(LUFA)とArduino IDE(avrdude)の相性が問題らしいのだが、ふとAVRISP mkII cloneのファームが古いのが原因かと思い(20111009版を使用している)、LUFAから最新のコードを拾ってきてhex作ったらエラー無しでWrite出来た。

Four Walled Cubicle - LUFA (Formerly MyUSB)[fourwalledcubicle.com]


書き込みの様子。

コンパイルの手順等はまたいずれ。
取り急ぎAVRISP mkII cloneを窓から投げ捨てなくてもよいぞというご報告まで。

*追記
コンパイル手順を書きました。
AVRISP-MKII Clone Programmer Projectのコンパイル

【関連記事】
AVRISP mkII cloneの製作
AVRISP-MKII Clone Programmer Projectのコンパイル
AVRISP mkII cloneを3.3V化
 

2016/10/09 15:45 | カテゴリ: 特殊工作部

2016年10月01日

東京オリンピック自転車ボランティア募集開始

ボランティア研修第1期生募集!

自転車トラック競技の会場である伊豆市が早くも東京オリンピックのボランティア募集を始めた。

〜2020年に向けて〜ボランティア研修第1期生募集!|伊豆市役所[city.izu.shizuoka.jp]

上記のページにも書かれているが人口規模の小さい町としては早めにボランティアを確保したいという思いが強いのだろう。

3.2万人の人口で0.1%がボランティアに応募したとして、32人にしかならない。
FAQを見ると「伊豆市在住・在勤に限らず、伊豆市内で行なわれる当研修に参加できる方を広く募集しています。」と早々に市外からの参加も可能である事を打ち出しているのも納得である。

第1期生は外国語枠30名、自転車枠30名。
自転車の募集要項を見ていて面白いのは、審判資格とか競技経験に加えて観戦経験の欄があるところ。
見る側の人もボランティアに参加できそうなのはよい。

平日に伊豆市に通えて研修を受けられる方はぜひ。

 


2016/10/01 23:55 | カテゴリ: 自転車

2016年09月30日

マナカ

manaca

パノラマカード亡き今はどうなっているかというとSuica同様非接触IC化した。
中京圏私鉄及び地下鉄ではmanaca[manaca.jp]と言う。
日本の真ん中だからマナカなのであって、ふたりっ子のマナカナとは関係ない。
JR東海はTOICAという名前で展開している。

このICカードはJR東日本と相互に乗り入れているので関東に帰ってきてからでも使えて便利。
相互に使えるという事は逆に中京圏でSuicaが使える訳である。
つまり普通はICカードを購入する必要はない。これは趣味である。

全国の交通系ICカード情報をお待ちしております。
 
2016/09/30 23:17 | カテゴリ: 日記

2016年09月29日

SFパノラマカードの払い戻し

SFパノラマカード
名古屋に出かけたので引き出しにしまっていたパノラマカードを払い戻す。

このカード、関東圏で言うパスネットみたいなもので名古屋の電車とバスに乗る事が出来たもの。
現在は非接触ICカードに置き換わっているので使用できない。

これ、2005年なので愛知万博の時に買ったものである。
よくとっていたなあと自分の事ながら感心する。

なお、払い戻したカードは回収されてしまうので注意。

SFパノラマカードの払いもどし - 電車のご利用案内 | 名古屋鉄道[meitetsu.co.jp]
 
2016/09/29 23:26 | カテゴリ: 日記

2016年09月12日

カープサイダー

カープサイダー

そういえば冷蔵庫に入っていた。
カープサイダーである。

数ヶ月前に近所のスーパーで購入したものである。
製造者は齋藤飲料工業株式会社、広島県は福山市産である。
斎藤飲料工業株式会社[saito-inryo.com]

開けるなら今だろうね。
 
2016/09/12 23:59 | カテゴリ: 日記

2016年09月10日

カープ

かしなりくんとスイーツ姫タオル

祝・広島優勝。25年ぶりってすごい。
自転車チームでここまで長期間チームを保持出来たところってあるのだろうか。
実業団チームくらいではないか?

カープはコラボ商品に積極的で自転車ジャージも出していたと思うが、うちにあるカープグッズはこれくらい。
菓子博のキャラクターを取り込んだデザイン。面白い。

 
2016/09/10 23:59 | カテゴリ: 日記

2016年09月06日

ひまわり時計

天気が悪い時期、ひまわりの衛星画像が気になる。
ブラウザのタブの1つに衛星画像を表示しっぱなしにして都度リロードをかけているが、いっそ独立させればと思い作ったのがこれ、ひまわり時計。

ひまわり時計

Raspberry Pi Zeroをフリスクケースに詰める4.3inch液晶を5V化コンポジット出力の調査コンソールスリープ抑止という細々とした作業がここに集結している。

画像出力は次のフローで動作している。

1.wgetで30分毎に気象衛星の画像取得
   ↓
2.ImageMagickで画像に時刻を挿入
   ↓
3.FBI(framebuffer imageviewer)で液晶に出力

プログラムではなくスクリプトである。
Raspberry Pi ZeroはLinuxが動作するので画像処理はImageMagickに丸投げ出来るのがとても良い。

24時間動かすとこんな感じ。
可視光の画像を拾っているので夜になると隠れてしまう。
真面目に雲の動きを追うならば赤外画像を見るべきだが美しさはやはり可視光に分がある。

  

2016/09/06 23:57 | カテゴリ: 特殊工作部