farmbot-arduino-firmware/src/src.ino

159 lines
4.1 KiB
Arduino
Raw Normal View History

2019-12-02 14:07:28 -07:00
/*
Name: src.ino
Created: 11/14/2019 9:51:10 PM
Author: Tim Evers
*/
#include "farmbot_arduino_controller.h"
2020-01-05 14:20:48 -07:00
//#include <SPI.h>
//#include "Trinamic\Trinamic_TMC2130.h"
//#include "pins.h"
//#include "TMC2130.h"
2019-12-02 14:07:28 -07:00
// the setup function runs once when you press reset or power the board
void setup()
{
startSerial();
2020-01-05 14:20:48 -07:00
setPinInputOutput();
2019-12-02 14:07:28 -07:00
readParameters();
#if defined(FARMDUINO_EXP_V20)
loadTMC2130drivers();
startupTmc();
loadTMC2130parameters();
2019-12-02 14:07:28 -07:00
#endif
2020-01-05 14:20:48 -07:00
//Serial.print("============");
//Serial.print(CRLF);
2019-12-02 14:07:28 -07:00
loadMovementSetting();
startMotor();
startPinGuard();
startServo();
startInterrupt();
initLastAction();
homeOnBoot();
2020-01-06 14:06:59 -07:00
//setupTestForDebug();
2020-01-05 14:20:48 -07:00
2020-01-06 14:06:59 -07:00
Serial.print(COMM_REPORT_COMMENT);
Serial.print(SPACE);
Serial.print("ARDUINO STARTUP COMPLETE");
Serial.print(CRLF);
2020-01-05 14:20:48 -07:00
/*
Serial.begin(115200); //init serial port and set baudrate
while (!Serial); //wait for serial port to connect (needed for Leonardo only)
Serial.println("Start...");
*/
/*
// pins
pinMode(X_ENABLE_PIN, OUTPUT);
pinMode(X_DIR_PIN, OUTPUT);
pinMode(X_STEP_PIN, OUTPUT);
digitalWrite(X_ENABLE_PIN, HIGH); // disable driver
digitalWrite(X_DIR_PIN, LOW); // chose direction
digitalWrite(X_STEP_PIN, LOW); // no step yet
pinMode(Y_ENABLE_PIN, OUTPUT);
pinMode(Y_DIR_PIN, OUTPUT);
pinMode(Y_STEP_PIN, OUTPUT);
digitalWrite(Y_ENABLE_PIN, HIGH); // disable driver
digitalWrite(Y_DIR_PIN, LOW); // chose direction
digitalWrite(Y_STEP_PIN, LOW); // no step yet
pinMode(Z_ENABLE_PIN, OUTPUT);
pinMode(Z_DIR_PIN, OUTPUT);
pinMode(Z_STEP_PIN, OUTPUT);
digitalWrite(Z_ENABLE_PIN, HIGH); // disable driver
digitalWrite(Z_DIR_PIN, LOW); // chose direction
digitalWrite(Z_STEP_PIN, LOW); // no step yet
pinMode(E_ENABLE_PIN, OUTPUT);
pinMode(E_DIR_PIN, OUTPUT);
pinMode(E_STEP_PIN, OUTPUT);
digitalWrite(E_ENABLE_PIN, HIGH); // disable driver
digitalWrite(E_DIR_PIN, LOW); // chose direction
digitalWrite(E_STEP_PIN, LOW); // no step yet
*/
/*
Serial.println("Init");
loadTMC2130ParametersMotor(&TMC2130X, 8, 200, 0);
loadTMC2130ParametersMotor(&TMC2130Y, 8, 200, 0);
loadTMC2130ParametersMotor(&TMC2130Z, 8, 200, 0);
loadTMC2130ParametersMotor(&TMC2130E, 8, 200, 0);
*/
/*
pinMode(X_ENABLE_PIN, OUTPUT);
pinMode(X_DIR_PIN, OUTPUT);
pinMode(X_STEP_PIN, OUTPUT);
digitalWrite(X_ENABLE_PIN, HIGH); // disable driver
digitalWrite(X_DIR_PIN, LOW); // chose direction
digitalWrite(X_STEP_PIN, LOW); // no step yet
pinMode(Y_ENABLE_PIN, OUTPUT);
pinMode(Y_DIR_PIN, OUTPUT);
pinMode(Y_STEP_PIN, OUTPUT);
digitalWrite(Y_ENABLE_PIN, HIGH); // disable driver
digitalWrite(Y_DIR_PIN, LOW); // chose direction
digitalWrite(Y_STEP_PIN, LOW); // no step yet
pinMode(Z_ENABLE_PIN, OUTPUT);
pinMode(Z_DIR_PIN, OUTPUT);
pinMode(Z_STEP_PIN, OUTPUT);
digitalWrite(Z_ENABLE_PIN, HIGH); // disable driver
digitalWrite(Z_DIR_PIN, LOW); // chose direction
digitalWrite(Z_STEP_PIN, LOW); // no step yet
pinMode(E_ENABLE_PIN, OUTPUT);
pinMode(E_DIR_PIN, OUTPUT);
pinMode(E_STEP_PIN, OUTPUT);
digitalWrite(E_ENABLE_PIN, HIGH); // disable driver
digitalWrite(E_DIR_PIN, LOW); // chose direction
digitalWrite(E_STEP_PIN, LOW); // no step yet
*/
//loadTMC2130drivers();
//startupTmc();
//loadTMC2130parameters();
/**/
//Movement::getInstance()->initTMC2130();
//loadTMC2130parameters();
//loadTMC2130ParametersMotor(&TMC2130X, 8, 200, 0);
//loadTMC2130ParametersMotor(&TMC2130Y, 8, 200, 0);
//loadTMC2130ParametersMotor(&TMC2130Z, 8, 200, 0);
//loadTMC2130ParametersMotor(&TMC2130E, 8, 200, 0);
2020-01-06 14:06:59 -07:00
//Serial.println("Enable pins");
2020-01-05 14:20:48 -07:00
2020-01-06 14:06:59 -07:00
//digitalWrite(X_ENABLE_PIN, LOW); // enable driver
//digitalWrite(Y_ENABLE_PIN, LOW); // enable driver
//digitalWrite(Z_ENABLE_PIN, LOW); // enable driver
//digitalWrite(E_ENABLE_PIN, LOW); // enable driver
2020-01-05 14:20:48 -07:00
//Serial.println("Enable");
2019-12-02 14:07:28 -07:00
}
// the loop function runs over and over again until power down or reset
void loop()
{
2020-01-06 14:06:59 -07:00
//runTestForDebug();
2019-12-02 14:07:28 -07:00
2020-01-06 14:06:59 -07:00
checkEncoders();
checkPinGuard();
checkSerialInputs();
checkEmergencyStop();
checkParamsChanged();
periodicChecksAndReport();
2020-01-05 14:20:48 -07:00
}