the "EXT" modifier make this a breeze , see if you can follow this example
Code:
amps Var Word ext ;chg mA
volts Var Word ext ;chg V
kp var word ext
kd var word ext
ki var word ext
f_0 var byte ext
f_1 var byte ext
f_2 var byte ext
f_3 var byte ext
setpoint var word ext ;out volts
cl var word ext ;current limit
flgs VAR byte ext
drive var word ext ;current pwm value
a_cal var word ext
v_cal var word ext
bat_r Var byte ext ;bits 0:3 is batt being charged , 4:7 batt connected flg
data_blk var byte[26]
asm
volts = _data_blk ;01
amps = _data_blk+2 ;23
flgs = _data_blk+4 ;4
drive = _data_blk+5 ; 56
F_0 = _data_blk+7
F_1 = _data_blk+8
F_2 = _data_blk+9
F_3 = _data_blk+10
setpoint = _data_blk+11 ;1112
bat_r = _data_blk+13
ki = _data_blk+14 ;1415
cl = _data_blk+16
kp = _data_blk+18
kd = _data_blk+20
a_cal = _data_blk+22
v_cal = _data_blk+24 ;2425
endasm
to save
Code:
for n =0 to 25
write n, [data_blk[n]]
next n
to read
Code:
for n =0 to 25
read n, [data_blk[n]]
next n
to just save vars f_0 to f_3
Code:
for n =7 to 10
write n, [data_blk[n]]
next n
or even better
Code:
for n =0 to 3
write n, [f_0[n]]
next n
Bookmarks