Go to the source code of this file.
Macros | |
#define | false 0 |
#define | true 1 |
#define | SOME_LARGE_VALUE 1.0E+38 |
#define | N_AXIS 3 |
Axis array index values. Must start with 0 and be continuous. More... | |
#define | X_AXIS 0 |
Axis indexing value. More... | |
#define | Y_AXIS 1 |
#define | Z_AXIS 2 |
#define | MM_PER_INCH (25.40) |
CoreXY motor assignments. DO NOT ALTER. More... | |
#define | INCH_PER_MM (0.0393701) |
#define | TICKS_PER_MICROSECOND (F_CPU/1000000) |
#define | DELAY_MODE_DWELL 0 |
#define | DELAY_MODE_SYS_SUSPEND 1 |
#define | clear_vector(a) memset(a, 0, sizeof(a)) |
Useful macros. More... | |
#define | clear_vector_float(a) memset(a, 0.0, sizeof(float)*N_AXIS) |
#define | max(a, b) (((a) > (b)) ? (a) : (b)) |
#define | min(a, b) (((a) < (b)) ? (a) : (b)) |
#define | isequal_position_vector(a, b) !(memcmp(a, b, sizeof(float)*N_AXIS)) |
#define | bit(n) (1 << n) |
Bit field and masking macros. More... | |
#define | bit_true(x, mask) (x) |= (mask) |
#define | bit_false(x, mask) (x) &= ~(mask) |
#define | bit_istrue(x, mask) ((x & mask) != 0) |
#define | bit_isfalse(x, mask) ((x & mask) == 0) |
Functions | |
uint8_t | read_float (char *line, uint8_t *char_counter, float *float_ptr) |
Read a floating point value from a string. Line points to the input buffer, char_counter. More... | |
void | delay_sec (float seconds, uint8_t mode) |
Non-blocking delay function used for general operation and suspend features. More... | |
void | delay_ms (uint16_t ms) |
Delays variable-defined milliseconds. Compiler compatibility fix for _delay_ms(). More... | |
void | delay_us (uint32_t us) |
Delays variable-defined microseconds. Compiler compatibility fix for _delay_us(). More... | |
float | hypot_f (float x, float y) |
Computes hypotenuse, avoiding avr-gcc's bloated version and the extra error checking. More... | |
float | convert_delta_vector_to_unit_vector (float *vector) |
float | limit_value_by_axis_maximum (float *max_value, float *unit_vec) |
#define bit | ( | n | ) | (1 << n) |
Bit field and masking macros.
Definition at line 57 of file nuts_bolts.h.
#define bit_false | ( | x, | |
mask | |||
) | (x) &= ~(mask) |
Definition at line 59 of file nuts_bolts.h.
#define bit_isfalse | ( | x, | |
mask | |||
) | ((x & mask) == 0) |
Definition at line 61 of file nuts_bolts.h.
#define bit_istrue | ( | x, | |
mask | |||
) | ((x & mask) != 0) |
Definition at line 60 of file nuts_bolts.h.
#define bit_true | ( | x, | |
mask | |||
) | (x) |= (mask) |
Definition at line 58 of file nuts_bolts.h.
#define clear_vector | ( | a | ) | memset(a, 0, sizeof(a)) |
Useful macros.
Definition at line 50 of file nuts_bolts.h.
Definition at line 51 of file nuts_bolts.h.
#define DELAY_MODE_DWELL 0 |
Definition at line 47 of file nuts_bolts.h.
#define DELAY_MODE_SYS_SUSPEND 1 |
Definition at line 48 of file nuts_bolts.h.
#define false 0 |
Definition at line 25 of file nuts_bolts.h.
#define INCH_PER_MM (0.0393701) |
Definition at line 44 of file nuts_bolts.h.
#define isequal_position_vector | ( | a, | |
b | |||
) | !(memcmp(a, b, sizeof(float)*N_AXIS)) |
Definition at line 55 of file nuts_bolts.h.
#define max | ( | a, | |
b | |||
) | (((a) > (b)) ? (a) : (b)) |
Definition at line 53 of file nuts_bolts.h.
#define min | ( | a, | |
b | |||
) | (((a) < (b)) ? (a) : (b)) |
Definition at line 54 of file nuts_bolts.h.
#define MM_PER_INCH (25.40) |
CoreXY motor assignments. DO NOT ALTER.
NOTE: If the A and B motor axis bindings are changed, this effects the CoreXY equations. Conversions
Definition at line 43 of file nuts_bolts.h.
#define N_AXIS 3 |
Axis array index values. Must start with 0 and be continuous.
Number of axes
Definition at line 30 of file nuts_bolts.h.
#define SOME_LARGE_VALUE 1.0E+38 |
Definition at line 28 of file nuts_bolts.h.
#define TICKS_PER_MICROSECOND (F_CPU/1000000) |
Definition at line 45 of file nuts_bolts.h.
#define true 1 |
Definition at line 26 of file nuts_bolts.h.
#define X_AXIS 0 |
Axis indexing value.
Definition at line 31 of file nuts_bolts.h.
#define Y_AXIS 1 |
Definition at line 32 of file nuts_bolts.h.
#define Z_AXIS 2 |
Definition at line 33 of file nuts_bolts.h.
float convert_delta_vector_to_unit_vector | ( | float * | vector | ) |
Definition at line 160 of file nuts_bolts.c.
void delay_ms | ( | uint16_t | ms | ) |
Delays variable-defined milliseconds. Compiler compatibility fix for _delay_ms().
Delays variable-defined milliseconds. Compiler compatibility fix for _delay_ms().
Definition at line 129 of file nuts_bolts.c.
void delay_sec | ( | float | seconds, |
uint8_t | mode | ||
) |
Non-blocking delay function used for general operation and suspend features.
< DELAY_MODE_SYS_SUSPEND
< Execute rt_system() only to avoid nesting suspend loops.
< Delay DWELL_TIME_STEP increment
Definition at line 111 of file nuts_bolts.c.
void delay_us | ( | uint32_t | us | ) |
Delays variable-defined microseconds. Compiler compatibility fix for _delay_us().
Delays variable-defined microseconds. Compiler compatibility fix for _delay_us().
Definition at line 137 of file nuts_bolts.c.
float hypot_f | ( | float | x, |
float | y | ||
) |
Computes hypotenuse, avoiding avr-gcc's bloated version and the extra error checking.
Computes hypotenuse, avoiding avr-gcc's bloated version and the extra error checking.
Definition at line 157 of file nuts_bolts.c.
float limit_value_by_axis_maximum | ( | float * | max_value, |
float * | unit_vec | ||
) |
< Avoid divide by zero.
Definition at line 176 of file nuts_bolts.c.
uint8_t read_float | ( | char * | line, |
uint8_t * | char_counter, | ||
float * | float_ptr | ||
) |
Read a floating point value from a string. Line points to the input buffer, char_counter.
Read a floating point value from a string. Line points to the input buffer, char_counter.
NOTE: Thanks to Radu-Eosif Mihailescu for identifying the issues with using strtod().
< intval*10 + c
< Set char_counter to next statement
Definition at line 35 of file nuts_bolts.c.