cursada_mc2
Base de control de temperatura para EDU-CIAA-NXP
Loading...
Searching...
No Matches
onewire_driver.h
Go to the documentation of this file.
1
6#if !defined(DRIVER_ONEWIRE_DRIVER_H_)
7#define DRIVER_ONEWIRE_DRIVER_H_
8
9#include <chip.h>
10#include <stdbool.h>
11#include <stdint.h>
12
14#define ONEWIRE_ROM_CODE_SIZE 8U
15
25typedef struct {
26 uint8_t scu_port;
27 uint8_t scu_pin;
28 uint16_t scu_mode;
29 uint8_t scu_func;
30 uint8_t gpio_port;
31 uint8_t gpio_pin;
33
41
51bool onewire_init(onewire_driver_t* driver, const onewire_pin_config_t* pin_config);
52
61bool onewire_reset(const onewire_driver_t* driver);
62
69void onewire_write_bit(const onewire_driver_t* driver, bool bit_value);
70
79bool onewire_read_bit(const onewire_driver_t* driver);
80
87void onewire_write_byte(const onewire_driver_t* driver, uint8_t value);
88
96uint8_t onewire_read_byte(const onewire_driver_t* driver);
97
106void onewire_skip_rom(const onewire_driver_t* driver);
107
114void onewire_match_rom(const onewire_driver_t* driver, const uint8_t rom_code[ONEWIRE_ROM_CODE_SIZE]);
115
125uint8_t onewire_search_roms(const onewire_driver_t* driver,
126 uint8_t rom_codes[][ONEWIRE_ROM_CODE_SIZE],
127 uint8_t max_devices);
128
129#endif // DRIVER_ONEWIRE_DRIVER_H_
bool onewire_init(onewire_driver_t *driver, const onewire_pin_config_t *pin_config)
Inicializa un bus 1-Wire sobre el pin indicado.
void onewire_write_byte(const onewire_driver_t *driver, uint8_t value)
Escribe un byte en el bus 1-Wire.
bool onewire_reset(const onewire_driver_t *driver)
Emite un reset 1-Wire y detecta presencia de dispositivos.
uint8_t onewire_search_roms(const onewire_driver_t *driver, uint8_t rom_codes[][ONEWIRE_ROM_CODE_SIZE], uint8_t max_devices)
Busca dispositivos presentes en el bus mediante el comando Search ROM.
uint8_t onewire_read_byte(const onewire_driver_t *driver)
Lee un byte desde el bus 1-Wire.
void onewire_skip_rom(const onewire_driver_t *driver)
Emite el comando Skip ROM sobre el bus.
void onewire_write_bit(const onewire_driver_t *driver, bool bit_value)
Escribe un bit en el bus 1-Wire.
#define ONEWIRE_ROM_CODE_SIZE
Tamano del codigo ROM de un dispositivo 1-Wire.
bool onewire_read_bit(const onewire_driver_t *driver)
Lee un bit desde el bus 1-Wire.
void onewire_match_rom(const onewire_driver_t *driver, const uint8_t rom_code[ONEWIRE_ROM_CODE_SIZE])
Selecciona un dispositivo concreto por su codigo ROM.
Estado del driver 1-Wire para un bus individual.
onewire_pin_config_t pin
Configuracion fisica del pin usado por el bus 1-Wire.