Presentación 3: Simulación de Entradas - franciscaconcha/ProyectoLogisim GitHub Wiki
Presentación 3
Automatización de Entradas para Simulación
Tareas Propuestas en Presentación 2
-
Modificar la tabla de forma que el usuario sólo pueda ingresar la cantidad de bits correspondientes a cada entrada, o crear una entrada de default en caso de que no se cumpla con la cantidad especificada.
-
Es deseable que el botón "Simular" no se pueda apretar a menos que, luego pasar la validación, no se modifique la tabla.
-
Modificar la tabla de tal forma que el botón "Validar" considere entradas de más de 1 bit.
-
Usando la información de la tabla, modificar el estado del circuito para determinar las salidas, y generar así la tabla de simulación.
Tareas Realizadas
-
Se eliminó el botón "Validar". En su lugar, se optó por automatizar la validación, de forma que apenas se ingrese un valor en una casilla, éste se valide automáticamente.
-
A su vez, se modificó la función de validación para que considere entradas de más de 1 bit, así como para que valide correctamente los valores del reloj, los cuales se validan de forma distinta que las entradas.
-
Se descartó la idea propuesta en la presentación 2 de limitar los caracteres que puede haber en cada casilla, ya que dado que la validación se hace en "tiempo real", al intentar ingresar una entrada muy larga, se le indicará al usuario el error inmediatamente.
-
Se logró coordinar la nueva validación automática de las casillas con la función que determina la disponibilidad o no disponibilidad del botón "Simular".
-
Se identificaron las clases responsables de realizar los ticks del reloj,y la cadena de delegación de responsabilidades que siguen para hacer un "tick".
-
De la misma forma, se identificó el thread que escucha los ticks del reloj, el cual es responsable de ir generando la tabla de resultados dinámicamente.
-
Finalmente, se consiguió cambiar el estado del circuito según los datos ingresados en la tabla, para ir generando dinámicamente los valores de las salidas, y obtener así la tabla de resultados.
Issues
Cerrados en el Último Periodo
- Validar valores para reloj. https://github.com/franciscaconcha/ProyectoLogisim/issues/77
- Con los valores de la entrada de la simulación, asignar dichos valores al circuito https://github.com/franciscaconcha/ProyectoLogisim/issues/70
- Ticks del reloj de acuerdo a los datos ingresados por el usuario https://github.com/franciscaconcha/ProyectoLogisim/issues/100
- Agregar botón Submit a tabla de InputTab https://github.com/franciscaconcha/ProyectoLogisim/issues/35
- Limitar caracteres que se pueden escribir en cada textfield https://github.com/franciscaconcha/ProyectoLogisim/issues/66
- Setear valores a las entradas de más de 1 bit https://github.com/franciscaconcha/ProyectoLogisim/issues/107
- Guardar en un archivo los datos ingresados en inputPanel https://github.com/franciscaconcha/ProyectoLogisim/issues/43
Tareas Propuestas Sin Realizar
Se lograron cumplir todos los objetivos propuestos al comienzo del proyecto.
[Volver a Menú Presentación 3] (https://github.com/franciscaconcha/ProyectoLogisim/wiki/Presentaci%C3%B3n-3)