config AX12

Fork of configure_ax12_test_bras_module by CRAC Team

Committer:
clementlignie
Date:
Wed Feb 01 13:42:30 2017 +0000
Revision:
2:91b6646ea994
Parent:
0:c03cffe402df
config AX12

Who changed what in which revision?

UserRevisionLine numberNew contents of line
slowness 0:c03cffe402df 1 /* mbed Microcontroller Library - Timeout
slowness 0:c03cffe402df 2 * Copyright (c) 2007-2009 ARM Limited. All rights reserved.
slowness 0:c03cffe402df 3 */
slowness 0:c03cffe402df 4
slowness 0:c03cffe402df 5 #ifndef MBED_TIMEOUT_H
slowness 0:c03cffe402df 6 #define MBED_TIMEOUT_H
slowness 0:c03cffe402df 7
slowness 0:c03cffe402df 8 #include "Ticker.h"
slowness 0:c03cffe402df 9
slowness 0:c03cffe402df 10 namespace mbed {
slowness 0:c03cffe402df 11
slowness 0:c03cffe402df 12 /* Class: Timeout
slowness 0:c03cffe402df 13 * A Timeout is used to call a function at a point in the future
slowness 0:c03cffe402df 14 *
slowness 0:c03cffe402df 15 * You can use as many seperate Timeout objects as you require.
slowness 0:c03cffe402df 16 *
slowness 0:c03cffe402df 17 * Example:
slowness 0:c03cffe402df 18 * > // Blink until timeout.
slowness 0:c03cffe402df 19 * >
slowness 0:c03cffe402df 20 * > #include "mbed.h"
slowness 0:c03cffe402df 21 * >
slowness 0:c03cffe402df 22 * > Timeout timeout;
slowness 0:c03cffe402df 23 * > DigitalOut led(LED1);
slowness 0:c03cffe402df 24 * >
slowness 0:c03cffe402df 25 * > int on = 1;
slowness 0:c03cffe402df 26 * >
slowness 0:c03cffe402df 27 * > void attimeout() {
slowness 0:c03cffe402df 28 * > on = 0;
slowness 0:c03cffe402df 29 * > }
slowness 0:c03cffe402df 30 * >
slowness 0:c03cffe402df 31 * > int main() {
slowness 0:c03cffe402df 32 * > timeout.attach(&attimeout, 5);
slowness 0:c03cffe402df 33 * > while(on) {
slowness 0:c03cffe402df 34 * > led = !led;
slowness 0:c03cffe402df 35 * > wait(0.2);
slowness 0:c03cffe402df 36 * > }
slowness 0:c03cffe402df 37 * > }
slowness 0:c03cffe402df 38 */
slowness 0:c03cffe402df 39 class Timeout : public Ticker {
slowness 0:c03cffe402df 40
slowness 0:c03cffe402df 41 #if 0 // For documentation
slowness 0:c03cffe402df 42
slowness 0:c03cffe402df 43 /* Function: attach
slowness 0:c03cffe402df 44 * Attach a function to be called by the Timeout, specifiying the delay in seconds
slowness 0:c03cffe402df 45 *
slowness 0:c03cffe402df 46 * Variables:
slowness 0:c03cffe402df 47 * fptr - pointer to the function to be called
slowness 0:c03cffe402df 48 * t - the time before the call in seconds
slowness 0:c03cffe402df 49 */
slowness 0:c03cffe402df 50 void attach(void (*fptr)(void), float t) {
slowness 0:c03cffe402df 51 attach_us(fptr, t * 1000000.0f);
slowness 0:c03cffe402df 52 }
slowness 0:c03cffe402df 53
slowness 0:c03cffe402df 54 /* Function: attach
slowness 0:c03cffe402df 55 * Attach a member function to be called by the Timeout, specifiying the delay in seconds
slowness 0:c03cffe402df 56 *
slowness 0:c03cffe402df 57 * Variables:
slowness 0:c03cffe402df 58 * tptr - pointer to the object to call the member function on
slowness 0:c03cffe402df 59 * mptr - pointer to the member function to be called
slowness 0:c03cffe402df 60 * t - the time before the calls in seconds
slowness 0:c03cffe402df 61 */
slowness 0:c03cffe402df 62 template<typename T>
slowness 0:c03cffe402df 63 void attach(T* tptr, void (T::*mptr)(void), float t) {
slowness 0:c03cffe402df 64 attach_us(tptr, mptr, t * 1000000.0f);
slowness 0:c03cffe402df 65 }
slowness 0:c03cffe402df 66
slowness 0:c03cffe402df 67 /* Function: attach_us
slowness 0:c03cffe402df 68 * Attach a function to be called by the Timeout, specifiying the delay in micro-seconds
slowness 0:c03cffe402df 69 *
slowness 0:c03cffe402df 70 * Variables:
slowness 0:c03cffe402df 71 * fptr - pointer to the function to be called
slowness 0:c03cffe402df 72 * t - the time before the call in micro-seconds
slowness 0:c03cffe402df 73 */
slowness 0:c03cffe402df 74 void attach_us(void (*fptr)(void), unsigned int t) {
slowness 0:c03cffe402df 75 _function.attach(fptr);
slowness 0:c03cffe402df 76 setup(t);
slowness 0:c03cffe402df 77 }
slowness 0:c03cffe402df 78
slowness 0:c03cffe402df 79 /* Function: attach_us
slowness 0:c03cffe402df 80 * Attach a member function to be called by the Timeout, specifiying the delay in micro-seconds
slowness 0:c03cffe402df 81 *
slowness 0:c03cffe402df 82 * Variables:
slowness 0:c03cffe402df 83 * tptr - pointer to the object to call the member function on
slowness 0:c03cffe402df 84 * mptr - pointer to the member function to be called
slowness 0:c03cffe402df 85 * t - the time before the call in micro-seconds
slowness 0:c03cffe402df 86 */
slowness 0:c03cffe402df 87 template<typename T>
slowness 0:c03cffe402df 88 void attach_us(T* tptr, void (T::*mptr)(void), unsigned int t) {
slowness 0:c03cffe402df 89 _function.attach(tptr, mptr);
slowness 0:c03cffe402df 90 setup(t);
slowness 0:c03cffe402df 91 }
slowness 0:c03cffe402df 92
slowness 0:c03cffe402df 93 /* Function: detach
slowness 0:c03cffe402df 94 * Detach the function
slowness 0:c03cffe402df 95 */
slowness 0:c03cffe402df 96 void detach();
slowness 0:c03cffe402df 97
slowness 0:c03cffe402df 98 #endif
slowness 0:c03cffe402df 99
slowness 0:c03cffe402df 100 protected:
slowness 0:c03cffe402df 101
slowness 0:c03cffe402df 102 virtual void handler();
slowness 0:c03cffe402df 103
slowness 0:c03cffe402df 104 };
slowness 0:c03cffe402df 105
slowness 0:c03cffe402df 106 } // namespace mbed
slowness 0:c03cffe402df 107
slowness 0:c03cffe402df 108 #endif