test

Dependents:   robotic_fish_6

Committer:
juansal12
Date:
Fri Dec 03 23:00:34 2021 +0000
Revision:
0:c792b17d9f78
uploaded sofi code ;

Who changed what in which revision?

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