Forked repo of Platform Drivers- Analog Devices
timer_extra.h@20:26b1a4570f4b, 2021-11-22 (annotated)
- Committer:
- Janani Sunil
- Date:
- Mon Nov 22 22:26:51 2021 +0530
- Revision:
- 20:26b1a4570f4b
The following changes were made:
1.) Modified udelay() function for generating more accurate smaller usec delays
2.) Implemented the irq_enable and irq_disable functions
3.) Removed the confusion b/w application created peripheral object and interrupt specific object
4.) Created PWM extra init structure and added PWM pin as it's member for multiplatform project compatibility
5.) Added a module for timer and its related header file
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Janani Sunil | 20:26b1a4570f4b | 1 | /***************************************************************************//* |
Janani Sunil | 20:26b1a4570f4b | 2 | * @file timer_extra.h |
Janani Sunil | 20:26b1a4570f4b | 3 | * @brief Header containing extra types for Timer interface |
Janani Sunil | 20:26b1a4570f4b | 4 | ****************************************************************************** |
Janani Sunil | 20:26b1a4570f4b | 5 | * Copyright (c) 2021 Analog Devices, Inc. |
Janani Sunil | 20:26b1a4570f4b | 6 | * All rights reserved. |
Janani Sunil | 20:26b1a4570f4b | 7 | * |
Janani Sunil | 20:26b1a4570f4b | 8 | * This software is proprietary to Analog Devices, Inc. and its licensors. |
Janani Sunil | 20:26b1a4570f4b | 9 | * By using this software you agree to the terms of the associated |
Janani Sunil | 20:26b1a4570f4b | 10 | * Analog Devices Software License Agreement. |
Janani Sunil | 20:26b1a4570f4b | 11 | ******************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 12 | |
Janani Sunil | 20:26b1a4570f4b | 13 | #ifndef _TIMER_EXTRA_H_ |
Janani Sunil | 20:26b1a4570f4b | 14 | #define _TIMER_EXTRA_H_ |
Janani Sunil | 20:26b1a4570f4b | 15 | |
Janani Sunil | 20:26b1a4570f4b | 16 | // Platform support needs to be C-compatible to work with other drivers |
Janani Sunil | 20:26b1a4570f4b | 17 | #ifdef __cplusplus |
Janani Sunil | 20:26b1a4570f4b | 18 | extern "C" |
Janani Sunil | 20:26b1a4570f4b | 19 | { |
Janani Sunil | 20:26b1a4570f4b | 20 | #endif |
Janani Sunil | 20:26b1a4570f4b | 21 | |
Janani Sunil | 20:26b1a4570f4b | 22 | /*****************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 23 | /***************************** Include Files *********************************/ |
Janani Sunil | 20:26b1a4570f4b | 24 | /*****************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 25 | |
Janani Sunil | 20:26b1a4570f4b | 26 | #include "stdio.h" |
Janani Sunil | 20:26b1a4570f4b | 27 | #include "stdint.h" |
Janani Sunil | 20:26b1a4570f4b | 28 | |
Janani Sunil | 20:26b1a4570f4b | 29 | /*****************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 30 | /********************** Macros and Constants Definition **********************/ |
Janani Sunil | 20:26b1a4570f4b | 31 | /*****************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 32 | |
Janani Sunil | 20:26b1a4570f4b | 33 | /******************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 34 | /********************** Variables and User defined data types *****************/ |
Janani Sunil | 20:26b1a4570f4b | 35 | /******************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 36 | |
Janani Sunil | 20:26b1a4570f4b | 37 | /** |
Janani Sunil | 20:26b1a4570f4b | 38 | * @struct mbed_timer_desc |
Janani Sunil | 20:26b1a4570f4b | 39 | * @brief Structure holding the mbed specific Timer parameters |
Janani Sunil | 20:26b1a4570f4b | 40 | */ |
Janani Sunil | 20:26b1a4570f4b | 41 | typedef struct mbed_timer_desc { |
Janani Sunil | 20:26b1a4570f4b | 42 | void *timer; // Object to the mbed Timer class |
Janani Sunil | 20:26b1a4570f4b | 43 | } mbed_timer_desc; |
Janani Sunil | 20:26b1a4570f4b | 44 | |
Janani Sunil | 20:26b1a4570f4b | 45 | /******************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 46 | /*****************************Function Declarations****************************/ |
Janani Sunil | 20:26b1a4570f4b | 47 | /******************************************************************************/ |
Janani Sunil | 20:26b1a4570f4b | 48 | |
Janani Sunil | 20:26b1a4570f4b | 49 | /* Function to capture the elapsed time in nanoseconds */ |
Janani Sunil | 20:26b1a4570f4b | 50 | int32_t get_elapsed_time_in_nsec(struct timer_desc *desc, |
Janani Sunil | 20:26b1a4570f4b | 51 | uint64_t *elapsed_time); |
Janani Sunil | 20:26b1a4570f4b | 52 | |
Janani Sunil | 20:26b1a4570f4b | 53 | #ifdef __cplusplus // Closing extern c |
Janani Sunil | 20:26b1a4570f4b | 54 | } |
Janani Sunil | 20:26b1a4570f4b | 55 | #endif |
Janani Sunil | 20:26b1a4570f4b | 56 | |
Janani Sunil | 20:26b1a4570f4b | 57 | #endif /*_TIMER_EXTRA_H_ */ |