IEEE 802.15.4 subsystem
Sign in or create your account | Project List | Help
IEEE 802.15.4 subsystem Commit Details
Date: | 2011-01-17 16:06:16 (13 years 2 months ago) |
---|---|
Author: | Werner Almesberger |
Commit: | 1cd079ee82b9805c90428a2bb0709ad1064d2cc1 |
Message: | great atusd -> atben renaming: changed remaining references in
tools/ - Makefile.common (MACROS_ben_jlime, MACROS_ben_openwrt), lib/atrf.c (atrf_open): changed HAVE_USD to HAVE_BEN - lib/atben.c: changed "uSD version" in title to "Ben 8:10 card version" - lib/atrf.c, lib/atben.c: changed all occurrences of "atusd" to "atben" |
Files: |
tools/Makefile.common (1 diff) tools/lib/atben.c (13 diffs) tools/lib/atrf.c (2 diffs) |
Change Details
tools/Makefile.common | ||
---|---|---|
33 | 33 | LDLIBS_ben_openwrt = |
34 | 34 | |
35 | 35 | MACROS_host = -DHAVE_USB |
36 | MACROS_ben_jlime = -DHAVE_USD | |
37 | MACROS_ben_openwrt = -DHAVE_USD | |
36 | MACROS_ben_jlime = -DHAVE_BEN | |
37 | MACROS_ben_openwrt = -DHAVE_BEN | |
38 | 38 | |
39 | 39 | CC_normal := $(CC_$(TARGET)) |
40 | 40 | AR_normal := $(AR) |
tools/lib/atben.c | ||
---|---|---|
1 | 1 | /* |
2 | * lib/atusd.c - ATRF access functions library (uSD version) | |
2 | * lib/atben.c - ATRF access functions library (Ben 8:10 card version) | |
3 | 3 | * |
4 | 4 | * Written 2010-2011 by Werner Almesberger |
5 | 5 | * Copyright 2010-2011 Werner Almesberger |
... | ... | |
63 | 63 | #define PAGE_SIZE 4096 |
64 | 64 | |
65 | 65 | |
66 | struct atusd_dsc { | |
66 | struct atben_dsc { | |
67 | 67 | int fd; |
68 | 68 | void *mem; |
69 | 69 | }; |
... | ... | |
82 | 82 | } |
83 | 83 | |
84 | 84 | |
85 | static void atusd_cycle(struct atusd_dsc *dsc) | |
85 | static void atben_cycle(struct atben_dsc *dsc) | |
86 | 86 | { |
87 | 87 | /* stop the MMC bus clock */ |
88 | 88 | MSC_STRPCL = 1; |
... | ... | |
129 | 129 | /* ----- Low-level SPI operations ------------------------------------------ */ |
130 | 130 | |
131 | 131 | |
132 | static void spi_begin(struct atusd_dsc *dsc) | |
132 | static void spi_begin(struct atben_dsc *dsc) | |
133 | 133 | { |
134 | 134 | PDDATC = nSEL; |
135 | 135 | } |
136 | 136 | |
137 | 137 | |
138 | static void spi_end(struct atusd_dsc *dsc) | |
138 | static void spi_end(struct atben_dsc *dsc) | |
139 | 139 | { |
140 | 140 | PDDATS = nSEL; |
141 | 141 | } |
142 | 142 | |
143 | 143 | |
144 | static void spi_send(struct atusd_dsc *dsc, uint8_t v) | |
144 | static void spi_send(struct atben_dsc *dsc, uint8_t v) | |
145 | 145 | { |
146 | 146 | uint8_t mask; |
147 | 147 | |
... | ... | |
156 | 156 | } |
157 | 157 | |
158 | 158 | |
159 | static uint8_t spi_recv(struct atusd_dsc *dsc) | |
159 | static uint8_t spi_recv(struct atben_dsc *dsc) | |
160 | 160 | { |
161 | 161 | uint8_t res = 0; |
162 | 162 | uint8_t mask; |
... | ... | |
174 | 174 | /* ----- Driver operations ------------------------------------------------- */ |
175 | 175 | |
176 | 176 | |
177 | static void atusd_reset_rf(void *handle) | |
177 | static void atben_reset_rf(void *handle) | |
178 | 178 | { |
179 | struct atusd_dsc *dsc = handle; | |
179 | struct atben_dsc *dsc = handle; | |
180 | 180 | |
181 | atusd_cycle(dsc); | |
181 | atben_cycle(dsc); | |
182 | 182 | wait_for_power(); |
183 | 183 | } |
184 | 184 | |
185 | 185 | |
186 | static void *atusd_open(void) | |
186 | static void *atben_open(void) | |
187 | 187 | { |
188 | struct atusd_dsc *dsc; | |
188 | struct atben_dsc *dsc; | |
189 | 189 | |
190 | 190 | dsc = malloc(sizeof(*dsc)); |
191 | 191 | if (!dsc) { |
... | ... | |
246 | 246 | #endif |
247 | 247 | |
248 | 248 | wait_for_power(); |
249 | atusd_reset_rf(dsc); | |
249 | atben_reset_rf(dsc); | |
250 | 250 | |
251 | 251 | return dsc; |
252 | 252 | } |
253 | 253 | |
254 | 254 | |
255 | static void atusd_close(void *arg) | |
255 | static void atben_close(void *arg) | |
256 | 256 | { |
257 | struct atusd_dsc *dsc = arg; | |
257 | struct atben_dsc *dsc = arg; | |
258 | 258 | |
259 | 259 | /* stop the MMC bus clock */ |
260 | 260 | MSC_STRPCL = 1; |
... | ... | |
271 | 271 | } |
272 | 272 | |
273 | 273 | |
274 | static void atusd_reg_write(void *handle, uint8_t reg, uint8_t v) | |
274 | static void atben_reg_write(void *handle, uint8_t reg, uint8_t v) | |
275 | 275 | { |
276 | struct atusd_dsc *dsc = handle; | |
276 | struct atben_dsc *dsc = handle; | |
277 | 277 | |
278 | 278 | spi_begin(dsc); |
279 | 279 | spi_send(dsc, AT86RF230_REG_WRITE | reg); |
... | ... | |
282 | 282 | } |
283 | 283 | |
284 | 284 | |
285 | static uint8_t atusd_reg_read(void *handle, uint8_t reg) | |
285 | static uint8_t atben_reg_read(void *handle, uint8_t reg) | |
286 | 286 | { |
287 | struct atusd_dsc *dsc = handle; | |
287 | struct atben_dsc *dsc = handle; | |
288 | 288 | uint8_t res; |
289 | 289 | |
290 | 290 | spi_begin(dsc); |
... | ... | |
295 | 295 | } |
296 | 296 | |
297 | 297 | |
298 | static void atusd_buf_write(void *handle, const void *buf, int size) | |
298 | static void atben_buf_write(void *handle, const void *buf, int size) | |
299 | 299 | { |
300 | struct atusd_dsc *dsc = handle; | |
300 | struct atben_dsc *dsc = handle; | |
301 | 301 | |
302 | 302 | spi_begin(dsc); |
303 | 303 | spi_send(dsc, AT86RF230_BUF_WRITE); |
... | ... | |
308 | 308 | } |
309 | 309 | |
310 | 310 | |
311 | static int atusd_buf_read(void *handle, void *buf, int size) | |
311 | static int atben_buf_read(void *handle, void *buf, int size) | |
312 | 312 | { |
313 | struct atusd_dsc *dsc = handle; | |
313 | struct atben_dsc *dsc = handle; | |
314 | 314 | uint8_t len, i; |
315 | 315 | |
316 | 316 | spi_begin(dsc); |
... | ... | |
329 | 329 | /* ----- RF interrupt ------------------------------------------------------ */ |
330 | 330 | |
331 | 331 | |
332 | static int atusd_interrupt(void *handle) | |
332 | static int atben_interrupt(void *handle) | |
333 | 333 | { |
334 | struct atusd_dsc *dsc = handle; | |
334 | struct atben_dsc *dsc = handle; | |
335 | 335 | |
336 | 336 | return !!(PDPIN & IRQ); |
337 | 337 | } |
... | ... | |
340 | 340 | /* ----- Driver interface -------------------------------------------------- */ |
341 | 341 | |
342 | 342 | |
343 | struct atrf_driver atusd_driver = { | |
344 | .name = "uSD", | |
345 | .open = atusd_open, | |
346 | .close = atusd_close, | |
343 | struct atrf_driver atben_driver = { | |
344 | .name = "Ben", | |
345 | .open = atben_open, | |
346 | .close = atben_close, | |
347 | 347 | .reset = NULL, |
348 | .reset_rf = atusd_reset_rf, | |
348 | .reset_rf = atben_reset_rf, | |
349 | 349 | .test_mode = NULL, |
350 | .reg_write = atusd_reg_write, | |
351 | .reg_read = atusd_reg_read, | |
352 | .buf_write = atusd_buf_write, | |
353 | .buf_read = atusd_buf_read, | |
354 | .interrupt = atusd_interrupt, | |
350 | .reg_write = atben_reg_write, | |
351 | .reg_read = atben_reg_read, | |
352 | .buf_write = atben_buf_write, | |
353 | .buf_read = atben_buf_read, | |
354 | .interrupt = atben_interrupt, | |
355 | 355 | }; |
tools/lib/atrf.c | ||
---|---|---|
21 | 21 | |
22 | 22 | |
23 | 23 | extern struct atrf_driver atusb_driver; |
24 | extern struct atrf_driver atusd_driver; | |
24 | extern struct atrf_driver atben_driver; | |
25 | 25 | |
26 | 26 | |
27 | 27 | struct atrf_dsc { |
... | ... | |
61 | 61 | |
62 | 62 | #ifdef HAVE_USB |
63 | 63 | driver = &atusb_driver; |
64 | #elif HAVE_USD | |
65 | driver = &atusd_driver; | |
64 | #elif HAVE_BEN | |
65 | driver = &atben_driver; | |
66 | 66 | #else |
67 | #error Need either HAVE_USB or HAVE_USD | |
67 | #error Need either HAVE_USB or HAVE_BEN | |
68 | 68 | #endif |
69 | 69 | handle = driver->open(); |
70 | 70 | if (!handle) |