[FL-3168] Add one_wire lib to f18, separate ibutton (#2509)
* Separate ibutton to its own module, add one_wire to f18 * Move onewire cli to a separate app Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
39
lib/ibutton/protocols/dallas/protocol_dallas_base.h
Normal file
39
lib/ibutton/protocols/dallas/protocol_dallas_base.h
Normal file
@@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include "../protocol_common_i.h"
|
||||
|
||||
#include <flipper_format.h>
|
||||
|
||||
#include <one_wire/one_wire_host.h>
|
||||
#include <one_wire/one_wire_slave.h>
|
||||
|
||||
typedef bool (*iButtonProtocolDallasReadWriteFunc)(OneWireHost*, iButtonProtocolData*);
|
||||
typedef void (*iButtonProtocolDallasEmulateFunc)(OneWireSlave*, iButtonProtocolData*);
|
||||
typedef bool (*iButtonProtocolDallasSaveFunc)(FlipperFormat*, const iButtonProtocolData*);
|
||||
typedef bool (*iButtonProtocolDallasLoadFunc)(FlipperFormat*, uint32_t, iButtonProtocolData*);
|
||||
typedef void (*iButtonProtocolDallasRenderDataFunc)(FuriString*, const iButtonProtocolData*);
|
||||
typedef bool (*iButtonProtocolDallasIsValidFunc)(const iButtonProtocolData*);
|
||||
typedef void (
|
||||
*iButtonProtocolDallasGetEditableDataFunc)(iButtonEditableData*, iButtonProtocolData*);
|
||||
typedef void (*iButtonProtocolDallasApplyEditsFunc)(iButtonProtocolData*);
|
||||
|
||||
typedef struct {
|
||||
const uint8_t family_code;
|
||||
const uint32_t features;
|
||||
const size_t data_size;
|
||||
const char* manufacturer;
|
||||
const char* name;
|
||||
|
||||
iButtonProtocolDallasReadWriteFunc read;
|
||||
iButtonProtocolDallasReadWriteFunc write_blank;
|
||||
iButtonProtocolDallasReadWriteFunc write_copy;
|
||||
iButtonProtocolDallasEmulateFunc emulate;
|
||||
iButtonProtocolDallasSaveFunc save;
|
||||
iButtonProtocolDallasLoadFunc load;
|
||||
iButtonProtocolDallasRenderDataFunc render_data;
|
||||
iButtonProtocolDallasRenderDataFunc render_brief_data;
|
||||
iButtonProtocolDallasRenderDataFunc render_error;
|
||||
iButtonProtocolDallasIsValidFunc is_valid;
|
||||
iButtonProtocolDallasGetEditableDataFunc get_editable_data;
|
||||
iButtonProtocolDallasApplyEditsFunc apply_edits;
|
||||
} iButtonProtocolDallasBase;
|
Reference in New Issue
Block a user