swieeprom  2.0.0.7
Enumerations | Functions
swi.h File Reference

API for SWI master driver. More...

#include "stdint.h"

Go to the source code of this file.

Enumerations

enum  swi_return_value_t { SWI_RET_VAL_OK = 0, SWI_RET_VAL_ERROR = -1 }
 SWI driver return values data. More...
 
enum  swi_acknowledgement_t { SWI_ACK = 0, SWI_NACK = 1 }
 SWI driver acknowledgement values. More...
 
enum  swi_logic_lvl_t { SWI_LOGIC_0 = 0, SWI_LOGIC_1 = 1 }
 SWI driver logic values. More...
 

Functions

int8_t swi_init (void)
 Initializes SWI communication. More...
 
int8_t swi_reset (void)
 Resets device and checks devices response. More...
 
void swi_start (void)
 Send start SWI signal. More...
 
void swi_stop (void)
 Send stop SWI signal. More...
 
void swi_logic_write (swi_logic_lvl_t logic_level)
 Send logic signal to device. More...
 
uint8_t swi_logic_read (void)
 Receive logic signal from device. More...
 
uint8_t swi_send_byte (uint8_t byte_to_send)
 Send byte to device. More...
 
void swi_receive_byte (uint8_t *byte_to_receive, swi_acknowledgement_t ack_nack)
 Receive byte from device. More...
 

Detailed Description

API for SWI master driver.

Enumeration Type Documentation

◆ swi_acknowledgement_t

SWI driver acknowledgement values.

Predefined enum values for driver acknowledgement values.

Enumerator
SWI_ACK 
SWI_NACK 

◆ swi_logic_lvl_t

SWI driver logic values.

Predefined enum values for driver logic values.

Enumerator
SWI_LOGIC_0 
SWI_LOGIC_1 

◆ swi_return_value_t

SWI driver return values data.

Predefined enum values for driver return values.

Enumerator
SWI_RET_VAL_OK 
SWI_RET_VAL_ERROR 

Function Documentation

◆ swi_init()

int8_t swi_init ( void  )

Initializes SWI communication.

Initializes GPIO for data and SWI driver, restarts device, discovers device.

Returns
  • 0 - Success,
  • -1 - Error.
Note
This function needs to be called before other driver functions.

◆ swi_logic_read()

uint8_t swi_logic_read ( void  )

Receive logic signal from device.

Sends signal for response and returns logic level.

Returns
  • 0 - SWI_LOGIC_0,
  • 1 - SWI_LOGIC_1.

◆ swi_logic_write()

void swi_logic_write ( swi_logic_lvl_t  logic_level)

Send logic signal to device.

Sends logic 0 or 1 relative to parameter logic_level.

Parameters
[in]logic_level:
  • 0 - SWI_LOGIC_0,
  • 1 - SWI_LOGIC_1.
Returns
Nothing

◆ swi_receive_byte()

void swi_receive_byte ( uint8_t *  byte_to_receive,
swi_acknowledgement_t  ack_nack 
)

Receive byte from device.

Sample byte receive from device.

Parameters
[out]byte_to_receive: Byte that received data will be stored in.
[in]ack_nack:
  • 0 - SWI_ACK,
  • 1 - SWI_NACK.
Returns
Nothing

◆ swi_reset()

int8_t swi_reset ( void  )

Resets device and checks devices response.

Resets device and sends discovery signal.

Returns
  • 0 - Device found,
  • -1 - No device.

◆ swi_send_byte()

uint8_t swi_send_byte ( uint8_t  byte_to_send)

Send byte to device.

Sends desired byte to device and check response.

Parameters
[in]byte_to_send: Byte that will be sent.
Returns
  • 0 - SWI_ACK,
  • 1 - SWI_NACK.

◆ swi_start()

void swi_start ( void  )

Send start SWI signal.

Sends to device signal for starting communication.

Returns
Nothing

◆ swi_stop()

void swi_stop ( void  )

Send stop SWI signal.

Sends to device signal for stoping communication.

Returns
Nothing