5.13.0.0R1
Software Development Kit
platform_peripheral.h File Reference

Data Structures

struct  platform_8021as_time_t
 
struct  platform_i2c_config_t
 
struct  platform_i2c_message_t
 
struct  platform_rtc_time_t
 
struct  platform_spi_config_t
 
struct  platform_spi_message_segment_t
 
struct  platform_spi_slave_config
 
struct  platform_uart_config_t
 

Typedefs

typedef void(* platform_gpio_irq_callback_t) (void *arg)
 
typedef struct platform_spi_slave_config platform_spi_slave_config_t
 

Enumerations

Functions

platform_result_t platform_adc_deinit (const platform_adc_t *adc)
 
platform_result_t platform_adc_init (const platform_adc_t *adc, uint32_t sample_cycle)
 
platform_result_t platform_adc_take_sample (const platform_adc_t *adc, uint16_t *output)
 
platform_result_t platform_adc_take_sample_stream (const platform_adc_t *adc, void *buffer, uint16_t buffer_length)
 
void platform_deinit_nanosecond_clock (void)
 
uint64_t platform_get_nanosecond_clock_value (void)
 
platform_result_t platform_gpio_deepsleep_wakeup_enable (const platform_gpio_t *gpio, platform_gpio_irq_trigger_t trigger)
 
platform_result_t platform_gpio_deinit (const platform_gpio_t *gpio)
 
platform_result_t platform_gpio_init (const platform_gpio_t *gpio, platform_pin_config_t config)
 
wiced_bool_t platform_gpio_input_get (const platform_gpio_t *gpio)
 
platform_result_t platform_gpio_irq_disable (const platform_gpio_t *gpio)
 
platform_result_t platform_gpio_irq_enable (const platform_gpio_t *gpio, platform_gpio_irq_trigger_t trigger, platform_gpio_irq_callback_t handler, void *arg)
 
platform_result_t platform_gpio_output_high (const platform_gpio_t *gpio)
 
platform_result_t platform_gpio_output_low (const platform_gpio_t *gpio)
 
uint32_t platform_hibernation_get_clock_freq (void)
 
uint32_t platform_hibernation_get_max_ticks (void)
 
uint32_t platform_hibernation_get_ticks_spent (void)
 
wiced_bool_t platform_hibernation_is_returned_from (void)
 
platform_result_t platform_hibernation_start (uint32_t ticks_to_wakeup)
 
platform_result_t platform_i2c_deinit (const platform_i2c_t *i2c, const platform_i2c_config_t *config)
 
platform_result_t platform_i2c_init (const platform_i2c_t *i2c, const platform_i2c_config_t *config)
 
platform_result_t platform_i2c_init_combined_message (platform_i2c_message_t *message, const void *tx_buffer, void *rx_buffer, uint16_t tx_buffer_length, uint16_t rx_buffer_length, uint16_t retries, wiced_bool_t disable_dma)
 
platform_result_t platform_i2c_init_rx_message (platform_i2c_message_t *message, void *rx_buffer, uint16_t rx_buffer_length, uint16_t retries, wiced_bool_t disable_dma)
 
platform_result_t platform_i2c_init_tx_message (platform_i2c_message_t *message, const void *tx_buffer, uint16_t tx_buffer_length, uint16_t retries, wiced_bool_t disable_dma)
 
wiced_bool_t platform_i2c_probe_device (const platform_i2c_t *i2c, const platform_i2c_config_t *config, int retries)
 
platform_result_t platform_i2c_read (const platform_i2c_t *i2c, const platform_i2c_config_t *config, uint16_t flags, void *buffer, uint16_t buffer_length)
 
platform_result_t platform_i2c_transfer (const platform_i2c_t *i2c, const platform_i2c_config_t *config, platform_i2c_message_t *messages, uint16_t number_of_messages)
 
platform_result_t platform_i2c_write (const platform_i2c_t *i2c, const platform_i2c_config_t *config, uint16_t flags, const void *buffer, uint16_t buffer_length)
 
void platform_init_nanosecond_clock (void)
 
platform_result_t platform_led_set_state (int led_index, int off_on)
 
platform_result_t platform_mcu_powersave_disable (void)
 
platform_result_t platform_mcu_powersave_enable (void)
 
void platform_mcu_powersave_exit_notify (void)
 
void platform_mcu_reset (void) NORETURN
 
platform_result_t platform_pwm_init (const platform_pwm_t *pwm, uint32_t frequency, float duty_cycle)
 
platform_result_t platform_pwm_start (const platform_pwm_t *pwm)
 
platform_result_t platform_pwm_stop (const platform_pwm_t *pwm)
 
void platform_reset_nanosecond_clock (void)
 
platform_result_t platform_rtc_get_time (platform_rtc_time_t *time)
 
platform_result_t platform_rtc_set_time (const platform_rtc_time_t *time)
 
platform_result_t platform_spi_chip_select_toggle (const platform_spi_t *spi, const platform_spi_config_t *config, wiced_bool_t activate)
 
platform_result_t platform_spi_deinit (const platform_spi_t *spi)
 
platform_result_t platform_spi_init (const platform_spi_t *spi, const platform_spi_config_t *config)
 
platform_result_t platform_spi_slave_deinit (platform_spi_slave_driver_t *driver)
 
platform_result_t platform_spi_slave_generate_interrupt (platform_spi_slave_driver_t *driver, uint32_t pulse_duration_ms)
 
platform_result_t platform_spi_slave_init (platform_spi_slave_driver_t *driver, const platform_spi_t *peripheral, const platform_spi_slave_config_t *config)
 
platform_result_t platform_spi_slave_receive_command (platform_spi_slave_driver_t *driver, platform_spi_slave_command_t *command, uint32_t timeout_ms)
 
platform_result_t platform_spi_slave_send_error_status (platform_spi_slave_driver_t *driver, platform_spi_slave_transfer_status_t error_status)
 
platform_result_t platform_spi_slave_transfer_data (platform_spi_slave_driver_t *driver, platform_spi_slave_transfer_direction_t direction, platform_spi_slave_data_buffer_t *buffer, uint32_t timeout_ms)
 
platform_result_t platform_spi_transfer (const platform_spi_t *spi, const platform_spi_config_t *config, const platform_spi_message_segment_t *segments, uint16_t number_of_segments)
 
platform_result_t platform_spi_transfer_nosetup (const platform_spi_t *spi, const platform_spi_config_t *config, const uint8_t *send_ptr, uint8_t *recv_ptr, uint32_t length)
 
platform_result_t platform_spi_transmit (const platform_spi_t *spi, const platform_spi_config_t *config, const platform_spi_message_segment_t *segments, uint16_t number_of_segments)
 
platform_result_t platform_stdio_init (platform_uart_driver_t *driver, const platform_uart_t *interface, const platform_uart_config_t *config)
 
platform_result_t platform_time_disable_8021as (void)
 
platform_result_t platform_time_enable_8021as (void)
 
platform_result_t platform_time_read_8021as (platform_8021as_time_t *as_time)
 
platform_result_t platform_uart_deinit (platform_uart_driver_t *driver)
 
platform_result_t platform_uart_exception_transmit_bytes (platform_uart_driver_t *driver, const uint8_t *data_out, uint32_t size)
 
platform_result_t platform_uart_init (platform_uart_driver_t *driver, const platform_uart_t *peripheral, const platform_uart_config_t *config, wiced_ring_buffer_t *optional_ring_buffer)
 
platform_result_t platform_uart_powersave_sleep_handler (const platform_uart_t *peripheral)
 
platform_result_t platform_uart_powersave_wakeup_handler (const platform_uart_t *peripheral)
 
platform_result_t platform_uart_receive_bytes (platform_uart_driver_t *driver, uint8_t *data_in, uint32_t *expected_data_size, uint32_t timeout_ms)
 
platform_result_t platform_uart_transmit_bytes (platform_uart_driver_t *driver, const uint8_t *data_out, uint32_t size)
 
wiced_bool_t platform_watchdog_check_last_reset (void)
 
platform_result_t platform_watchdog_kick (void)
 

Detailed Description

Defines generic data and enumerated types used by Platform Peripheral API Declares function prototypes for Platform peripheral API


Porting Notes

  • This file defines and consolidates various standardized data types required by the Platform Peripheral API
  • Generic Platform Peripheral data types are defined in this file
  • MCU-specific data types are defined in <WICED-SDK>/platform/MCU/<MCU_family>/platform_mcu_peripheral.h
  • platform_mcu_peripheral.h may include declarations, definitions, and function prototypes which are local to the MCU family
  • The following table outlines the structures that need to be defined in platform_mcu_peripheral.h: +---------------------—+--------------------—+ | Name | Description | +---------------------—+--------------------—+ | platform_gpio_t | GPIO interface | | platform_uart_t | UART interface | | platform_uart_driver_t | UART driver interface | | platform_spi_t | SPI interface | | platform_i2c_t | I2C interface | | platform_pwm_t | PWM interface | | platform_adc_t | ADC interface | +---------------------—+--------------------—+

Typedef Documentation

typedef void(* platform_gpio_irq_callback_t) (void *arg)

GPIO interrupt callback handlerGPIO interrupt callback handler

SPI slave configuration

Enumeration Type Documentation

GPIO interrupt trigger

Enumerator
IRQ_TRIGGER_RISING_EDGE 

Interrupt triggered at input signal's rising edge

IRQ_TRIGGER_FALLING_EDGE 

Interrupt triggered at input signal's falling edge

IRQ_TRIGGER_BOTH_EDGES 

Interrupt triggered at input signal's rising and falling edge

IRQ_TRIGGER_LEVEL_HIGH 

Interrupt triggered when input signal's level is high

IRQ_TRIGGER_LEVEL_LOW 

Interrupt triggered when input signal's level is low

I2C address width

Enumerator
I2C_ADDRESS_WIDTH_7BIT 

7 Bit I2C address

I2C_ADDRESS_WIDTH_10BIT 

10 Bit I2C address

I2C_ADDRESS_WIDTH_16BIT 

16 Bit I2C address

I2C speed mode

Enumerator
I2C_LOW_SPEED_MODE 

10Khz devices

I2C_STANDARD_SPEED_MODE 

100Khz devices

I2C_HIGH_SPEED_MODE 

400Khz devices

Pin configuration

Enumerator
INPUT_PULL_UP 

Input with an internal pull-up resistor - use with devices that actively drive the signal low - e.g. button connected to ground

INPUT_PULL_DOWN 

Input with an internal pull-down resistor - use with devices that actively drive the signal high - e.g. button connected to a power rail

OUTPUT_PUSH_PULL 

Output actively driven high and actively driven low - must not be connected to other active outputs - e.g. LED output

INPUT_HIGH_IMPEDANCE 

Input - must always be driven, either actively or by an external pullup resistor

OUTPUT_OPEN_DRAIN_NO_PULL 

Output actively driven low but is high-impedance when set high - can be connected to other open-drain/open-collector outputs. Needs an external pull-up resistor

OUTPUT_OPEN_DRAIN_PULL_UP 

Output actively driven low and is pulled high with an internal resistor when set high - can be connected to other open-drain/open-collector outputs.

SPI slave transfer direction

Enumerator
SPI_SLAVE_TRANSFER_WRITE 

SPI master writes data to the SPI slave device

SPI_SLAVE_TRANSFER_READ 

SPI master reads data from the SPI slave device

Enumerator
SPI_SLAVE_TRANSFER_SUCCESS 

SPI transfer successful

SPI_SLAVE_TRANSFER_INVALID_COMMAND 

Command is invalid

SPI_SLAVE_TRANSFER_ADDRESS_UNAVAILABLE 

Address specified in the command is unavailable

SPI_SLAVE_TRANSFER_LENGTH_MISMATCH 

Length specified in the command doesn't match with the actual data length

SPI_SLAVE_TRANSFER_READ_NOT_ALLOWED 

Read operation is not allowed for the address specified

SPI_SLAVE_TRANSFER_WRITE_NOT_ALLOWED 

Write operation is not allowed for the address specified

SPI_SLAVE_TRANSFER_HARDWARE_ERROR 

Hardware error occurred during transfer

SPI_SLAVE_TRANSFER_STATUS_MAX 

Denotes maximum value. Not a valid status

UART data width

Enumerator
DATA_WIDTH_5BIT 

5 Bit data

DATA_WIDTH_6BIT 

6 Bit data

DATA_WIDTH_7BIT 

7 Bit data

DATA_WIDTH_8BIT 

8 Bit data

DATA_WIDTH_9BIT 

9 Bit data

UART flow control

Enumerator
FLOW_CONTROL_DISABLED 

No Flow Control

FLOW_CONTROL_CTS 

CTS Flow Control

FLOW_CONTROL_RTS 

RTS Flow Control

FLOW_CONTROL_CTS_RTS 

CTS RTS Flow Control

UART parity

Enumerator
NO_PARITY 

No Parity

ODD_PARITY 

Odd Parity

EVEN_PARITY 

Even Parity

UART stop bits

Enumerator
STOP_BITS_1 

1 Stop bit

STOP_BITS_2 

2 Stop bits

Function Documentation

platform_result_t platform_adc_deinit ( const platform_adc_t *  adc)

Deinitialise ADC interface

Parameters
[in]adc_interface: adc_interface
Returns
platform_result_t
platform_result_t platform_adc_init ( const platform_adc_t *  adc,
uint32_t  sample_cycle 
)

Initialise ADC interface

Parameters
[in]adc_interface: adc_interface
[in]sample_cycle: sample cycle
Returns
platform_result_t
platform_result_t platform_adc_take_sample ( const platform_adc_t *  adc,
uint16_t *  output 
)

Take ADC sample

Parameters
[in]adc_interface: adc_interface
[out]output: variable that will contain the sample output
Returns
platform_result_t
platform_result_t platform_adc_take_sample_stream ( const platform_adc_t *  adc,
void *  buffer,
uint16_t  buffer_length 
)

Take ADC sample

Parameters
[in]adc_interface: ADC interface
[out]buffer: buffer that will contain the sample stream output
[in]buffer_length: buffer length
Returns
platform_result_t
void platform_deinit_nanosecond_clock ( void  )

Deinitialize nanosecond clock

uint64_t platform_get_nanosecond_clock_value ( void  )

Get current value of nanosecond clock

platform_result_t platform_gpio_deepsleep_wakeup_enable ( const platform_gpio_t *  gpio,
platform_gpio_irq_trigger_t  trigger 
)

Configure GPIO to wakeup MCU from deep-sleep.

Parameters
[in]gpio: GPIO Pin to wake up from Deep Sleep
[in]trigger: Wakeup trigger
Returns
WICED_SUCCESS : on success.
WICED_ERROR : on failure
platform_result_t platform_gpio_deinit ( const platform_gpio_t *  gpio)

Deinitialise the specified GPIO pin

Parameters
[in]gpio: gpio pin
Returns
platform_result_t
platform_result_t platform_gpio_init ( const platform_gpio_t *  gpio,
platform_pin_config_t  config 
)

Initialise the specified GPIO pin

Parameters
[in]gpio: gpio pin
[in]config: pin configuration
Returns
platform_result_t
wiced_bool_t platform_gpio_input_get ( const platform_gpio_t *  gpio)

Retrieve logic level of the GPIO input pin specified Use wiced_gpio_input_get_bool() to get both bool level and error info.

Parameters
[in]gpio: gpio pin
Returns
wiced_bool_t
platform_result_t platform_gpio_irq_disable ( const platform_gpio_t *  gpio)

Disable interrupt on the GPIO input pin specified

Parameters
[in]gpio: gpio pin
Returns
platform_result_t
platform_result_t platform_gpio_irq_enable ( const platform_gpio_t *  gpio,
platform_gpio_irq_trigger_t  trigger,
platform_gpio_irq_callback_t  handler,
void *  arg 
)

Enable interrupt on the GPIO input pin specified

Parameters
[in]gpio: gpio pin
[in]trigger: interrupt trigger type
[in]handler: callback function that will be called when an interrupt occurs
[in]arg: argument that will be passed into the callback function
Returns
platform_result_t
platform_result_t platform_gpio_output_high ( const platform_gpio_t *  gpio)

Toggle the specified GPIO pin output high

Parameters
[in]gpio: gpio pin
Returns
platform_result_t
platform_result_t platform_gpio_output_low ( const platform_gpio_t *  gpio)

Toggle the specified GPIO pin output low

Parameters
[in]gpio: gpio pin
Returns
platform_result_t
uint32_t platform_hibernation_get_clock_freq ( void  )

Return hibernation timer frequency

Returns
uint32_t
uint32_t platform_hibernation_get_max_ticks ( void  )

Return maximum ticks number hibernation timer can use

Returns
uint32_t
uint32_t platform_hibernation_get_ticks_spent ( void  )

Return number of ticks system spent in hibernation mode

Returns
uint32_t
wiced_bool_t platform_hibernation_is_returned_from ( void  )

Return WICED_TRUE if returned from hibernation

Returns
wiced_bool_t
platform_result_t platform_hibernation_start ( uint32_t  ticks_to_wakeup)

Enter hibernation

Parameters
[in]ticks_to_wakeup: how many ticks to spend in hibernation
Returns
platform_result_t
platform_result_t platform_i2c_deinit ( const platform_i2c_t *  i2c,
const platform_i2c_config_t config 
)

Deinitialise I2C interface

Parameters
[in]i2c_interface: I2C interface
Returns
platform_result_t
platform_result_t platform_i2c_init ( const platform_i2c_t *  i2c,
const platform_i2c_config_t config 
)

Initialise I2C interface

Parameters
[in]i2c_interface: I2C interface
[in]config: I2C configuration
Returns
platform_result_t
platform_result_t platform_i2c_init_combined_message ( platform_i2c_message_t message,
const void *  tx_buffer,
void *  rx_buffer,
uint16_t  tx_buffer_length,
uint16_t  rx_buffer_length,
uint16_t  retries,
wiced_bool_t  disable_dma 
)

Initialise I2C combined message

Parameters
[in,out]message: I2C message
[in]tx_buffer: transmit buffer
[in]rx_buffer: receive buffer
[in]tx_buffer_length: transmit buffer length is bytes
[in]rx_buffer_length: receive buffer length is bytes
[in]retries: number of transmission retries
[in]disable_dma: WICED_TRUE if DMA is disabled
Returns
platform_result_t
platform_result_t platform_i2c_init_rx_message ( platform_i2c_message_t message,
void *  rx_buffer,
uint16_t  rx_buffer_length,
uint16_t  retries,
wiced_bool_t  disable_dma 
)

Initialise I2C receive message

Parameters
[in,out]message: I2C message
[in]rx_buffer: receive buffer
[in]rx_buffer_length: receive buffer length is bytes
[in]retries: number of transmission retries
[in]disable_dma: WICED_TRUE if DMA is disabled
Returns
platform_result_t
platform_result_t platform_i2c_init_tx_message ( platform_i2c_message_t message,
const void *  tx_buffer,
uint16_t  tx_buffer_length,
uint16_t  retries,
wiced_bool_t  disable_dma 
)

Initialise I2C transmit message

Parameters
[in,out]message: I2C message
[in]tx_buffer: transmit buffer
[in]tx_buffer_length: transmit buffer length is bytes
[in]retries: number of transmission retries
[in]disable_dma: WICED_TRUE if DMA is disabled
Returns
platform_result_t
wiced_bool_t platform_i2c_probe_device ( const platform_i2c_t *  i2c,
const platform_i2c_config_t config,
int  retries 
)

Probe I2C slave device

Parameters
[in]i2c_interface: I2C interface
[in]retries: number of retries
Returns
platform_result_t
platform_result_t platform_i2c_read ( const platform_i2c_t *  i2c,
const platform_i2c_config_t config,
uint16_t  flags,
void *  buffer,
uint16_t  buffer_length 
)

Read bytes via the I2C interface

Parameters
[in]i2c: I2C interface
[in]config: settings and flags used for transfer
[in]flags: flags for controlling the the transfer
[out]buffer: pointer to a receiving buffer
[in]buffer_length: length in bytes of the receiving buffer
Returns
platform_result_t
platform_result_t platform_i2c_transfer ( const platform_i2c_t *  i2c,
const platform_i2c_config_t config,
platform_i2c_message_t messages,
uint16_t  number_of_messages 
)

Transfer data via the I2C interface

Parameters
[in]i2c_interface: I2C interface
[in]messages: pointer to an array of messages to transceive
[in]number_of_messages: number of messages in the array
Returns
platform_result_t
platform_result_t platform_i2c_write ( const platform_i2c_t *  i2c,
const platform_i2c_config_t config,
uint16_t  flags,
const void *  buffer,
uint16_t  buffer_length 
)

Write bytes via the I2C interface

Parameters
[in]i2c: I2C interface
[in]config: settings and flags used for transfer
[in]flags: flags for controlling the the transfer
[in]buffer: pointer to a transmit buffer
[in]buffer_length: length in bytes of the transmit buffer
Returns
platform_result_t
void platform_init_nanosecond_clock ( void  )

Initialize nanosecond clock

platform_result_t platform_led_set_state ( int  led_index,
int  off_on 
)

Set the state of an LED

Parameters
[in]led_index: LED index into table in platforms/<platform>/platform.c :: platform_gpio_leds[] 0 <= led_index < PLATFORM_LED_COUNT PLATFORM_LED_COUNT defined in platforms/<platform>/platform.h
[in]off_on: 0 (WICED_LED_OFF) or 1 (WICED_LED_ON)
Returns
platform_result_t
platform_result_t platform_mcu_powersave_disable ( void  )

Disable MCU powersave

Returns
platform_result_t
platform_result_t platform_mcu_powersave_enable ( void  )

Enable MCU powersave

Returns
platform_result_t
void platform_mcu_powersave_exit_notify ( void  )

Notify the software stack that MCU has exited powersave mode due to interrupt

Returns
platform_result_t
void platform_mcu_reset ( void  )

performs complete reset operation

platform_result_t platform_pwm_init ( const platform_pwm_t *  pwm,
uint32_t  frequency,
float  duty_cycle 
)

Initialise PWM interface

Parameters
[in]pwm_interface: PWM interface
[in]frequency: PWM signal frequency in Hz
[in]duty_cycle: PWM signal duty cycle in percentage point
Returns
platform_result_t
platform_result_t platform_pwm_start ( const platform_pwm_t *  pwm)

Start generating PWM signal on the specified PWM interface

Parameters
[in]pwm_interface: PWM interface
Returns
platform_result_t
platform_result_t platform_pwm_stop ( const platform_pwm_t *  pwm)

Stop generating PWM signal on the specified PWM interface

Parameters
[in]pwm_interface: PWM interface
Returns
platform_result_t
void platform_reset_nanosecond_clock ( void  )

Reset nanosecond clock

platform_result_t platform_rtc_get_time ( platform_rtc_time_t time)

Get current real-time clock

Parameters
[in]time: variable that will contain the current real-time clock
Returns
platform_result_t
platform_result_t platform_rtc_set_time ( const platform_rtc_time_t time)

Set real-time clock

Parameters
[in]time: real-time clock
Returns
platform_result_t
platform_result_t platform_spi_chip_select_toggle ( const platform_spi_t *  spi,
const platform_spi_config_t config,
wiced_bool_t  activate 
)

Toggle chip-select for the specified SPI interface.

Returns
platform_result_t
platform_result_t platform_spi_deinit ( const platform_spi_t *  spi)

Deinitialise the specified SPI interface

Returns
platform_result_t
platform_result_t platform_spi_init ( const platform_spi_t *  spi,
const platform_spi_config_t config 
)

Initialise the specified SPI interface

Parameters
[in]spi_interface: SPI interface
[in]config: SPI configuratin
Returns
platform_result_t
platform_result_t platform_spi_slave_deinit ( platform_spi_slave_driver_t *  driver)

De-initialises a SPI slave interface

Parameters
[in]driver: the SPI slave driver to be de-initialised
Returns
platform_result_t
platform_result_t platform_spi_slave_generate_interrupt ( platform_spi_slave_driver_t *  driver,
uint32_t  pulse_duration_ms 
)

Generate an interrupt on the SPI slave interface

Parameters
[in]driver: the SPI slave driver
[in]pulse_duration_ms: interrupt pulse duration in milliseconds
Returns
platform_result_t
platform_result_t platform_spi_slave_init ( platform_spi_slave_driver_t *  driver,
const platform_spi_t *  peripheral,
const platform_spi_slave_config_t config 
)

Initialises a SPI slave interface

Parameters
[in]driver: the SPI slave driver to be initialised
[in]peripheral: the SPI peripheral interface to be initialised
[in]config: SPI slave configuration
Returns
platform_result_t
platform_result_t platform_spi_slave_receive_command ( platform_spi_slave_driver_t *  driver,
platform_spi_slave_command_t *  command,
uint32_t  timeout_ms 
)

Receive command from the remote SPI master

Parameters
[in]driver: the SPI slave driver
[out]command: pointer to the variable which will contained the received command
[in]timeout_ms: timeout in milliseconds
Returns
platform_result_t
platform_result_t platform_spi_slave_send_error_status ( platform_spi_slave_driver_t *  driver,
platform_spi_slave_transfer_status_t  error_status 
)

Send an error status over the SPI slave interface

Parameters
[in]driver: the SPI slave driver
[in]error_status: SPI slave error status
Returns
platform_result_t
platform_result_t platform_spi_slave_transfer_data ( platform_spi_slave_driver_t *  driver,
platform_spi_slave_transfer_direction_t  direction,
platform_spi_slave_data_buffer_t *  buffer,
uint32_t  timeout_ms 
)

Transfer data to/from the remote SPI master

Parameters
[in]driver: the SPI slave driver
[in]direction: transfer direction
[in]buffer: the buffer which contain the data to transfer
[in]timeout_ms: timeout in milliseconds
Returns
platform_result_t
platform_result_t platform_spi_transfer ( const platform_spi_t *  spi,
const platform_spi_config_t config,
const platform_spi_message_segment_t segments,
uint16_t  number_of_segments 
)

Transfer data over the specified SPI interface

Returns
platform_result_t
platform_result_t platform_spi_transfer_nosetup ( const platform_spi_t *  spi,
const platform_spi_config_t config,
const uint8_t *  send_ptr,
uint8_t *  recv_ptr,
uint32_t  length 
)

Transfer raw data over the specified SPI interface. No prior setup (toggle chip-select, etc.) is done.

Returns
platform_result_t
platform_result_t platform_spi_transmit ( const platform_spi_t *  spi,
const platform_spi_config_t config,
const platform_spi_message_segment_t segments,
uint16_t  number_of_segments 
)

Transfer data to the specified SPI interface

Returns
platform_result_t
platform_result_t platform_stdio_init ( platform_uart_driver_t *  driver,
const platform_uart_t *  interface,
const platform_uart_config_t config 
)

Initialise UART standard I/O

Parameters
[in,out]driver: UART STDIO driver
[in]interface: UART STDIO interface
[in]config: UART STDIO configuration
Returns
platform_result_t
platform_result_t platform_time_disable_8021as ( void  )

Disable the 802.1AS time functionality.

Returns
platform_result_t
platform_result_t platform_time_enable_8021as ( void  )

Enable the 802.1AS time functionality.

Returns
platform_result_t
platform_result_t platform_time_read_8021as ( platform_8021as_time_t as_time)

Read the 802.1AS time.

Retrieve the origin timestamp in the last sync message, correct for the intervening interval and return the corrected time in seconds + nanoseconds. Optionally, retrieve corresponding audio time.

Parameters
platform_result_t platform_uart_deinit ( platform_uart_driver_t *  driver)

Deinitialise the specified UART port

Returns
platform_result_t
platform_result_t platform_uart_exception_transmit_bytes ( platform_uart_driver_t *  driver,
const uint8_t *  data_out,
uint32_t  size 
)

Transmit data over the specified UART port This should be special version of transmit function used in CPU exception context, simplest implementation without interrupts.

Returns
platform_result_t
platform_result_t platform_uart_init ( platform_uart_driver_t *  driver,
const platform_uart_t *  peripheral,
const platform_uart_config_t config,
wiced_ring_buffer_t *  optional_ring_buffer 
)

Initialise the specified UART port

Returns
platform_result_t
platform_result_t platform_uart_powersave_sleep_handler ( const platform_uart_t *  peripheral)

Invoke the UART powersave sleep function

Returns
platform_result_t
platform_result_t platform_uart_powersave_wakeup_handler ( const platform_uart_t *  peripheral)

Invoke the UART powersave wakeup function

Returns
platform_result_t
platform_result_t platform_uart_receive_bytes ( platform_uart_driver_t *  driver,
uint8_t *  data_in,
uint32_t *  expected_data_size,
uint32_t  timeout_ms 
)

Receive data over the specified UART port

Returns
platform_result_t
platform_result_t platform_uart_transmit_bytes ( platform_uart_driver_t *  driver,
const uint8_t *  data_out,
uint32_t  size 
)

Transmit data over the specified UART port

Returns
platform_result_t
wiced_bool_t platform_watchdog_check_last_reset ( void  )

Check if last reset occurred due to watchdog reset

Returns
platform_result_t
platform_result_t platform_watchdog_kick ( void  )

Refresh the watchdog

Returns
platform_result_t