sbbif0.h File Reference


Detailed Description

Serial bit banged interface 0.

 *
 * $Log: sbbif0.h,v $
 * Revision 1.1.4.1  2008/08/29 13:49:13  haraldkipp
 * Configurator doesn't allow duplicate macro names.
 *
 * Revision 1.1  2007/04/12 09:07:54  haraldkipp
 * Configurable SPI added.
 *
 *
 * 

Definition in file sbbif0.h.

Go to the source code of this file.

Defines

#define SBBI0_MAX_DEVICES   4
 Maximum number of devices (chip selects).
#define SBBI0_CS0_ENA()
#define SBBI0_CS0_CLR()
#define SBBI0_CS0_SET()
#define SBBI0_CS1_ENA()
#define SBBI0_CS1_CLR()
#define SBBI0_CS1_SET()
#define SBBI0_CS2_ENA()
#define SBBI0_CS2_CLR()
#define SBBI0_CS2_SET()
#define SBBI0_CS3_ENA()
#define SBBI0_CS3_CLR()
#define SBBI0_CS3_SET()
#define SBBI0_RST0_ENA()
#define SBBI0_RST0_CLR()
#define SBBI0_RST0_SET()
#define SBBI0_RST1_ENA()
#define SBBI0_RST1_CLR()
#define SBBI0_RST1_SET()
#define SBBI0_RST2_ENA()
#define SBBI0_RST2_CLR()
#define SBBI0_RST2_SET()
#define SBBI0_RST3_ENA()
#define SBBI0_RST3_CLR()
#define SBBI0_RST3_SET()
#define SBBI0_SCK_ENA()
#define SBBI0_SCK_CLR()
#define SBBI0_SCK_SET()
#define SBBI0_MOSI_ENA()
#define SBBI0_MOSI_CLR()
#define SBBI0_MOSI_SET()
#define SBBI0_MISO_ENA()
#define SBBI0_MISO_TST()   0
#define SBBI0_INIT()

Functions

int Sbbi0SetMode (ureg_t ix, ureg_t mode)
 Set mode for a given device at SPI0.
void Sbbi0SetSpeed (ureg_t ix, u_long rate)
 Set transfer rate for a given device at SPI0.
void Sbbi0Enable (ureg_t ix)
 Enable the serial peripheral interface 0.
void Sbbi0ChipReset (ureg_t ix, ureg_t hi)
 Set or clear a configured reset line for a given device.
void Sbbi0ChipSelect (ureg_t ix, ureg_t hi)
 Set or clear a configured chip select for a given device.
void Sbbi0SelectDevice (ureg_t ix)
 Select the device at a given chip select.
void Sbbi0DeselectDevice (ureg_t ix)
 Deselect the device at a given chip select.
void Sbbi0NegSelectDevice (ureg_t ix)
 Select the device at a given negated chip select.
void Sbbi0NegDeselectDevice (ureg_t ix)
 Deselect the device at a given negated chip select.
u_char Sbbi0Byte (u_char data)
 Exchange a byte with the currently selected SPI device.
void Sbbi0Transact (CONST void *wdata, void *rdata, size_t len)
 Exchange a specified number of bytes with the currently selected SPI device.


Define Documentation

#define SBBI0_MAX_DEVICES   4

Maximum number of devices (chip selects).

Definition at line 58 of file sbbif0.h.

Referenced by Sbbi0SetMode().

 
#define SBBI0_CS0_ENA (  ) 

Definition at line 566 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS0_CLR (  ) 

Definition at line 567 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS0_SET (  ) 

Definition at line 568 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS1_ENA (  ) 

Definition at line 612 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS1_CLR (  ) 

Definition at line 613 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS1_SET (  ) 

Definition at line 614 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS2_ENA (  ) 

Definition at line 658 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS2_CLR (  ) 

Definition at line 659 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS2_SET (  ) 

Definition at line 660 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS3_ENA (  ) 

Definition at line 704 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS3_CLR (  ) 

Definition at line 705 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_CS3_SET (  ) 

Definition at line 706 of file sbbif0.h.

Referenced by Sbbi0ChipSelect().

 
#define SBBI0_RST0_ENA (  ) 

Definition at line 750 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST0_CLR (  ) 

Definition at line 751 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST0_SET (  ) 

Definition at line 752 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST1_ENA (  ) 

Definition at line 796 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST1_CLR (  ) 

Definition at line 797 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST1_SET (  ) 

Definition at line 798 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST2_ENA (  ) 

Definition at line 842 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST2_CLR (  ) 

Definition at line 843 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST2_SET (  ) 

Definition at line 844 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST3_ENA (  ) 

Definition at line 888 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST3_CLR (  ) 

Definition at line 889 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_RST3_SET (  ) 

Definition at line 890 of file sbbif0.h.

Referenced by Sbbi0ChipReset().

 
#define SBBI0_SCK_ENA (  ) 

Definition at line 1018 of file sbbif0.h.

Referenced by Sbbi0Enable().

 
#define SBBI0_SCK_CLR (  ) 

Definition at line 1019 of file sbbif0.h.

Referenced by Sbbi0Byte(), and Sbbi0Enable().

 
#define SBBI0_SCK_SET (  ) 

Definition at line 1020 of file sbbif0.h.

Referenced by Sbbi0Byte(), and Sbbi0Enable().

 
#define SBBI0_MOSI_ENA (  ) 

Definition at line 1022 of file sbbif0.h.

Referenced by Sbbi0Enable().

 
#define SBBI0_MOSI_CLR (  ) 

Definition at line 1023 of file sbbif0.h.

Referenced by Sbbi0Byte(), and Sbbi0Enable().

 
#define SBBI0_MOSI_SET (  ) 

Definition at line 1024 of file sbbif0.h.

Referenced by Sbbi0Byte().

 
#define SBBI0_MISO_ENA (  ) 

Definition at line 1026 of file sbbif0.h.

Referenced by Sbbi0Enable().

 
#define SBBI0_MISO_TST (  )     0

Definition at line 1027 of file sbbif0.h.

Referenced by Sbbi0Byte().

 
#define SBBI0_INIT (  ) 

Value:

Definition at line 1033 of file sbbif0.h.


Function Documentation

int Sbbi0SetMode ( ureg_t  ix,
ureg_t  mode 
)

Set mode for a given device at SPI0.

This is typically the first call in order to use the device. It will not directly enable the SPI hardware. This is done when selecting the device.

Parameters:
ix The device index, starting at 0.
mode The mode to set.
  • 0: Leading edge is rising, data sampled on rising edge.
  • 1: Leading edge is rising, data sampled on falling edge.
  • 2: Leading edge is falling, data sampled on falling edge.
  • 3: Leading edge is falling, data sampled on rising edge.
Returns:
0, if the device index and the mode are both valid. Otherwise the return value will be -1.

Definition at line 74 of file sbbif0.c.

References SBBI0_MAX_DEVICES.

void Sbbi0SetSpeed ( ureg_t  ix,
u_long  rate 
)

Set transfer rate for a given device at SPI0.

This is currently a dummy and does nothing.

Parameters:
ix The device index, starting at 0.
rate Transfer rate in bits per second.

Definition at line 92 of file sbbif0.c.

References NutGetCpuClock().

void Sbbi0Enable ( ureg_t  ix  ) 

Enable the serial peripheral interface 0.

Enables SPI with the parameters previously set by Sbbi0SetMode().

Parameters:
ix The device index, starting at 0. The routine will not check if this is valid.

Definition at line 128 of file sbbif0.c.

References SBBI0_MISO_ENA, SBBI0_MOSI_CLR, SBBI0_MOSI_ENA, SBBI0_SCK_CLR, SBBI0_SCK_ENA, and SBBI0_SCK_SET.

Referenced by Sbbi0NegSelectDevice(), and Sbbi0SelectDevice().

void Sbbi0ChipReset ( ureg_t  ix,
ureg_t  hi 
)

Set or clear a configured reset line for a given device.

Reset lines must be configured when building the system libraries. This routine silently ignores them, if not configured.

Parameters:
ix The device index, starting at 0.
hi If 0, the reset line is driven low. Otherwise the line is driven high.

Definition at line 155 of file sbbif0.c.

References SBBI0_RST0_CLR, SBBI0_RST0_ENA, SBBI0_RST0_SET, SBBI0_RST1_CLR, SBBI0_RST1_ENA, SBBI0_RST1_SET, SBBI0_RST2_CLR, SBBI0_RST2_ENA, SBBI0_RST2_SET, SBBI0_RST3_CLR, SBBI0_RST3_ENA, and SBBI0_RST3_SET.

void Sbbi0ChipSelect ( ureg_t  ix,
ureg_t  hi 
)

Set or clear a configured chip select for a given device.

Chip selects must be configured when building the system libraries. This routine silently ignores selects, if they are not configured.

Parameters:
ix The device index, starting at 0. Same as the chip select number.
hi If 0, the chip select is driven low. Otherwise the line is driven high.

Definition at line 210 of file sbbif0.c.

References SBBI0_CS0_CLR, SBBI0_CS0_ENA, SBBI0_CS0_SET, SBBI0_CS1_CLR, SBBI0_CS1_ENA, SBBI0_CS1_SET, SBBI0_CS2_CLR, SBBI0_CS2_ENA, SBBI0_CS2_SET, SBBI0_CS3_CLR, SBBI0_CS3_ENA, and SBBI0_CS3_SET.

Referenced by Sbbi0DeselectDevice(), Sbbi0NegDeselectDevice(), Sbbi0NegSelectDevice(), and Sbbi0SelectDevice().

void Sbbi0SelectDevice ( ureg_t  ix  ) 

Select the device at a given chip select.

Enables the serial peripheral interface with the parameters previously set for the given device by Sbbi0SetMode() and Sbbi0SetSpeed(). Then the configured chip select line is driven high.

Parameters:
ix The device index, starting at 0. The routine will not check if this is a valid number.

Definition at line 265 of file sbbif0.c.

References Sbbi0ChipSelect(), and Sbbi0Enable().

void Sbbi0DeselectDevice ( ureg_t  ix  ) 

Deselect the device at a given chip select.

The configured chip select line will be driven low.

Parameters:
ix The device index, starting at 0. The routine will not check if this is a valid number.

Definition at line 279 of file sbbif0.c.

References Sbbi0ChipSelect().

void Sbbi0NegSelectDevice ( ureg_t  ix  ) 

Select the device at a given negated chip select.

Enables the serial peripheral interface with the parameters previously set for the given device by Sbbi0SetMode() and Sbbi0SetSpeed(). Then the configured chip select line is driven low.

Parameters:
ix The device index, starting at 0. The routine will not check if this is a valid number.

Definition at line 295 of file sbbif0.c.

References Sbbi0ChipSelect(), and Sbbi0Enable().

void Sbbi0NegDeselectDevice ( ureg_t  ix  ) 

Deselect the device at a given negated chip select.

The configured chip select line will be driven high.

Parameters:
ix The device index, starting at 0. The routine will not check if this is a valid number.

Definition at line 309 of file sbbif0.c.

References Sbbi0ChipSelect().

u_char Sbbi0Byte ( u_char  data  ) 

Exchange a byte with the currently selected SPI device.

Parameters:
data Byte to transmit.
Returns:
Received byte.

Definition at line 321 of file sbbif0.c.

References SBBI0_MISO_TST, SBBI0_MOSI_CLR, SBBI0_MOSI_SET, SBBI0_SCK_CLR, and SBBI0_SCK_SET.

Referenced by Sbbi0Transact().

void Sbbi0Transact ( CONST void *  wdata,
void *  rdata,
size_t  len 
)

Exchange a specified number of bytes with the currently selected SPI device.

It is assumed, that the serial peripheral interface has been properly initialized by calling Sbbi0SetMode() and optionally Sbbi0SetSpeed().

Further it is assumed, that the chip select (if there is one) had been enabled by a previous call to Sbbi0SelectDevice() or Sbbi0NegSelectDevice().

Parameters:
wdata Pointer to the data to transmit.
rdata Pointer to a buffer that receives the data from the device. Can be set to NULL for transmit only. May also point to the tranmit buffer, in which case the transmitted bytes are replaced by the bytes received.

Definition at line 426 of file sbbif0.c.

References CONST, and Sbbi0Byte().


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/