Freesfrees, meetmeet, blokje aluminium haaks. Gaatjes boren, bij het laatste 25mm diepe gat met een M3 boortje loopt de boor vol en zegt-ie krak. Mwoah, geen probleem, boor ik even vanaf de andere kant en tik ik de boor eruit. Nou, dus niet. Het aluminium blokje is inmiddels een wokkel, maar die afgebroken boor zit er nog steeds in. Poging mislukt dus. Voordat ik aan dat blokje begon wist ik ook al een plaatje glas te breken dat met zoveel geweld uit elkaar spatte dat de jaap in m'n vinger 10 minuten daarna nog rode vloeistof lekte. Soms heb je van die dagen...
Dan maar het paneel met de knopjes integreren in de gebruikersinterface. Eerst als zijpaneeltje, maar dat is me toch te link voor het geval je de knoppen per ongeluk raakt. Dan maar wat verstoppen, klopt de layout voor geen meter meer. Had ik al ooit gezegd dat ik een bloedhekel aan GUI-werk heb? Magoed, de knopjes doen het.
G-code ook nog wat gemodificeerd; toch maar de nulpunten van het coordinaatsysteem zetten en geen extra bewegingen doen. Die G-code zitten wel leuke geintjes in:
Code: Selecteer alles
o<probe_xplus> sub
M73
F#<_ini[TOUCHPROBE]PROBE_FASTFEED>
M62 P0 (probe on)
G91
G38.2 X[#<_hal[sidepanel.probedpoint_offset-f]>]
o100 if [#5070 EQ 0]
M63 P0
o100 return [-1]
o100 endif
G1 X-0.5
F#<_ini[TOUCHPROBE]PROBE_SLOWFEED>
G38.2 X0.5
G90
M63 P0 (probe off)
o101 if [#5070 EQ 0]
M63 P0
o101 return [-1]
o101 endif
G0 X[#5061-0.5]
G10 L2 P0 X[[#[5201+20*#5220] + #5420] - #<_ini[TOUCHPROBE]OFFSET_XPLUS> + 0.5]
;(DEBUG,X=#5061 Y=#5062 Z=#5063)
o<probe_xplus> endsub [0]
M2
Code: Selecteer alles
o<probe_xplusyplus>sub
M70
o<probe_xplus> call
o100 if [[#<_value_returned> NE 1] OR [#<_value> NE 0]]
M72
(DEBUG,probe X+ failed: #<_value_returned>,#<_value>)
o100 return [-1]
o100 endif
G91
G0 X[#<_hal[sidepanel.probedpoint_offset-f]> * -1.0]
G0 Y[#<_hal[sidepanel.probedpoint_offset-f]> * -1.0]
G90
G0 X[4.0+#<_ini[TOUCHPROBE]OFFSET_XPLUS>]
o<probe_yplus> call
M72
o101 if [[#<_value_returned> NE 1] OR [#<_value> NE 0]]
(DEBUG,probe Y+ failed: #<_value_returned>,#<_value>)
o101 return [-1]
o101 endif
o<probe_xplusyplus>endsub [0]
M2
Met constructies als #<_ini[TOUCHPROBE]PROBE_FASTFEED> haal ik waarden uit de INI file waar een kopje [TOUCHPROBE] gedefinieerd is.
En met #<_hal[sidepanel.probedpoint_offset-f]> kan ik mooi de waarde van een invulveldje (de max. probe distance spinbox) in het extra paneeltje de G-code binnenlepelen.
Verder kunnen subroutines waarden teruggeven.
Toch handig!