123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- #include <Arduino.h>
-
- #include "config.h"
- #include "config_pins.h"
- #include "common.h"
- #include "data.h"
- #include "encoder.h"
- #include "lcd.h"
- #include "steppers.h"
- #include "states.h"
-
- void setup() {
- pinMode(LED_PIN, OUTPUT);
- digitalWrite(LED_PIN, HIGH);
-
- pinMode(BEEPER, OUTPUT);
- blocking_beep(100, 1000);
-
- Serial.begin(115200);
- Serial.println(F("Initializing Fuellfix v2"));
- Serial.print(F("Version: "));
- Serial.println(FIRMWARE_VERSION);
-
- Serial.println(F("Init data"));
- data_init();
-
- Serial.println(F("Init encoder"));
- encoder_init();
-
- Serial.println(F("Init LCD"));
- lcd_init();
-
- Serial.println(F("Init stepper motors"));
- steppers_init();
-
- // ----------------------------------
-
- Serial.println(F("XY:"));
-
- Serial.print(F("\t X: "));
- Serial.print(X_AXIS_MIN);
- Serial.print(F(" mm - "));
- Serial.print(X_AXIS_MAX);
- Serial.println(F(" mm"));
-
- Serial.print(F("\t Y: "));
- Serial.print(Y_AXIS_MIN);
- Serial.print(F(" mm - "));
- Serial.print(Y_AXIS_MAX);
- Serial.println(F(" mm"));
-
- Serial.print(F("\t"));
- Serial.print(XY_STEPS_PER_MM);
- Serial.println(F(" steps/mm"));
-
- Serial.print(F("\t"));
- Serial.print(XY_MAX_SPEED);
- Serial.println(F(" mm/s"));
-
- Serial.print(F("\t"));
- Serial.print(XY_MAX_ACCEL);
- Serial.println(F(" mm/s^2"));
-
- Serial.println();
-
- // ----------------------------------
-
- Serial.println(F("Z:"));
-
- Serial.print(F("\t"));
- Serial.print(Z_AXIS_MIN);
- Serial.print(F(" mm - "));
- Serial.print(Z_AXIS_MAX);
- Serial.println(F(" mm"));
-
- Serial.print(F("\t"));
- Serial.print(Z_STEPS_PER_MM);
- Serial.println(F(" steps/mm"));
-
- Serial.print(F("\t"));
- Serial.print(Z_MAX_SPEED);
- Serial.println(F(" mm/s"));
-
- Serial.print(F("\t"));
- Serial.print(Z_MAX_ACCEL);
- Serial.println(F(" mm/s^2"));
-
- Serial.println();
-
- // ----------------------------------
-
- Serial.println(F("E:"));
-
- Serial.print(F("\t"));
- Serial.print(E_AXIS_MIN);
- Serial.print(F(" mm - "));
- Serial.print(E_AXIS_MAX);
- Serial.println(F(" mm"));
-
- Serial.print(F("\t"));
- Serial.print(E_STEPS_PER_PERCENT);
- Serial.println(F(" steps/percent"));
-
- Serial.print(F("\t"));
- Serial.print(E_MAX_SPEED);
- Serial.println(F(" percent/s"));
-
- Serial.print(F("\t"));
- Serial.print(E_MAX_ACCEL);
- Serial.println(F(" percent/s^2"));
-
- Serial.println();
-
- // ----------------------------------
-
- Serial.println(F("ready, showing splash screen"));
- digitalWrite(LED_PIN, LOW);
- blocking_beep(100, 2000);
-
- // wait some time to show splash screen
- delay(2000);
-
- Serial.println(F("Init state machine"));
- states_init();
-
- blocking_beep(100, 2000);
- Serial.println(F("starting main loop"));
- }
-
- void loop() {
- unsigned long t = millis();
- common_run(t);
- bool still_running = steppers_run();
- encoder_run();
-
- int click = encoder_click();
- int kill = kill_switch();
-
- struct StateMachineInput smi(click, encoder_change(), kill, !still_running);
- states_run(smi);
-
- lcd_loop();
- }
|