PokittoLib with changes to lcd refresh etc.

Dependents:   Pokittris

Fork of Pokitto by Pokitto Community Team

This is a fork by user @Spinal, and is used in Pokittris for testing. Do not import this to your own program.

Committer:
Pokitto
Date:
Sat Oct 07 21:31:12 2017 +0000
Revision:
5:7e5c566b1760
mbed-pokitto integrated

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pokitto 5:7e5c566b1760 1 /* mbed Microcontroller Library
Pokitto 5:7e5c566b1760 2 * Copyright (c) 2006-2013 ARM Limited
Pokitto 5:7e5c566b1760 3 *
Pokitto 5:7e5c566b1760 4 * Licensed under the Apache License, Version 2.0 (the "License");
Pokitto 5:7e5c566b1760 5 * you may not use this file except in compliance with the License.
Pokitto 5:7e5c566b1760 6 * You may obtain a copy of the License at
Pokitto 5:7e5c566b1760 7 *
Pokitto 5:7e5c566b1760 8 * http://www.apache.org/licenses/LICENSE-2.0
Pokitto 5:7e5c566b1760 9 *
Pokitto 5:7e5c566b1760 10 * Unless required by applicable law or agreed to in writing, software
Pokitto 5:7e5c566b1760 11 * distributed under the License is distributed on an "AS IS" BASIS,
Pokitto 5:7e5c566b1760 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Pokitto 5:7e5c566b1760 13 * See the License for the specific language governing permissions and
Pokitto 5:7e5c566b1760 14 * limitations under the License.
Pokitto 5:7e5c566b1760 15 */
Pokitto 5:7e5c566b1760 16 #ifndef MBED_TIMER_H
Pokitto 5:7e5c566b1760 17 #define MBED_TIMER_H
Pokitto 5:7e5c566b1760 18
Pokitto 5:7e5c566b1760 19 #include "platform.h"
Pokitto 5:7e5c566b1760 20 #include "ticker_api.h"
Pokitto 5:7e5c566b1760 21
Pokitto 5:7e5c566b1760 22 namespace mbed {
Pokitto 5:7e5c566b1760 23
Pokitto 5:7e5c566b1760 24 /** A general purpose timer
Pokitto 5:7e5c566b1760 25 *
Pokitto 5:7e5c566b1760 26 * Example:
Pokitto 5:7e5c566b1760 27 * @code
Pokitto 5:7e5c566b1760 28 * // Count the time to toggle a LED
Pokitto 5:7e5c566b1760 29 *
Pokitto 5:7e5c566b1760 30 * #include "mbed.h"
Pokitto 5:7e5c566b1760 31 *
Pokitto 5:7e5c566b1760 32 * Timer timer;
Pokitto 5:7e5c566b1760 33 * DigitalOut led(LED1);
Pokitto 5:7e5c566b1760 34 * int begin, end;
Pokitto 5:7e5c566b1760 35 *
Pokitto 5:7e5c566b1760 36 * int main() {
Pokitto 5:7e5c566b1760 37 * timer.start();
Pokitto 5:7e5c566b1760 38 * begin = timer.read_us();
Pokitto 5:7e5c566b1760 39 * led = !led;
Pokitto 5:7e5c566b1760 40 * end = timer.read_us();
Pokitto 5:7e5c566b1760 41 * printf("Toggle the led takes %d us", end - begin);
Pokitto 5:7e5c566b1760 42 * }
Pokitto 5:7e5c566b1760 43 * @endcode
Pokitto 5:7e5c566b1760 44 */
Pokitto 5:7e5c566b1760 45 class Timer {
Pokitto 5:7e5c566b1760 46
Pokitto 5:7e5c566b1760 47 public:
Pokitto 5:7e5c566b1760 48 Timer();
Pokitto 5:7e5c566b1760 49 Timer(const ticker_data_t *data);
Pokitto 5:7e5c566b1760 50
Pokitto 5:7e5c566b1760 51 /** Start the timer
Pokitto 5:7e5c566b1760 52 */
Pokitto 5:7e5c566b1760 53 void start();
Pokitto 5:7e5c566b1760 54
Pokitto 5:7e5c566b1760 55 /** Stop the timer
Pokitto 5:7e5c566b1760 56 */
Pokitto 5:7e5c566b1760 57 void stop();
Pokitto 5:7e5c566b1760 58
Pokitto 5:7e5c566b1760 59 /** Reset the timer to 0.
Pokitto 5:7e5c566b1760 60 *
Pokitto 5:7e5c566b1760 61 * If it was already counting, it will continue
Pokitto 5:7e5c566b1760 62 */
Pokitto 5:7e5c566b1760 63 void reset();
Pokitto 5:7e5c566b1760 64
Pokitto 5:7e5c566b1760 65 /** Get the time passed in seconds
Pokitto 5:7e5c566b1760 66 */
Pokitto 5:7e5c566b1760 67 float read();
Pokitto 5:7e5c566b1760 68
Pokitto 5:7e5c566b1760 69 /** Get the time passed in mili-seconds
Pokitto 5:7e5c566b1760 70 */
Pokitto 5:7e5c566b1760 71 int read_ms();
Pokitto 5:7e5c566b1760 72
Pokitto 5:7e5c566b1760 73 /** Get the time passed in micro-seconds
Pokitto 5:7e5c566b1760 74 */
Pokitto 5:7e5c566b1760 75 int read_us();
Pokitto 5:7e5c566b1760 76
Pokitto 5:7e5c566b1760 77 #ifdef MBED_OPERATORS
Pokitto 5:7e5c566b1760 78 operator float();
Pokitto 5:7e5c566b1760 79 #endif
Pokitto 5:7e5c566b1760 80
Pokitto 5:7e5c566b1760 81 protected:
Pokitto 5:7e5c566b1760 82 int slicetime();
Pokitto 5:7e5c566b1760 83 int _running; // whether the timer is running
Pokitto 5:7e5c566b1760 84 unsigned int _start; // the start time of the latest slice
Pokitto 5:7e5c566b1760 85 int _time; // any accumulated time from previous slices
Pokitto 5:7e5c566b1760 86 const ticker_data_t *_ticker_data;
Pokitto 5:7e5c566b1760 87 };
Pokitto 5:7e5c566b1760 88
Pokitto 5:7e5c566b1760 89 } // namespace mbed
Pokitto 5:7e5c566b1760 90
Pokitto 5:7e5c566b1760 91 #endif