NHAL Interface v0.5.0
Hardware Abstraction Layer Interface for Embedded Systems
Loading...
Searching...
No Matches
Functions
nhal_pin.h File Reference

Header for the Hardware Abstraction Layer (HAL) Pin module. More...

#include <stdint.h>
#include <stdbool.h>
#include "nhal_pin_types.h"

Go to the source code of this file.

Functions

nhal_result_t nhal_pin_init (struct nhal_pin_context *ctx)
 Initialize pin context.
 
nhal_result_t nhal_pin_deinit (struct nhal_pin_context *ctx)
 Deinitialize pin context.
 
nhal_result_t nhal_pin_set_config (struct nhal_pin_context *ctx, struct nhal_pin_config *config)
 Set pin configuration.
 
nhal_result_t nhal_pin_get_config (struct nhal_pin_context *ctx, struct nhal_pin_config *config)
 Get current pin configuration.
 
nhal_result_t nhal_pin_set_state (struct nhal_pin_context *ctx, nhal_pin_state_t value)
 Set pin state (high/low)
 
nhal_result_t nhal_pin_get_state (struct nhal_pin_context *ctx, nhal_pin_state_t *value)
 Get current pin state.
 
nhal_result_t nhal_pin_set_callback (struct nhal_pin_context *ctx, nhal_pin_callback_t callback)
 Set interrupt callback for pin state changes.
 
nhal_result_t nhal_pin_set_direction (struct nhal_pin_context *ctx, nhal_pin_dir_t direction, nhal_pin_pull_mode_t pull_mode)
 Set pin direction and pull mode.
 

Detailed Description

Header for the Hardware Abstraction Layer (HAL) Pin module.

This module provides an interface for managing general-purpose I/O (GPIO) pins. It defines types and functions for configuring, reading, writing, and setting up callbacks for pin state changes.

Definition in file nhal_pin.h.

Function Documentation

◆ nhal_pin_deinit()

nhal_result_t nhal_pin_deinit ( struct nhal_pin_context ctx)

Deinitialize pin context.

Parameters
ctxPointer to pin context structure
Returns
NHAL_OK on success, error code otherwise

◆ nhal_pin_get_config()

nhal_result_t nhal_pin_get_config ( struct nhal_pin_context ctx,
struct nhal_pin_config config 
)

Get current pin configuration.

Parameters
ctxPointer to pin context structure
configPointer to pin configuration structure to fill
Returns
NHAL_OK on success, error code otherwise

◆ nhal_pin_get_state()

nhal_result_t nhal_pin_get_state ( struct nhal_pin_context ctx,
nhal_pin_state_t value 
)

Get current pin state.

Parameters
ctxPointer to pin context structure
valuePointer to store the current pin state
Returns
NHAL_OK on success, error code otherwise

◆ nhal_pin_init()

nhal_result_t nhal_pin_init ( struct nhal_pin_context ctx)

Initialize pin context.

Parameters
ctxPointer to pin context structure
Returns
NHAL_OK on success, error code otherwise

◆ nhal_pin_set_callback()

nhal_result_t nhal_pin_set_callback ( struct nhal_pin_context ctx,
nhal_pin_callback_t  callback 
)

Set interrupt callback for pin state changes.

Parameters
ctxPointer to pin context structure
callbackCallback function to execute on pin state change
Returns
NHAL_OK on success, error code otherwise

◆ nhal_pin_set_config()

nhal_result_t nhal_pin_set_config ( struct nhal_pin_context ctx,
struct nhal_pin_config config 
)

Set pin configuration.

Parameters
ctxPointer to pin context structure
configPointer to pin configuration structure
Returns
NHAL_OK on success, error code otherwise

◆ nhal_pin_set_direction()

nhal_result_t nhal_pin_set_direction ( struct nhal_pin_context ctx,
nhal_pin_dir_t  direction,
nhal_pin_pull_mode_t  pull_mode 
)

Set pin direction and pull mode.

Parameters
ctxPointer to pin context structure
directionPin direction (input/output)
pull_modePull resistor configuration
Returns
NHAL_OK on success, error code otherwise

◆ nhal_pin_set_state()

nhal_result_t nhal_pin_set_state ( struct nhal_pin_context ctx,
nhal_pin_state_t  value 
)

Set pin state (high/low)

Parameters
ctxPointer to pin context structure
valuePin state to set
Returns
NHAL_OK on success, error code otherwise