GerardoMunoz / machine_sim

0 stars 21 forks source link

Taller_2022_1001 #1

Open GerardoMunoz opened 2 years ago

GerardoMunoz-UD commented 2 years ago

Nop funciona bien porque no hace nada,

Mateoo003 commented 2 years ago

En el archivo "titila_nops.py" se están implementando las funciones de "rp2_sim.py"; sin embargo, al ejecutarlo, se están imprimiendo las instrucciones set y nop utilizadas, mas no indica el momento en que se enciende o apaga el LED del Pin 25. En ese caso, hace falta imprimir un mensaje con cada set que diga el valor booleano que se le está poniendo al Pin; adicionalmente, sería útil conocer el tiempo que dura el LED en cada estado.

Michael102300 commented 2 years ago

Se debería usar la frecuencia en la clase de StateMachine, con esto se lograría dar una simulación de la espera o del ciclo de reloj, colocando el inverso de esa frecuencia como parámetro en el método sleep de la librería time que viene nativa en python.

Ejemplo: archivo r2p_sim.py

import time

class StateMachine:
def __init__(self, id_, program, freq=125000000, **kwargs):
     ...
     timeClock = 1/freq
     time.sleep(timeClock)
     ...
WillianChaparro commented 2 years ago

En el archivo rp2_sim.py en la linea 38 se debe corregir la parabra simulación. 38: print('Está pendiente de realizar la simulacón')

egalvarezo commented 2 years ago

En la función active linea 38, se deben agregar los estados de la maquina de estados finitos los cuales quedan almacenados en la lista fsms=[None]*8 siendo 8 estados posibles.

DECORTES52 commented 2 years ago

En la class nop aparece esta función la cual no se encuentra haciendo alguna acción, ya que esa parte del código esta comentada def getitem(self,name):

print('nop.getattr',name)

    pass
StefannyRuiz commented 2 years ago

Para el código de "titila_nops.py" sería útil imprimir los ciclos en los que el LED dura prendido para determinar la intensidad lumínica ya que al ser un simulador solo nos esta diciendo los set, nop y wrap pero queda la duda de qué tan rápido alumbra el led, cada tanto o si esta encendiendo con toda su intensidad.

ParadaArias commented 2 years ago

El código titila_nops.py únicamente esta ejecutando la maquina de estados por un solo segundo, por lo cual, en caso de querer realizar comprobaciones, cambios o únicamente extender el tiempo que esta encendido es un periodo muy reducido de tiempo. Es recomendable aumentar en la linea 32 el tiempo que la maquina se ejecuta. time.sleep(1)

Manuel3gam commented 2 years ago

En el código FSM_2.py se le podría agregar un else que devuelva al estado 1 si este no cumple los parámetros de salida, ya que podría caer en un estado que no se haya contemplado, de esta manera si se llega a un estado desconocido se devolvería al estado 1.

santiago03a commented 2 years ago

En el código rp2_sim.py, seria bueno agregar una funcion que llame a titila_nops.py, y cuante los ciclos que se estan ejecuntando para que posteriormente sean mostrados por el usuario, y asi mismo indicarle por medio de un mensaje como modificar este para que sea a gusto la duracion del led prendido

Oscar-Poblador commented 2 years ago

Como buenas prácticas de programación se deberían colocar las variables globales al inicio del código, luego las clases utilizadas y finalmente los métodos o funciones. Así mismo, el uso de variables con nombres claros es importante como por ejemplo reemplazar "fun_inst" por "funcion_instanciada" o "decorador_instr" por "decorador_instrucciones". Esto permite un mayor entendimiento del código y ayuda a que otros programadores puedan apoyar el creciemiento y desarrollo del proyecto.

CarlosMario1818 commented 2 years ago

En este print debería corregir la palabra "exclusivamente", y "paralelo" como se ve en la siguiente imagen image

también en este print está mal escrita la palabra "simulación" image

Como recomendación, las funciones y clases usadas, podrían tener un sobrenombre más explicito, con el fin de que otro programador entienda el propósito de cada estructura perteneciente al código. También se podría tener en cuenta unos nop () [ ] con el fin de interactuar con una mejor precisión al enlazar el pin 25 de ser el caso, por lo tanto, también tener cierta acogida con la frecuencia freq=125000000, a partir de los nop () []

LudSkywalker commented 2 years ago

Correccion en el metodo active de la clase StateMachine en el archivo rp2_sim.py

Es necesario cambiar el metodo active del State machine para que cuando le paso el 1 encienda el programa y cuando le pase el 0 cierre el programa y vuelva a liberar el espacio en la lista de maquinas de estados finitas