From 466780f253e1837d7217b98c96b143ff4112e315 Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Wed, 13 Jan 2010 23:12:46 +0100 Subject: digital/avr/modules/flash: replace callback init by a macro, closes #104 --- digital/avr/modules/flash/flash.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'digital/avr/modules/flash/flash.h') diff --git a/digital/avr/modules/flash/flash.h b/digital/avr/modules/flash/flash.h index 4bbdfd2b..89c492b9 100644 --- a/digital/avr/modules/flash/flash.h +++ b/digital/avr/modules/flash/flash.h @@ -38,6 +38,19 @@ #define FLASH_CS_DISABLE \ AC_FLASH_PORT |= _BV(AC_FLASH_BIT_SS); +/** Initialise the Flash driver callbacks functions. */ +#define FLASH_DRV_INIT(drv) \ + ({flash.erase_func = flash_ ## drv ## _erase; \ + flash.send_cmd_func = flash_ ## drv ## _send_command; \ + flash.read_status_func = flash_ ## drv ## _read_status; \ + flash.is_busy_func = flash_ ## drv ## _is_busy; \ + flash.write_func = flash_ ## drv ## _write; \ + flash.read_func = flash_ ## drv ## _read; \ + flash.read_array_func = flash_ ## drv ## _read_array; \ + flash.write_array_func = flash_ ## drv ## _write_array; \ + flash.flash_size_func = flash_ ## drv ## _size; \ + flash.flash_block_size_func = flash_ ## drv ## _block_size;}) + enum flash_cmd_t { FLASH_CMD_INIT, -- cgit v1.2.3