IEEE 802.15.4 subsystem
Sign in or create your account | Project List | Help
IEEE 802.15.4 subsystem Commit Details
Date: | 2010-11-11 06:29:07 (13 years 4 months ago) |
---|---|
Author: | Werner Almesberger |
Commit: | 5d63a009c8d41c63fcbf03569ed99588bd5b48df |
Message: | libatspi: new function atspi_test_mode to enter test mode - include/atspi.h, lib/atspi.c: new function atspi_test_mode to enter test mode - lib/driver.h (struct atspi_driver): add backend function test_mode - lib/atusb.c (atusb_test_mode), lib/atusb.c (atusb_driver): enter test mode - lib/atusd.c (atusd_driver): test mode is not supported |
Files: |
tools/include/atspi.h (1 diff) tools/lib/atspi.c (1 diff) tools/lib/atusb.c (2 diffs) tools/lib/atusd.c (1 diff) tools/lib/driver.h (1 diff) |
Change Details
tools/include/atspi.h | ||
---|---|---|
29 | 29 | |
30 | 30 | void atspi_reset(struct atspi_dsc *dsc); |
31 | 31 | void atspi_reset_rf(struct atspi_dsc *dsc); |
32 | int atspi_test_mode(struct atspi_dsc *dsc); | |
32 | 33 | |
33 | 34 | void atspi_reg_write(struct atspi_dsc *dsc, uint8_t reg, uint8_t value); |
34 | 35 | uint8_t atspi_reg_read(struct atspi_dsc *dsc, uint8_t reg); |
tools/lib/atspi.c | ||
---|---|---|
99 | 99 | } |
100 | 100 | |
101 | 101 | |
102 | int atspi_test_mode(struct atspi_dsc *dsc) | |
103 | { | |
104 | if (!dsc->driver->test_mode) | |
105 | return 0; | |
106 | dsc->driver->test_mode(dsc->handle); | |
107 | return 1; | |
108 | } | |
109 | ||
110 | ||
102 | 111 | void atspi_reg_write(struct atspi_dsc *dsc, uint8_t reg, uint8_t value) |
103 | 112 | { |
104 | 113 | dsc->driver->reg_write(dsc->handle, reg, value); |
tools/lib/atusb.c | ||
---|---|---|
108 | 108 | } |
109 | 109 | |
110 | 110 | |
111 | static void atusb_test_mode(void *dsc) | |
112 | { | |
113 | usb_dev_handle *dev = dsc; | |
114 | int res; | |
115 | ||
116 | if (error) | |
117 | return; | |
118 | ||
119 | res = | |
120 | usb_control_msg(dev, TO_DEV, ATSPI_TEST, 0, 0, NULL, 0, 1000); | |
121 | if (res < 0) { | |
122 | fprintf(stderr, "ATSPI_TEST: %d\n", res); | |
123 | error = 1; | |
124 | } | |
125 | } | |
126 | ||
127 | ||
111 | 128 | /* ----- register access --------------------------------------------------- */ |
112 | 129 | |
113 | 130 | |
... | ... | |
221 | 238 | .clear_error = atusb_clear_error, |
222 | 239 | .reset = atusb_reset, |
223 | 240 | .reset_rf = atusb_reset_rf, |
241 | .test_mode = atusb_test_mode, | |
224 | 242 | .reg_write = atusb_reg_write, |
225 | 243 | .reg_read = atusb_reg_read, |
226 | 244 | .buf_write = atusb_buf_write, |
tools/lib/atusd.c | ||
---|---|---|
320 | 320 | .close = atusd_close, |
321 | 321 | .reset = NULL, |
322 | 322 | .reset_rf = atusd_reset_rf, |
323 | .test_mode = NULL, | |
323 | 324 | .reg_write = atusd_reg_write, |
324 | 325 | .reg_read = atusd_reg_read, |
325 | 326 | .buf_write = atusd_buf_write, |
tools/lib/driver.h | ||
---|---|---|
25 | 25 | int (*clear_error)(void *dsc); |
26 | 26 | void (*reset)(void *dsc); |
27 | 27 | void (*reset_rf)(void *dsc); |
28 | void (*test_mode)(void *dsc); | |
28 | 29 | void (*reg_write)(void *dsc, uint8_t reg, uint8_t value); |
29 | 30 | uint8_t (*reg_read)(void *dsc, uint8_t reg); |
30 | 31 | void (*buf_write)(void *dsc, const void *buf, int size); |