Added HangmanGame class, but does not work yet

Dependencies:   SDFileSystem app epson mbed msp430 pl tests

Committer:
markpsymonds
Date:
Mon Dec 04 20:15:18 2017 +0000
Revision:
1:a5ec6f9dcf0d
Parent:
0:fa7450a43b99
Fixed most compile issues in hangman.cpp/.h.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-FlexBook 0:fa7450a43b99 1 /*
group-FlexBook 0:fa7450a43b99 2 Plastic Logic EPD project on MSP430
group-FlexBook 0:fa7450a43b99 3
group-FlexBook 0:fa7450a43b99 4 Copyright (C) 2014 Plastic Logic Limited
group-FlexBook 0:fa7450a43b99 5
group-FlexBook 0:fa7450a43b99 6 This program is free software: you can redistribute it and/or modify
group-FlexBook 0:fa7450a43b99 7 it under the terms of the GNU General Public License as published by
group-FlexBook 0:fa7450a43b99 8 the Free Software Foundation, either version 3 of the License, or
group-FlexBook 0:fa7450a43b99 9 (at your option) any later version.
group-FlexBook 0:fa7450a43b99 10
group-FlexBook 0:fa7450a43b99 11 This program is distributed in the hope that it will be useful,
group-FlexBook 0:fa7450a43b99 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
group-FlexBook 0:fa7450a43b99 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
group-FlexBook 0:fa7450a43b99 14 GNU General Public License for more details.
group-FlexBook 0:fa7450a43b99 15
group-FlexBook 0:fa7450a43b99 16 You should have received a copy of the GNU General Public License
group-FlexBook 0:fa7450a43b99 17 along with this program. If not, see <http://www.gnu.org/licenses/>.
group-FlexBook 0:fa7450a43b99 18 */
group-FlexBook 0:fa7450a43b99 19 /*
group-FlexBook 0:fa7450a43b99 20 * epdpsu.h -- EPD PSU interface abstraction layer
group-FlexBook 0:fa7450a43b99 21 *
group-FlexBook 0:fa7450a43b99 22 * Authors:
group-FlexBook 0:fa7450a43b99 23 * Guillaume Tucker <guillaume.tucker@plasticlogic.com>
group-FlexBook 0:fa7450a43b99 24 *
group-FlexBook 0:fa7450a43b99 25 */
group-FlexBook 0:fa7450a43b99 26
group-FlexBook 0:fa7450a43b99 27 #ifndef INCLUDE_PL_EPDPSU_H
group-FlexBook 0:fa7450a43b99 28 #define INCLUDE_PL_EPDPSU_H 1
group-FlexBook 0:fa7450a43b99 29
group-FlexBook 0:fa7450a43b99 30 /**
group-FlexBook 0:fa7450a43b99 31 @file pl/epdpsu.h
group-FlexBook 0:fa7450a43b99 32
group-FlexBook 0:fa7450a43b99 33 Abstract interface and generic implementation to the EPD PSU
group-FlexBook 0:fa7450a43b99 34 */
group-FlexBook 0:fa7450a43b99 35
group-FlexBook 0:fa7450a43b99 36 /** Set to 1 to enable stub */
group-FlexBook 0:fa7450a43b99 37 #define PL_EPDPSU_STUB 0
group-FlexBook 0:fa7450a43b99 38
group-FlexBook 0:fa7450a43b99 39 struct pl_epdc;
group-FlexBook 0:fa7450a43b99 40
group-FlexBook 0:fa7450a43b99 41 /** Interface */
group-FlexBook 0:fa7450a43b99 42 struct pl_epdpsu {
group-FlexBook 0:fa7450a43b99 43 /**
group-FlexBook 0:fa7450a43b99 44 turn the EPD PSU on
group-FlexBook 0:fa7450a43b99 45 @param[in] psu pl_epdpsu instance
group-FlexBook 0:fa7450a43b99 46 @return -1 if an error occured, 0 otherwise
group-FlexBook 0:fa7450a43b99 47 */
group-FlexBook 0:fa7450a43b99 48 int (*on)(struct pl_epdpsu *psu);
group-FlexBook 0:fa7450a43b99 49
group-FlexBook 0:fa7450a43b99 50 /**
group-FlexBook 0:fa7450a43b99 51 turn the EPD PSU off
group-FlexBook 0:fa7450a43b99 52 @param[in] psu pl_epdpsu instance
group-FlexBook 0:fa7450a43b99 53 @return -1 if an error occured, 0 otherwise
group-FlexBook 0:fa7450a43b99 54 */
group-FlexBook 0:fa7450a43b99 55 int (*off)(struct pl_epdpsu *psu);
group-FlexBook 0:fa7450a43b99 56
group-FlexBook 0:fa7450a43b99 57 int state; /**< current power state (1=on, 0=off) */
group-FlexBook 0:fa7450a43b99 58 void *data; /**< private data for the implementation */
group-FlexBook 0:fa7450a43b99 59 };
group-FlexBook 0:fa7450a43b99 60
group-FlexBook 0:fa7450a43b99 61 /** Generic GPIO-based implementation */
group-FlexBook 0:fa7450a43b99 62 struct pl_epdpsu_gpio {
group-FlexBook 0:fa7450a43b99 63 struct pl_gpio *gpio; /**< pl_gpio instance to control the GPIOs */
group-FlexBook 0:fa7450a43b99 64 unsigned hv_en; /**< GPIO number to turn the power on/off */
group-FlexBook 0:fa7450a43b99 65 unsigned com_close; /**< GPIO number to close the COM switch */
group-FlexBook 0:fa7450a43b99 66 unsigned pok; /**< GPIO number to read Power OK */
group-FlexBook 0:fa7450a43b99 67 unsigned flt; /**< GPIO number to read Power FLT status */
group-FlexBook 0:fa7450a43b99 68 unsigned timeout_ms; /**< Maximum time in ms to wait for POK */
group-FlexBook 0:fa7450a43b99 69 unsigned on_delay_ms; /**< Delay after turning the power on */
group-FlexBook 0:fa7450a43b99 70 unsigned off_delay_ms;/**< Delay after turning the power off */
group-FlexBook 0:fa7450a43b99 71 };
group-FlexBook 0:fa7450a43b99 72
group-FlexBook 0:fa7450a43b99 73 /**
group-FlexBook 0:fa7450a43b99 74 Initialise a pl_epdpsu instance with generic GPIO-based implamentation.
group-FlexBook 0:fa7450a43b99 75
group-FlexBook 0:fa7450a43b99 76 Both the pl_epdpsu and pl_epdpsu_gpio structures need to be managed by the
group-FlexBook 0:fa7450a43b99 77 caller, so they can be either on the heap or the caller's stack.
group-FlexBook 0:fa7450a43b99 78
group-FlexBook 0:fa7450a43b99 79 @param[in] psu pl_epdpsu instance
group-FlexBook 0:fa7450a43b99 80 @param[in] p pl_epdpsu_gpio instance
group-FlexBook 0:fa7450a43b99 81 @return -1 if an error occured, 0 otherwise
group-FlexBook 0:fa7450a43b99 82 */
group-FlexBook 0:fa7450a43b99 83 extern int pl_epdpsu_gpio_init(struct pl_epdpsu *psu,
group-FlexBook 0:fa7450a43b99 84 struct pl_epdpsu_gpio *p);
group-FlexBook 0:fa7450a43b99 85
group-FlexBook 0:fa7450a43b99 86 /**
group-FlexBook 0:fa7450a43b99 87 Initialise a pl_epdpsu instance to use the generic epdc->set_epd_power
group-FlexBook 0:fa7450a43b99 88
group-FlexBook 0:fa7450a43b99 89 @param[in] psu pl_epdpsu instance
group-FlexBook 0:fa7450a43b99 90 @param[in] epdc pl_epdc instance
group-FlexBook 0:fa7450a43b99 91 @return -1 if an error occured, 0 otherwise
group-FlexBook 0:fa7450a43b99 92 */
group-FlexBook 0:fa7450a43b99 93 extern int pl_epdpsu_epdc_init(struct pl_epdpsu *psu, struct pl_epdc *epdc);
group-FlexBook 0:fa7450a43b99 94
group-FlexBook 0:fa7450a43b99 95 #if PL_EPDPSU_STUB
group-FlexBook 0:fa7450a43b99 96 /** Initialise an pl_epdpsu instance with stub implementation.
group-FlexBook 0:fa7450a43b99 97
group-FlexBook 0:fa7450a43b99 98 This is especially useful with automatic power control or for debugging.
group-FlexBook 0:fa7450a43b99 99
group-FlexBook 0:fa7450a43b99 100 @param[in] psu pl_epdpsu instance
group-FlexBook 0:fa7450a43b99 101 @return 0 unless something went really wrong
group-FlexBook 0:fa7450a43b99 102 */
group-FlexBook 0:fa7450a43b99 103 extern int pl_epdpsu_stub_init(struct pl_epdpsu *psu);
group-FlexBook 0:fa7450a43b99 104 #endif
group-FlexBook 0:fa7450a43b99 105
group-FlexBook 0:fa7450a43b99 106 #endif /* INCLUDE_PL_EPDPSU_H */