From 54cd50c6752e0183954f34ad0c5dd2621cc9e135 Mon Sep 17 00:00:00 2001 From: gustavo96 Date: Fri, 3 Jun 2022 17:05:25 +0000 Subject: [PATCH] Update 'Readme.md' --- Readme.md | 77 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 54 insertions(+), 23 deletions(-) diff --git a/Readme.md b/Readme.md index 5bc635d..2627397 100644 --- a/Readme.md +++ b/Readme.md @@ -121,11 +121,7 @@ En **main.cpp** se incluye nuestro encabezado, y se utilizan los argumentos *argc* y *argv* para conocer lo que se ingresa en la terminal. Argc nos indicará si el número de argumentos es correcto. -Se utiliza un ciclo if para seleccionar la acción del LED, comparando el valor -de argumento en la terminal con unos comandos definidos: ***on***, ***off*** -y ***blink***. - - +Se nos indica como usar los comandos, en terminal se desplegará un mensaje que indica que la app inicia, dónde se crean los 4 objetos LED que controlarán nuestros LED de usuario en un arreglo. ```cpp #include"led.h" @@ -133,24 +129,43 @@ y ***blink***. using namespace std; int main(int argc, char* argv[]){ - CLED led1 = CLED(3); - string cmd(argv[1]); - - if(argc!=2) - std::cout << "Incorrect number of arguments" << std::endl; - - if(cmd=="on") - led1.TurnOn(); - - else if(cmd=="off") - led1.TurnOff(); - else if(cmd=="blink") - led1.BlinkLED(); - - else - cout << "Invalid command" << endl; + if(argc!=2){ + std::cout << "Error: This is not a command for this application" << std::endl; + std::cout << "These are the commands you can use: on, off and blink" << std::endl; + } + + std::cout << "Starting app" << std::endl; + string cmd(argv[1]); + + CLED leds[4] = {CLED(0), CLED(1), CLED(2), CLED(3)}; +``` +Los comandos entrarán en un ciclo if para seleccionar la acción del LED, comparando el valor +de argumento en la terminal con unos comandos definidos: ***on***, ***off*** +y ***blink***, a su vez, al ingresar un comando erróneo saldrá en la terminal una alerta que desplegará la lista de comandos correctos. + +Si se desea controlar un solo LED en particular, se remplaza la letra "i" en el objeto leds[i] por el número de LED que se quiere controlar. + +```cpp + for(int i=0; i<=3; i++){ + if(cmd=="on") + leds[i].TurnOn(); + + else if(cmd=="off") + leds[i].TurnOff(); + + else if(cmd=="blink") + leds[i].BlinkLED(); + + else{ + std::cout << "Error: Invalid command" << std::endl; + std::cout << "These are the commands you can use: " << std::endl; + std::cout << "on - Powers on the LED" << std::endl; + std::cout << "off - Powers off the LED" << std::endl; + std::cout << "blink - Makes the LED blink" << std::endl; + } + } return 0; } ``` @@ -171,13 +186,29 @@ debug: ``` -Se cambian los permisos de nuestro ejecutable. +O se puede compilar directamente de terminal con el primer comando del makefile, en modo superusuario. +``` +sudo g++ main.cpp -o led led.cpp +``` + +Se otorgan los permisos necesarios a nuestro ejecutable. ``` sudo chmod u+x led ``` -Y se ejecuta con cualquiera de los argumentos mencionados anteriormente. +Y se ejecuta con cualquiera de los comandos disponibles. + +Encender LED +``` +./led on +``` + +Apagar LED +``` +./led off +``` +Parpadear LED ``` ./led blink ``` \ No newline at end of file