Herzog Library 00.00.01  rel_libdev.herzog.00.00.01.10606
Data Structures | Macros | Enumerations | Functions
spi_device.h File Reference
#include "hdf.h"
#include "errno.h"

Go to the source code of this file.

Data Structures

struct  SPI_Device_init_t
 A structure to represent SPI device initialization data. More...
 
struct  SPI_Device_t
 A structure to represent SPI device. More...
 

Macros

#define SPI_BUFF_SIZE   16
 

Enumerations

enum  SPI_DEV_CLOCK_PHASE_t { SPI_DEV_CLOCK_PHASE0, SPI_DEV_CLOCK_PHASE1 }
 The enumeration of SPI phase. More...
 
enum  SPI_DEV_CLOCK_POLARITY_t { SPI_DEV_CLOCK_POLARITY0, SPI_DEV_CLOCK_POLARITY1 }
 The enumeration of DPI polarity. More...
 
enum  SPI_DEV_MODE_t { SPI_DEV_MODE_SLAVE, SPI_DEV_MODE_MASTER }
 The enumeration of SPI mode. More...
 
enum  {
  SPI_DEV_CLOCK_DIV2, SPI_DEV_CLOCK_DIV4, SPI_DEV_CLOCK_DIV8, SPI_DEV_CLOCK_DIV16,
  SPI_DEV_CLOCK_DIV32, SPI_DEV_CLOCK_DIV64, SPI_DEV_CLOCK_DIV128, SPI_DEV_CLOCK_DIV256,
  SPI_DEV_CLOCK_DIV512, SPI_DEV_CLOCK_DIV1024, SPI_DEV_CLOCK_DIV2048, SPI_DEV_CLOCK_DIV4096
}
 The enumeration of clock divider for SPI device. More...
 

Functions

void SPI_DevSetClockDivider (uint8_t div)
 Set Clock Divider for SPI Device. More...
 
SPI_Device_tSPI_devRequest (const char *name)
 Request a SPI Device. More...
 
int32_t SPI_devInit (SPI_Device_t *dev, SPI_Device_init_t *init)
 Initialize SPI device. More...
 
int32_t SPI_devReadData (SPI_Device_t *dev, uint8_t cmd, uint8_t *data, uint32_t len)
 Read Data from SPI device. More...
 
int32_t SPI_devWriteData (SPI_Device_t *dev, uint8_t cmd, uint8_t *data, uint32_t len)
 Write Data to SPI device. More...
 

Detailed Description

This file is proprietary to Indie Semiconductor. All rights reserved. Reproduction or distribution, in whole or in part, is forbidden except by express written permission of Indie Semiconductor.

Macro Definition Documentation

#define SPI_BUFF_SIZE   16

Enumeration Type Documentation

anonymous enum

The enumeration of clock divider for SPI device.

Enumerator
SPI_DEV_CLOCK_DIV2 
SPI_DEV_CLOCK_DIV4 
SPI_DEV_CLOCK_DIV8 
SPI_DEV_CLOCK_DIV16 
SPI_DEV_CLOCK_DIV32 
SPI_DEV_CLOCK_DIV64 
SPI_DEV_CLOCK_DIV128 
SPI_DEV_CLOCK_DIV256 
SPI_DEV_CLOCK_DIV512 
SPI_DEV_CLOCK_DIV1024 
SPI_DEV_CLOCK_DIV2048 
SPI_DEV_CLOCK_DIV4096 

The enumeration of SPI phase.

Enumerator
SPI_DEV_CLOCK_PHASE0 
SPI_DEV_CLOCK_PHASE1 

The enumeration of DPI polarity.

Enumerator
SPI_DEV_CLOCK_POLARITY0 
SPI_DEV_CLOCK_POLARITY1 

The enumeration of SPI mode.

Enumerator
SPI_DEV_MODE_SLAVE 
SPI_DEV_MODE_MASTER 

Function Documentation

int32_t SPI_devInit ( SPI_Device_t dev,
SPI_Device_init_t init 
)

Initialize SPI device.

Parameters
devThe pointer to SPI device
initPointer to the initialization data struct.
Returns
0 for success or error code upon a failure.
int32_t SPI_devReadData ( SPI_Device_t dev,
uint8_t  cmd,
uint8_t *  data,
uint32_t  len 
)

Read Data from SPI device.

Parameters
devThe pointer to SPI device
cmdThe enumeration of SPI command.
dataPointer to the returned data block from SPI device.
lenThe length of the data block to be returned from SPI device.
Returns
0 for success or error code upon a failure.
SPI_Device_t* SPI_devRequest ( const char *  name)

Request a SPI Device.

Parameters
nameThe name string of SPI device.
Returns
The pointer to the SPI device instance.
void SPI_DevSetClockDivider ( uint8_t  div)

Set Clock Divider for SPI Device.

Parameters
divThe enumeration of the divider.
Returns
None.
int32_t SPI_devWriteData ( SPI_Device_t dev,
uint8_t  cmd,
uint8_t *  data,
uint32_t  len 
)

Write Data to SPI device.

Parameters
devThe pointer to SPI device
cmdThe enumeration of SPI command.
dataPointer to the data block to be sent to SPI device.
lenThe length of the data block to be sent to SPI device.
Returns
0 for success or error code upon a failure.