IchigoLatte PY ver 0.4.0 / LPC1114 --- [リファレンス] (IchigoLatte) - マイコンOS * ScrLock テレビモニターがうまく映らないときはNTSCモードを変更してみる。 ビデオがオフのときにオンにすることも可能。 * Ctrl+Alt+Del OSを再起動する。 (lash) - latteシェル * . 編集可能なファイルI/O。 * uart UARTシリアルI/O。 * @(no) EEPROMファイルI/O。 no: 0~63(1Mビットの場合) * _ '.'ファイルをPythonまたはバイナリとして実行する。 * 例) >cat . > uart >cat uart > . >cat @0 > . >cat . > @63 + ボタンを押した状態でシステムを起動すると'_'が実行される。 + ボタンを押すかCtrl+Dを入力するとモード(コンソール<->UART)が切り替わる。 (UARTモード時はviコマンドは使用不可) (echo) - 引数の内容を出力する。 * 例) >echo Hello World. (cat) - ファイルの内容を出力する。 * 'ESC' catを終了する。 * 例) >cat . >cat uart >cat -c 186 uart > . (ls) - EEPROMの中身を一覧表示する。 * 例) >ls (vi) - テキストエディタを起動する。 * 'ESC' 内容を保存してviを終了する。 * Ctrl+D 変更を破棄してviを終了する。 * 例) >vi . >vi @0 (ny) - Pythonを実行する。 * 例)対話モード >ny * 例)実行モード >ny . * spec 変数名の長さ: 7 サポートされているキーワード: if, else, while, break, def, return 演算子: ==, !=, <=, >=, >>, <<, =, +, -, *, /, %, not, <, >, &, |, ^, ~ (!) 'and' と 'or' はサポートされていない。 代わりに’*’と’+’を使用する。 - [latteオブジェクト メンバ関数] * True * False * print(v, ...) vを表示する。 * led(v) v==0 : LEDをOFF v==1 : LEDをON * btn() ボタンの状態を0もしくは1で返す。 * gpin(v) INポートの状態を0もしくは1で返す。vはポート番号。 * out(v) OUTポートの状態を変更する。 vのビットフィールドは各ポート番号に対応する。 7番目のビットはLED。 * cls() 画面をクリアする。 * lc(x, y) カーソルをx,yに移動する。 * msleep(v, [m]) vミリ秒間プログラムを停止する。 mでモードを指定する。 m==0 : normal sleep m==1 : deep sleep (精度:1,000 msec, 最大:65,535,000 msec) * inkey() 最後に入力されたキーボードのコードを返す。 * rnd(v) 0からv未満の整数をランダムに返す。 vは整数であること。 * chr(v) 文字コードvから文字を返す。 * tick() システム起動からの経過時間(msec)を返す。 * ana(p) ポートのアナログ値を返す。 p==0 : btn p==2 : in2 p==5-8 : out1-4 * scr(x, y) 画面上の指定座標に書かれた文字コードを返す。 * pwm(p, d) OUTポートp(2-5)にPWM信号を送る。引数dはパルス幅(usec)。 * pwmt(t) PWM周期(usec)を設定する。[デフォルト:20,000] * scroll(v, [r]) 指定した方向に画面をスクロールする。 v==0 : 上 v==1 : 右 v==2 : 下 v==3 : 左 rでローテートを指定する。 r==0 : ローテートしない[デフォルト] r==1 : ローテートする * video(v) NTSC信号を切り替える。 v==0 : OFF v==1 : ON v==2 : ON(反転) * input() キーボードからの入力を数値で返す。 * bps(v) uartの伝送速度を設定する。[デフォルト:115,200] * uart(v, ...) uartにvを書き出す。 第一引数のvが数値の場合、1バイトのバイナリとして送信する。 第一引数のvが文字列の場合、第二引数以降の数値を文字列に変換して送信する。 * uart() 引数を省略した場合は受信したデータを数値で返す。 受信するデータがない場合は-1を返す。 * i2cw(a, ...) 指定したアドレスaのI2Cデバイスにデータを書き込む。 引数"..."の内容がデバイスに送信される。 * i2cr(a, ...) 指定したアドレスaのI2Cデバイスからデータを読み込む。 関数から返されると、引数"..."に値がセットされる。 * exit(v) プログラムを終了する。 * env(n) 環境変数にnをセットする。 環境変数は他のプログラムから使用できる。 * env() 環境変数を返す。 * mem(v) vが数値の場合、そのアドレスのバイトを返す。 vが文字列の場合、次のアドレスを返す。 v=="f" : フォントデータのアドレス。 (読み出し専用, 8バイト * 256文字) v=="." : ファイルアドレス。 (読み出し専用, 2KB) v=="s" : スクリーンRAMのアドレス。 (読み出し/書き込み, 32*24バイト) v==" " : フリーRAMのアドレス。 (読み出し/書き込み, スタックの頂上まで使用可能) 例) | var fm = mem("f"); // フォントデータのアドレスを取得 | log( mem(fm+(8*0x41)+0) ); // フォント'A'(0x41)の0行目 * mem(a, v, ...) アドレスaのメモリにvを書き出す。 最後に書き出したアドレスaを返す。 例) | var sm = mem("s"); // スクリーンRAMのアドレスを取得 | mem(sm, 0x41); // 画面(0,0)に'A'を出力 * mem() フリーRAMに置かれたARM Thumbコードを呼び出す。 次の引数を渡す。 R0 : (予約済み) R1 : int32_t* (envへのポインタ) R0値が返される。 例) | var free = mem(" "); // フリーRAMのアドレスを取得 | mem(free, 0x70, 0x47); // 処理を返すだけ | mem(); // コードを呼び出す * ver() IchigoLatteのバージョンを取得する。 新しいバージョンほど番号が大きくなる。 * beep(h, d) BEEPを鳴らす。引数hは周波数(Hz)、dは長さ(msec)。 --- NaturalStyle Co. Ltd. http://na-s.jp/