GP基板とSqueak

現代GP「創発的なものづくりリテラシー教育活動」で利用したGP基板と Squeakに関するページです。

GP基板

Squeak





Squeak <-> ADuC Protocol v1.0


命令語処理内容
1バイト目(A)2バイト目(B)16進表現
上位4ビット下位4ビット上位4ビット下位4ビット上位下位 概要 詳細
00010001対象モータ 0x110xXX モータ制御前転
0010対象モータ 0x12 0xXX   後転
0011対象モータ 0x13 0xXX モータは各ビットが立っているか ブレーキ
0100対象モータ 0x14 0xXX で判断する(0はすべてを意味する) 停止
0101any 0x15 ― モータ連動動作前進
0110 0x16― 後退
0111 0x17― 右折
1000 0x18― 左折
1001 0x19― 右回転
1010 0x1A― 左回転
1011 0x1B― 右後ろ
1100 0x1C― 左後ろ
0010センサ番号 オプション (0〜8) 0x2X0xXX A/D入力 (2^オプション)回平均をとる.通常は4(16回) バッチ処理中は値を返さない
0100出力する値(12ビット) 0x4X 0xXX D/A出力 D/A出力1(DAC0)
0101出力する値(12ビット) 0x5X 0xXX D/A出力2(DAC1)
01100001オフにするポート 0x610xXX D/A出力OFFポートはビット指定(0は全て)
0111any 0x7X0xXX halt(現在実行中の処理を強制終了) 命令の間に割り込んで停止させる
 
1000バッチ番号必要ページ数(0〜160) 0x8X 0xXX バッチ処理登録開始 B=0は未定義メモリに書き込む(足りない場合不可能)。ページ数はターミネータを含む。1ページは2命令。
10010001バッチ番号 0x910xXX バッチ処理開始1リターンする(Call)
0010バッチ番号 0x920xXX バッチ処理開始2 リターンしない
0011バッチ番号 0x930xXX バッチ処理一回だけ実行現在使用不可
0100バッチ番号 0x940xXX バッチが登録されているか確認する実際はサイズの確認(0なら未登録)
0101バッチ番号 0x950xXX バッチ処理削除 バッチ処理中は削除できない(0は全削除)
0110any 0x96― バッチ繰り返し停止ポーズ送信(その場で強制終了はhaltを使用)
1010any 0x9A― バッチ終了現在実行中のバッチから抜ける
1011any 0x9B― バッチのターミネータバッチの最後に入力する。バッチ処理中に現れたら終了する
1111持続時間(0〜22.5s) 0x9F0xXX waitバッチに使う。それ以外はsqueakで。引数Bはおよそ0.1[秒/1]

バッチの書き込み時は、一命令送るごとに若干のwaitを掛ける必要がある(Flashメモリの書き込み中に割り込みが効かないから)。
waitは0.1秒で十分


1010比較したい値 0xAX 0xXX Accの値と大小比較する結果に応じてフラグの値を変化させる(ビットを立てる。)「Acc(比較記号)値」
1011 比較演算子 ジャンプする命令数 0xBX 0xXX 比較演算子とフラグが成立する場合素通しする。それ以外のときジャンプ
    0xBX 0xXX 「=」→1ビット目を立てる(0001) 比較演算子とフラグのANDをとってTRUE(=0以外)なら素通しする
    0xBX 0xXX 「<」→2ビット目を立てる(0010) FALSE(=0)ならジャンプする。
    0xBX 0xXX 「>」→3ビット目を立てる(0100) 2ビット目と3ビット目が立っている場合など、ありえない組み合わせでは
    0xBX 0xXX 「!=」→4ビット目を立てる(1000) 正常に動かない(ジャンプしない)。無条件ジャンプは0を代入。
    0xBX 0xXX 複数ビットを立てるとORをとれる(<=などが表現できる)

たとえば,こうなります。

ADuC Program for GP-Board V2 (Version 2.0): gp2-2.0.hex

最新の SerialPortMorph は,送/受信とも2バイト非負整数です。
Squeak SerialPortMorph(2 Byte) for ADuC: SerialPortMorph_TEXT.002.pr (Project), SerialPortMorph_TEXT.2.cs (Change Set)

使い方の例
バッチコマンドの使用例

MacOSX/Linux Download Program: aduc814.tar.gz

Windows Download Program: aduc8xx_win.zip

MacOSX の squeak について