chiark / gitweb /
Merge branch 'smallopt' into Marlin_v1
authorBernhard <bkubicek@x201.(none)>
Mon, 28 Nov 2011 20:36:01 +0000 (21:36 +0100)
committerBernhard <bkubicek@x201.(none)>
Mon, 28 Nov 2011 20:36:01 +0000 (21:36 +0100)
Conflicts:
Marlin/temperature.h

1  2 
Marlin/EEPROMwrite.h
Marlin/Marlin.h
Marlin/Marlin.pde
Marlin/planner.cpp
Marlin/planner.h
Marlin/stepper.cpp
Marlin/temperature.h

Simple merge
diff --cc Marlin/Marlin.h
index 57f403dffd0e10b7537c5640350eff572c0fc0e2,69a0cf3e20406138438dcf21ed9f091af98973ee..464d7ebf56dbf7d72486ddc2ecf5de3bbbbf174d
@@@ -8,8 -7,9 +8,10 @@@
  #include "fastio.h"
  #include <avr/pgmspace.h>
  #include "Configuration.h"
 +#include "MarlinSerial.h"
  
+ #define  FORCE_INLINE __attribute__((always_inline)) inline
  //#define SERIAL_ECHO(x) Serial << "echo: " << x;
  //#define SERIAL_ECHOLN(x) Serial << "echo: "<<x<<endl;
  //#define SERIAL_ERROR(x) Serial << "Error: " << x;
Simple merge
Simple merge
Simple merge
Simple merge
index e832eb6236520c733e46ce33a8bd2056d745da26,9057c1c90b1641375d2582c63102e2829c462de0..3f38c81a9aa3f8cdb7b5afe46f6893ba3a57bce9
@@@ -59,52 -59,31 +59,52 @@@ extern float Kp,Ki,Kd,Kc
  //inline so that there is no performance decrease.\r
  //deg=degreeCelsius\r
  \r
- inline float degHotend0(){  return analog2temp(current_raw[TEMPSENSOR_HOTEND_0]);};\r
- inline float degHotend1(){  return analog2temp(current_raw[TEMPSENSOR_HOTEND_1]);};\r
- inline float degBed() {  return analog2tempBed(current_raw[TEMPSENSOR_BED]);};\r
+ FORCE_INLINE float degHotend0(){  return analog2temp(current_raw[TEMPSENSOR_HOTEND_0]);};\r
+ FORCE_INLINE float degHotend1(){  return analog2temp(current_raw[TEMPSENSOR_HOTEND_1]);};\r
+ FORCE_INLINE float degBed() {  return analog2tempBed(current_raw[TEMPSENSOR_BED]);};\r
 +inline float degHotend(uint8_t extruder){  \r
 +  if(extruder == 0) return analog2temp(current_raw[TEMPSENSOR_HOTEND_0]);\r
 +  if(extruder == 1) return analog2temp(current_raw[TEMPSENSOR_HOTEND_1]);\r
 +};\r
  \r
inline float degTargetHotend0() {  return analog2temp(target_raw[TEMPSENSOR_HOTEND_0]);};\r
inline float degTargetHotend1() {  return analog2temp(target_raw[TEMPSENSOR_HOTEND_1]);};\r
FORCE_INLINE float degTargetHotend0() {  return analog2temp(target_raw[TEMPSENSOR_HOTEND_0]);};\r
FORCE_INLINE float degTargetHotend1() {  return analog2temp(target_raw[TEMPSENSOR_HOTEND_1]);};\r
 -FORCE_INLINE float degTargetBed() {   return analog2tempBed(target_raw[TEMPSENSOR_BED]);};\r
 +inline float degTargetHotend(uint8_t extruder){  \r
 +  if(extruder == 0) return analog2temp(target_raw[TEMPSENSOR_HOTEND_0]);\r
 +  if(extruder == 1) return analog2temp(target_raw[TEMPSENSOR_HOTEND_1]);\r
 +};\r
 +\r
 +inline float degTargetBed() {   return analog2tempBed(target_raw[TEMPSENSOR_BED]);};\r
  \r
inline void setTargetHotend0(const float &celsius) \r
FORCE_INLINE void setTargetHotend0(const float &celsius) \r
  {  \r
    target_raw[TEMPSENSOR_HOTEND_0]=temp2analog(celsius);\r
    #ifdef PIDTEMP\r
      pid_setpoint = celsius;\r
    #endif //PIDTEMP\r
  };\r
inline void setTargetHotend1(const float &celsius) {  target_raw[TEMPSENSOR_HOTEND_1]=temp2analog(celsius);};\r
FORCE_INLINE void setTargetHotend1(const float &celsius) {  target_raw[TEMPSENSOR_HOTEND_1]=temp2analog(celsius);};\r
 -FORCE_INLINE void setTargetBed(const float &celsius)     {  target_raw[TEMPSENSOR_BED     ]=temp2analogBed(celsius);};\r
 +inline float setTargetHotend(const float &celcius, uint8_t extruder){  \r
 +  if(extruder == 0) setTargetHotend0(celcius);\r
 +  if(extruder == 1) setTargetHotend1(celcius);\r
 +};\r
 +inline void setTargetBed(const float &celsius)     {  target_raw[TEMPSENSOR_BED     ]=temp2analogBed(celsius);};\r
  \r
inline bool isHeatingHotend0() {return target_raw[TEMPSENSOR_HOTEND_0] > current_raw[TEMPSENSOR_HOTEND_0];};\r
inline bool isHeatingHotend1() {return target_raw[TEMPSENSOR_HOTEND_1] > current_raw[TEMPSENSOR_HOTEND_1];};\r
FORCE_INLINE bool isHeatingHotend0() {return target_raw[TEMPSENSOR_HOTEND_0] > current_raw[TEMPSENSOR_HOTEND_0];};\r
FORCE_INLINE bool isHeatingHotend1() {return target_raw[TEMPSENSOR_HOTEND_1] > current_raw[TEMPSENSOR_HOTEND_1];};\r
 -FORCE_INLINE bool isHeatingBed() {return target_raw[TEMPSENSOR_BED] > current_raw[TEMPSENSOR_BED];};\r
 +inline float isHeatingHotend(uint8_t extruder){  \r
 +  if(extruder == 0) return target_raw[TEMPSENSOR_HOTEND_0] > current_raw[TEMPSENSOR_HOTEND_0];\r
 +  if(extruder == 1) return target_raw[TEMPSENSOR_HOTEND_1] > current_raw[TEMPSENSOR_HOTEND_1];\r
 +};\r
 +inline bool isHeatingBed() {return target_raw[TEMPSENSOR_BED] > current_raw[TEMPSENSOR_BED];};\r
  \r
inline bool isCoolingHotend0() {return target_raw[TEMPSENSOR_HOTEND_0] < current_raw[TEMPSENSOR_HOTEND_0];};\r
inline bool isCoolingHotend1() {return target_raw[TEMPSENSOR_HOTEND_1] < current_raw[TEMPSENSOR_HOTEND_1];};\r
FORCE_INLINE bool isCoolingHotend0() {return target_raw[TEMPSENSOR_HOTEND_0] < current_raw[TEMPSENSOR_HOTEND_0];};\r
FORCE_INLINE bool isCoolingHotend1() {return target_raw[TEMPSENSOR_HOTEND_1] < current_raw[TEMPSENSOR_HOTEND_1];};\r
 -FORCE_INLINE bool isCoolingBed() {return target_raw[TEMPSENSOR_BED] < current_raw[TEMPSENSOR_BED];};\r
 +inline float isCoolingHotend(uint8_t extruder){  \r
 +  if(extruder == 0) return target_raw[TEMPSENSOR_HOTEND_0] < current_raw[TEMPSENSOR_HOTEND_0];\r
 +  if(extruder == 1) return target_raw[TEMPSENSOR_HOTEND_1] < current_raw[TEMPSENSOR_HOTEND_1];\r
 +};\r
 +inline bool isCoolingBed() {return target_raw[TEMPSENSOR_BED] < current_raw[TEMPSENSOR_BED];};\r
  \r
  void disable_heater();\r
  void setWatch();\r