This repository has been archived on 2025-02-01. You can view files and clone it, but cannot push or open issues or pull requests.
reprapfirmware-dc42/Configuration.h
David Crocker bac9eb516e Version 1.09s beta 4
Enhancements:
- Implemented M143 and M350
- Wait until movement finished when processing M906
- Allow for additional axes in M906 reporting code
- Added support for external drivers module
- Aux2 device support is now conditional
- Added separate error code for temperature above safety limit
Bug fixes:
- Fixed spurious error report when processing corrupt input line
- When there is a temperature error, return the correct error code
- Update the overheat ADC value when changing thermistor parameters
- Fixed occasional divide by zero problem in PrintMonitor that led to
AJAX errors
- Cold extrusion prevention only checks the active tool, to allow the
same extruder and heater to be configured in multiple tools
- If extrusion is prevented because of a temperature fault, display a
message instead of silently preventing extrusion
2016-03-09 14:34:01 +00:00

178 lines
5.7 KiB
C

/****************************************************************************************************
RepRapFirmware - Configuration
This is where all machine-independent configuration and other definitions are set up. Nothing that
depends on any particular RepRap, RepRap component, or RepRap controller should go in here. Define
machine-dependent things in Platform.h
-----------------------------------------------------------------------------------------------------
Version 0.1
18 November 2012
Adrian Bowyer
RepRap Professional Ltd
http://reprappro.com
Licence: GPL
****************************************************************************************************/
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#define NAME "RepRapFirmware"
#ifndef VERSION
#define VERSION "1.09s-dc42-beta4"
#endif
#ifndef DATE
#define DATE "2016-03-08"
#endif
#define AUTHORS "reprappro, dc42, zpl, t3p3, dnewman"
#define FLASH_SAVE_ENABLED (1)
//#define EXTERNAL_DRIVERS (1)
//#define FIRST_EXTERNAL_DRIVE (4)
// Other firmware that we might switch to be compatible with.
enum Compatibility
{
me = 0,
reprapFirmware = 1,
marlin = 2,
teacup = 3,
sprinter = 4,
repetier = 5
};
// Generic constants
const float ABS_ZERO = -273.15; // Celsius
const float NEARLY_ABS_ZERO = -273.0; // Celsius
const float ROOM_TEMPERATURE = 21.0; // Celsius
const float INCH_TO_MM = 25.4;
const float MINUTES_TO_SECONDS = 60.0;
const float SECONDS_TO_MINUTES = 1.0 / MINUTES_TO_SECONDS;
const float LONG_TIME = 300.0; // Seconds
const float MINIMUM_TOOL_WARNING_INTERVAL = 4.0; // Seconds
// Comms defaults
const unsigned int MAIN_BAUD_RATE = 115200; // Default communication speed of the USB if needed
const unsigned int AUX_BAUD_RATE = 57600; // Ditto - for auxiliary UART device
const unsigned int AUX2_BAUD_RATE = 115200; // Ditto - for second auxiliary UART device
const uint32_t SERIAL_MAIN_TIMEOUT = 1000; // timeout in ms for sending dara to the main serial/USB port
// Heater values
const float HEAT_SAMPLE_TIME = 0.5; // Seconds
const float HEAT_PWM_AVERAGE_TIME = 5.0; // Seconds
const float TEMPERATURE_CLOSE_ENOUGH = 2.5; // Celsius
const float TEMPERATURE_LOW_SO_DONT_CARE = 40.0; // Celsius
const float HOT_ENOUGH_TO_EXTRUDE = 160.0; // Celsius
const float HOT_ENOUGH_TO_RETRACT = 90.0; // Celsius
const float TIME_TO_HOT = 150.0; // Seconds
const uint8_t MAX_BAD_TEMPERATURE_COUNT = 4; // Number of bad temperature samples permitted before a heater fault is reported
const float BAD_LOW_TEMPERATURE = -10.0; // Celsius
const float DEFAULT_TEMPERATURE_LIMIT = 300.0; // Celsius
const float HOT_END_FAN_TEMPERATURE = 45.0; // Temperature at which a thermostatic hot end fan comes on
const float BAD_ERROR_TEMPERATURE = 2000.0; // must exceed BAD_HIGH_TEMPERATURE
// PWM frequencies
const unsigned int SlowHeaterPwmFreq = 10; // slow PWM frequency for bed and chamber heaters, compatible with DC/AC SSRs
const unsigned int NormalHeaterPwmFreq = 500; // normal PWM frequency used for hot ends
const unsigned int DefaultFanPwmFreq = 500; // increase to 25kHz using M106 command to meet Intel 4-wire PWM fan specification
// Default Z probe values
const size_t MAX_PROBE_POINTS = 16; // Maximum number of probe points
const size_t MAX_DELTA_PROBE_POINTS = 16; // Must be <= MaxProbePoints, may be smaller to reduce matrix storage requirements. Preferably a power of 2.
const float DEFAULT_Z_DIVE = 5.0; // Millimetres
const float DEFAULT_PROBE_SPEED = 2.0; // Default Z probing speed
const float DEFAULT_TRAVEL_SPEED = 100.0; // Default speed for travel to probe points
const float TRIANGLE_ZERO = -0.001; // Millimetres
const float SILLY_Z_VALUE = -9999.0; // Millimetres
// String lengths
//const size_t LONG_STRING_LENGTH = 1024;
const size_t FORMAT_STRING_LENGTH = 256;
const size_t MACHINE_NAME_LENGTH = 40;
const size_t PASSWORD_LENGTH = 20;
const size_t GCODE_LENGTH = 100;
const size_t GCODE_REPLY_LENGTH = 2048;
const size_t MESSAGE_LENGTH = 256;
const size_t FILENAME_LENGTH = 100;
// Output buffer lengths
const uint16_t OUTPUT_BUFFER_SIZE = 256; // How many bytes does each OutputBuffer hold?
const size_t OUTPUT_BUFFER_COUNT = 16; // How many OutputBuffer instances do we have?
// Move system
const float DEFAULT_FEEDRATE = 3000.0; // The initial requested feed rate after resetting the printer
const float DEFAULT_IDLE_TIMEOUT = 30.0; // Seconds
const float DEFAULT_IDLE_CURRENT_FACTOR = 0.3; // Proportion of normal motor current that we use for idle hold
// Default nozzle and filament values
const float NOZZLE_DIAMETER = 0.5; // Millimetres
const float FILAMENT_WIDTH = 1.75; // Millimetres
// Webserver stuff
#define DEFAULT_PASSWORD "reprap" // Default machine password
#define DEFAULT_NAME "My Duet" // Default machine name
#define HOSTNAME "duet" // Default netbios name
#define INDEX_PAGE_FILE "reprap.htm"
#define FOUR04_PAGE_FILE "html404.htm"
// Filesystem and upload defaults
#define FS_PREFIX "0:"
#define WEB_DIR "0:/www/" // Place to find web files on the SD card
#define GCODE_DIR "0:/gcodes/" // Ditto - G-Codes
#define SYS_DIR "0:/sys/"; // Ditto - System files
#define MACRO_DIR "0:/macros/" // Ditto - Macro files
#define CONFIG_FILE "config.g"
#define DEFAULT_FILE "default.g"
#define HOME_X_G "homex.g"
#define HOME_Y_G "homey.g"
#define HOME_Z_G "homez.g"
#define HOME_ALL_G "homeall.g"
#define HOME_DELTA_G "homedelta.g"
#define BED_EQUATION_G "bed.g"
#define PAUSE_G "pause.g"
#define RESUME_G "resume.g"
#define STOP_G "stop.g"
#define SLEEP_G "sleep.g"
#define EOF_STRING "<!-- **EoF** -->"
// List defaults
const char LIST_SEPARATOR = ':';
const char FILE_LIST_SEPARATOR = ',';
const char FILE_LIST_BRACKET = '"';
#endif