2011-05-11 12:17:49 +00:00
|
|
|
// Tonokip RepRap firmware rewrite based off of Hydra-mmm firmware.
|
|
|
|
|
// Licence: GPL
|
2011-05-11 12:24:17 +00:00
|
|
|
#include <WProgram.h>
|
2011-07-09 11:12:11 +00:00
|
|
|
#include "fastio.h"
|
2011-07-07 13:44:08 +00:00
|
|
|
extern "C" void __cxa_pure_virtual();
|
2011-07-07 14:34:34 +00:00
|
|
|
void __cxa_pure_virtual(){};
|
2011-05-11 12:17:49 +00:00
|
|
|
void get_command();
|
|
|
|
|
void process_commands();
|
|
|
|
|
|
|
|
|
|
void manage_inactivity(byte debug);
|
|
|
|
|
|
|
|
|
|
void manage_heater();
|
2011-07-06 10:37:30 +00:00
|
|
|
int temp2analogu(int celsius, const short table[][2], int numtemps, int source);
|
|
|
|
|
int analog2tempu(int raw, const short table[][2], int numtemps, int source);
|
|
|
|
|
#ifdef HEATER_USES_THERMISTOR
|
|
|
|
|
#define HEATERSOURCE 1
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef HEATER_USES_AD595
|
|
|
|
|
#define HEATERSOURCE 2
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef HEATER_USES_MAX6675
|
|
|
|
|
#define HEATERSOURCE 3
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef BED_USES_THERMISTOR
|
|
|
|
|
#define BEDSOURCE 1
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef BED_USES_AD595
|
|
|
|
|
#define BEDSOURCE 2
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef BED_USES_MAX6675
|
|
|
|
|
#define BEDSOURCE 3
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define temp2analogh( c ) temp2analogu((c),temptable,NUMTEMPS,HEATERSOURCE)
|
|
|
|
|
#define temp2analogBed( c ) temp2analogu((c),bedtemptable,BNUMTEMPS,BEDSOURCE)
|
|
|
|
|
#define analog2temp( c ) analog2tempu((c),temptable,NUMTEMPS,HEATERSOURCE)
|
|
|
|
|
#define analog2tempBed( c ) analog2tempu((c),bedtemptable,BNUMTEMPS,BEDSOURCE)
|
2011-07-06 20:08:20 +00:00
|
|
|
#if X_ENABLE_PIN > -1
|
2011-07-09 11:12:11 +00:00
|
|
|
#define enable_x() WRITE(X_ENABLE_PIN, X_ENABLE_ON)
|
|
|
|
|
#define disable_x() WRITE(X_ENABLE_PIN,!X_ENABLE_ON)
|
2011-07-06 20:08:20 +00:00
|
|
|
#else
|
|
|
|
|
#define enable_x() ;
|
|
|
|
|
#define disable_x() ;
|
|
|
|
|
#endif
|
|
|
|
|
#if Y_ENABLE_PIN > -1
|
2011-07-09 11:12:11 +00:00
|
|
|
#define enable_y() WRITE(Y_ENABLE_PIN, Y_ENABLE_ON)
|
|
|
|
|
#define disable_y() WRITE(Y_ENABLE_PIN,!Y_ENABLE_ON)
|
2011-07-06 20:08:20 +00:00
|
|
|
#else
|
|
|
|
|
#define enable_y() ;
|
|
|
|
|
#define disable_y() ;
|
|
|
|
|
#endif
|
|
|
|
|
#if Z_ENABLE_PIN > -1
|
2011-07-09 11:12:11 +00:00
|
|
|
#define enable_z() WRITE(Z_ENABLE_PIN, Z_ENABLE_ON)
|
|
|
|
|
#define disable_z() WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON)
|
2011-07-06 20:08:20 +00:00
|
|
|
#else
|
|
|
|
|
#define enable_z() ;
|
|
|
|
|
#define disable_z() ;
|
|
|
|
|
#endif
|
|
|
|
|
#if E_ENABLE_PIN > -1
|
2011-07-09 11:12:11 +00:00
|
|
|
#define enable_e() WRITE(E_ENABLE_PIN, E_ENABLE_ON)
|
|
|
|
|
#define disable_e() WRITE(E_ENABLE_PIN,!E_ENABLE_ON)
|
2011-07-06 20:08:20 +00:00
|
|
|
#else
|
|
|
|
|
#define enable_e() ;
|
|
|
|
|
#define disable_e() ;
|
|
|
|
|
#endif
|
2011-05-11 12:17:49 +00:00
|
|
|
|
|
|
|
|
void FlushSerialRequestResend();
|
|
|
|
|
void ClearToSend();
|
|
|
|
|
|
|
|
|
|
void get_coordinates();
|
2011-05-12 05:07:52 +00:00
|
|
|
void prepare_move();
|
2011-07-07 08:34:24 +00:00
|
|
|
void linear_move(unsigned long steps_remaining[]);
|
2011-07-06 20:08:20 +00:00
|
|
|
void do_step(int axis);
|
2011-05-11 12:17:49 +00:00
|
|
|
void kill(byte debug);
|
|
|
|
|
|