Replace #define HOST by #define MOTHERBOARD.
Apparently, HOST conflicts with some AVR headers for the USB-equipped ATmegas. Patch by DaveX, thank you Dave. See also: http://forums.reprap.org/read.php?147,33082,182021#msg-182021
This commit is contained in:
parent
63d3f012a8
commit
3c5d9d8950
|
|
@ -38,10 +38,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -39,10 +39,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -40,10 +40,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -46,10 +46,10 @@
|
||||||
#define F_CPU 20000000UL
|
#define F_CPU 20000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -46,10 +46,10 @@
|
||||||
#define F_CPU 20000000UL
|
#define F_CPU 20000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -40,10 +40,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -40,10 +40,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -39,10 +39,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -39,10 +39,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
|
|
@ -40,10 +40,10 @@
|
||||||
#define F_CPU 16000000UL
|
#define F_CPU 16000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \def HOST
|
/** \def MOTHERBOARD
|
||||||
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
This is the motherboard, as opposed to the extruder. See extruder/ directory for GEN3 extruder firmware
|
||||||
*/
|
*/
|
||||||
#define HOST
|
#define MOTHERBOARD
|
||||||
|
|
||||||
|
|
||||||
/** \def STEPS_PER_M
|
/** \def STEPS_PER_M
|
||||||
|
|
|
||||||
24
intercom.c
24
intercom.c
|
|
@ -32,7 +32,7 @@ volatile uint8_t intercom_flags;
|
||||||
|
|
||||||
void intercom_init(void)
|
void intercom_init(void)
|
||||||
{
|
{
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
#if INTERCOM_BAUD > 38401
|
#if INTERCOM_BAUD > 38401
|
||||||
UCSR1A = MASK(U2X1);
|
UCSR1A = MASK(U2X1);
|
||||||
UBRR1 = (((F_CPU / 8) / INTERCOM_BAUD) - 0.5);
|
UBRR1 = (((F_CPU / 8) / INTERCOM_BAUD) - 0.5);
|
||||||
|
|
@ -69,7 +69,7 @@ uint16_t read_temperature(uint8_t index) {
|
||||||
return rx.packet.temp[index];
|
return rx.packet.temp[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
void set_dio(uint8_t index, uint8_t value) {
|
void set_dio(uint8_t index, uint8_t value) {
|
||||||
if (value)
|
if (value)
|
||||||
tx.packet.dio |= (1 << index);
|
tx.packet.dio |= (1 << index);
|
||||||
|
|
@ -122,7 +122,7 @@ void start_send(void) {
|
||||||
packet_pointer = 0;
|
packet_pointer = 0;
|
||||||
|
|
||||||
// actually start sending the packet
|
// actually start sending the packet
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
UCSR1B |= MASK(UDRIE1);
|
UCSR1B |= MASK(UDRIE1);
|
||||||
#else
|
#else
|
||||||
UCSR0B |= MASK(UDRIE0);
|
UCSR0B |= MASK(UDRIE0);
|
||||||
|
|
@ -134,7 +134,7 @@ void start_send(void) {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// receive data interrupt- stuff into rx
|
// receive data interrupt- stuff into rx
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
ISR(USART1_RX_vect)
|
ISR(USART1_RX_vect)
|
||||||
#else
|
#else
|
||||||
ISR(USART_RX_vect)
|
ISR(USART_RX_vect)
|
||||||
|
|
@ -146,7 +146,7 @@ ISR(USART_RX_vect)
|
||||||
// pull character
|
// pull character
|
||||||
static uint8_t c;
|
static uint8_t c;
|
||||||
|
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
c = UDR1;
|
c = UDR1;
|
||||||
UCSR1A &= ~MASK(FE1) & ~MASK(DOR1) & ~MASK(UPE1);
|
UCSR1A &= ~MASK(FE1) & ~MASK(DOR1) & ~MASK(UPE1);
|
||||||
#else
|
#else
|
||||||
|
|
@ -172,7 +172,7 @@ ISR(USART_RX_vect)
|
||||||
// reset pointer
|
// reset pointer
|
||||||
packet_pointer = 0;
|
packet_pointer = 0;
|
||||||
|
|
||||||
#ifndef HOST
|
#ifndef MOTHERBOARD
|
||||||
if (rxcrc == _rx.packet.crc &&
|
if (rxcrc == _rx.packet.crc &&
|
||||||
_rx.packet.controller_num == THIS_CONTROLLER_NUM){
|
_rx.packet.controller_num == THIS_CONTROLLER_NUM){
|
||||||
#else
|
#else
|
||||||
|
|
@ -185,7 +185,7 @@ ISR(USART_RX_vect)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HOST
|
#ifndef MOTHERBOARD
|
||||||
if (rx.packet.controller_num == THIS_CONTROLLER_NUM) {
|
if (rx.packet.controller_num == THIS_CONTROLLER_NUM) {
|
||||||
if (rxcrc != _rx.packet.crc)
|
if (rxcrc != _rx.packet.crc)
|
||||||
tx.packet.err = ERROR_BAD_CRC;
|
tx.packet.err = ERROR_BAD_CRC;
|
||||||
|
|
@ -207,7 +207,7 @@ ISR(USART_RX_vect)
|
||||||
}
|
}
|
||||||
|
|
||||||
// finished transmitting interrupt- only enabled at end of packet
|
// finished transmitting interrupt- only enabled at end of packet
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
ISR(USART1_TX_vect)
|
ISR(USART1_TX_vect)
|
||||||
#else
|
#else
|
||||||
ISR(USART_TX_vect)
|
ISR(USART_TX_vect)
|
||||||
|
|
@ -220,7 +220,7 @@ ISR(USART_TX_vect)
|
||||||
disable_transmit();
|
disable_transmit();
|
||||||
packet_pointer = 0;
|
packet_pointer = 0;
|
||||||
intercom_flags = (intercom_flags & ~FLAG_TX_IN_PROGRESS) | FLAG_TX_FINISHED;
|
intercom_flags = (intercom_flags & ~FLAG_TX_IN_PROGRESS) | FLAG_TX_FINISHED;
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
UCSR1B &= ~MASK(TXCIE1);
|
UCSR1B &= ~MASK(TXCIE1);
|
||||||
#else
|
#else
|
||||||
UCSR0B &= ~MASK(TXCIE0);
|
UCSR0B &= ~MASK(TXCIE0);
|
||||||
|
|
@ -233,7 +233,7 @@ ISR(USART_TX_vect)
|
||||||
}
|
}
|
||||||
|
|
||||||
// tx queue empty interrupt- send next byte
|
// tx queue empty interrupt- send next byte
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
ISR(USART1_UDRE_vect)
|
ISR(USART1_UDRE_vect)
|
||||||
#else
|
#else
|
||||||
ISR(USART_UDRE_vect)
|
ISR(USART_UDRE_vect)
|
||||||
|
|
@ -242,14 +242,14 @@ ISR(USART_UDRE_vect)
|
||||||
// save status register
|
// save status register
|
||||||
uint8_t sreg_save = SREG;
|
uint8_t sreg_save = SREG;
|
||||||
|
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
UDR1 = _tx.data[packet_pointer++];
|
UDR1 = _tx.data[packet_pointer++];
|
||||||
#else
|
#else
|
||||||
UDR0 = _tx.data[packet_pointer++];
|
UDR0 = _tx.data[packet_pointer++];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (packet_pointer >= sizeof(intercom_packet_t)) {
|
if (packet_pointer >= sizeof(intercom_packet_t)) {
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
UCSR1B &= ~MASK(UDRIE1);
|
UCSR1B &= ~MASK(UDRIE1);
|
||||||
UCSR1B |= MASK(TXCIE1);
|
UCSR1B |= MASK(TXCIE1);
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
#define enable_transmit() do { WRITE(TX_ENABLE_PIN,1); UCSR1B &=~MASK(RXEN1); } while(0)
|
#define enable_transmit() do { WRITE(TX_ENABLE_PIN,1); UCSR1B &=~MASK(RXEN1); } while(0)
|
||||||
#define disable_transmit() do { WRITE(TX_ENABLE_PIN,0); UCSR1B &= ~(MASK(TXCIE1) | MASK(UDRIE1)); UCSR1B |= MASK(RXEN1); } while(0)
|
#define disable_transmit() do { WRITE(TX_ENABLE_PIN,0); UCSR1B &= ~(MASK(TXCIE1) | MASK(UDRIE1)); UCSR1B |= MASK(RXEN1); } while(0)
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
10
timer.c
10
timer.c
|
|
@ -16,7 +16,7 @@
|
||||||
#include "arduino.h"
|
#include "arduino.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
#include "dda_queue.h"
|
#include "dda_queue.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ ISR(TIMER1_COMPB_vect) {
|
||||||
SREG = sreg_save;
|
SREG = sreg_save;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
|
|
||||||
/// comparator A is the step timer. It has higher priority then B.
|
/// comparator A is the step timer. It has higher priority then B.
|
||||||
ISR(TIMER1_COMPA_vect) {
|
ISR(TIMER1_COMPA_vect) {
|
||||||
|
|
@ -123,7 +123,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
MEMORY_BARRIER();
|
MEMORY_BARRIER();
|
||||||
SREG = sreg_save;
|
SREG = sreg_save;
|
||||||
}
|
}
|
||||||
#endif /* ifdef HOST */
|
#endif /* ifdef MOTHERBOARD */
|
||||||
|
|
||||||
/// initialise timer and enable system clock interrupt.
|
/// initialise timer and enable system clock interrupt.
|
||||||
/// step interrupt is enabled later when we start using it
|
/// step interrupt is enabled later when we start using it
|
||||||
|
|
@ -139,7 +139,7 @@ void timer_init()
|
||||||
TIMSK1 = MASK(OCIE1B);
|
TIMSK1 = MASK(OCIE1B);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HOST
|
#ifdef MOTHERBOARD
|
||||||
/*! Specify how long until the step timer should fire.
|
/*! Specify how long until the step timer should fire.
|
||||||
\param delay in CPU ticks
|
\param delay in CPU ticks
|
||||||
|
|
||||||
|
|
@ -230,4 +230,4 @@ void timer_stop() {
|
||||||
// disable all interrupts
|
// disable all interrupts
|
||||||
TIMSK1 = 0;
|
TIMSK1 = 0;
|
||||||
}
|
}
|
||||||
#endif /* ifdef HOST */
|
#endif /* ifdef MOTHERBOARD */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue