From 9daa51eda4a723135e3e0fd4b63835173dad3575 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 22 Mar 2023 18:41:50 +0300 Subject: [PATCH] Update DS1420 to latest changes --- lib/ibutton/protocols/dallas/protocol_ds1420.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/ibutton/protocols/dallas/protocol_ds1420.c b/lib/ibutton/protocols/dallas/protocol_ds1420.c index ebfb700ce..85e0145f4 100644 --- a/lib/ibutton/protocols/dallas/protocol_ds1420.c +++ b/lib/ibutton/protocols/dallas/protocol_ds1420.c @@ -67,6 +67,14 @@ bool dallas_ds1420_write_blank(OneWireHost* host, iButtonProtocolData* protocol_ tm2004_write(host, data->rom_data.bytes, sizeof(DallasCommonRomData)); } +static bool dallas_ds1420_reset_callback(bool is_short, void* context) { + DS1420ProtocolData* data = context; + if(!is_short) { + onewire_slave_set_overdrive(data->state.bus, is_short); + } + return !is_short; +} + static bool dallas_ds1420_command_callback(uint8_t command, void* context) { furi_assert(context); DS1420ProtocolData* data = context; @@ -92,7 +100,7 @@ void dallas_ds1420_emulate(OneWireSlave* bus, iButtonProtocolData* protocol_data DS1420ProtocolData* data = protocol_data; data->state.bus = bus; - onewire_slave_set_reset_callback(bus, NULL, NULL); + onewire_slave_set_reset_callback(bus, dallas_ds1420_reset_callback, protocol_data); onewire_slave_set_command_callback(bus, dallas_ds1420_command_callback, protocol_data); }