Mbed SDK for XRange SX1272 LoRa module

Dependents:   XRangePingPong XRange-LoRaWAN-lmic-app lora-transceiver

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers us_ticker_api.h Source File

us_ticker_api.h

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2006-2013 ARM Limited
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #ifndef MBED_US_TICKER_API_H
00017 #define MBED_US_TICKER_API_H
00018 
00019 #include <stdint.h>
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00025 typedef uint64_t timestamp_t;
00026 
00027 uint32_t us_ticker_read(void);
00028 
00029 typedef void (*ticker_event_handler)(uint32_t id);
00030 void us_ticker_set_handler(ticker_event_handler handler);
00031 
00032 typedef struct ticker_event_s {
00033     timestamp_t            timestamp;
00034     uint32_t               id;
00035     struct ticker_event_s *next;
00036 } ticker_event_t;
00037 
00038 void us_ticker_init(void);
00039 void us_ticker_set_interrupt(timestamp_t timestamp);
00040 void us_ticker_disable_interrupt(void);
00041 void us_ticker_clear_interrupt(void);
00042 void us_ticker_irq_handler(void);
00043 
00044 void us_ticker_insert_event(ticker_event_t *obj, timestamp_t timestamp, uint32_t id);
00045 void us_ticker_remove_event(ticker_event_t *obj);
00046 
00047 #ifdef __cplusplus
00048 }
00049 #endif
00050 
00051 #endif