git.droids-corp.org
/
protos
/
xbee-avr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix compilation with latest aversive
[protos/xbee-avr.git]
/
spi_servo.c
diff --git
a/spi_servo.c
b/spi_servo.c
index
fad6866
..
59a0810
100644
(file)
--- a/
spi_servo.c
+++ b/
spi_servo.c
@@
-38,12
+38,13
@@
static volatile union {
};
} byte1;
};
} byte1;
+#define SS_HIGH() PORTB |= (1 << 4)
+#define SS_LOW() PORTB &= (~(1 << 4))
+
void spi_servo_init(void)
{
void spi_servo_init(void)
{
- /* real SS ! */
- DDRK = 0x2;
/* SCK, SS & MOSI */
/* SCK, SS & MOSI */
- DDRB = 0x
7
;
+ DDRB = 0x
b0
;
/* remove power reduction on spi */
PRR0 &= ~(1 << PRSPI);
/* remove power reduction on spi */
PRR0 &= ~(1 << PRSPI);
@@
-51,7
+52,7
@@
void spi_servo_init(void)
/* Enable SPI, Master, set clock rate fck/64 */
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR1);
/* Enable SPI, Master, set clock rate fck/64 */
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR1);
-
PORTK |= (1<<1
);
+
SS_HIGH(
);
spi_servo_set(BYPASS_DISABLE, 0);
}
spi_servo_set(BYPASS_DISABLE, 0);
}
@@
-64,19
+65,19
@@
void spi_servo_set(uint8_t num, uint16_t val)
byte1.one = 1;
byte1.val_lsb = val;
byte1.one = 1;
byte1.val_lsb = val;
-
PORTK &= ~(1<<1
);
+
SS_LOW(
);
SPDR = byte0.u8;
/* Wait for transmission complete */
while(!(SPSR & (1<<SPIF)));
SPDR = byte0.u8;
/* Wait for transmission complete */
while(!(SPSR & (1<<SPIF)));
-
PORTK |= (1<<1
);
+
SS_HIGH(
);
_delay_loop_1(5);
_delay_loop_1(5);
-
PORTK &= ~(1<<1
);
+
SS_LOW(
);
SPDR = byte1.u8;
/* Wait for transmission complete */
while(!(SPSR & (1<<SPIF)));
SPDR = byte1.u8;
/* Wait for transmission complete */
while(!(SPSR & (1<<SPIF)));
-
PORTK |= (1<<1
);
+
SS_HIGH(
);
}
void spi_servo_bypass(uint8_t enable)
}
void spi_servo_bypass(uint8_t enable)