_endpoint_address=(
${(f)"$(trbcmd i 0xffff | awk '{print $1}')"}
)
+_uid=(
+ ${(f)"$(trbcmd i 0xffff | awk '{print $2}')"}
+)
_register=(
'0x1[some register]'
'3::arg3:->arg3'\
'4::arg4:->arg4'\
'5::arg5:->arg5'\
+ '6::arg6:->arg6'\
;;
arg2)
case $line[1] in
- reset | comreset)
-
- ;;
r | rt | w | rm | rmt | wm | i | setbit | clearbit | loadbit | nettrace | reload)
_values 'trbaddress' $_broadcast_address $_endpoint_address\
;;
s)
- :uid:uid:((\:\:))
+ _values 'unique id' $_uid\
;;
T | I | f | R | W)
-
+ _message 'enter type'
+ ;;
+ f)
+ _message 'enter channel'
+ ;;
+ R | W)
+ _message 'enter register'
+ ;;
+ TR)
+ _message 'enter input'
+ ;;
+ reset | comreset | exit | quit)
+ _message 'no more arguments'
;;
esac
;;
arg3)
case $line[1] in
- i | nettrace | reload)
-
- ;;
r | rt | w | rm | rmt | wm | setbit | clearbit | loadbit)
_values 'register' $_register\
;;
s)
_values 'endpoint' $_endpoint\
;;
+ T | I)
+ _message 'enter random'
+ ;;
+ TR)
+ _message 'enter type'
+ ;;
+ W)
+ _message 'enter value'
+ ;;
+ i | nettrace | reload | f | R)
+ _message 'no more arguments'
+ ;;
esac
;;
arg4)
case $line[1] in
w)
- :data:data:((\:\:))
+ _message 'enter data'
;;
rm | rmt)
- :size:size:((\:\:))
+ _message 'enter size'
;;
wm)
_values 'mode' $_mode\
;;
+ s)
+ _message 'enter new trbaddress'
+ ;;
+ T | I)
+ _message 'enter info'
+ ;;
+ TR)
+ _message 'enter random'
+ ;;
setbit | clearbit | loadbit)
- :bitmask:bitmask:((\:\:))
+ _message 'enter bitmask'
;;
- s)
- :trbaddress:trbaddress:((\:\:))
+ r | rt | W)
+ _message 'no more arguments'
;;
esac
;;
rm | rmt)
_values 'mode' $_mode\
;;
+ wm)
+ _files
+ ;;
+ T | I)
+ _message 'enter number'
+ ;;
+ TR)
+ _message 'enter info'
+ ;;
loadbit)
- :value:value:((\:\:))
+ _message 'enter value'
+ ;;
+ w | s | setbit | clearbit)
+ _message 'no more arguments'
+ ;;
+ esac
+ ;;
+ arg6)
+ case $line[1] in
+ TR)
+ _message 'enter number'
+ ;;
+ rm | rmt | wm | T | I | loadbit)
+ _message 'no more arguments'
;;
esac
;;
'restore[write backuped raw-file to flash-memory]'\
'info[dump content of info-page to stdout]'\
'dumppage[dump one flash-memory page to stdout]'\
+ 'flash_at_page[program a binary file to flash-memory, beginning at page <page>]'\
)
_broadcast_address=(
'1:commmand:->command'\
'2:trbaddress:->trbaddress'\
'3::arg3:->arg3'\
+ '4::arg4:->arg4'\
+
case "$state" in
command)
- _values 'command' $_command
- ;;
+ _values 'command' $_command\
+ ;;
trbaddress)
_values 'trbaddress' $_broadcast_address $_endpoint_address\
- ;;
+ ;;
arg3)
case $line[1] in
+ flash_at_page)
+ _message 'enter page number'
+ ;;
program | verify)
local -a bit_files
bit_files=( *.{bit,jed} )
_files
;;
dumppage)
-
+ _message 'enter page number'
+ ;;
+ info)
+ _message 'no more arguments'
+ ;;
+ esac
+ ;;
+ arg4)
+ case $line[1] in
+ flash_at_page)
+ _files
+ ;;
+ program | verify | backup | restore | dumppage | info)
+ _message 'no more arguments'
;;
esac
;;