1 ===============================================================
2 Natural Tiny Shell - A tiny shell for a small embedded system
3 Copyright(C) 2011 Shinichiro Nakamura
4 ===============================================================
6 Natural Tiny Shell (NT-Shell) is a tiny shell for a small
12 - He created a draw of DEC compatible state machine parser.
15 - He implemented the state machine parser with C language.
16 And it has great interface. It's really simple and smart!
20 Today, There are so many great MPUs.
21 And the developper can design a small embedded system with it.
22 It's really great things and I never imagine 20 years ago.
24 There is a way to debug a embedded system using UART interface.
25 It is same as UNIX terminal interfaces.
27 The developper can be control a embedded system with it.
33 * Compatible with VT100 :)
34 * No need any C runtime library :)
43 CTRL+P : History(Prev)
44 CTRL+N : History(Next)
49 NT-Shell are consists from 5 modules.
51 * Top interface module
73 The NT-Shell interface is really simple.
74 It need 2 I/O interfaces for UART and a callback interface
75 for getting a user request.
78 int (*func_read)(char *buf, int cnt),
79 int (*func_write)(const char *buf, int cnt),
80 int (*func_cb)(const char *text));
84 func_read is a interface for reading user key inputs.
85 It's blocking interface.
89 func_write is a interface for writing shell outputs.
90 It's blocking interface.
94 func_cb is a callback interface for user request to your system.
98 * vtparse and vtparse_table are in the public domain.
99 * ntshell, ntopt, ntlibc, text_editor, text_history are in the MIT license.
101 ===============================================================
102 The MIT license for Natural Tiny Shell (NT-Shell)
103 ===============================================================
104 Copyright (c) 2010-2011 Shinichiro Nakamura
106 Permission is hereby granted, free of charge, to any person
107 obtaining a copy of this software and associated documentation
108 files (the "Software"), to deal in the Software without
109 restriction, including without limitation the rights to use,
110 copy, modify, merge, publish, distribute, sublicense, and/or
111 sell copies of the Software, and to permit persons to whom the
112 Software is furnished to do so, subject to the following
115 The above copyright notice and this permission notice shall be
116 included in all copies or substantial portions of the Software.
118 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
119 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
120 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
121 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
122 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
123 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
124 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
125 OTHER DEALINGS IN THE SOFTWARE.
126 ===============================================================
128 So you can use this software in non-commercial or commercial products.
129 But there aren't any warranty.
131 Please do NOT remove copyright texts, if you redistribute this package.
135 * A parser for DEC's ANSI-compatible video terminal
136 http://vt100.net/emu/dec_ansi_parser
140 * 2011/03/01 Version 0.0.1 Initial version.
141 * 2011/03/02 Version 0.0.2 Added a utility module.
142 * 2011/03/04 Version 0.0.3 Buf fixed.
143 * 2011/04/30 Version 0.0.4 Changed an implementation of the vtparse table.
146 * 2011/05/16 Version 0.0.5 Added input suggestion features.
147 Changed the interface of the ntshell.
148 * 2011/05/22 Version 0.0.6 Added cursor head and tail feautures.
149 * 2011/09/22 Version 0.0.7 Updated ntopt interface.