34 #include "sysconfig.h" 41 #define SIZEOFSHELLST (1024*8) 48 #ifdef GSC_COMP_ENABLE_GRAPHICS 51 #ifdef GSC_DEV_ENABLE_I2C 54 #ifdef GSC_COMP_ENABLE_FATFS 57 #ifdef GSC_COMP_ENABLE_TCPIP 65 #ifdef GSC_SHELL_USER_COMMAND_NUM 66 static const struct st_shell_command * const icom_list[] = {
75 #ifdef GSC_COMP_ENABLE_GRAPHICS 78 #ifdef GSC_DEV_ENABLE_I2C 81 #ifdef GSC_COMP_ENABLE_FATFS 84 #ifdef GSC_COMP_ENABLE_TCPIP 90 #ifdef GSC_SHELL_USER_COMMAND_NUM 91 #define MAX_COMMAND_NUM ((sizeof(icom_list)/sizeof(struct st_shell_command *))+GSC_SHELL_USER_COMMAND_NUM) 107 for(i=0; i<MAX_COMMAND_NUM; i++) {
108 if(com_list[i] == 0) {
110 tprintf(
"Add user shell command \"%s\"\n", command->
name);
115 SYSERR_PRINT(
"Cannot add user shell command \"%s\"\n", command->
name);
120 #define MAX_COMMAND_NUM ((sizeof(com_list)/sizeof(struct st_shell_command *))-1) 123 static int shell_task(
char *arg)
125 #ifdef GSC_SHELL_USER_COMMAND_NUM 128 while(icom_list[i] != 0) {
151 static struct st_tcb shell_tcb;
152 static unsigned int shell_stack[SIZEOFSHELLST/
sizeof(
unsigned int)];
154 void startup_shell(
void)
157 task_add(shell_task,
"shell", 0, &shell_tcb,
158 shell_stack, SIZEOFSHELLST, 0);
160 task_exec(shell_task,
"shell", 0, &shell_tcb,
161 shell_stack, SIZEOFSHELLST, 0);
165 int exec_command(
uchar *str)
unsigned char uchar
GadgetSeedの文字(列)は unsigned char 型となる
const struct st_shell_command com_i2c
I2Cデバイス情報取得、制御
const struct st_shell_command com_sys
システム状態取得、設定
const uchar * prompt
コマンドプロンプト文字列
const struct st_shell_command com_mem
メモリ表示、編集
int cgetc(unsigned char *rd)
標準入力より1文字を取得する
int task_add(task_func func, char *name, int priority, struct st_tcb *tcb, unsigned int *stack, int stack_size, char *arg)
タスクを追加する
const struct st_shell_command com_graphics
グラフィックス描画
void init_shell(struct st_shell *shell, struct st_shell_command *const *coms, const uchar *prompt)
シェルを初期化する
int exec_shell_command(struct st_shell *shell, uchar *str)
str文字列のコマンドを実行する
int tprintf(const char *fmt,...)
簡易printf
const struct st_shell_command com_dev
デバイスドライバ操作
const struct st_shell_command com_task
タスク状態取得
int shell_com_count
$gsc shellユーザコマンド登録可能数
int task_shell(struct st_shell *shell, uchar ch)
文字列編集タスク
const struct st_shell_command com_file
ファイル操作
uchar * strncopy(uchar *dest, const uchar *src, unsigned int n)
文字列コピー
const struct st_shell_command com_help
ヘルプメッセージ表示
void print_prompt(struct st_shell *shell)
プロンプトを表示する
int task_exec(task_func func, char *name, int priority, struct st_tcb *tcb, unsigned int *stack, int stack_size, char *arg)
タスクを追加し起動する
#define GSC_SHELL_MAX_LINE_COLUMS
$gsc shellコマンドラインの最大文字数
const struct st_shell_command com_net
ネットワーク情報取得