hooktxu
07-16-2009, 04:05 PM
I have got this class:
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
High = 1
Low = 0
Out = %1
OBJ
iWifi : "iWiFiXXX"
VAR
long sensorStack[20]
byte readed
byte nMag
PUB arrancar
'Reservamos el uso de un cog para la rutina testeo asignandole un espacio en pila
'Metodo que me reserva el uso de un nuevo cog, haciendo llamada a la rutina parpadeo
'y reservando un espacio de memoria en la pila
cognew(testearMagnetico,@sensorStack)
PUB testearMagnetico
DirA[14]:=0 'Patita del sensor magnetico 1 configurada como entrada
DirA[13]:=0 'Patita del sensor magnetico 2 configurada como entrada
DirA[12]:=0 'Patita del sensor magnetico 3 configurada como entrada
DirA[11]:=0 'Patita del sensor magnetico 4 configurada como entrada
DirA[16]~~ 'LED VERDE
'Rutina en forma de bucle que se encarga de chequear de forma continua si el sensor detecta un nivel
waitcnt(clkfreq*10 + cnt)
repeat
if(InA[14]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=1
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[14]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
if(InA[13]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=2
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[13]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
if(InA[12]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=3
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[12]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
if(InA[11]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=4
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[11]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
PUB leernMag
return nMag
I want to call to this class and obtain nMag. i do this, but it can´t work:
sensorMagnetico.arrancar
waitcnt(clkfreq*2 + cnt)
A:=sensorMagnetico.leernMag
What can I do¨???
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
High = 1
Low = 0
Out = %1
OBJ
iWifi : "iWiFiXXX"
VAR
long sensorStack[20]
byte readed
byte nMag
PUB arrancar
'Reservamos el uso de un cog para la rutina testeo asignandole un espacio en pila
'Metodo que me reserva el uso de un nuevo cog, haciendo llamada a la rutina parpadeo
'y reservando un espacio de memoria en la pila
cognew(testearMagnetico,@sensorStack)
PUB testearMagnetico
DirA[14]:=0 'Patita del sensor magnetico 1 configurada como entrada
DirA[13]:=0 'Patita del sensor magnetico 2 configurada como entrada
DirA[12]:=0 'Patita del sensor magnetico 3 configurada como entrada
DirA[11]:=0 'Patita del sensor magnetico 4 configurada como entrada
DirA[16]~~ 'LED VERDE
'Rutina en forma de bucle que se encarga de chequear de forma continua si el sensor detecta un nivel
waitcnt(clkfreq*10 + cnt)
repeat
if(InA[14]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=1
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[14]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
if(InA[13]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=2
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[13]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
if(InA[12]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=3
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[12]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
if(InA[11]==0)
waitcnt(18_000_000+cnt)
outa[16] := High
nMag:=4
''iWifi.compassServerConnection(0,1)
readed:=1
elseif(InA[11]==1)
waitcnt(40*12_000_000+cnt)
outa[16] := Low
PUB leernMag
return nMag
I want to call to this class and obtain nMag. i do this, but it can´t work:
sensorMagnetico.arrancar
waitcnt(clkfreq*2 + cnt)
A:=sensorMagnetico.leernMag
What can I do¨???