Microchip® Advanced Software Framework

nm_bus_wrapper.h File Reference

This module contains NMC1000 bus wrapper APIs declarations.

Copyright (c) 2016-2021 Microchip Technology Inc. and its subsidiaries.

Data Structures

struct  tstrNmBusCapabilities
 Structure holding bus capabilities information. More...
 
struct  tstrNmI2cDefault
 Structure holding I2C default operation parameters. More...
 
struct  tstrNmI2cSpecial
 Structure holding I2C special operation parameters. More...
 
struct  tstrNmSpiRw
 Structure holding SPI R/W parameters. More...
 
struct  tstrNmUartDefault
 Structure holding UART default operation parameters. More...
 

Macros

#define NM_BUS_IOCTL_R   ((uint8)0)
 IOCTL commands. More...
 
#define NM_BUS_IOCTL_RW   ((uint8)3)
 
#define NM_BUS_IOCTL_W   ((uint8)1)
 
#define NM_BUS_IOCTL_W_SPECIAL   ((uint8)2)
 
#define NM_BUS_IOCTL_WR_RESTART   ((uint8)4)
 
#define NM_BUS_TYPE_I2C   ((uint8)0)
 BUS Type. More...
 
#define NM_BUS_TYPE_SPI   ((uint8)1)
 
#define NM_BUS_TYPE_UART   ((uint8)2)
 

Functions

sint8 nm_bus_deinit (void)
 De-initialize the bus wrapper. More...
 
sint8 nm_bus_init (void *)
 
sint8 nm_bus_ioctl (uint8 u8Cmd, void *pvParameter)
 
sint8 nm_bus_reinit (void *)
 

Variables

tstrNmBusCapabilities egstrNmBusCapabilities
 

#define NM_BUS_IOCTL_R   ((uint8)0)

IOCTL commands.

Read only ==> I2C/UART. Parameter:tstrNmI2cDefault/tstrNmUartDefault

Referenced by nm_bus_ioctl().

#define NM_BUS_IOCTL_RW   ((uint8)3)

Read/Write at the same time ==> SPI only. Parameter:tstrNmSpiRw

Referenced by nm_bus_ioctl().

#define NM_BUS_IOCTL_W   ((uint8)1)

Write only ==> I2C/UART. Parameter type tstrNmI2cDefault/tstrNmUartDefault

Referenced by nm_bus_ioctl().

#define NM_BUS_IOCTL_W_SPECIAL   ((uint8)2)

Write two buffers within the same transaction (same start/stop conditions) ==> I2C only. Parameter:tstrNmI2cSpecial

Referenced by nm_bus_ioctl().

#define NM_BUS_IOCTL_WR_RESTART   ((uint8)4)

Write buffer then made restart condition then read ==> I2C only. parameter:tstrNmI2cSpecial

#define NM_BUS_TYPE_I2C   ((uint8)0)

BUS Type.

#define NM_BUS_TYPE_SPI   ((uint8)1)
#define NM_BUS_TYPE_UART   ((uint8)2)

sint8 nm_bus_deinit ( void  )

De-initialize the bus wrapper.

Returns
ZERO in case of success and M2M_ERR_BUS_FAIL in case of failure

References port_config::direction, i2c_master_disable(), i2c_master_instance, port_config::input_pull, M2M_SUCCESS, master, port_get_config_defaults(), PORT_PIN_DIR_INPUT, PORT_PIN_PULL_NONE, result, and spi_disable().

Referenced by nm_bus_iface_deinit().

sint8 nm_bus_reinit ( void *  )

References M2M_SUCCESS.

tstrNmBusCapabilities egstrNmBusCapabilities

Referenced by nm_read_block(), and nm_write_block().