![]() |
Repetier-Firmware
0.91
|
#include <avr/pgmspace.h>#include <avr/io.h>#include <avr/eeprom.h>#include <avr/wdt.h>#include <inttypes.h>#include "Print.h"#include "WProgram.h"#include "fastio.h"Go to the source code of this file.
Data Structures | |
| struct | ring_buffer |
| struct | ring_buffer_tx |
| class | RFHardwareSerial |
| class | HAL |
Defines | |
| #define | PACK |
| #define | FSTRINGVALUE(var, value) const char var[] PROGMEM = value; |
| #define | FSTRINGVAR(var) static const char var[] PROGMEM; |
| #define | FSTRINGPARAM(var) PGM_P var |
| #define | TIMER0_PRESCALE 64 |
| Prescale factor, timer0 runs at. | |
| #define | ANALOG_PRESCALER _BV(ADPS0)|_BV(ADPS1)|_BV(ADPS2) |
| #define | HardwareSerial_h |
| #define | COMPAT_PRE1 |
| #define | BEGIN_INTERRUPT_PROTECTED {uint8_t sreg=SREG;__asm volatile( "cli" ::: "memory" ); |
| #define | END_INTERRUPT_PROTECTED SREG=sreg;} |
| #define | ESCAPE_INTERRUPT_PROTECTED SREG=sreg; |
| #define | EEPROM_OFFSET 0 |
| #define | SECONDS_TO_TICKS(s) (unsigned long)(s*(float)F_CPU) |
| #define | ANALOG_REDUCE_BITS 0 |
| #define | ANALOG_REDUCE_FACTOR 1 |
| #define | MAX_RAM 32767 |
| #define | bit_clear(x, y) x&= ~(1<<y) |
| #define | bit_set(x, y) x|= (1<<y) |
| #define | I2C_READ 1 |
| #define | I2C_WRITE 0 |
| #define | FAST_INTEGER_SQRT |
| #define | SERIAL_BUFFER_SIZE 128 |
| #define | SERIAL_BUFFER_MASK 127 |
| #define | SERIAL_TX_BUFFER_SIZE 64 |
| #define | SERIAL_TX_BUFFER_MASK 63 |
| #define | RFSERIAL RFSerial |
| #define | WAIT_OUT_EMPTY while(tx_buffer.head != tx_buffer.tail) {} |
| #define | OUT_P_I(p, i) Com::printF(PSTR(p),(int)(i)) |
| #define | OUT_P_I_LN(p, i) Com::printFLN(PSTR(p),(int)(i)) |
| #define | OUT_P_L(p, i) Com::printF(PSTR(p),(long)(i)) |
| #define | OUT_P_L_LN(p, i) Com::printFLN(PSTR(p),(long)(i)) |
| #define | OUT_P_F(p, i) Com::printF(PSTR(p),(float)(i)) |
| #define | OUT_P_F_LN(p, i) Com::printFLN(PSTR(p),(float)(i)) |
| #define | OUT_P_FX(p, i, x) Com::printF(PSTR(p),(float)(i),x) |
| #define | OUT_P_FX_LN(p, i, x) Com::printFLN(PSTR(p),(float)(i),x) |
| #define | OUT_P(p) Com::printF(PSTR(p)) |
| #define | OUT_P_LN(p) Com::printFLN(PSTR(p)) |
| #define | OUT_ERROR_P(p) Com::printErrorF(PSTR(p)) |
| #define | OUT_ERROR_P_LN(p) {Com::printErrorF(PSTR(p));Com::println();} |
| #define | OUT(v) Com::print(v) |
| #define | OUT_LN Com::println() |
| #define | EXTRUDER_TIMER_VECTOR TIMER0_COMPA_vect |
| #define | EXTRUDER_OCR OCR0A |
| #define | EXTRUDER_TCCR TCCR0A |
| #define | EXTRUDER_TIMSK TIMSK0 |
| #define | EXTRUDER_OCIE OCIE0A |
| #define | PWM_TIMER_VECTOR TIMER0_COMPB_vect |
| #define | PWM_OCR OCR0B |
| #define | PWM_TCCR TCCR0A |
| #define | PWM_TIMSK TIMSK0 |
| #define | PWM_OCIE OCIE0B |
Typedefs | |
| typedef unsigned int | speed_t |
| typedef unsigned long | ticks_t |
| typedef unsigned long | millis_t |
Variables | |
| RFHardwareSerial | RFSerial |
| #define ANALOG_PRESCALER _BV(ADPS0)|_BV(ADPS1)|_BV(ADPS2) |
| #define ANALOG_REDUCE_BITS 0 |
| #define ANALOG_REDUCE_FACTOR 1 |
| #define BEGIN_INTERRUPT_PROTECTED {uint8_t sreg=SREG;__asm volatile( "cli" ::: "memory" ); |
| #define bit_clear | ( | x, | |
| y | |||
| ) | x&= ~(1<<y) |
| #define bit_set | ( | x, | |
| y | |||
| ) | x|= (1<<y) |
| #define COMPAT_PRE1 |
| #define EEPROM_OFFSET 0 |
| #define END_INTERRUPT_PROTECTED SREG=sreg;} |
| #define ESCAPE_INTERRUPT_PROTECTED SREG=sreg; |
| #define EXTRUDER_OCIE OCIE0A |
| #define EXTRUDER_OCR OCR0A |
| #define EXTRUDER_TCCR TCCR0A |
| #define EXTRUDER_TIMER_VECTOR TIMER0_COMPA_vect |
| #define EXTRUDER_TIMSK TIMSK0 |
| #define FAST_INTEGER_SQRT |
| #define FSTRINGPARAM | ( | var | ) | PGM_P var |
| #define FSTRINGVALUE | ( | var, | |
| value | |||
| ) | const char var[] PROGMEM = value; |
| #define FSTRINGVAR | ( | var | ) | static const char var[] PROGMEM; |
| #define HardwareSerial_h |
| #define I2C_READ 1 |
defines the data direction (reading from I2C device) in i2cStart(),i2cRepStart()
| #define I2C_WRITE 0 |
defines the data direction (writing to I2C device) in i2cStart(),i2cRepStart()
| #define MAX_RAM 32767 |
| #define OUT | ( | v | ) | Com::print(v) |
| #define OUT_ERROR_P | ( | p | ) | Com::printErrorF(PSTR(p)) |
| #define OUT_ERROR_P_LN | ( | p | ) | {Com::printErrorF(PSTR(p));Com::println();} |
| #define OUT_LN Com::println() |
| #define OUT_P | ( | p | ) | Com::printF(PSTR(p)) |
| #define OUT_P_F | ( | p, | |
| i | |||
| ) | Com::printF(PSTR(p),(float)(i)) |
| #define OUT_P_F_LN | ( | p, | |
| i | |||
| ) | Com::printFLN(PSTR(p),(float)(i)) |
| #define OUT_P_FX | ( | p, | |
| i, | |||
| x | |||
| ) | Com::printF(PSTR(p),(float)(i),x) |
| #define OUT_P_FX_LN | ( | p, | |
| i, | |||
| x | |||
| ) | Com::printFLN(PSTR(p),(float)(i),x) |
| #define OUT_P_I | ( | p, | |
| i | |||
| ) | Com::printF(PSTR(p),(int)(i)) |
| #define OUT_P_I_LN | ( | p, | |
| i | |||
| ) | Com::printFLN(PSTR(p),(int)(i)) |
| #define OUT_P_L | ( | p, | |
| i | |||
| ) | Com::printF(PSTR(p),(long)(i)) |
| #define OUT_P_L_LN | ( | p, | |
| i | |||
| ) | Com::printFLN(PSTR(p),(long)(i)) |
| #define OUT_P_LN | ( | p | ) | Com::printFLN(PSTR(p)) |
This is the main Hardware Abstraction Layer (HAL). To make the firmware work with different processors and toolchains, all hardware related code should be packed into the hal files.
| #define PWM_OCIE OCIE0B |
| #define PWM_OCR OCR0B |
| #define PWM_TCCR TCCR0A |
| #define PWM_TIMER_VECTOR TIMER0_COMPB_vect |
| #define PWM_TIMSK TIMSK0 |
| #define SECONDS_TO_TICKS | ( | s | ) | (unsigned long)(s*(float)F_CPU) |
| #define SERIAL_BUFFER_MASK 127 |
| #define SERIAL_BUFFER_SIZE 128 |
| #define SERIAL_TX_BUFFER_MASK 63 |
| #define SERIAL_TX_BUFFER_SIZE 64 |
| #define TIMER0_PRESCALE 64 |
Prescale factor, timer0 runs at.
All known arduino boards use 64. This value is needed for the extruder timing.
| #define WAIT_OUT_EMPTY while(tx_buffer.head != tx_buffer.tail) {} |
| typedef unsigned long millis_t |
| typedef unsigned int speed_t |
| typedef unsigned long ticks_t |