GadgetSeed
0.9.6
|
GadgetSeedは標準化されたコンソールIOがあります。
コンソールIOはUNIX系OSの標準入出力に似ています。
コンソールIOは「標準入力」、「標準出力」、「エラー出力」の3種類があります。
これはらの入出力には何らかのデバイスドライバを割り当てることができます。
また、入出力デバイスはタスク毎に固有のデバイスを割り当てることができます。
コンソールデバイスにはUARTデバイスを使うことを推奨します。
また、コンソールデバイスは コマンドシェル のインタフェースとして使用されます。
以下のAPIはシステムの標準入出力デバイスを登録します。
これらのAPIで登録されたデバイスは生成されたタスクの標準入出力デバイスとなります。
これらのAPIはシステムの初期化時に使用して下さい。
コマンドシェルを使用する場合は、必ず何らかのデバイスを登録する必要があります。
include ファイル : console.h
API名 | 機能 |
---|---|
register_console_in_dev() | システム標準のコンソール入力デバイスを登録する |
register_console_out_dev() | システム標準のコンソール出力デバイスを登録する |
register_error_out_dev() | システム標準のエラー出力デバイスを登録する |
GadgetSeedはprintf()に似た書式付きの文字列出力APIがあります。
include ファイル : tprintf.h
API名 | 機能 |
---|---|
tprintf() | 簡易printf |
eprintf() | エラー出力用簡易printf |
tprintf() は、 register_console_out_dev() で登録されたデバイスに出力されます。
eprintf() は、 register_error_out_dev() で登録されたデバイスに出力されます。
標準入力から入力データを取得するには以下のAPIを使用します。
include ファイル : console.h
API名 | 機能 |
---|---|
cgets() | 標準入力より文字列を取得する |
cgetc() | 標準入力より1文字を取得する |
cwait() | 標準入力より入力を待つ |
cgetcnw() | 標準入力より1文字を取得する(待ち無し) |
実行中のタスクは、標準入出力デバイスは動的に変更することができます。
標準入出力デバイスを変更するには、以下のAPIを使用します。
include ファイル : syscall.h
API名 | 機能 |
---|---|
set_console_in_device() | 実行タスクの標準入力デバイスを設定する |
set_console_out_device() | 実行タスクの標準出力デバイスを設定する |
set_error_out_device() | 実行タスクのエラー出力デバイスを設定する |