summaryrefslogtreecommitdiff
path: root/digital/avr/modules/spi/spi.c
diff options
context:
space:
mode:
authorNicolas Schodet2008-04-14 00:52:52 +0200
committerNicolas Schodet2008-04-14 00:52:52 +0200
commit144cd0c5de0042b880f36cf0db3f01a6060dabd7 (patch)
treedc0a41ecd3f4dc8556e94adeef1514fb88dd9981 /digital/avr/modules/spi/spi.c
parent3c7512d1619b2e73424790f157aec3926e39e838 (diff)
* digital/avr/modules/spi:
- there is no HOST support in the SPI module.
Diffstat (limited to 'digital/avr/modules/spi/spi.c')
-rw-r--r--digital/avr/modules/spi/spi.c129
1 files changed, 0 insertions, 129 deletions
diff --git a/digital/avr/modules/spi/spi.c b/digital/avr/modules/spi/spi.c
deleted file mode 100644
index 73cb1706..00000000
--- a/digital/avr/modules/spi/spi.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* spi.c */
-/* {{{
- *
- * Copyright (C) 2008 NĂ©lio Laranjeiro
- *
- * APBTeam:
- * Web: http://apbteam.org/
- * Email: team AT apbteam DOT org
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * }}} */
-#include "io.h"
-#include "common.h"
-#include "spi.h"
-
-/** For host */
-#ifdef HOST
-static uint8_t SPCR;
-static uint8_t SPDR;
-static uint8_t SPSR;
-static uint8_t SPIF;
-#endif
-
-/** Spi driver context. */
-static spi_t spi_global;
-
-/** Initialise the SPI Control Register.
- * \param sprc the sprc register data to be store in the register.
- * \param cb the function call back to call the user which receive the data.
- * \param user_data the user data to be provieded in the function call back.
- */
-void
-spi_init(uint8_t sprc)
-{
- /* Master configuration. */
- if (sprc & _BV(MSTR))
- {
- SPI_PORT |= _BV(SPI_BIT_SS);
- SPI_DDR |= _BV(SPI_BIT_SS);
-
- SPI_DDR &= ~_BV(SPI_BIT_MISO);
- SPI_PORT &= ~_BV(SPI_BIT_MISO);
-
- SPI_PORT |= _BV(SPI_BIT_MOSI);
- SPI_DDR |= _BV(SPI_BIT_MOSI);
-
- SPI_PORT |= _BV(SPI_BIT_SCK);
- SPI_DDR |= _BV(SPI_BIT_SCK);
- }
- else
- {
- SPI_DDR &= ~_BV(SPI_BIT_SS);
- SPI_PORT |= _BV(SPI_BIT_SS);
-
- SPI_PORT |= _BV(SPI_BIT_MISO);
- SPI_DDR |= _BV(SPI_BIT_MISO);
-
- SPI_DDR &= ~_BV(SPI_BIT_MOSI);
- SPI_PORT &= ~_BV(SPI_BIT_MOSI);
-
- SPI_DDR &= ~_BV(SPI_BIT_SCK);
- SPI_PORT &= ~_BV(SPI_BIT_SCK);
- }
-
- SPCR = sprc;
- spi_global.interruption = SPCR & _BV(SPIE);
-}
-
-/** Send a data to the Slave.
- * \param data the data to send
- */
-void
-spi_send(uint8_t data)
-{
- SPDR = data;
- // Wait the end of the transmission.
- while(!(SPSR & _BV(SPIF)));
-}
-
-/** Receive a data from the SPI bus.
- * \return the data received from the bus.
- */
-uint8_t
-spi_recv(void)
-{
- SPDR = 0;
- /* Wait for reception complete */
- while(!(SPSR & _BV(SPIF)));
-
- /* Return data register */
- return SPDR;
-}
-
-/** Send and receive data.
- * \param data the data to send.
- * \return the data received.
- */
-uint8_t
-spi_send_and_recv (uint8_t data)
-{
- SPDR = data;
- // Wait the end of the transmission.
- while(!(SPSR & _BV(SPIF)));
-
- return SPDR;
-}
-
-/** Return the status register from the SPI driver.
- * \return the status register value
- */
-uint8_t
-spi_status(void)
-{
- return SPSR;
-}
-