User Tools

Site Tools


drexel_gantry

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

drexel_gantry [2016/11/01 10:44] – created dwallacedrexel_gantry [2016/11/06 14:18] (current) dwallace
Line 8: Line 8:
 TODO: Photos TODO: Photos
  
-== Software Architecture == +===== Software Architecture ===== 
-[[File:GUI.png]]+ 
 +{{dylanw:GUI.png}}\\ 
  
 The Gantry control software is a C# GUI that communicates with Techno CNC's proprietary API for driving their CNC controllers. Communication between these systems is done through a wrapper class called DASLGantry, which simplifies some of the functions and adds additional features. The Gantry control software is a C# GUI that communicates with Techno CNC's proprietary API for driving their CNC controllers. Communication between these systems is done through a wrapper class called DASLGantry, which simplifies some of the functions and adds additional features.
  
-=== Main GUI ===+==== Main GUI ===
 This form presents the user controls and readouts, and shows basic information about the gantry's current status. All Gantry control is achieved through callbacks from the GUI.  Within this object, there are 3 timers that control periodic functions: This form presents the user controls and readouts, and shows basic information about the gantry's current status. All Gantry control is achieved through callbacks from the GUI.  Within this object, there are 3 timers that control periodic functions:
  
-==== Manual Control Loop Timer ====+=== Manual Control Loop Timer === 
 When enabled, this timer sends velocity commands at approximately 40Hz to the Gantry's controller, continuously updating the desired velocity of the 3 main axes. The update function performs several safety checks before committing to a new velocity command, and commands zero velocity if anything goes wrong.  This way, the gantry control is only active if conditions are safe. When enabled, this timer sends velocity commands at approximately 40Hz to the Gantry's controller, continuously updating the desired velocity of the 3 main axes. The update function performs several safety checks before committing to a new velocity command, and commands zero velocity if anything goes wrong.  This way, the gantry control is only active if conditions are safe.
  
-==== Update Timer ====+=== Update Timer === 
 This somewhat poorly named timer polls the Joystick for its state, copying the axis and button positions into local memory. Other functions in the GUI then use this local data to check for button presses and axis position. This somewhat poorly named timer polls the Joystick for its state, copying the axis and button positions into local memory. Other functions in the GUI then use this local data to check for button presses and axis position.
  
-==== Slow UI Timer ====+=== Slow UI Timer === 
 Running at about 10Hz, this timer updates the displays on the GUI, and polls the gantry's current velocity for home switch checking.  Basically, any function that needs to be periodic, but is not high priority, is triggered here. Running at about 10Hz, this timer updates the displays on the GUI, and polls the gantry's current velocity for home switch checking.  Basically, any function that needs to be periodic, but is not high priority, is triggered here.
  
-=== Power Up / Down ===+==== Power Up / Down ====
  
-=== Enabling / Disabling Manual Control ===+==== Enabling / Disabling Manual Control ====
  
-=== Joystick Interface ===+==== Joystick Interface ====
  
-=== Changing Speed Modes ===+==== Changing Speed Modes ====
  
-=== Changing Coordinate System ===+==== Changing Coordinate System ====
  
-=== Home Switches and Recovery ===+==== Home Switches and Recovery ====
drexel_gantry.txt · Last modified: 2016/11/06 14:18 by dwallace