AppleScriptでlpc21ispをmbedライクに使う

LPC1114の書き込みにはlpc21ispというコマンドラインのプログラムを使うと便利です。 ただし、ターミナルを開いてコマンドラインをたたくのが面倒な場合もあります。他方、MacOSXの上ではApplScriptを使うと、フォルダにファイルを入れた時点で自動的に処理を行うことが出来ます。フォルダアクションと呼ばれます。フォルダアクションを使って、書き込みまで自動的に実行するようにしてみました。ブラウザ経由でmbedオンラインコンパイラからファイルをダウンロードすると、直ぐに書き込みを行うことができます。

AppleScriptプログラム

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

lpc21isp writer script for folder action

(*
 lpc21isp writer script for folder action
 
 Requirement:
  lpc21isp programmer. http://lpc21isp.sourceforge.net/
 
 Instructions:
 1. Adjust 'serialport' and 'lpcbin' to your environment
 2. save this file as '~/Library/Scripts/Folder\ Action\ Scripts/write lpc.scpt
 3. Attach this script to 'download folder' as a folder action script
 4. Have fun.
*)

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

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

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

/media/uploads/morecat_lab/fa01.png

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

/media/uploads/morecat_lab/fa02.png

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

/media/uploads/morecat_lab/fa03.png

利用方法

上記のフォルダアクションを仕込んだフォルダをブラウザのダウンロードフォルダに指定しておきます。 mbedコンパイラからダウンロードするだけで、自動的に書き込みをします。


Please log in to post comments.