save calibration parameter to database

This commit is contained in:
TimEvWw 2014-09-24 19:26:41 -01:00
parent 1c6fd5155d
commit 08c1361b67
2 changed files with 51 additions and 1 deletions

View file

@ -304,6 +304,9 @@ class HardwareInterface
param_name_add('MOVEMENT_MAX_SPD_X' , 71, 1000)
param_name_add('MOVEMENT_MAX_SPD_Y' , 72, 1000)
param_name_add('MOVEMENT_MAX_SPD_Z' , 73, 1000)
param_name_add('MOVEMENT_LENGTH_X' ,801, 1000)
param_name_add('MOVEMENT_LENGTH_Y' ,802, 1000)
param_name_add('MOVEMENT_LENGTH_Z' ,803, 1000)
param_name_add('MOVEMENT_STEPS_PER_UNIT_X' ,901, 5)
param_name_add('MOVEMENT_STEPS_PER_UNIT_Y' ,902, 5)
param_name_add('MOVEMENT_STEPS_PER_UNIT_Z' ,903, 5)
@ -346,6 +349,8 @@ class HardwareInterface
return param
end
# get parameter object by name or id
#
def get_param(name_or_id, by_name_or_id)
param = nil
@params.each do |p|
@ -359,6 +364,8 @@ class HardwareInterface
return param
end
# read parameter value from memory
#
def get_param_value_by_id(name_or_id, by_name_or_id, from_device_or_db, default_value)
value = default_value
@ -372,9 +379,25 @@ class HardwareInterface
end
def get_param_value_by_name(name)
#def get_param_value_by_name(name)
#end
# save parameter value to the database
#
def save_param_value(name_or_id, by_name_or_id, value)
param = get_param(id, by_name_or_id)
if param != nil and from_device_or_db == :from_device
value = param['value_ar']
end
if param != nil and from_device_or_db == :from_db
value = param['value_db']
end
@bot_dbaccess.write_parameter(param['id'],value)
end
## ARDUINO HANLDING
## ****************
@ -495,6 +518,30 @@ class HardwareInterface
end
end
when 'R23'
ard_par_id = -1
ard_par_val = 0
text.split(' ').each do |param|
par_code = param[0..0].to_s
par_value = param[1..-1].to_i
case par_code
when 'P'
ard_par_id = par_value
when 'V'
ard_par_val = par_value
end
end
if ard_par_id >= 0
param = get_param_by_id(ard_par_id)
if param != nil
save_param_value(ard_par_id, :by_id, ard_par_val)
end
end
when 'R81'
text.split(' ').each do |param|

View file

@ -38,6 +38,9 @@ write('MOVEMENT_MIN_SPD_Z' , 200)
write('MOVEMENT_MAX_SPD_X' , 4000)
write('MOVEMENT_MAX_SPD_Y' , 4000)
write('MOVEMENT_MAX_SPD_Z' , 4000)
write('MOVEMENT_LENGTH_X' ,50000)
write('MOVEMENT_LENGTH_Y' ,50000)
write('MOVEMENT_LENGTH_Z' ,10000)
write('MOVEMENT_STEPS_PER_UNIT_X' , 5)
write('MOVEMENT_STEPS_PER_UNIT_Y' , 5)
write('MOVEMENT_STEPS_PER_UNIT_Z' , 5)