Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/TMC26XMotorTest.pde')
-rwxr-xr-xArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/TMC26XMotorTest.pde156
1 files changed, 156 insertions, 0 deletions
diff --git a/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/TMC26XMotorTest.pde b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/TMC26XMotorTest.pde
new file mode 100755
index 000000000..305f407d4
--- /dev/null
+++ b/ArduinoAddons/Arduino_1.6.x/libraries/TMC26XStepper/examples/TMC26XMotorTester/processing/TMC26XMotorTest/TMC26XMotorTest.pde
@@ -0,0 +1,156 @@
+/*
+ TMC26XMotorTest.pde - - TMC26X Stepper Tester for Processing
+
+ Copyright (c) 2011, Interactive Matter, Marcus Nowotny
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+ */
+import controlP5.*;
+import processing.serial.*;
+import java.util.*;
+import java.text.*;
+
+ControlP5 controlP5;
+
+Serial arduinoPort;
+
+String helpUrl = "http://www.motioncontrol-community.org/";
+String trinamicUrl = "http://trinamic.com";
+String mcUrl = "http://www.motioncontrol-community.org/";
+
+//TODO comde up with a nice color scheme
+color activeColor = #01ADF1;
+color foreGroundColor = #01ADF1;
+color uiTextColor = #4D4D4F;
+color uiElementColor = #ffffff;
+color labelColor = #f0f0f0;
+color valueColor = #f0f0f0;
+color backgroundColor = #EDEEEF;
+color stallGuardColor = #969696;
+color positionColor = #01ADF1;
+color goodStatusColor = labelColor;
+color badStatusColor = stallGuardColor;
+color coolStepColor = #4D4D4F;
+color diagramBackgroundColor = #ffffff;
+
+CColor uiColor = new CColor( foreGroundColor, uiElementColor, activeColor, uiTextColor, uiTextColor);
+
+Tab configureTab;
+Tab runTab;
+Tab activeTab;
+
+boolean settingStatus=false;
+
+boolean running = false;
+int coolStepMin = 0;
+int coolStepMax = 0;
+boolean coolStepActive = false;
+
+float maxCurrent = 1.7;
+
+List controlElements = new LinkedList();
+List serialConfigElements = new LinkedList();
+
+PImage TMCLogo;
+PImage MCLogo;
+
+void setup() {
+ size(1000, 800);
+ //load the logos
+ TMCLogo=loadImage("tmc_logo.jpg");
+ MCLogo=loadImage("mc_logo.jpg");
+
+ //create the UI
+ controlP5 = new ControlP5(this);
+ controlP5.setColor(uiColor);
+ runTab = controlP5.getTab("default");
+ configureTab =controlP5.addTab("configure");
+ //customize the tabs a bit
+ configureTab.setLabel("configure");
+ controlElements.add(configureTab);
+ activeTab = controlP5.getTab("default");
+ controlP5.setTabEventsActive(true);
+ configureTab.activateEvent(true);
+ runTab.activateEvent(true);
+
+ //configuring the general UI l&f
+ //the configuration UI
+
+ setupRunConfig();
+ setupChooperConfig();
+ setupSerialConfig();
+ //directly hide the controls again since we are not connected to the Arduino yet
+ toggleUi(motor_connected);
+
+ smooth();
+ setupData();
+}
+
+
+void toggleUi(boolean show_controls) {
+ for (Object c:controlElements) {
+ ControllerInterface controller = (ControllerInterface) c;
+ if (show_controls) {
+ controller.show();
+ } else {
+ controller.hide();
+ }
+ }
+ for (Object c:serialConfigElements) {
+ ControllerInterface controller = (ControllerInterface) c;
+ if (show_controls) {
+ controller.hide();
+ } else {
+ controller.show();
+ }
+ }
+}
+
+void draw() {
+ background(backgroundColor);
+ drawSerial();
+ drawChopper();
+ drawData();
+ decodeSerial();
+}
+
+
+void controlEvent(ControlEvent theEvent) {
+ if (theEvent.isGroup() && !settingStatus) {
+ if ("microstepping".equals(theEvent.group().name())) {
+ microstepping((int)theEvent.group().value());
+ } else
+ if ("direction".equals(theEvent.group().name())) {
+ setDirection((int)theEvent.group().value());
+ } else if ("decrement".equals(theEvent.group().name())) {
+ setHysteresisDecrement((int)theEvent.group().value());
+ } else if ("coolStepIncrement".equals(theEvent.group().name())) {
+ setCoolStepIncrement((int)theEvent.group().value());
+ } else if ("coolStepDecrement".equals(theEvent.group().name())) {
+ setCoolStepDecrement((int)theEvent.group().value());
+ } else if ("coolStepMin".equals(theEvent.group().name())) {
+ setCoolStepMin((int)theEvent.group().value());
+ }
+ }
+ else if (theEvent.isTab()) {
+ activeTab = theEvent.tab();
+ println("Tab: "+activeTab.name());
+ }
+}