4 #include "reader_master.h"
5 #include "memory_manage.h"
8 void (*except)(const wgChar *str);
11 static const struct reader_handle *dummy_open(void (*except)(const wgChar *str))
13 struct reader_handle *h;
14 h = Malloc(sizeof(struct reader_handle));
19 static void dummy_close(const struct reader_handle *h)
24 /*static void throw(const struct reader_handle *h)
27 size_t length = strlen(usb_strerror());
28 wchar_t *mm = Malloc(sizeof(wchar_t) * (length + 1));
29 mbstowcs(mm, usb_strerror(), length + 1);
33 h->except(usb_strerror());
37 static void dummy_read(const struct reader_handle *h, const struct gauge *g, long address, long length, uint8_t *data)
39 const int packet = 0x200;
40 while(length >= packet){
42 memset(data, 2, packet);
45 g->value_add(g->bar, g->label, packet);
48 memset(data, 33, length);
49 g->value_add(g->bar, g->label, length);
53 static void dummy_init(const struct reader_handle *h)
57 static void dummy_write(const struct reader_handle *h, long address, long length, const uint8_t *data)
62 static void dummy_flash_config(const struct reader_handle *h, long c000x, long c2aaa, long c5555, long unit, bool retry)
66 static void dummy_flash_erase(const struct reader_handle *h, long address, bool dowait)
73 static long dummy_flash_program(const struct reader_handle *h, const struct gauge *g, long address, long length, const uint8_t *data, bool dowait, bool skip)
78 g->value_add(g->bar, g->label, 0x200);
82 static void dummy_flash_status(const struct reader_handle *h, uint8_t s[2])
88 static void dummy_flash_device_get(const struct reader_handle *h, uint8_t s[2])
94 static uint8_t dummy_vram_connection(const struct reader_handle *h)
99 const struct reader_driver DRIVER_DUMMY = {
101 .memory_read = dummy_read,
102 .memory_write = dummy_write,
103 .flash_config = dummy_flash_config,
104 .flash_erase = dummy_flash_erase,
105 .flash_program = dummy_flash_program,
106 .flash_device_get = dummy_flash_device_get
108 .memory_read = dummy_read,
109 .memory_write = dummy_write,
110 .flash_config = dummy_flash_config,
111 .flash_erase = dummy_flash_erase,
112 .flash_program = dummy_flash_program,
113 .flash_device_get = dummy_flash_device_get
115 .name = wgT("dummy"),
116 .open = dummy_open, .close = dummy_close,
118 .flash_status = dummy_flash_status,
119 .vram_connection = dummy_vram_connection