[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:
43
lib/ibutton/ibutton_key.c
Normal file
43
lib/ibutton/ibutton_key.c
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "ibutton_key_i.h"
|
||||
|
||||
struct iButtonKey {
|
||||
iButtonProtocolId protocol_id;
|
||||
iButtonProtocolData* protocol_data;
|
||||
size_t protocol_data_size;
|
||||
};
|
||||
|
||||
iButtonKey* ibutton_key_alloc(size_t data_size) {
|
||||
iButtonKey* key = malloc(sizeof(iButtonKey));
|
||||
|
||||
key->protocol_id = iButtonProtocolIdInvalid;
|
||||
key->protocol_data = malloc(data_size);
|
||||
key->protocol_data_size = data_size;
|
||||
|
||||
return key;
|
||||
}
|
||||
|
||||
void ibutton_key_free(iButtonKey* key) {
|
||||
free(key->protocol_data);
|
||||
free(key);
|
||||
}
|
||||
|
||||
void ibutton_key_reset(iButtonKey* key) {
|
||||
key->protocol_id = iButtonProtocolIdInvalid;
|
||||
memset(key->protocol_data, 0, key->protocol_data_size);
|
||||
}
|
||||
|
||||
iButtonProtocolId ibutton_key_get_protocol_id(const iButtonKey* key) {
|
||||
return key->protocol_id;
|
||||
}
|
||||
|
||||
void ibutton_key_set_protocol_id(iButtonKey* key, iButtonProtocolId protocol_id) {
|
||||
key->protocol_id = protocol_id;
|
||||
}
|
||||
|
||||
iButtonProtocolData* ibutton_key_get_protocol_data(const iButtonKey* key) {
|
||||
return key->protocol_data;
|
||||
}
|
||||
|
||||
size_t ibutton_key_get_protocol_data_size(const iButtonKey* key) {
|
||||
return key->protocol_data_size;
|
||||
}
|
Reference in New Issue
Block a user