 8b224ecb15
			
		
	
	
		8b224ecb15
		
			
		
	
	
	
	
		
			
			* Separate ibutton to its own module, add one_wire to f18 * Move onewire cli to a separate app * Add definitions for normal and overdrive timings * Update api definitions * Add rough overdrive timings definition for onewire emulation * Remove one_wire_host_timing.h * Add rough overdrive timings for onewire host * Improve overdrive mode * Working overdrive mode from flipper to flipper * Update thermometer example app * Turn on otg power when running thermometer example app * Implement reset overdrive switching * Always exit out of overdrive mode * Improve overdrive timings * Fix typos * Fix reset behaviour * Use overdrive mode everywhere in DS1996 * Improve comments * Bump API version Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "../protocol_common_i.h"
 | |
| 
 | |
| #include <one_wire/one_wire_host.h>
 | |
| #include <one_wire/one_wire_slave.h>
 | |
| 
 | |
| #include <flipper_format/flipper_format.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;
 |