Defines | Functions | Variables

gcode_parse.c File Reference

Parse received G-Codes. More...

#include "gcode_parse.h"
#include <string.h>
#include "serial.h"
#include "sermsg.h"
#include "dda_queue.h"
#include "debug.h"
#include "heater.h"
#include "sersendf.h"
#include "gcode_process.h"

Defines

#define STEPS_PER_M_X   ((uint32_t) ((STEPS_PER_MM_X * 1000.0) + 0.5))
#define STEPS_PER_M_Y   ((uint32_t) ((STEPS_PER_MM_Y * 1000.0) + 0.5))
#define STEPS_PER_M_Z   ((uint32_t) ((STEPS_PER_MM_Z * 1000.0) + 0.5))
#define STEPS_PER_M_E   ((uint32_t) ((STEPS_PER_MM_E * 1000.0) + 0.5))
#define STEPS_PER_IN_X   ((uint32_t) ((25.4 * STEPS_PER_MM_X) + 0.5))
#define STEPS_PER_IN_Y   ((uint32_t) ((25.4 * STEPS_PER_MM_Y) + 0.5))
#define STEPS_PER_IN_Z   ((uint32_t) ((25.4 * STEPS_PER_MM_Z) + 0.5))
#define STEPS_PER_IN_E   ((uint32_t) ((25.4 * STEPS_PER_MM_E) + 0.5))
#define crc(a, b)   (a ^ b)
 crude crc macro
#define DECFLOAT_EXP_MAX   4
#define DECFLOAT_MANT_MM_MAX   1048075
#define DECFLOAT_MANT_IN_MAX   32267

Functions

decfloat read_digit __attribute__ ((__section__(".bss")))
 crude floating point data storage
void gcode_parse_char (uint8_t c)
 Character Received - add it to our command.
void request_resend (void)

Variables

uint8_t last_field = 0
 current or previous gcode word for working out what to do with data just received
const uint32_t powers []
 list of powers of ten, used for dividing down decimal numbers for sending, and also for our crude floating point algorithm
const int32_t rounding [DECFLOAT_EXP_MAX] = {0, 5, 50, 500}

Detailed Description

Parse received G-Codes.


Function Documentation

decfloat read_digit __attribute__ ( (__section__(".bss"))   )

crude floating point data storage

this is where we store all the data for the current command before we work out what to do with it

void gcode_parse_char ( uint8_t  c )

Character Received - add it to our command.

accept the next character and process it

Parameters:
cthe next character to process

Referenced by main().

 All Data Structures Files Functions Variables Defines