FlexBook / Mbed 2 deprecated FlexBook171204a

Dependencies:   SDFileSystem app epson mbed msp430 pl tests

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers wflib.h Source File

wflib.h

00001 /*
00002   Plastic Logic EPD project on MSP430
00003 
00004   Copyright (C) 2014 Plastic Logic Limited
00005 
00006   This program is free software: you can redistribute it and/or modify
00007   it under the terms of the GNU General Public License as published by
00008   the Free Software Foundation, either version 3 of the License, or
00009   (at your option) any later version.
00010 
00011   This program is distributed in the hope that it will be useful,
00012   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014   GNU General Public License for more details.
00015 
00016   You should have received a copy of the GNU General Public License
00017   along with this program.  If not, see <http://www.gnu.org/licenses/>.
00018 */
00019 /*
00020  * wflib.h -- Waveform library management
00021  *
00022  * Authors:
00023  *   Guillaume Tucker <guillaume.tucker@plasticlogic.com>
00024  *
00025  */
00026 
00027 #ifndef INCLUDE_PL_WFLIB_H
00028 #define INCLUDE_PL_WFLIB_H 1
00029 
00030 #include <stdint.h>
00031 #include <stdlib.h>
00032 
00033 struct pl_wflib;
00034 struct i2c_eeprom;
00035 struct pl_dispinfo;
00036 
00037 /** Function type to write data to the output (i.e. the EPDC) */
00038 typedef int (*pl_wflib_wr_t)(void *ctx, const uint8_t *data, size_t n);
00039 
00040 /** Generic interface to load a waveform library */
00041 struct pl_wflib {
00042     int (*xfer)(struct pl_wflib *wflib, pl_wflib_wr_t wr, void *ctx);
00043     uint32_t size;
00044     void *priv;
00045 };
00046 
00047 /** Initialise a wflib interface for a FatFS file */
00048 extern int pl_wflib_init_fatfs(struct pl_wflib *wflib, int *f,
00049                    const char *path);
00050 
00051 #endif /* INCLUDE_PL_WFLIB_H */