Test code for proving multi-NCO implementation on Altera FPGA using DEO Nano development board
Dependencies: MODSERIAL mbed-rtos mbed
cnc.h
- Committer:
- JonFreeman
- Date:
- 2014-04-24
- Revision:
- 0:7f5b51873953
File content as of revision 0:7f5b51873953:
/** Programme COPIED FROM "cnc__machine_driver_3" Author Jon Freeman Designed to compile and run on: Mbed LPC1768 Freescale KL25Z Freescale KL46Z */ using namespace std; typedef float fl_typ; // //#define SPI_Enable #define I2C_Enable #define ESTOP 0x100 // bits used in input reading KX3 limit and EStop switches #define XLIM 1 #define YLIM 2 #define ZLIM 4 #define UNKN 8 const fl_typ TWO_PI = 8.0 * atan(1.0); const fl_typ epsilon = 1e-5; struct pirbufgrain { fl_typ x, y, z, distance_code, f_rate; } ; struct singleGparam { // Place to put all we know about 'x' or 'j' etc parameter from G Code line fl_typ flt; unsigned long ul; int i, c; bool changed; // Flagged true when new value for this axis found in Gcode line, false otherwise } ; struct Gparams { // Where possibly messy G code line gets ordered and sorted into struct singleGparam x, y, z, i, j, r, a, b, c, d; // After sorting, know where to find any X, Y etc values ! } ; const int NumofGParams = sizeof(struct Gparams) / sizeof(struct singleGparam); #define clken XDi #define d_in_isr XSt #define d_in_osr YDi #define ld_osr YSt #define ld_pir ZDi #define sclk ZSt #define sclr ADi