diff options
Diffstat (limited to 'board/simple_board.h')
-rw-r--r-- | board/simple_board.h | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/board/simple_board.h b/board/simple_board.h index f0997c7..1a264de 100644 --- a/board/simple_board.h +++ b/board/simple_board.h @@ -1,36 +1,32 @@ #include "board.h" -static struct board_data board_data; - #define WAV_LEN(W) PREPROC_CONCAT(W,_len) #define PREPROC_CONCAT(A, B) A ## B -void board_on_down(void) +void board_on_down(struct board_state *state) { + (void) state; #ifdef BOARD_DOWN_WAV - board_data.sound_play(BOARD_DOWN_WAV, WAV_LEN(BOARD_DOWN_WAV)); + state->sound_play(BOARD_DOWN_WAV, WAV_LEN(BOARD_DOWN_WAV)); #endif } -void board_on_up(void) +void board_on_up(struct board_state *state) { + (void) state; #ifdef BOARD_UP_WAV - board_data.sound_play(BOARD_UP_WAV, WAV_LEN(BOARD_UP_WAV)); + state->sound_play(BOARD_UP_WAV, WAV_LEN(BOARD_UP_WAV)); #endif } -static struct board board = { - .on_down = &board_on_down, - .on_up = &board_on_up, +void board_init(struct board_state *state) +{ #ifdef BOARD_NAME - .name = BOARD_NAME, + state->name = BOARD_NAME; #else - .name = "Generic Board", + state->name = "Generic Board"; #endif -}; -struct board *board_init(struct board_data data) -{ - board_data = data; - return &board; + state->on_down = &board_on_down; + state->on_up = &board_on_up; } |