Semana 8
Esta vez voy a mostrar un poco del avance que he tenido con el código en mi programa.
Por el momento el programa solo inicia el sistema principal, que a su vez trata de comunicarse con dispositivos bluetooth ( lo cual aun no he codificado) y se apaga automaticamente dado un tiempo preestablecido por el usuario ( en este caso son 4 iteraciones del programa).
Para poder tener tiempo de ver lo que el programa hace, agregue un retardo con en while y un for anidados, iterando numeros mayores a 1000, por el momento los retardos representan los tiempos en que se realizan las comunicaciones y demas funciones del sistema.
package oop;
/*
*clase base de la mayoria de las clases que se usan en el
*proyecto de oop
*/
public class Comun {
//atributos
int id;
int estado;
//constructor
public Comun(int valorId, int valorActivado){
id = valorId;
estado = valorActivado;
System.out.println("Creando objeto con valores definidos por el usuario");
}
//constructor vacio
public Comun(){
id = 0;
estado = 1;
System.out.println("Iniciando objeto con valores predefinidos");
}
//atributos
public int verId(){
System.out.println("Viendo id del objeto");
return id;
}
public int verEstado(){
System.out.println("Viendo estado del objeto");
return estado;
}
public void Activar(){
System.out.println("Estado");
estado = 1;
}
/*
*clase principal del programa, se encarga de coordinar todas las
*demas clases del proyecto, hereda de la clase comun
*/
package oop;
public class Sistema extends Comun {
//atributos
int idContador, modo,tiempoMuestreo,contadorMuestreo;
int tiempoPrendido, contadorPrendido, apagar;
String[] nombres={"Sistema","Informacion","Graficos",
"Comunicador","Usuario"};
//constructor vacio
public Sistema(){
super();
tiempoPrendido = -1; //tiempo indefinido
tiempoMuestreo = 5000; //cada 5000 iteraciones toma un valor
modo = 1; //modo automatico
aumentarIdContador();
apagar = 0; //inicialmente el programa esta prendido
}
//constructor con elementos
public Sistema(int prendido, int muestreo, int modo){
super();
tiempoPrendido = prendido;
tiempoMuestreo = muestreo;
this.modo = modo;
aumentarIdContador();
apagar = 0;
}
//aumenta el valor del contador de muestreo
public void aumentarContadorMuestreo(){
if((++contadorMuestreo%tiempoMuestreo)== 0){
System.out.println("******Conectando con el dispositivo*****");
}
return ;
}
//aumenta el valor del contador de prendido
public void aumentarContadorPrendido(){
//System.out.println("Entrando a aumentarContadorPrendido");
if(tiempoPrendido == -1){
System.out.println("El tiempo de prendido esta indefinido");
}else{
//el programa va a ser apagado
if(++contadorPrendido>= tiempoPrendido){
apagar = 1;
System.out.println("Apagando el sistema");
return;
}else{ // el programa sigue prendido
//contadorPrendido++;
//System.out.println("Aumentamos el contador de prendido");
System.out.print("Valor de tiempo prendido -- ");
System.out.println(contadorPrendido);
}
}
//System.out.println("Saliendo de aumentarContadorPrendido");
return ;
}
//metodo que pausa el sistema para que no termine muy pronto
public void delay(int repeticion){
int i = 0;
//System.out.println("Iniciando delay");
System.out.println("........");
while (i < repeticion){
for(int j=0;j<10000;j++){
}
i++;
}
//System.out.println("Delay finalizado");
return ;
}
//metodo principal
public static void main(String[] args){
System.out.print("--> ");
System.out.println("Sistema prendido");
Sistema principal = new Sistema(4,2,1);
//mantiene el programa activo mientras no se de la orden de apagar el programa
System.out.println("Valores del sistema");
System.out.print("id--");
System.out.print(principal.id);
System.out.print(", tiempoPrendido--");
System.out.print(principal.tiempoPrendido);
System.out.print(", tiempoMuestreo--");
System.out.print(principal.tiempoMuestreo);
System.out.println("");
while (principal.apagar != 1){
principal.delay(100000);
principal.aumentarContadorMuestreo();
principal.aumentarContadorPrendido();
}
System.out.print("--> ");
System.out.println("Systema apagado");
}
//fin del programa
} La implementación del código da como resultado:Como se puede ver el sistema se inicia, luego muestra las variables del sistema.
Después nos muestra el valor de cada iteración con valor de tiempo prendido y cada cierto tiempo
trata de conectar con el dispositivo bluetooth.
Cuando llega al número de iteraciones que tiene que realizar termina el programa.
Por el momento esto es todo lo que tengo, pero conforme pasen los dias pienso agregar la comunicación
bluetooth y la funcionalidad de usuario, usando los eventos y luego guardar datos en un
archivo de texto por el momento.
Todos los comentarios y sujerencias son bien recibidos.

No hay comentarios:
Publicar un comentario