Files
2022-10-12 10:13:51 +02:00

213 lines
3.7 KiB
Plaintext

seti $printhelp = $printhelp
seti $help = $help
if $help = 1
echo 'usb test 1.'
echo 'Example: hddsupertool -f usb_test1'
if $printhelp = 1
exit 0
endif
echo 'Hit ENTER to continue...'
userinput $choicestring
previousscript
endif
include usb_subroutines
gosub set_usb_definitions
# set a blank string variable to compare with user input
# make sure not to set this anyplace else
sets $null = ""
seti $usbrequesttype = $USB_DIR_OUT
seti $usbrequesttype = $usbrequesttype | $USB_TYPE_CLASS
seti $usbrequesttype = $usbrequesttype | $USB_RECIP_DEVICE
seti $usbrequest = $USBRQ_HID_SET_REPORT
seti $usbvalue = $USB_HID_REPORT_TYPE_FEATURE < 8
seti $usbindex = 0
usbbuffersize 8
while 1 = 1
echo " "
echo "cheap usb relay control"
echo "q) Quit"
echo "p) Previous menu"
echo "h) Toggle script help
echo "1) energize 1"
echo "2) de-energize 1"
echo "3) energize 2"
echo "4) de-energize 2"
echo "5) energize 3"
echo "6) de-energize 3"
echo "7) energize 4"
echo "8) de-energize 4"
echo "9) energize 1 2 3 4"
echo "10) de-energize 1 2 3 4"
if $printhelp = 1
exit 0
endif
echo "Enter your choice:
userinput $choicestring
if $choicestring = q
break
elseif $choicestring = p
previousscript
elseif $choicestring = h
if $help = 0
seti $help = 1
echo "Help is now turned on"
else
seti $help = 0
echo "Help is now turned off"
endif
elseif $choicestring = 1
gosub energize1
elseif $choicestring = 2
gosub denergize1
elseif $choicestring = 3
gosub energize2
elseif $choicestring = 4
gosub denergize2
elseif $choicestring = 5
gosub energize3
elseif $choicestring = 6
gosub denergize3
elseif $choicestring = 7
gosub energize4
elseif $choicestring = 8
gosub denergize4
elseif $choicestring = 9
gosub energize1234
elseif $choicestring = 10
gosub denergize1234
else
echo "bad choice= " $choicestring
endif
done
end
subroutine sendcommand
hex
echo "usbcommand " $usbrequesttype " " $usbrequest " " $usbvalue " " $usbindex
printusbbuffer 0 8
decimal
sendusbcontrolmsg $usbrequesttype $usbrequest $usbvalue $usbindex
endsubroutine
subroutine energize1
setusbbuffer 0
0xff 1 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine denergize1
setusbbuffer 0
0xfd 1 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine energize2
setusbbuffer 0
0xff 2 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine denergize2
setusbbuffer 0
0xfd 2 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine energize3
setusbbuffer 0
0xff 3 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine denergize3
setusbbuffer 0
0xfd 3 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine energize4
setusbbuffer 0
0xff 4 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine denergize4
setusbbuffer 0
0xfd 4 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine energize1234
setusbbuffer 0
0xff 1 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
setusbbuffer 0
0xff 2 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
setusbbuffer 0
0xff 3 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
setusbbuffer 0
0xff 4 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
subroutine denergize1234
setusbbuffer 0
0xfd 1 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
setusbbuffer 0
0xfd 2 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
setusbbuffer 0
0xfd 3 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
setusbbuffer 0
0xfd 4 0 0 0 0 0 0
endusbbuffer
gosub sendcommand
endsubroutine
previousscript
end