| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /**
- * @file one_wire_slave.h
- *
- * 1-Wire slave library. Currently it can only emulate ID.
- */
- #pragma once
- #include <stdint.h>
- #include <stdbool.h>
- #include <furi_hal_gpio.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct OneWireDevice OneWireDevice;
- typedef struct OneWireSlave OneWireSlave;
- typedef void (*OneWireSlaveResultCallback)(void* context);
- /**
- * Allocate onewire slave
- * @param pin
- * @return OneWireSlave*
- */
- OneWireSlave* onewire_slave_alloc();
- /**
- * Free onewire slave
- * @param bus
- */
- void onewire_slave_free(OneWireSlave* bus);
- /**
- * Start working with the bus
- * @param bus
- */
- void onewire_slave_start(OneWireSlave* bus);
- /**
- * Stop working with the bus
- * @param bus
- */
- void onewire_slave_stop(OneWireSlave* bus);
- /**
- * Attach device for emulation
- * @param bus
- * @param device
- */
- void onewire_slave_attach(OneWireSlave* bus, OneWireDevice* device);
- /**
- * Detach device from bus
- * @param bus
- */
- void onewire_slave_detach(OneWireSlave* bus);
- /**
- * Set a callback to report emulation success
- * @param bus
- * @param result_cb
- * @param context
- */
- void onewire_slave_set_result_callback(
- OneWireSlave* bus,
- OneWireSlaveResultCallback result_cb,
- void* context);
- #ifdef __cplusplus
- }
- #endif
|