brmscope/FMain.class
2011-08-30 22:22:08 +02:00

392 lines
6 KiB
Text

' Gambas class file
PUBLIC Motor_A_Dir AS Integer
PUBLIC Motor_B_Dir AS Integer
PUBLIC Motor_C_Dir AS Integer
PUBLIC Step_IDX AS Integer
PUBLIC Step_COUNT AS Boolean
PUBLIC Step_WDT AS Boolean
PUBLIC js AS Joystick
PUBLIC joy_x AS Integer
PUBLIC joy_y AS Integer
PUBLIC joy_s AS Integer
PUBLIC joy_bt_up AS Integer
PUBLIC joy_bt_down AS Integer
PUBLIC SUB _new()
END
PUBLIC SUB js_StickMove(num AS Integer, pos AS Integer)
TextBox9.Text = num
TextBox10.Text = pos
IF num = 0 THEN joy_x = pos
IF num = 1 THEN joy_y = pos
END
PUBLIC SUB Form_Open()
Motor_A_Dir = 0
Motor_B_Dir = 0
Motor_C_Dir = 0
Button8.Enabled = FALSE
Button10.Enabled = FALSE
Button12.Enabled = FALSE
Step_IDX = 0
Step_COUNT = FALSE
Step_WDT = FALSE
js = NEW Joystick("/dev/input/js0") AS "js"
END
PUBLIC SUB Button1_Click()
SerialPort1.PortName = "/dev/ttyUSB0"
SerialPort1.Speed = 115200
SerialPort1.FlowControl = FALSE
SerialPort1.Open
END
PUBLIC SUB js_ButtonPress(num AS Integer)
' check the corresponding checkbox
IF num = 2 THEN joy_bt_up = 1
IF num = 3 THEN joy_bt_down = 1
END
PUBLIC SUB js_ButtonRelease(num AS Integer)
' uncheck the corresponding checkbox
IF num = 2 THEN joy_bt_up = 0
IF num = 3 THEN joy_bt_down = 0
END
PUBLIC SUB Button2_Click()
Timer1.Enabled = TRUE
END
PUBLIC SUB Button3_Click()
WRITE #SerialPort1, Chr$(TextBox1.Text)
Timer1.Delay = TextBox2.Text
Timer1.Enabled = FALSE
WRITE #SerialPort1, Chr$(110)
END
PUBLIC SUB Timer1_Timer()
IF CheckBox4.Value = TRUE THEN
Step_IDX = Step_IDX + 1
ELSE
Step_IDX = 0
ENDIF
IF CheckBox1.Value = TRUE THEN
IF Motor_A_Dir = 0 THEN WRITE #SerialPort1, Chr$(4)
IF Motor_A_Dir = 1 THEN WRITE #SerialPort1, Chr$(5)
ENDIF
IF CheckBox2.Value = TRUE THEN
IF Motor_B_Dir = 0 THEN WRITE #SerialPort1, Chr$(6)
IF Motor_B_Dir = 1 THEN WRITE #SerialPort1, Chr$(7)
ENDIF
IF CheckBox3.Value = TRUE THEN
IF Motor_C_Dir = 0 THEN WRITE #SerialPort1, Chr$(8)
IF Motor_C_Dir = 1 THEN WRITE #SerialPort1, Chr$(9)
ENDIF
IF Step_IDX > 0 AND Step_IDX = TextBox3.Text THEN
Timer1.Enabled = FALSE
Step_IDX = 0
CheckBox4.Value = FALSE
Step_WDT = FALSE
WRITE #SerialPort1, Chr$(110)
ENDIF
TextBox4.Text = Step_IDX
END
PUBLIC SUB Button4_Click()
WRITE #SerialPort1, Chr$(TextBox1.Text)
END
PUBLIC SUB Button5_Click()
Timer1.Delay = TextBox2.Text
END
PUBLIC SUB Button6_Click()
WRITE #SerialPort1, Chr$(110)
END
PUBLIC SUB Button7_Click()
WRITE #SerialPort1, Chr$(111)
END
PUBLIC SUB Button9_Click()
Button9.Enabled = FALSE
Button8.Enabled = TRUE
Motor_A_Dir = 1
END
PUBLIC SUB Button8_Click()
Button9.Enabled = TRUE
Button8.Enabled = FALSE
Motor_A_Dir = 0
END
PUBLIC SUB Button11_Click()
Button11.Enabled = FALSE
Button10.Enabled = TRUE
Motor_B_Dir = 1
END
PUBLIC SUB Button13_Click()
Button13.Enabled = FALSE
Button12.Enabled = TRUE
Motor_C_Dir = 1
END
PUBLIC SUB Button10_Click()
Button11.Enabled = TRUE
Button10.Enabled = FALSE
Motor_B_Dir = 0
END
PUBLIC SUB Button12_Click()
Button13.Enabled = TRUE
Button12.Enabled = FALSE
Motor_C_Dir = 0
END
PUBLIC SUB Button14_Click()
DIM linc AS Integer
DIM lin AS String
DIM arr_strings AS String[]
arr_strings = Split(File.LOAD("/home/tomsuch/set-1.cnc"), "\n")
FOR EACH lin IN arr_strings
linc = linc + 1
TextBox6.Text = linc
' lin
TextBox5.Text = lin
IF Mid(lin, 1, 1) = "*" THEN
TextBox8.Text = Mid(lin, 2, 40)
ELSE
IF lin <> "" THEN
TextBox1.Text = Val((Mid(lin, 7, 3)))
TextBox2.Text = Val((Mid(lin, 11, 3)))
TextBox7.text = Val((Mid(lin, 1, 5)))
Button4_Click
Button5_Click
TextBox3.Text = Val((Mid(lin, 22, 4)))
IF Mid(lin, 15, 1) = 1 THEN CheckBox1.Value = TRUE
IF Mid(lin, 15, 1) = 0 THEN CheckBox1.Value = FALSE
IF Mid(lin, 16, 1) = 1 THEN Button9_Click
IF Mid(lin, 16, 1) = 0 THEN Button8_Click
IF Mid(lin, 17, 1) = 1 THEN CheckBox2.Value = TRUE
IF Mid(lin, 17, 1) = 0 THEN CheckBox2.Value = FALSE
IF Mid(lin, 18, 1) = 1 THEN Button11_Click
IF Mid(lin, 18, 1) = 0 THEN Button10_Click
IF Mid(lin, 19, 1) = 1 THEN CheckBox3.Value = TRUE
IF Mid(lin, 19, 1) = 0 THEN CheckBox3.Value = FALSE
IF Mid(lin, 20, 1) = 1 THEN Button13_Click
IF Mid(lin, 20, 1) = 0 THEN Button12_Click
CheckBox4.Value = TRUE
Step_WDT = TRUE
Timer1.Enabled = TRUE
WHILE Step_WDT = TRUE
WAIT
WEND
ENDIF
ENDIF
NEXT
END
PUBLIC SUB TextBox5_KeyPress()
END
PUBLIC SUB Timer2_Timer()
TextBox13.Text = joy_bt_up
TextBox14.Text = joy_bt_down
TextBox11.Text = joy_x
TextBox12.Text = joy_y
IF joy_y < 0 THEN
Button12_Click
CheckBox3.Value = TRUE
TextBox3.text = 1
'' CheckBox4.Value = TRUE
''Timer1.Enabled = TRUE
ENDIF
IF joy_y > 0 THEN
Button13_Click
CheckBox3.Value = TRUE
TextBox3.text = 1
'' CheckBox4.Value = TRUE
''Timer1.Enabled = TRUE
ENDIF
IF joy_x < 0 THEN
Button10_Click
CheckBox2.Value = TRUE
TextBox3.text = 1
'' CheckBox4.Value = TRUE
''Timer1.Enabled = TRUE
ENDIF
IF joy_x > 0 THEN
Button11_Click
CheckBox2.Value = TRUE
TextBox3.text = 1
'' CheckBox4.Value = TRUE
''Timer1.Enabled = TRUE
ENDIF
IF joy_bt_up = 1 THEN
Button8_Click
CheckBox1.Value = TRUE
TextBox3.text = 1
'' CheckBox4.Value = TRUE
''Timer1.Enabled = TRUE
ENDIF
IF joy_bt_down = 1 THEN
Button9_Click
CheckBox1.Value = TRUE
TextBox3.text = 1
'' CheckBox4.Value = TRUE
''Timer1.Enabled = TRUE
ENDIF
IF joy_bt_up = 0 AND IF joy_bt_down = 0 THEN CheckBox1.Value = FALSE
IF joy_x = 0 THEN CheckBox2.Value = FALSE
IF joy_y = 0 THEN CheckBox3.Value = FALSE
IF joy_x = 0 AND joy_y = 0 AND joy_bt_down = 0 AND joy_bt_up = 0 THEN Button6_Click
' joy_x = 0
'joy_y = 0
END
PUBLIC SUB Button15_Click()
Timer2.Enabled = TRUE
END
PUBLIC SUB Button16_Click()
Timer2.Enabled = FALSE
END
PUBLIC SUB Button17_Click()
WRITE #SerialPort1, Chr$(112)
END
PUBLIC SUB Button18_Click()
WRITE #SerialPort1, Chr$(113)
END
PUBLIC SUB Button19_Click()
WRITE #SerialPort1, Chr$(114)
END
PUBLIC SUB Button20_Click()
WRITE #SerialPort1, Chr$(115)
END
PUBLIC SUB Button21_Click()
WRITE #SerialPort1, Chr$(116)
END