28#define SOME_LARGE_VALUE 1.0E+38
40 #define A_MOTOR X_AXIS
41 #define B_MOTOR Y_AXIS
45#define MM_PER_INCH (25.40)
46#define INCH_PER_MM (0.0393701)
47#define TICKS_PER_MICROSECOND (F_CPU/1000000)
49#define DELAY_MODE_DWELL 0
50#define DELAY_MODE_SYS_SUSPEND 1
53#define clear_vector(a) memset(a, 0, sizeof(a))
54#define clear_vector_float(a) memset(a, 0.0, sizeof(float)*N_AXIS)
56#define max(a,b) (((a) > (b)) ? (a) : (b))
57#define min(a,b) (((a) < (b)) ? (a) : (b))
58#define isequal_position_vector(a,b) !(memcmp(a, b, sizeof(float)*N_AXIS))
61#define bit(n) (1 << n)
62#define bit_true(x,mask) (x) |= (mask)
63#define bit_false(x,mask) (x) &= ~(mask)
64#define bit_istrue(x,mask) ((x & mask) != 0)
65#define bit_isfalse(x,mask) ((x & mask) == 0)
70uint8_t
read_float(
char *
line, uint8_t *char_counter,
float *float_ptr);
73void delay_sec(
float seconds, uint8_t mode);
float hypot_f(float x, float y)
float convert_delta_vector_to_unit_vector(float *vector)
uint8_t read_float(char *line, uint8_t *char_counter, float *float_ptr)
float limit_value_by_axis_maximum(float *max_value, float *unit_vec)
void delay_ms(uint16_t ms)
void delay_us(uint32_t us)
void delay_sec(float seconds, uint8_t mode)
static char line[LINE_BUFFER_SIZE]