Platform drivers for Mbed.
Dependents: EVAL-CN0535-FMCZ EVAL-CN0535-FMCZ EVAL-AD568x-AD569x EVAL-AD7606 ... more
pwm_extra.h@20:4951ea6abee5, 2021-11-29 (annotated)
- Committer:
- Kjansen
- Date:
- Mon Nov 29 12:39:54 2021 +0000
- Revision:
- 20:4951ea6abee5
- Parent:
- 17:af1f2416dd26
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
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 |
---|---|---|---|
mahphalke |
17:af1f2416dd26 | 1 | /***************************************************************************//** |
mahphalke |
17:af1f2416dd26 | 2 | * @file pwm_extra.h |
mahphalke |
17:af1f2416dd26 | 3 | * @brief: Header containing extra types required for Mbed PWM interface |
mahphalke |
17:af1f2416dd26 | 4 | ******************************************************************************** |
mahphalke |
17:af1f2416dd26 | 5 | * Copyright (c) 2021 Analog Devices, Inc. |
mahphalke |
17:af1f2416dd26 | 6 | * |
mahphalke |
17:af1f2416dd26 | 7 | * All rights reserved. |
mahphalke |
17:af1f2416dd26 | 8 | * |
mahphalke |
17:af1f2416dd26 | 9 | * This software is proprietary to Analog Devices, Inc. and its licensors. |
mahphalke |
17:af1f2416dd26 | 10 | * By using this software you agree to the terms of the associated |
mahphalke |
17:af1f2416dd26 | 11 | * Analog Devices Software License Agreement. |
mahphalke |
17:af1f2416dd26 | 12 | *******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 13 | |
mahphalke |
17:af1f2416dd26 | 14 | #ifndef PWM_EXTRA_H |
mahphalke |
17:af1f2416dd26 | 15 | #define PWM_EXTRA_H |
mahphalke |
17:af1f2416dd26 | 16 | |
mahphalke |
17:af1f2416dd26 | 17 | // Platform support needs to be C-compatible to work with other drivers |
mahphalke |
17:af1f2416dd26 | 18 | #ifdef __cplusplus |
mahphalke |
17:af1f2416dd26 | 19 | extern "C" |
mahphalke |
17:af1f2416dd26 | 20 | { |
mahphalke |
17:af1f2416dd26 | 21 | #endif |
mahphalke |
17:af1f2416dd26 | 22 | |
mahphalke |
17:af1f2416dd26 | 23 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 24 | /***************************** Include Files **********************************/ |
mahphalke |
17:af1f2416dd26 | 25 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 26 | |
mahphalke |
17:af1f2416dd26 | 27 | #include <stdio.h> |
mahphalke |
17:af1f2416dd26 | 28 | |
mahphalke |
17:af1f2416dd26 | 29 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 30 | /********************** Macros and Constants Definitions **********************/ |
mahphalke |
17:af1f2416dd26 | 31 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 32 | |
mahphalke |
17:af1f2416dd26 | 33 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 34 | /********************** Variables and User defined data types *****************/ |
mahphalke |
17:af1f2416dd26 | 35 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 36 | |
Kjansen |
20:4951ea6abee5 | 37 | typedef struct { |
Kjansen |
20:4951ea6abee5 | 38 | uint16_t pwm_pin; // PWM pin number |
Kjansen |
20:4951ea6abee5 | 39 | } mbed_pwm_init_param; |
Kjansen |
20:4951ea6abee5 | 40 | |
mahphalke |
17:af1f2416dd26 | 41 | struct mbed_pwm_desc { |
mahphalke |
17:af1f2416dd26 | 42 | void *pwm_obj; /* Mbed PWM instance/object */ |
mahphalke |
17:af1f2416dd26 | 43 | }; |
mahphalke |
17:af1f2416dd26 | 44 | |
mahphalke |
17:af1f2416dd26 | 45 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 46 | /************************ Public Declarations *********************************/ |
mahphalke |
17:af1f2416dd26 | 47 | /******************************************************************************/ |
mahphalke |
17:af1f2416dd26 | 48 | |
mahphalke |
17:af1f2416dd26 | 49 | #ifdef __cplusplus // Closing extern c |
mahphalke |
17:af1f2416dd26 | 50 | } |
mahphalke |
17:af1f2416dd26 | 51 | #endif |
mahphalke |
17:af1f2416dd26 | 52 | |
mahphalke |
17:af1f2416dd26 | 53 | #endif /* PWM_EXTRA_H */ |