;------------------------------------------------------------
; Código assembler 
; Proyecto: Rutinas para Nextion
; Autor: Esteban Mariano Folcher Cividini
; Colaboración; KILLERJC de todopic
;		Pinonillo 16 de todopic
;	
; Fecha: 27/08/2018
; PIC: 16F877A
; Velocidad de reloj: 4 Mhz
;------------------------------------------------------------
	list		p=16f877A,f=inhx32
	#include	<p16f877A.inc>	 
	#define	Fosc 4000000
	__CONFIG _HS_OSC & _WDTE_OFF & _PWRTE_ON & _BOREN_ON & _LVP_ON & _CPD_OFF & _WRT_OFF & _CP_OFF
    
STAR		    ORG		0x00	    ;DIRECCION DE VECTOR RESET
		    GOTO	COMIENZO
		    ORG	0x05
		    CBLOCK 0x20
		    VARIABLE_HHH
		    VARIABLE_HH
		    VARIABLE_H
		    VARIABLE_L
		    LLL1
		    LLL2
		    LLL3
		    LLL4
		    LLL5
		    CIERRA
		    CUADRADA
		    TRIANGULAR
		    PLANA
		    ENDC
    INCLUDE	<Delay.inc>
    INCLUDE	<MACROS_NEX.inc>
Mensajes_Nextion    MOVWF   PCL
MENSAJE_NEX_1	    DT	"HOLA",0x00
MENSAJE_NEX_2	    DT	"HOLA",0x00
MENSAJE_NEX_3	    DT	"HOLA",0x00
MENSAJE_NEX_4	    DT	"HOLA",0x00
MENSAJE_NEX_5	    DT	"MUNDO",0x00
MENSAJE_NEX_6	    DT	"MUNDO",0x00
MENSAJE_NEX_7	    DT	"MUNDO",0x00
MENSAJE_NEX_8	    DT	"MUNDO",0x00
MENSAJE_NEX_9	    DT	"PULSAR ",0x00 
MENSAJE_NEX_10	    DT	"BOTOM",0x00
	    

COMIENZO	CALL	Configura_USART
		Inicia_NEXTION
		Delay	300 Milis
		
		
PRINCIPAL
;--------------------TEXTO------------------------------------------------------
;SINTAXIS: NUMERO DE OBJETO
		;Nex_Borra_Texto		d'0'
		;Delay   1000 Milis
		;Nex_Borra_Texto		d'1'
		;Delay   1000 Milis
		;Nex_Borra_Texto		d'2'
		;Delay   1000 Milis
		;Nex_Borra_Texto		d'3'
		;Delay   1000 Milis	    
	
;SINTAXIS: NUMERO DE OBJETO, MESAJE USUARIO
		;Nex_Envia_Texto		d'0',MENSAJE_NEX_1
		;Delay   1000 Milis
		;Nex_Envia_Texto		d'1',MENSAJE_NEX_2
		;Delay   1000 Milis
		;Nex_Envia_Texto		d'2',MENSAJE_NEX_3
		;Delay   1000 Milis
		;Nex_Envia_Texto		d'3',MENSAJE_NEX_4
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, CARACTER		
		;Nex_Añade_Caracter_Texto	d'0',' '
		;Delay   1000 Milis
		;Nex_Añade_Caracter_Texto	d'1','-'
		;Delay   1000 Milis
		;Nex_Añade_Caracter_Texto	d'2','+'
		;Delay   1000 Milis
		;Nex_Añade_Caracter_Texto	d'3','/'
		;Delay   1000 Milis

		
;SINTAXIS: NUMERO OBJETO, MENSAJE USUARIO
		;Nex_Añade_Texto		d'0',MENSAJE_NEX_5
		;Delay   1000 Milis
		;Nex_Añade_Texto		d'1',MENSAJE_NEX_6
		;Delay   1000 Milis
		;Nex_Añade_Texto		d'2',MENSAJE_NEX_7
		;Delay   1000 Milis
		;Nex_Añade_Texto		d'3',MENSAJE_NEX_8
		;Delay   1000 Milis
		
;SINTAXIS:  NUMERO OBJETO, CARACTER
		;Nex_Caracter_Texto		d'0','1'
		;Delay   1000 Milis
		;Nex_Caracter_Texto		d'1','2'
		;Delay   1000 Milis
		;Nex_Caracter_Texto		d'2','3'
		;Delay   1000 Milis
		;Nex_Caracter_Texto		d'3','4'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
		;Nex_Color_Fondo_Texto		d'0',d'60000'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
		;Nex_Color_Fuente_Texto		d'1',d'50000'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=DERECHA,1=CENTRO,2=IZQUIERDA)
		;Nex_Centrado_X_Texto		d'2',d'0' 
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=ARIBA,1=CENTRO,2=ABAJO)
		;Nex_Centrado_Y_Texto		d'2',d'2'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=OFF,1=ON)
		;Nex_Password_Texto		d'3',d'1'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=OFF,1=ON)
; este macro no sé cuál sería el nombre más apropiado.
; su función es, cuando el mensaje es más largo que el ancho del
; recuadro, si está a cero el mensaje sigue viéndose en una línea
; si está a uno el mensa se escribe hasta el límite derecho y continua 
; en la línea de abajo
; se acepta sugerencias

		;Nex_Linea_Texto		d'3',d'1'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE FUENTE. DEPENDERA DE LAS FUENTES CARGADAS EN NEXTION)
		;Nex_Fuente_Texto		d'2',d'1'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
		;Nex_Imagen_Texto		d'2',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta imagen (por defecto aparese sta solid color
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
		;Nex_Crop_Imagen_Texto		d'2',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta Crop imagen (por defecto aparese sta solid color							  
							  
;-------------------------------------------------------------------------------		
;-------------------------TEXTO SCROLLING---------------------------------------
;-------------------------------------------------------------------------------
;SINTAXIS: NUMERO DE OBJETO
		;Nex_Borra_S_Texto		d'0'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, MESAJE USUARIO
		;Nex_Envia_S_Texto		d'0',MENSAJE_NEX_1
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO OBJETO, MENSAJE USUARIO
		;Nex_Añade_S_Texto		d'0',MENSAJE_NEX_5
		;Delay   1000 Milis
		
;SINTAXIS:  NUMERO OBJETO, CARACTER
		;Nex_Caracter_S_Texto		d'0','1'
		;Delay   1000 Milis		
		
;SINTAXIS: NUMERO DE OBJETO, CARACTER		
		;Nex_Añade_Caracter_S_Texto	d'0','2'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE FUENTE. DEPENDERA DE LAS FUENTES CARGADAS EN NEXTION)	
		;Nex_Fuente_S_Texto		d'0',d'1'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
		;Nex_Color_Fondo_S_Texto	d'0',d'60000'
		;Delay   1000 Milis  
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
		;Nex_Color_Fuente_S_Texto	d'0',d'50000'	
		;Delay   1000 Milis

;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=DERECHA,1=CENTRO,2=IZQUIERDA)
		;Nex_Centrado_X_S_Texto		d'0',d'0' 
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=ARIBA,1=CENTRO,2=ABAJO)
		;Nex_Centrado_Y_S_Texto		d'0',d'2'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=OFF,1=ON)	
		;Nex_Linea_S_Texto		d'0',d'1'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=A LA IZQ. 1=A LA DER. 2=ABJO 3=ARIBA	
		;Nex_Direccion_S_Texto		d'1',d'0'
		;Delay   1000 Milis
		
;SINTAXIS; NUMERO DE OBJETO, VARIABLE DECIMAL (MIN=80 MAX=65534)
		;Nex_Tiempo_S_Texto		d'0',d'80'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (MIN=2 MAX=50)	
		;Nex_Distancia_S_Texto		d'0',d'50'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (SCROLLING OFF=0 	SCROLLING ON=1)
		;Nex_ScrolLing_S_Texto		d'0',d'0'
		;Delay   1000 Milis
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
		;Nex_Imagen_S_Texto		d'0',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta imagen (POR DEFECTO ESTA (sta solid color)
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
		;Nex_Crop_Imagen_S_Texto	d'0',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta imagen (POR DEFECTO ESTA (sta solid color)
;-------------------------------------------------------------------------------		
;---------------------------NUMEROS---------------------------------------------
;-------------------------------------------------------------------------------
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
							  ;127/255/255/255     = 2147483647
							  ;0x7F/0xFF/0xFF/0xFF = 2147483647
		
		;Nex_Envia_Numerico		d'3',d'1',d'127',d'255',d'255',d'255'
							  
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
							  
		;CLRF	VARIABLE_HHH					  
		;CLRF	VARIABLE_HH					  
		;CLRF	VARIABLE_H
		;CLRF	VARIABLE_L
		;Nex_Variable_Numerico		d'0',d'0',VARIABLE_HHH,VARIABLE_HH,VARIABLE_H,VARIABLE_L
		
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
						; sumo 1000 de ejemplo suma 1000 en cada repeticion 
		;Nex_Suma_Numerico		d'0',d'0',0x00,0x00,0x03,0xE8
		
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
							  
		;CLRF	VARIABLE_HHH					  
		;CLRF	VARIABLE_HH
		;MOVLW	0x03
		;MOVWF	VARIABLE_H
		;MOVLW	0xE8
		;MOVWF	VARIABLE_L
		;Nex_Suma_Variable_Numerico	d'1',d'0',VARIABLE_HHH,VARIABLE_HH,VARIABLE_H,VARIABLE_L
							  			
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
						
		;Nex_Resta_Numerico		d'2',d'0',0x00,0x01,0x86,0xA0
		
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
		
		;CLRF	VARIABLE_HHH
		;MOVLW	0x0F
		;MOVWF	VARIABLE_HH
		;MOVLW	0x42
		;MOVWF	VARIABLE_H
		;MOVLW	0x40
		;MOVWF	VARIABLE_L
		;Nex_Resta_Variable_Numerico	d'3',d'0',VARIABLE_HHH,VARIABLE_HH,VARIABLE_H,VARIABLE_L		
		
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
						
		;Nex_Muti_Numerico		d'0',d'0',0x00,0x00,0x00,0x02
		
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
		
		;CLRF	VARIABLE_HHH
		;CLRF	VARIABLE_HH
		;CLRF	VARIABLE_H
		;MOVLW	0x02
		;MOVWF	VARIABLE_L
		;Nex_Multi_Variable_Numerico	d'1',d'0',VARIABLE_HHH,VARIABLE_HH,VARIABLE_H,VARIABLE_L		
		
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
						
		;Nex_Divide_Numerico		d'2',d'0',0x00,0x00,0x00,0x02
		
;SINTAXIS: NUMERO DE OBJETO, SIGNO (+=0) (-=1),DATO DECIMAL MINIMO=0 MAXIMO=2147483647
		
		;CLRF	VARIABLE_HHH
		;CLRF	VARIABLE_HH
		;CLRF	VARIABLE_H
		;MOVLW	0x02
		;MOVWF	VARIABLE_L
		;Nex_Divide_Variable_Numerico	d'3',d'0',VARIABLE_HHH,VARIABLE_HH,VARIABLE_H,VARIABLE_L		
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
		;Nex_Color_Fondo_Numerico	d'3',d'60000'		
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
		;Nex_Color_Fuente_Numerico	d'3',d'40000'		
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE FUENTE. DEPENDERA DE LAS FUENTES CARGADAS EN NEXTION)
		;Nex_Fuente_Numerico		d'3',d'1'		
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=DERECHA,1=CENTRO,2=IZQUIERDA)
		;Nex_Centrado_X_Numerico	d'3',d'2' 
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=ARIBA,1=CENTRO,2=ABAJO)
		;Nex_Centrado_Y_Numerico	d'3',d'2'		
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=MAXIMO MIN=1 MAX=10)
		;ENVIAMOS 0 EN LA PANTALLA SE VISUALIZA LA CANTIDAD DE DIGITOS QUE ENVIEMOS 
		;Y DEL 1 AL 10 INDICAMOS CANTIDAD DE DIGITOS QUE QUEREMOS MOSTRAR
		;INDEPENDIENTEMENTE DE LA QUE ESTEMOS ENVIANDO
		
		;Nex_Digitos_Numerico		d'3',d'0'		
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0= DECIMAL 1=CURRENCY 2=HEX)		
		
		;Nex_Formato_Numerico		d'3',d'1'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=OFF,1=ON)
		
		;Nex_Linea_Numerico		d'3',d'1'
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
		;Nex_Imagen_Numerico		d'2',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta imagen (por defecto aparese sta solid color
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
		;Nex_Crop_Imagen_Numerico		d'2',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta Crop imagen (por defecto aparese sta solid color							  
							  
;-------------------------------------------------------------------------------
;-----------------------------BOTON---------------------------------------------		
;-------------------------------------------------------------------------------

;SINTAXIS: NUMERO DE OBJETO, MESAJE USUARIO
	;en lo particular no veo una utilidad directa para esta función en este objeto
	;pero se puede contar con ella ante cualquier eventualidad

	;Nex_Texto_Boton			d'4',MENSAJE_NEX_9

;SINTAXIS: NUMERO DE OBJETO, MESAJE USUARIO
	
	;Nex_Añade_Texto_Boton			d'4',MENSAJE_NEX_10
	
;SINTAXIS: NUMERO DE OBJETO, CARACTER
	
	;Nex_Caracter_Boton			d'0','A'
	;Nex_Caracter_Boton			d'1','B'
	;Nex_Caracter_Boton			d'2','C'
	;Nex_Caracter_Boton			d'3','D'
	;Delay	1000 Milis
	
;SINTAXIS: NUMERO DE OBJETO, CARACTER
	
	;Nex_Añade_Caracter_Boton		d'0','0'
	;Nex_Añade_Caracter_Boton		d'1','1'
	;Nex_Añade_Caracter_Boton		d'2','2'
	;Nex_Añade_Caracter_Boton		d'3','3'
	
;SINTAXIS: NUMERO DE OBJETO	
	
	;Nex_Borra_Texto_Boton			d'4'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	;Nex_Color_Fondo_1_Boton		d'0',d'63488'
	;Nex_Color_Fondo_1_Boton		d'1',d'65504'
	;Nex_Color_Fondo_1_Boton		d'2',d'34784'
	;Nex_Color_Fondo_1_Boton		d'3',d'31'
	;Nex_Color_Fondo_1_Boton		d'4',d'64543'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	;Nex_Color_Fondo_2_Boton		d'0',d'6000'
	;Nex_Color_Fondo_2_Boton		d'1',d'7000'
	;Nex_Color_Fondo_2_Boton		d'2',d'33823'
	;Nex_Color_Fondo_2_Boton		d'3',d'9000'
	;Nex_Color_Fondo_2_Boton		d'4',d'10000'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	;Nex_Color_Fuente_1_Boton		d'0',d'0'
	;Nex_Color_Fuente_1_Boton		d'1',d'0'
	;Nex_Color_Fuente_1_Boton		d'2',d'0'
	;Nex_Color_Fuente_1_Boton		d'3',d'0'
	;Nex_Color_Fuente_1_Boton		d'4',d'0'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	;Nex_Color_Fuente_2_Boton		d'0',d'65535'
	;Nex_Color_Fuente_2_Boton		d'1',d'65535'
	;Nex_Color_Fuente_2_Boton		d'2',d'65535'
	;Nex_Color_Fuente_2_Boton		d'3',d'65535'
	;Nex_Color_Fuente_2_Boton		d'4',d'65535'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE FUENTE. DEPENDERA DE LAS FUENTES CARGADAS EN NEXTION)	
	
	;Nex_Fuente_Boton			d'0',d'1'
	;Nex_Fuente_Boton			d'1',d'1'
	;Nex_Fuente_Boton			d'2',d'1'
	;Nex_Fuente_Boton			d'3',d'1'
	;Nex_Fuente_Boton			d'4',d'1'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=DERECHA,1=CENTRO,2=IZQUIERDA)
	
	;Nex_Centrado_Y_Boton			d'0',d'0'
	;Nex_Centrado_Y_Boton			d'1',d'0'
	;Nex_Centrado_Y_Boton			d'2',d'0'
	;Nex_Centrado_Y_Boton			d'3',d'0'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=ARIBA,1=CENTRO,2=ABAJO)
	
	;Nex_Centrado_X_Boton			d'0',d'0'
	;Nex_Centrado_X_Boton			d'1',d'0'
	;Nex_Centrado_X_Boton			d'2',d'0'
	;Nex_Centrado_X_Boton			d'3',d'0'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (0=OFF,1=ON)	
	
	;Nex_Linea_Boton			d'0',d'0'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
	
	;Nex_Imagen_1_Boton			d'0',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta imagen (por defecto aparese sta solid color

;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
	
	;Nex_Imagen_2_Boton			d'0',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta imagen (por defecto aparese sta solid color
							  
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
	
	;Nex_Crop_Imagen_1_Boton		d'0',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta Crop imagen (por defecto aparese sta solid color							  
							  	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
	
	;Nex_Crop_Imagen_2_Boton		d'0',d'0' ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							  ;sta Crop imagen (por defecto aparese sta solid color	
		
		;GOTO	PRINCIPAL
		
;------------------------------ barra de progreso-------------------------------
		
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (MINIMO=0 MAXIMO=100)
		
	;Nex_Barra_Progreso			d'0',d'70'
	;Nex_Barra_Progreso			d'1',d'30'
	;Delay	2000 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (MINIMO=0 MAXIMO=100)
	
	;MOVLW	d'20'
	;MOVWF	VARIABLE_L
	;Nex_Variable_Progreso			d'0',VARIABLE_L
	
	;MOVLW	d'80'
	;MOVWF	VARIABLE_L
	;Nex_Variable_Progreso			d'1',VARIABLE_L
	;Delay	2000 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)	
	
	;Nex_Colo_Fondo_B_Progreso		d'0',d'10000'
	;Nex_Colo_Fondo_B_Progreso		d'1',d'20000'

;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	;Nex_Colo_Barra_Progreso			d'0',d'60000'
	;Nex_Colo_Barra_Progreso			d'1',d'50000'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)	
	
	;Nex_Imagen_1_B_Progreso		d'0',d'0'   ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							    ;sta imagen (por defecto aparese sta solid color
	
	;Nex_Imagen_2_B_Progreso		d'0',d'0'   ;PARA UTILISAR ESTA FUNCION TENEMOS QUE TENER ATIVADO 
							    ;sta imagen (por defecto aparese sta solid color
							    
							    
;-------------------------------------imagen------------------------------------

;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)							   

	;Nex_Envia_Imagen			d'0',d'14'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)							   

	
;	CLRF	VARIABLE_L
;	MOVLW	d'1'
;	MOVWF	VARIABLE_L
;L1	Nex_Variable_Imagen			d'0',VARIABLE_L
;	INCF	VARIABLE_L,F
;	Delay	300 Milis
;	MOVF	VARIABLE_L,W
;	SUBLW	d'15'
;	BTFSS	STATUS,Z
;	GOTO	L1
	
;--------------------------------CROP-------------------------------------------	
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (este recorta una parte de la imagen y la suplanta por el recorte de otra)							   
	;este objeto trabaja sobre varias imagenes de fondo, del mismo tamaño. 
	;el recorte se realiza sobre la sona indicada y la suplanta 
	;el numero de imagen depende de la cantidad de imagenes cargadas
	;Nex_Imagen_Recorte			d'0',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'1',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'2',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'3',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'4',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'5',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'6',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'7',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'8',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'9',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'10',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'11',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'12',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'13',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'14',d'1'	    
	;Delay	300 Milis
	;Nex_Imagen_Recorte			d'15',d'1'	    
	;Delay	300 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL
	
	;MOVLW	d'0'
	;MOVF	VARIABLE_L
	;Nex_Variable_Imagen_Recorte		d'0',VARIABLE_L
	
;-------------------------------GAUGE-------------------------------------------

;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL MIN=0 MAX=360
	
	;Nex_Envia_Gauge			d'0',d'180'
	;Delay	300 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL MIN=0 MAX=360
	
	;MOVLW	d'90'
	;MOVWF	VARIABLE_L
	;Nex_Variable_Gauge			d'1',VARIABLE_L
	;Delay	300 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	;Nex_Color_Fondo_Gauge			d'0',d'31'
	;Nex_Color_Fondo_Gauge			d'1',d'31'
	;Delay	1000 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	;Nex_Color_Aguja_Gauge			d'0',d'1000'
	;Nex_Color_Aguja_Gauge			d'1',d'8000'
	;Delay	1000 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL MIN=0 MAX=5
	
	;Nex_Grosor_Aguja_Gauge			d'0',d'5'
	;Nex_Grosor_Aguja_Gauge			d'1',d'3'
	;Delay	1000 Milis
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (NUMERO DE IMAGEN DEPENDE LA LAS QUE TENGAMOS CARGADAS EN NEXTION)
	
	;Nex_Crop_Imagem_Gauge			d'1',d'2'
	
;----------------------------WAVEFORM-------------------------------------------
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL	(MIN=0	MAX=255
	
	Nex_Grilla_X_Waveform			d'0',d'20'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL	(MIN=0	MAX=255
	
	Nex_Grilla_Y_Waveform			d'0',d'20'

;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	Nex_Color_Fondo_Waveform		d'0',d'50805'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	Nex_Color_Grilla_Waveform		d'0',d'65000'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	Nex_Color_CH0_Waveform			d'0',d'63488'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	Nex_Color_CH1_Waveform			d'0',d'31'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	Nex_Color_CH2_Waveform			d'0',d'2016'
	
;SINTAXIS: NUMERO DE OBJETO, VARIABLE DECIMAL (EN ESTE CASO EL COLOR)
	
	Nex_Color_CH3_Waveform			d'0',d'65504'
	
;SINTAXIS: NUMERO DE ID,NUMERO CANAL, VARIABLE DECIMAL
	; este objeto es llamado por su número de ID, no es como el resto de objetos
	; cuando lo añadamos a la pantalla debemos tener en cuenta el número de ID
	; para poder trabajar con el objeto
	
	Nex_Envia_Dato_Waveform			d'1',d'0',CUADRADA
	Nex_Envia_Dato_Waveform			d'1',d'1',CIERRA
	Nex_Envia_Dato_Waveform			d'1',d'2',TRIANGULAR
	Nex_Envia_Dato_Waveform			d'1',d'3',PLANA
	
	
	MOVF	LLL1,W
	SUBLW	d'50'
	BTFSC	STATUS,Z
	GOTO	LL2
	INCF	LLL1,F
	CLRF	CUADRADA
	MOVLW	d'3'+150
	MOVWF	CUADRADA
	GOTO	LL3
	
LL2	
	MOVF	LLL2,W
	SUBLW	d'50'
	BTFSC	STATUS,Z
	GOTO	LL4
	INCF	LLL2,F
	CLRF	CUADRADA
	MOVLW	d'47'+150
	MOVWF	CUADRADA
	GOTO	LL3
	
LL4	CLRF	LLL1
	CLRF	LLL2
LL3
	MOVF	LLL3,W
	SUBLW	d'47'
	BTFSC	STATUS,Z
	GOTO	LL5
	INCF	LLL3,F
	CLRF	CIERRA
	MOVF	LLL3,W
	ADDLW	d'100'
	MOVWF	CIERRA
	GOTO	LL6

LL5	CLRF	LLL3
	MOVLW	d'3'
	MOVWF	LLL3
LL6	
	MOVF	LLL4,W
	SUBLW	d'50'
	BTFSC	STATUS,Z
	GOTO	LL7
	INCF	LLL4,F
	INCF	TRIANGULAR,F
	GOTO	LL9
	
LL7	
	MOVF	LLL5,W
	SUBLW	d'50'
	BTFSC	STATUS,Z
	GOTO	LL8
	INCF	LLL5,F
	DECF	TRIANGULAR,F
	GOTO	LL9

LL8	CLRF	LLL4
	CLRF	LLL5
	MOVLW	d'50'
	MOVWF	TRIANGULAR
LL9
	
	MOVLW	d'25'
	MOVWF	PLANA
	
	
	
		GOTO	PRINCIPAL
		INCLUDE	NEXTION_SUB_5.INC
		END




			





		    
		    
		    
		    
		    
		