mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-30 04:19:59 -07:00
[FL-3827] iButton ID writing (#3734)
* Function naming corrections and enabled writing ID for all dallas blanks * Enable ID writing for ds1971 and ds1996 * Sync API Symbols Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
|
||||
#include "dallas_common.h"
|
||||
|
||||
#include "../blanks/tm2004.h"
|
||||
|
||||
#define DS1996_FAMILY_CODE 0x0CU
|
||||
#define DS1996_FAMILY_NAME "DS1996"
|
||||
|
||||
@@ -29,6 +31,7 @@ typedef struct {
|
||||
} DS1996ProtocolData;
|
||||
|
||||
static bool dallas_ds1996_read(OneWireHost*, void*);
|
||||
static bool dallas_ds1996_write_id(OneWireHost*, iButtonProtocolData*);
|
||||
static bool dallas_ds1996_write_copy(OneWireHost*, iButtonProtocolData*);
|
||||
static void dallas_ds1996_emulate(OneWireSlave*, iButtonProtocolData*);
|
||||
static bool dallas_ds1996_load(FlipperFormat*, uint32_t, iButtonProtocolData*);
|
||||
@@ -43,13 +46,14 @@ static void dallas_ds1996_apply_edits(iButtonProtocolData*);
|
||||
|
||||
const iButtonProtocolDallasBase ibutton_protocol_ds1996 = {
|
||||
.family_code = DS1996_FAMILY_CODE,
|
||||
.features = iButtonProtocolFeatureExtData | iButtonProtocolFeatureWriteCopy,
|
||||
.features = iButtonProtocolFeatureExtData | iButtonProtocolFeatureWriteId |
|
||||
iButtonProtocolFeatureWriteCopy,
|
||||
.data_size = sizeof(DS1996ProtocolData),
|
||||
.manufacturer = DALLAS_COMMON_MANUFACTURER_NAME,
|
||||
.name = DS1996_FAMILY_NAME,
|
||||
|
||||
.read = dallas_ds1996_read,
|
||||
.write_blank = NULL, /* Data too big for known blanks */
|
||||
.write_id = dallas_ds1996_write_id,
|
||||
.write_copy = dallas_ds1996_write_copy,
|
||||
.emulate = dallas_ds1996_emulate,
|
||||
.save = dallas_ds1996_save,
|
||||
@@ -83,6 +87,11 @@ bool dallas_ds1996_read(OneWireHost* host, iButtonProtocolData* protocol_data) {
|
||||
return success;
|
||||
}
|
||||
|
||||
bool dallas_ds1996_write_id(OneWireHost* host, iButtonProtocolData* protocol_data) {
|
||||
DS1996ProtocolData* data = protocol_data;
|
||||
return tm2004_write(host, data->rom_data.bytes, sizeof(DallasCommonRomData));
|
||||
}
|
||||
|
||||
bool dallas_ds1996_write_copy(OneWireHost* host, iButtonProtocolData* protocol_data) {
|
||||
DS1996ProtocolData* data = protocol_data;
|
||||
bool success = false;
|
||||
|
||||
Reference in New Issue
Block a user