line()

Description

Perform linear motion to the target point at the feed rate.
For more information on various motion methods, please refer to the Motion Method Explanation page.

Syntax

machine.line(x, y, z);
machine.line(x, y, z, feedrate);

Parameters

machine: Machine object.

x: Target X coordinate.

y: Target X coordinate.

z: Target X coordinate.

feedrate: Feedrate. If no parameter is passed, the last recorded feedrate will be used.

Return

bool:

true: The machine exists and is created successfully.
false: The machine does not exist or fails to be created.

Example

Set the basic parameters of the machine and move the machine back and forth to (10, 10, 10).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

#include "Motion86.h"

 

// Generate machine objects. You can use up to three machines, machine 0~2, each with three axes.

Machine machine(0);

 

// Stepper motor enable pin.

int EnablePin = 4;

 

void setup() {

  while (!Serial);

  pinMode(EnablePin, OUTPUT);

 

  // If necessary, you can reverse the direction of the motion axis.

  // In this example, you need to reverse the direction of the x-axis and y-axis.

  machine.config_ReverseDirection(AXIS_X);

  machine.config_ReverseDirection(AXIS_Y);

 

  // PPU (pulse per unit) is a virtual length unit, depending on different needs.

  // In this example, the unit length of the x-axis is set to 80 pulses, which corresponds to 1 mm in actual application.

  machine.config_PPU(AXIS_X, 80.0);

  machine.config_PPU(AXIS_Y, 80.0);

  machine.config_PPU(AXIS_Z, 1600.0);

 

  // Before controlling, the machine must be started.

  machine.machineOn();

  machine.setDefaultFeedrate(400);

 

  // Start the stepper motor.

  digitalWrite(EnablePin, LOW);

}

 

void loop() {

  // Linear movement to (10, 10, 10).

  machine.line(10, 10, 10);

 

  // Linear motion to (0, 0, 0).

  machine.line(0, 0, 0);

 

  // Wait until the planned motion is completed.

  while (machine.isMoving());

}


Library Reference

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.