You can now set the privilege and type for MakeSICSObj in an sct template.
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
# vim: ts=8 sts=2 sw=2 expandtab autoindent smartindent nocindent
|
||||
driver protekmm = {
|
||||
protocol = protek608
|
||||
sobj_priv_type = 'user float'
|
||||
class = environment
|
||||
simulation_group = environment_simulation
|
||||
code mkDriver = {%%
|
||||
|
@ -129,7 +129,6 @@ proc MakeProtek {name sctName {scale 1.0} {offset 0.0} {interval 0.5} {cbFunc "r
|
||||
set soState "so_state_$name"
|
||||
clientput "MakeSICSObj $sobjName SCT_OBJECT"
|
||||
MakeSICSObj $soState SCT_OBJECT
|
||||
MakeSICSObj $sobjName SCT_OBJECT user float
|
||||
sicslist setatt $sobjName long_name $sobjName
|
||||
|
||||
hfactory /sics/$soState/state plain user text
|
||||
|
@ -32,7 +32,7 @@ proc ::scobj::protekmm::mkDriver { sct_controller name } {
|
||||
set ns "[namespace current]"
|
||||
set catch_status [ catch {
|
||||
|
||||
MakeSICSObj ${name} SCT_OBJECT
|
||||
MakeSICSObj ${name} SCT_OBJECT user float
|
||||
|
||||
sicslist setatt ${name} klass environment
|
||||
sicslist setatt ${name} long_name ${name}
|
||||
|
@ -86,6 +86,7 @@ reserved = {
|
||||
'CODE' : 'CODE',
|
||||
'ADD_ARGS' : 'ADD_ARGS',
|
||||
'MAKE_ARGS' : 'MAKE_ARGS',
|
||||
'SOBJ_PRIV_TYPE' : 'SOBJ_PRIV_TYPE',
|
||||
'PROTOCOL_ARGS' : 'PROTOCOL_ARGS',
|
||||
# Group keywords
|
||||
'GROUP' : 'GROUP',
|
||||
@ -314,6 +315,7 @@ def p_driver_assignment(p):
|
||||
| SIMULATION_GROUP EQUALS id_or_str
|
||||
| ADD_ARGS EQUALS text_string
|
||||
| MAKE_ARGS EQUALS text_string
|
||||
| SOBJ_PRIV_TYPE EQUALS text_string
|
||||
| PROTOCOL_ARGS EQUALS text_string
|
||||
| DEBUG_THRESHOLD EQUALS value
|
||||
'''
|
||||
@ -1313,7 +1315,12 @@ def put_mkDriver(MyDriver):
|
||||
else:
|
||||
txt += [' set permlink_device_number [format "%02d" [incr ::scobj::permlink_device_counter]]']
|
||||
txt += ['']
|
||||
txt += [' MakeSICSObj ${name} SCT_OBJECT']
|
||||
if 'sobj_priv_type' in MyDriver:
|
||||
priv_type = MyDriver['sobj_priv_type'].split()
|
||||
ms_line = ' MakeSICSObj ${name} SCT_OBJECT %s %s' % (priv_type[0], priv_type[1])
|
||||
else:
|
||||
ms_line = ' MakeSICSObj ${name} SCT_OBJECT'
|
||||
txt += [ms_line]
|
||||
txt += ['']
|
||||
txt += [' sicslist setatt ${name} klass %s' % MyDriver['class']]
|
||||
txt += [' sicslist setatt ${name} long_name ${name}']
|
||||
|
Reference in New Issue
Block a user