fix compilation with latest aversive
[protos/xbee-avr.git] / spi_servo.c
index fad6866..59a0810 100644 (file)
@@ -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 = 0x7;
+       DDRB = 0xb0;
 
        /* 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)