Nothing Special / mbed-STM32F030F4

Dependents:   STM32F031_blink_LED_2

Committer:
mega64
Date:
Tue Feb 14 21:52:10 2017 +0000
Revision:
11:79a2d67cd509
Parent:
0:38ccae254a29
repair the effects of improvements in the mbed environment (Ch.1, serial_set_flow_control )

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mega64 0:38ccae254a29 1 /* mbed Microcontroller Library
mega64 0:38ccae254a29 2 * Copyright (c) 2006-2013 ARM Limited
mega64 0:38ccae254a29 3 *
mega64 0:38ccae254a29 4 * Licensed under the Apache License, Version 2.0 (the "License");
mega64 0:38ccae254a29 5 * you may not use this file except in compliance with the License.
mega64 0:38ccae254a29 6 * You may obtain a copy of the License at
mega64 0:38ccae254a29 7 *
mega64 0:38ccae254a29 8 * http://www.apache.org/licenses/LICENSE-2.0
mega64 0:38ccae254a29 9 *
mega64 0:38ccae254a29 10 * Unless required by applicable law or agreed to in writing, software
mega64 0:38ccae254a29 11 * distributed under the License is distributed on an "AS IS" BASIS,
mega64 0:38ccae254a29 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mega64 0:38ccae254a29 13 * See the License for the specific language governing permissions and
mega64 0:38ccae254a29 14 * limitations under the License.
mega64 0:38ccae254a29 15 */
mega64 0:38ccae254a29 16 #ifndef MBED_TIMEREVENT_H
mega64 0:38ccae254a29 17 #define MBED_TIMEREVENT_H
mega64 0:38ccae254a29 18
mega64 0:38ccae254a29 19 #include "us_ticker_api.h"
mega64 0:38ccae254a29 20
mega64 0:38ccae254a29 21 namespace mbed {
mega64 0:38ccae254a29 22
mega64 0:38ccae254a29 23 /** Base abstraction for timer interrupts
mega64 0:38ccae254a29 24 */
mega64 0:38ccae254a29 25 class TimerEvent {
mega64 0:38ccae254a29 26 public:
mega64 0:38ccae254a29 27 TimerEvent();
mega64 0:38ccae254a29 28
mega64 0:38ccae254a29 29 /** The handler registered with the underlying timer interrupt
mega64 0:38ccae254a29 30 */
mega64 0:38ccae254a29 31 static void irq(uint32_t id);
mega64 0:38ccae254a29 32
mega64 0:38ccae254a29 33 /** Destruction removes it...
mega64 0:38ccae254a29 34 */
mega64 0:38ccae254a29 35 virtual ~TimerEvent();
mega64 0:38ccae254a29 36
mega64 0:38ccae254a29 37 protected:
mega64 0:38ccae254a29 38 // The handler called to service the timer event of the derived class
mega64 0:38ccae254a29 39 virtual void handler() = 0;
mega64 0:38ccae254a29 40
mega64 0:38ccae254a29 41 // insert in to linked list
mega64 0:38ccae254a29 42 void insert(timestamp_t timestamp);
mega64 0:38ccae254a29 43
mega64 0:38ccae254a29 44 // remove from linked list, if in it
mega64 0:38ccae254a29 45 void remove();
mega64 0:38ccae254a29 46
mega64 0:38ccae254a29 47 ticker_event_t event;
mega64 0:38ccae254a29 48 };
mega64 0:38ccae254a29 49
mega64 0:38ccae254a29 50 } // namespace mbed
mega64 0:38ccae254a29 51
mega64 0:38ccae254a29 52 #endif