Skip to content

Commit 15e82d3

Browse files
committed
Create README.md
1 parent 8e0222d commit 15e82d3

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
##Librería de linea de comandos para Arduino y otros microcontroladores.
2+
3+
Esta librería permite **controlar nuestros programas y dispositivos con simples comandos de texto** de manera similar a la terminal en Mac OSX o linux y la linea de comandos de Windows. Los comandos pueden transmitirse al microcontrolador mediante un puerto serie, un socket TCP/IP o una conexión USB CDC.
4+
5+
### Uso básico de la librería
6+
7+
Para utilizar la librería debemos llamar a la función de inicialización que le dice a la librería que funciones debe usar para leer y escribir sobre el medio (serial, TCP/IP, etc.)
8+
9+
```c
10+
// Initialize command line interface (CLI)
11+
// We pass the function pointers to the read and write functions that we implement below
12+
// We can also pass a char pointer to display a custom start message
13+
shell_init(shell_reader, shell_writer, 0);
14+
```
15+
16+
Luego, el programador debe registrar los comandos y las funciones a las que estará asociada cada una de las cadenas de texto válido.
17+
18+
```c
19+
// Add commands to the shell
20+
shell_register(command_mycommand, "mycommand");
21+
shell_register(command_othercommand, "othercommand");
22+
```
23+
24+
Finalmente, dentro del ciclo principal de cada aplicación, el programador debe asegurarse de llamar a la función shell_task(), ya que dentro de esta se responde a los comandos introducidos y es la encargada de ejecutar las funciones que asociamos a cada cadena.
25+
26+
```c
27+
// This should always be called to process user input
28+
shell_task();
29+
```
30+
31+
Los programas (funciones) que implementan cada uno de los comandos se deben escribir con el prototipo estándar de C y reciben los parámetros para realizar su función de manera similar a una utilidad de linea de comandos.
32+
33+
```c
34+
int command_func(int argc, char ** argv);
35+
```
36+
37+
### Objetivos de este proyecto
38+
39+
Buscamos que la librería cumpla con los siguientes puntos:
40+
41+
* El código debe ser portable a otras plataformas
42+
* la librería debe ser compacta
43+
* Debe facilitar para agregar comandos
44+
45+
###Dispositivos Soportados
46+
47+
* Microcontroladores PIC (PIC16F, PIC18F, PIC24F, dsPIC)
48+
* Arduino UNO R3
49+
* Prácticamente cualquier dispositivo que tenga un compilador de C respetable

0 commit comments

Comments
 (0)