ホーム > Physical Computing, mbed > AppleScriptでlpc21ispをmbedライクに使う

AppleScriptでlpc21ispをmbedライクに使う

2014年06月26日 morecat_lab

mbedライクなlpc21isp + LPC1114環境をAppleScriptで作成しました。

LPC1114の書き込みにはlpc21ispというコマンドラインのプログラムを使うと便利です。

MacOSXの上ではApplScriptを使うと、フォルダにファイルを入れた時点で自動的に処理を行うことが出来ます。フォルダアクションと呼ばれます。

フォルダアクションを使って、mbedオンラインコンパイラからブラウザ経由でファイルをダウンロードすると、直ぐに書き込みまで自動的に実行するようにしてみました。

(坪井さんの設計したmbed LPC1114FN28ライクな環境を実現できます。書き込みはlpc21ispのほうが速いかもしれません。)

1. AppleScriptプログラム

AppleScriptエディタを使って、次のプログラムを~/Library/Scripts/Folder Action Scripts/write lpc21isp.scptに作成します。

(*
 lpc21isp writer script for folder action
*)

on adding folder items to this_folder after receiving added_items
 set serialport to "/dev/cu.usbserial*" -- change me
 set lpcbin to "/opt/local/bin/lpc21isp " -- change me
 try
 tell application "Finder"
 --get the name of the folder
 set the folder_name to POSIX path of this_folder
 set msg to ""
 repeat with aFile in added_items
 set file_name to name of aFile
 if file_name ends with ".bin" then
 set msg to file_name
 end if
 end repeat
 end tell
 if msg is equal to "" then
 quit me -- not a bin file
 end if
 set full_path to POSIX path of this_folder & file_name
 set dev to do shell script "ls " & serialport
 set msg to "Would you like to write " & return & full_path & return & "to" & dev
 display dialog the msg buttons {"Yes", "No"} default button 2 with icon caution

 set the user_choice to the button returned of the result

 if user_choice is "Yes" then
 set lpccmd to lpcbin & " -control -bin '" & full_path & "' " & dev & " 115200 48000"
 --    write to LPC with Terminal
 -- tell application "Terminal"
 --     do script lpccmd
 -- end tell
 -- write to LPC with shell
 do shell script lpccmd
 end if
 end try
end adding folder items to

2. フォルダーアクションの追加

ブラウザーでダウンロードファイルを置く設定をしているフォルダにFolder Actionを設定します。
・マウス右クリック ー>サービスー>フォルダアクション設定

FA01
・関連付けるスクリプトの選択でwrite lpc21isp.scptを選択

FA02

・フォルダアクションの利用のチェックボックスをチェックする

FA03

3. 利用方法

mbedコンパイラからダウンロードするだけで、自動的に書き込みをします。

(了)

カテゴリー: Physical Computing, mbed タグ:
コメントは受け付けていません。