Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Cómo funciona la sube/monedero?
Autor Mensaje
CarliiN En línea
Secretario General
Fútbol Club Hormiguitas
*******

Ing. Mecánica
Facultad Regional Avellaneda

Mensajes: 977
Agradecimientos dados: 40
Agradecimientos: 23 en 17 posts
Registro en: Dec 2011
YouTube
Mensaje: #76
RE: Cómo funciona la sube/monedero?
hay noticias del chip que tiene nokia? se sabe si se va implementar?
Lo vi en Gadgets en enero, es un chip que sirve para pagar las cosas!
19-07-2012 15:59
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Skoodge Sin conexión
Empleado del buffet
Estado
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 11
Agradecimientos dados: 4
Agradecimientos: 2 en 2 posts
Registro en: Sep 2010
Mensaje: #77
RE: Cómo funciona la sube/monedero?
Ahora cambiaron el Software del aparato, por lo que tarda parece que se conecta, actualiza y toda la bola, 3 hs después podes sacar la tarjeta
12-09-2012 14:17
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.715
Agradecimientos dados: 133
Agradecimientos: 329 en 123 posts
Registro en: May 2008
Mensaje: #78
RE: Cómo funciona la sube/monedero?
A mi la tarjeta sigue andandome igual que siempre.
Iban a poner carga online de la tarjeta, pero para hacerla efectiva necesitabas pasarlo por algun punto que impacte en la tarjeta, por lo que claramente es offline.
12-09-2012 14:30
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde
ファイアショット !!
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15.479
Agradecimientos dados: 520
Agradecimientos: 376 en 203 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #79
RE: Cómo funciona la sube/monedero?
No actualizaron el soft

es que hay distintos lectores de tarjeetas (si viajan en varios bondis ven que no son todos iguales)
Algunos son realmente lentos, como el del 7
los que estan cerca de casa (60 por ej) andan rapido

[Imagen: daneelolivaw.gif]
12-09-2012 14:51
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
chambax Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
-----

Mensajes: 2
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Sep 2012
Mensaje: #80
RE: Cómo funciona la sube/monedero?
si el sistema en los bondis se actualiza con algún tipo de batch (no en tiempo real), entonces es altamente hackeable.
supongamos que congelamos la info de nuestra tarjeta con una carga de 20 pesos
cuando subimos al bondi el saldo de nuestra tarjeta pongamos que es de 20p pero el del server es 0 (por que ya la estuvimos usando un rato =P).. pero no seria inconveniente para viajar por que la maquina va a subir los datos a los server centrales mas tarde, y nosotros ya viajamos para ese momento. al dia siguiente hacemos lo mismo cargamos la info congelada de nuestra tarjeta.
ya directamente tenemos saldo negativo en el servidor central pero la tarjeta tiene 20p de saldo again.. el bondi al no chekear en tiempo real contra la DB tiene que aceptar cualquier verdura que diga la tarjeta..

lo bueno es que no es necesario ni siquiera descifrar los datos, a nosotros no nos interesa como es la representación interna de los datos mientras podamos congelar el estado del saldo. (obvio que si alguien puede hacerlo mejor, por que podrías mandar mucha mas fruta como tarjetas con id directamente falsos que serian imposibles de trackear)

ahora si el lector tiene algún tipo de miniDB que almacena los id de las tarjetas adulteradas cagamos la fruta, pero bueno a nuestro favor esta que potencialmente podrían ser millones de ID los que debería almacenar por lo tanto no seria muy probable..
18-09-2012 11:24
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Vallo Sin conexión
Mejor Firma 2011
HAHAHAHAH

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.067
Agradecimientos dados: 74
Agradecimientos: 26 en 23 posts
Registro en: Sep 2009
Mensaje: #81
RE: Cómo funciona la sube/monedero?
(18-09-2012 11:24)chambax escribió:  si el sistema en los bondis se actualiza con algún tipo de batch (no en tiempo real), entonces es altamente hackeable.
supongamos que congelamos la info de nuestra tarjeta con una carga de 20 pesos
cuando subimos al bondi el saldo de nuestra tarjeta pongamos que es de 20p pero el del server es 0 (por que ya la estuvimos usando un rato =P).. pero no seria inconveniente para viajar por que la maquina va a subir los datos a los server centrales mas tarde, y nosotros ya viajamos para ese momento. al dia siguiente hacemos lo mismo cargamos la info congelada de nuestra tarjeta.
ya directamente tenemos saldo negativo en el servidor central pero la tarjeta tiene 20p de saldo again.. el bondi al no chekear en tiempo real contra la DB tiene que aceptar cualquier verdura que diga la tarjeta..

lo bueno es que no es necesario ni siquiera descifrar los datos, a nosotros no nos interesa como es la representación interna de los datos mientras podamos congelar el estado del saldo. (obvio que si alguien puede hacerlo mejor, por que podrías mandar mucha mas fruta como tarjetas con id directamente falsos que serian imposibles de trackear)

ahora si el lector tiene algún tipo de miniDB que almacena los id de las tarjetas adulteradas cagamos la fruta, pero bueno a nuestro favor esta que potencialmente podrían ser millones de ID los que debería almacenar por lo tanto no seria muy probable..

millones de ID en lista negra? yo creo que esa lista no llegaría a los 10 =P

[Imagen: MIsnAz2.png]
18-09-2012 15:23
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Virus Sin conexión
Campeon del cubo Rubik
Programador
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 150
Agradecimientos dados: 14
Agradecimientos: 15 en 10 posts
Registro en: Feb 2012
Mensaje: #82
RE: Cómo funciona la sube/monedero?
(18-09-2012 11:24)chambax escribió:  cuando subimos al bondi el saldo de nuestra tarjeta pongamos que es de 20p pero el del server es 0 (por que ya la estuvimos usando un rato =P).. pero no seria inconveniente para viajar por que la maquina va a subir los datos a los server centrales mas tarde, y nosotros ya viajamos para ese momento. al dia siguiente hacemos lo mismo cargamos la info congelada de nuestra tarjeta.
ya directamente tenemos saldo negativo en el servidor central pero la tarjeta tiene 20p de saldo again.. el bondi al no chekear en tiempo real contra la DB tiene que aceptar cualquier verdura que diga la tarjeta..

fail, fail, fail wall
18-09-2012 19:07
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
chambax Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
-----

Mensajes: 2
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Sep 2012
Mensaje: #83
RE: Cómo funciona la sube/monedero?
(18-09-2012 19:07)Virus escribió:  
(18-09-2012 11:24)chambax escribió:  cuando subimos al bondi el saldo de nuestra tarjeta pongamos que es de 20p pero el del server es 0 (por que ya la estuvimos usando un rato =P).. pero no seria inconveniente para viajar por que la maquina va a subir los datos a los server centrales mas tarde, y nosotros ya viajamos para ese momento. al dia siguiente hacemos lo mismo cargamos la info congelada de nuestra tarjeta.
ya directamente tenemos saldo negativo en el servidor central pero la tarjeta tiene 20p de saldo again.. el bondi al no chekear en tiempo real contra la DB tiene que aceptar cualquier verdura que diga la tarjeta..

fail, fail, fail wall

por que te parece que esta mal?
18-09-2012 19:26
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
pcmsoft Sin conexión
Empleado del buffet
Sin estado :(
*

-----
-----

Mensajes: 1
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Oct 2012
Mensaje: #84
RE: Cómo funciona la sube/monedero?
(18-09-2012 19:26)chambax escribió:  
(18-09-2012 19:07)Virus escribió:  
(18-09-2012 11:24)chambax escribió:  cuando subimos al bondi el saldo de nuestra tarjeta pongamos que es de 20p pero el del server es 0 (por que ya la estuvimos usando un rato =P).. pero no seria inconveniente para viajar por que la maquina va a subir los datos a los server centrales mas tarde, y nosotros ya viajamos para ese momento. al dia siguiente hacemos lo mismo cargamos la info congelada de nuestra tarjeta.
ya directamente tenemos saldo negativo en el servidor central pero la tarjeta tiene 20p de saldo again.. el bondi al no chekear en tiempo real contra la DB tiene que aceptar cualquier verdura que diga la tarjeta..

fail, fail, fail wall

por que te parece que esta mal?

Porque el sistema internamente registra el saldo negativo, por lo tanto cuando volvés a cargarla, automáticamente te debita lo que debés. Y tiene un límite de crédito (creo que son $7,50); ponele que actualiza datos cada 30 minutos, sólo en ese lapso podés usarla en distintos bondis con saldo negativo, siempre que éstos no se hayan actualizado (y obvio, no se actualizan todos a la misma hora).

Saludos!
19-10-2012 17:59
Envíale un email Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Jarry En línea
Anomalía de Belady
Kill The Budha
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.516
Agradecimientos dados: 74
Agradecimientos: 85 en 36 posts
Registro en: May 2008
Mensaje: #85
RE: Cómo funciona la sube/monedero?
que datos te parece que actualiza?
dudo que las maquinas del bondi puedan hacer algo mas que restarte el saldo correspondiente al viaje que estas realizando en ese momento.
no hay manera de que esten online. y creer que cada maquina guarda los datos de todas las tarjetas es una idiotez.

los lectoescritores, tienen una blacklist, pero dudo que sea de mucha utilidad en un sistema con tantas tarjetas.
este por ejemplo soporta 10.000 ids

Enviado desde mi Cafetera.
La universidad es publica, pero los apuntes son privados.

[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
19-10-2012 19:02
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.715
Agradecimientos dados: 133
Agradecimientos: 329 en 123 posts
Registro en: May 2008
Mensaje: #86
RE: Cómo funciona la sube/monedero?
Tienen que tener blacklist copada para las tarjetas dadas de baja por robo, perdida ,etc.
19-10-2012 22:47
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Mviera Sin conexión
Empleado de Fotocopiadora
zungguzungguguzungguzeng
**

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 32
Agradecimientos dados: 6
Agradecimientos: 2 en 2 posts
Registro en: Sep 2012
Mensaje: #87
RE: Cómo funciona la sube/monedero?
en la secundaria tube de proyecto un lector rfid de 125Khz(bajisima la frecuencia hasta un tornillo hacia interferencia) el integrado que hacia casi todo es el em4100(creo)y para procesar esa data un micrro Jl8(programado en asm).
lo que viene es una explicacion que me mando un compañero para ponerme al tanto.

LECTOR Y TARJETA:
bueno como ustedes saben el sistema de rfid o....Radio Frecuency Identification(creo q se escrive asi) funciona de la siguiente manera:
existe un lector y una tarjeta, el lector tiene conectado una bobina, sobre esta bobina el lector emite una señal de aproximadamente 125khz(cuadrada)(x la señal lo digo xD)bueno, por otra parte existe una tarjeta,esta compuesta de un chip con una memoria(en donde se encuentran los datos que nosotros nesesitamos) y una bobina(todo esto esta dentro de dicha tarjeta, por lo q no se puede ver).
Al acecar la tarjeta al campo electromagnetico esta tarda un tiempo en cargarse(ns)y comienza a transmitir los datos,aqui es donde se produce el efecto del transformador, de esta manera la señal emitida por el receptor queda modulada .el lector toma por una de sus patas esta señal modulada y la procesa para sacar ruido o lo pasa por un smith trigger para dejar una buena señal cuadrada, y esta finalmente es mandada por la pata de data_out.pero para facilitar la lectura de dichos datos este trae tmb una pata de sincronismo, lo unico q hace esta pata es mandar 32 pulsos x cada bit(q luego usaremos).cabe destacar q la modulacion se realiza no en codificacion bipolar sino la data_out esta codificada en manchester

LECTOR - uC:
aqui es donde usamos nuestras habilidades de programacion(bue....) por un lado mando los datos a la pata PTB0, por otro mando la señal de sincronismo a la pata de IRQ.
bueno el programa (programado)lo q hace es (si manda 32 pulsos/bits)contar 16 pulsos y muestrear la PTB0 y guardo el dato,
hago lo mismo luego de de otros 16 pulsos, lo que estoy haciendo con esto es tomar 2 muestras x cada bit(recodemos q esta codificada en manchester y esto es nesesario), luego de tener las 2 muestras averiguo si es un "1" o si es un "0" y muevo el dato transmitido a una registro de memoria.esto lo hara hasta leer los 64 bits q tiene esta tarjeta.
Aclaro como vienen los datos en la tarjeta: al comienzo de la transmision manda una secuencia de 9 "1 logicos"(esto solo se suele utilizar como sincronismo, y la bamos a utilizar para eso), lueso va mandando los datos(manda los datos cada 4 bits), ahi q aclarar q los datos q envia vienen con bit de pariedad hotizontal y vertical,y finalmente un bit de stop.
bueno volviendo al tema, voy guardando los bits a medida q van llegando pero la transmision de la tarjeta comienza con esos 9 "1" asiq hice una subrutina averigua si esta mandando los 9 "1" !!consecutivos!! si es asi va a guardar los datos apartir de una espacio de memoria. luego de leer todos los bits tenemos q hacer una subrutina para mandar los datos al puerto serie.aqui esta el problema por algun motivo lo programe en casa y no pude mandar datos al puerto, la forma de mandarlos con el jl8 es muy sencilla ,ahi q modificar unos registros y listo.

despues de hacer esto no nos andaba nada porque se nos paso hacer una rutina de correcion de errores mediante chksum.
El proyecto terminado lo unico que hacia al final era leer el id de la targeta mostrarla en un display lcd,y enviarla por puerto serie a la compu.
archivo asm[/code]
Spoiler: Mostrar
[/code];**************************************************************************************************************************
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<----- Proyecto: LECTOR RFID 125Khz.64bits ----->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;**************************************************************************************************************************
;**************************************************************************************************************************
;incluir archivo con asociacion entre etiqueta/nombre y las direcciones de los registros asociados al microcontrolador.
;**************************************************************************************************************************
$Include 'JL8REG.INC' ;
;**************************************************************************************************************************
; definicion de origenes de las memorias a utilizar
;**************************************************************************************************************************
RAMstart EQU $0060
FLASHROMstart EQU $DC00
VECTORstart EQU $FFDE
EN equ 0
RS equ 1
;**************************************************************************************************************************
; especificacion de inicio de la RAM
;**************************************************************************************************************************
ORG RAMstart
;**************************************************************************************************************************
;especificacion del inicio del programa, que se almacena en la ROM, a partir de las direcciones indicadamo
;**************************************************************************************************************************
ORG FLASHROMstart
;**************************************************************************************************************************
;subrutinas:
;**************************************************************************************************************************
;----------------------------------------------------------------<< retardo gral >>-------------------------------------------
retardo: mov #$ff,$00d3 ;01 en posicion 0082.
lazo2: mov #$ff,$00d4 ;0f en posicion 0083.
lazo: dec $00d4 ;decremento 0083.
bne lazo ;unto distinto de 0.
dec $00d3 ;decremento 0082.
bne lazo2 ;pregunto distinto de 0.
rts ;sale.
;---------------------------------------------------------------<<retardo del LCD >>------------------------------------------
retardo_lcd: lda #$0a ;
sta $00b7 ;
lazo4: lda #$0f ;
sta $00b8 ;
lazo3: dec $00b8 ;
bne lazo3 ;
dec $00b7 ;
bne lazo4 ;
rts ;
;------------------------------------------------------------<< rutina de enable (LCD) >>------------------------------------------
enable: bset EN,PORTA ;
jsr retardo_lcd ;
bclr EN,PORTA ;
jsr retardo_lcd ;
rts ;
;-------------------------------------------------------------<< inicializacion del LCD >>----------------------------------------
Inicializacion:
jsr retardo_lcd ;
bclr RS,PORTA ;rs=0 (control)
mov #$38,PORTB ;38
jsr enable ;
mov #$38,PORTB ;38
jsr enable ;
mov #$0c,PORTB ;06
jsr enable ;
mov #$06,PORTB ;0E
jsr enable ;
rts ;
;-----------------------------------------------------------<< 1º frase "esperando tarjeta" >>------------------------------
primera_frase: bclr EN,PORTA ;por si el enable esta activado.
bclr RS,PORTA ;rs=0(comando).
mov #$01,PORTB ;limpia display.
jsr enable ;enable
bset RS,PORTA ;rs=1 (datos).
jsr retardo_lcd
jsr retardo_lcd
mov #'E',PORTB ;e
jsr enable ;
mov #'s',PORTB ;s
jsr enable ;
mov #'p',PORTB ;p
jsr enable ;
mov #'e',PORTB ;E
jsr enable ;
mov #'r',PORTB ;r
jsr enable ;
mov #'a',PORTB ;a
jsr enable ;
mov #'n',PORTB ;n
jsr enable ;
mov #'d',PORTB ;d
jsr enable ;
mov #'o',PORTB ;o
jsr enable ;

bclr RS,PORTA ;rs=0(comando).
mov #$A8,PORTB ;2º linea.
jsr enable ;
bset RS,PORTA ;rs=1(dato).

mov #'t',PORTB ;t
jsr enable ;
mov #'a',PORTB ;a
jsr enable ;
mov #'r',PORTB ;r
jsr enable ;
mov #'j',PORTB ;j
jsr enable ;
mov #'e',PORTB ;e
jsr enable ;
mov #'t',PORTB ;t
jsr enable ;
mov #'a',PORTB ;a
jsr enable ;
mov #'.',PORTB ;.
jsr enable ;
mov #'.',PORTB ;.
jsr enable ;
mov #'.',PORTB ;.
jsr enable ;
rts
;**************************************************************************************************************************
;configuracion de registros,CONFIG1-COP-
;**************************************************************************************************************************
init: mov #$01,config1 ;desahabilito el watchdog.
init2: bset 1,intscr ;desabilito irq por pin.
mov #$ff,DDRA ;define al puertob como salidas.
mov #$ff,DDRB ;define al puertob como entradas.
mov #$fc,DDRD ;uso para el timmer.
clrx ;limpio x.
clra ;limpio a.
clr porta ;
clr portb ;
cli ;hactivo irqs.
jsr inicializacion ;
jsr primera_frase ;
;-----------------------------------------------------<< registros gral. >>------------------------------------------------
mov #$01,$0060 ;15 pulsos(ideal son 16).
clr $0061 ;10 o 01 posibles valores.
clr $0062 ;2 muestras x bit.
clr $0063 ;bandera de bit leido.
clr $0064 ;badera de primer 1 de sincronizacion.
clr $0065 ;contador de los nueve "1" seguidos-sincronizado.
clr $0066 ;dato=1 o dato=0.
clr $0067 ;bandera de sincronismo completo(=1).
clr $0068 ;flag de, primer dato valido q se guarda.
mov #$37,$0069 ;64-9=55 bit de datos validos.
clr $006a ;"1" o "0" a transmitir.
clr $006b ;
ldx #$71 ;
mov #$0b,$00b2 ;
mov #$05,$00b3 ;
bclr 1,intscr ;
;-----------------------------------------------------<< config Timmer >>--------------------------------------------------
clr T1SC ;prendo el contador y el prescaler.
mov #$4c,T1sc0 ;activo interrupciones y digo q lo uso como input capture por flanco ascendente.
mov #$ff,tmodh ;si o si tengo q cargar los 2 reg porq sino no activa la bandera TOF.
mov #$ff,tmodl ;si o si tengo q cargar los 2 reg porq sino no activa la bandera TOF.
clr TICH0H ; limpio el registro del timer 0 alto.
clr T1CH0l ; limpio el registro del timer 0 bajo.
;-----------------------------------------------------<< config SCI >>-----------------------------------------------------
mov #$40,SCC1 ;habilito el SCI-transmision serial.
clr scc2 ;habilito solo la transmision de datos.
mov #$02,SCBR ;seleccione el prescaler y el div de baud para 9600 baudios
;**************************************************************************************************************************
;Programa principal
;**************************************************************************************************************************
;-----------------------------------------------------<< bucle principal >>------------------------------------------------
main: brset 0,$0063,bit_leido ;obtencion del bit.
jmp main;
;-----------------------------------------------------<< averiguo si el dato es "1" "0" o invalido >>----------------------
bit_leido: clr $0063 ;
lda $0061 ;condicion de uno.
cbeqa #$01,bit_uno ;
cbeqa #$02,bit_cero ;
clr $0065 ;cant de "1" seguidos.
clr $0064 ;pox uno sra el primer dato a guardar.
jmp main ;
bit_uno: bset 0,$0066 ;dato=1.
jmp proceso ;
bit_cero: clr $0066 ;dato=0.
;-------------------------------------------------<< comprobando los 9 "1" de sincronizacion >>-----------------------------
proceso: brset 0,$0067,mem_dato ;pregunto x la sincronizacion.
brset 0,$0066,sigue ;si es un cero reseteo contadores y vuelvo al main.
clr $0065 ;cant de "1" seguidos.
clr $0064 ;pox uno sra el primer dato a guardar.
mov $1b,$0060 ;
ldx #$71 ;
jmp main ;
sigue: mov $0066,x+ ;ya habia mas de un 1 guardado.
inc $0065 ;contador de secuencia de 9-"1".
lda $0065 ;
cbeqa #$09,sincronizado
jmp main ;
sincronizado: bset 0,$0067 ;bandera de sincronismo completo.
mov #$1a,$0060
ldx #$7A
jmp main ;
;-----------------------------------------------------------<< almaceno datos >>-----------------------------------------------
mem_dato: mov $0066,x+ ;cargo el dato al siguiente espacio de memoria.
dbnz $0069,main ;
jmp par ;ya se leyeron todos los bits y los transmito.
;-----------------------------------------------------------<< comprabacion de pariedad >>------------------------------------------
par: bset 1,intscr ;desabilito irq por pin.
mov #$0c,T1sc0 ;
ldx #$79
pariedad: incx
clra
dbnz $00b2,preg1 ;contador de 10 filas
jmp pariedad2
preg1: dbnz $00b3,preg12 ;contador de 4bits de datos
mov #$05,$00b3 ;4bits a sumar
sta $00b4 ;numero a preg su pariedad
brset 0,$00b4,inpar
clr $00b5
jmp comparo
inpar: bset 0,$00b5;
comparo: lda $00b5
cmp ,x
beq pariedad
jmp init2
preg12: add ,x
incx
jmp preg1

pariedad2: mov #$05,$00b2
mov #$0b,$00b3
mov #$79,$00b6
columna: inc $00b6
ldx $00b6
clra
dbnz $00b2,preg2 ;contador de 4 columnas
jmp corro
preg2: dbnz $00b3,preg22 ;contador de 10bits de datos
mov #$0b,$00b3 ;4bits a sumar
sta $00b4 ;numero a preg su pariedad
brset 0,$00b4,inpar2
clr $00b5
jmp comparo2
inpar2: bset 0,$00b5;
comparo2: lda $00b5
cmp ,x
beq columna
jmp init2
preg22: add ,x
incx
incx
incx
incx
incx
jmp preg2
;--------------------------------------------------------<< datos en grupos de 4 bits >>--------------------------------
corro: bclr RS,PORTA ;rs=0(comando).
mov #$01,PORTB ;clear.
jsr enable ;
bset RS,PORTA ;rs=1(dato).
mov #$c8,$00c1 ;apartir de c8 guardo los datos fianles
mov #$7a,$00c3 ;c4 variabla para guerdar x
mov #$04,$00c0
mov #$0C,$00c2 ;10 grupos a leer
clra
ldx $00c3
add ,x
incx
stx $00c3
corro2: dbnz $00c2,corro_loop
jmp serie
corro_loop: dbnz $00c0,desplazo ;loop de 4 bits x grupo
ldx $00c1 ;
sta ,x
incx ;
stx $00c1 ;4bits ya movidos
mov #$04,$00c0 ;
inc $00c3 ;
clra
ldx $00c3
add ,x
inc $00c3
jmp corro2
desplazo: ldx $00c3
asla
add ,x
incx
stx $00c3
jmp corro_loop
;---------------------------------------------------------<< transmision serial >>------------------------------------------------
serie:
mov #$d7,$00d5
bset 3,SCC2 ;
mov #$c8,$00d6
mov #$0A,$0069 ;cargo la cantidad de datos a transmitir(55bits).
sci: brset 7,SCs1,loop ;pregunto si ya se puede transmitir otro dato.
jmp sci ;vuelve al bucle.
loop: ldx $00d6
mov x+,$006a ;muevo a otro espacio de mem el dato a transmitir.
stx $00d6
lda $006a ;condicion de uno.
cbeqa #$00,cero ;
cbeqa #$01,uno ;pregunto si es un "0" o "1".
cbeqa #$02,dos ;
cbeqa #$03,tres ;
cbeqa #$04,cuatro ;
cbeqa #$05,cinco ;
cbeqa #$06,seis ;
cbeqa #$07,siete ;
cbeqa #$08,ocho ;
cbeqa #$09,nueve ;
cbeqa #$0a,a ;
cbeqa #$0b,b ;
cbeqa #$0c,c ;
cbeqa #$0d,d ;
cbeqa #$0e,e ;
cbeqa #$0f,f ;
siete: jmp siete1
ocho: jmp ocho1
nueve: jmp nueve1
a: jmp a1 ;
b: jmp b1
c: jmp c1
d: jmp d1
e: jmp e1
f: jmp f1
cero: mov #'0',$006a ;cargo el dato "0" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2 ;
uno: mov #'1',$006a ;cargo el dato "1" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
dos: mov #'2',$006a ;cargo el dato "2" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
tres: mov #'3',$006a ;cargo el dato "3" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
cuatro: mov #'4',$006a ;cargo el dato "4" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
cinco: mov #'5',$006a ;cargo el dato "5" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
seis: mov #'6',$006a ;cargo el dato "6" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
siete1: mov #'7',$006a ;cargo el dato "7" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
ocho1: mov #'8',$006a ;cargo el dato "8" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
nueve1: mov #'9',$006a ;cargo el dato "9" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
a1: mov #'A',$006a ;cargo el dato "a" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
b1: mov #'B',$006a ;cargo el dato "b" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
c1: mov #'C',$006a ;cargo el dato "c" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
d1: mov #'D',$006a ;cargo el dato "d" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
jmp loop2
e1: mov #'E',$006a ;cargo el dato "e" en ascci en la memoria.
jmp loop2
f1: mov #'F',$006a ;cargo el dato "f" en ascci en la memoria.
ldx $00d5
mov $006a,x+
stx $00d5
loop2: mov $006a,scdr ;muevo al dato a transmitir al registro de datos del modulo sci.
dec $0069 ;decremento la cantidad de datos a transmitir.
beq LCD ;si se transmitieron todos los datos termina el prog.
jmp sci ;sino vuelve al bucle.
;----------------------------------------------------------------<< LCD >>--------------------------------------------------
LCD: bclr RS,PORTA ;rs=0(comando).
mov #$01,PORTB ;clear.
jsr enable ;
bset RS,PORTA ;rs=1(dato).
jsr enable
ldx #$d7
mov #$0a,$00e3
loop_lcd: mov x+,portb
jsr enable
dbnz $00e3,loop_lcd
jmp fin
;----------------------------------------------------------<< fin del programa >>--------------------------------------------
fin: jsr retardo ;espero un tiempo antes de volver a leer la tarjeta.
jsr retardo
jsr retardo
jsr retardo
loop_fin: brclr 0,portd,*
jmp init2 ;comienza todo el proceso nuevamente
;***************************************************************************************************************************
;INTERRUPCIONES:
;***************************************************************************************************************************
;---------------------------------------------<< IRQ por pin (la mas importante) >>-----------------------------------------
PIN_IRQ: dbnz $0060,vuelvo ;
jmp preg_bit ;
vuelvo: rti ;
preg_bit: inc $0062 ;
lda $0062 ;2 muestras.
cbeqa #$02,seg_muestra ;
brset 1,portd,primer_uno ;pregunto el estado de la pata.
clr $0061 ;registro de datos.
mov #$22,$0060 ;16 pulsos.
rti ;
primer_uno: bset 0,$0061 ;registro de datos.
mov #$22,$0060 ;16 pulsos.
rti ;
seg_muestra: brset 1,portd,seg_uno ;
bclr 1,$0061 ;registro de datos.
mov #$22,$0060 ;16 pulsos.
clr $0062 ;1º o 2º muestra lo uso.
bset 0,$0063 ;bandera de bit leido.
rti ;
seg_uno: bset 1,$0061 ;registro de datos.
mov #$22,$0060 ;16 pulsos.
clr $0062 ;1º o 2º muestra lo uso.
bset 0,$0063 ;bandera de bit leido.
rti
;-----------------------------------------------------------<< IRQ de timmer >>----------------------------------------------
timmer_irq: bclr 7,T1sc0 ;deshabilito las irq por flanco.
mov #$01,$0060;
rti ;
;-----------------------------------------------------------<< IRQ de indeseadas >>-----------------------------------------------------
error_irq: ;IRQ por si se produce un irq no deseada.
rti; ;termina la irq.
;*****************************************************************************************************************************
;asignacion de saltos para cada vector
;****************************************************************************************************************************
org VectorStart
dw error_irq ; ADC Conversion Complete Vector
dw error_irq ; Keyboard Vector
dw error_irq ; (No Vector Assigned $FFE2-$FFE3)
dw error_irq ; (No Vector Assigned $FFE4-$FFE5)
dw error_irq ; (No Vector Assigned $FFE6-$FFE7)
dw error_irq ; (No Vector Assigned $FFE8-$FFE9)
dw error_irq ; (No Vector Assigned $FFEA-$FFEB)
dw error_irq ; (No Vector Assigned $FFEC-$FFED)
dw error_irq ; (No Vector Assigned $FFEE-$FFEF)
dw error_irq ; (No Vector Assigned $FFF0-$FFF1)
dw error_irq ; TIM1 Overflow Vector
dw error_irq ; TIM1 Channel 1 Vector
dw Timmer_irq ; TIM1 Channel 0 Vector
dw error_irq ; (No Vector Assigned $FFF8-$FFF9)
dw PIN_IRQ ; ~IRQ1
dw error_irq ; SWI Vector
dw init ; Reset Vector[code=plain]
por que las targetas se leen tan lento? es porque la mayoria de las veces(99 de 100 o mas) lo hace de manera erronea,(el control de errores es una ciencia en si misma xD, leyendo 64 bits del culo ya jodia bastante).

Con el tema de donde esta el la data del credito me dejaron pensando, lo mas facil de hacer es que este en ambos lados (en un servidor o en tu targeta),aunque una red que se actualice cada tanto no me parece una locura tampoco.
(Este mensaje fue modificado por última vez en: 20-10-2012 00:09 por Mviera.)
19-10-2012 23:57
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
sebasthian777 Sin conexión
Presidente del CEIT
mi propio camino NINGA
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.741
Agradecimientos dados: 38
Agradecimientos: 15 en 12 posts
Registro en: Nov 2011
Mensaje: #88
RE: Cómo funciona la sube/monedero?
lo de las black list, se puede hacer suponiendo que una tarjeta viaja frecuentemente en ciertos caminos que se repiten, y para mi, la tarjeta seguro tiene un flag interno que dice si esta habilitada o no, donde cae en un temrinal que la tiene pre cargada como black list, le cambia el flag a la tarjeta...

estaria bueno robarle las sube a los ingresantes para hacer unas cuantas pruebas de campo xD
me quede pensando, yo lo haria asi maso maso:

(hablando todo mal y pronto no..)

tabla black list de tarjetas, en servidor...
logica:
cae una nueva tarjeta en la lista, y lo primero que hago, es obtener los X primeros terminales donde la tarjeta predomina en cantidad de viajes semanales/diarios... Mando ese ID a la terminal...

apenas cae la tarjeta por ese temrinal, el terminal cambia el flag interno de la tarjeta, y cuando hace sincronismo con el servidor, envia que capturo a la tarjeta, el servidor toca un flag en la tabla de black list, dejando asentado, que la tarjeta ya esta bloqueada...

Ahora bien, si desencriptamos como modificar datos en un tarjeta... podriamos tocar ese flag y cargarle credito de forma local :B

y por las dudas, tratamos de usar la tarjeta en zona de muchos edificios o bajo un puente (?)

(19-11-2013 11:48).py escribió:  
(19-11-2013 11:46)sebasthian777 escribió:  
(19-11-2013 11:43).py escribió:  Terminemos Hurd.
Prefiero dejarle ese laburo a gente sin vida social y que no tenga sexo.
Cuando te casas? Asi voy armando el Gannt.
(Este mensaje fue modificado por última vez en: 24-10-2012 09:32 por sebasthian777.)
24-10-2012 09:27
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.715
Agradecimientos dados: 133
Agradecimientos: 329 en 123 posts
Registro en: May 2008
Mensaje: #89
RE: Cómo funciona la sube/monedero?
No tiene sentido lo de las terminales mas frecuentes.
Si la tarjeta fue peridda o robada va a cambiar de terminales.
24-10-2012 11:07
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
sebasthian777 Sin conexión
Presidente del CEIT
mi propio camino NINGA
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.741
Agradecimientos dados: 38
Agradecimientos: 15 en 12 posts
Registro en: Nov 2011
Mensaje: #90
RE: Cómo funciona la sube/monedero?
(24-10-2012 11:07)brunodiaz escribió:  No tiene sentido lo de las terminales mas frecuentes.
Si la tarjeta fue peridda o robada va a cambiar de terminales.

Si que tiene sentido... pensala un segundo, el bloqueo no es automatico, no podes subir a una terminal 3 millones de tarjetas bloqueadas... ahora si vos, desde el lado del server, cada vez que lees una terminal matcheas los "ID" que te da la temrinal con tu black list, y sabes que coinciden, minimo sabes que si el bondi viaja solo por zona sur, no tenes que subir una sub black list a un bondi que solo trabaja en san fernando (zona norte)...

Caso similar, verificas que viaja con el 60, subte linea D, despues toma el linea B, despues toma el 87...
Con un algoritmo que no necesita por que ser de tiempo critico, achicas las posibilidades a zona norte, belgrano, palermo, microcentro y barrio de chacarita o mejor dicho, solo estaciones federico lacroze y los incas del linea B, que es por donde pasa el 87...

Obvio, que si pasa por el subte, la bloqueas directamente, porque es conexiòn directa, pero lo puse a modo de ejemplo...
pd: de paso usas discreta como la gente por primera vez en tu vida, para algo tangible en lo que es realmente necesario =P...

(19-11-2013 11:48).py escribió:  
(19-11-2013 11:46)sebasthian777 escribió:  
(19-11-2013 11:43).py escribió:  Terminemos Hurd.
Prefiero dejarle ese laburo a gente sin vida social y que no tenga sexo.
Cuando te casas? Asi voy armando el Gannt.
(Este mensaje fue modificado por última vez en: 24-10-2012 11:22 por sebasthian777.)
24-10-2012 11:21
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 3 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.