111 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			111 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /****************************************************************************
 | ||
|  | 
 | ||
|  | Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. | ||
|  | 
 | ||
|  | This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT | ||
|  | be copied by any method or incorporated into another program without | ||
|  | the express written consent of Aerospace C.Power. This Information or any portion | ||
|  | thereof remains the property of Aerospace C.Power. The Information contained herein | ||
|  | is believed to be accurate and Aerospace C.Power assumes no responsibility or | ||
|  | liability for its use in any way and conveys no license or title under | ||
|  | any patent or copyright and makes no representation or warranty that this | ||
|  | Information is free from patent or copyright infringement. | ||
|  | 
 | ||
|  | ****************************************************************************/ | ||
|  | #ifndef __BB_CPU_TIMER_H__
 | ||
|  | #define __BB_CPU_TIMER_H__
 | ||
|  | 
 | ||
|  | /* os shim includes */ | ||
|  | #include "os_types.h"
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* define max timer id */ | ||
|  | #define BB_CPU_TIMER_MAX_ID                     32
 | ||
|  | /* define max time of timer, 0xFFFFFFFF ntb */ | ||
|  | #define BB_CPU_TIMER_MAX_TIME_US                171000000
 | ||
|  | /* define the time of reset rx immediatily, unit us */ | ||
|  | #define BB_CPU_RESET_RX_IMME                    1
 | ||
|  | 
 | ||
|  | /*********************** define timer id ***********************/ | ||
|  | /* timer of tx */ | ||
|  | #define TIMER_OF_TX                             0
 | ||
|  | /* timer of rx */ | ||
|  | #define TIMER_OF_RX                             1
 | ||
|  | /* timer of wait sack */ | ||
|  | #define TIMER_OF_WAIT_SACK                      2
 | ||
|  | /* timer of reset */ | ||
|  | #define TIMER_OF_RST                            3
 | ||
|  | /* timer of vcs */ | ||
|  | #define TIMER_OF_VCS                            4
 | ||
|  | 
 | ||
|  | /*********************** timer interruption id ***********************/ | ||
|  | /* generate from bb cpu when bb tx timeout */ | ||
|  | #define BB_CPU_ISR_TX_TIMEOUT_ID                TIMER_OF_TX
 | ||
|  | /* generate from bb cpu when bb rx timeout */ | ||
|  | #define BB_CPU_ISR_RX_TIMEOUT_ID                TIMER_OF_RX
 | ||
|  | /* generate from bb cpu when bb rx timeout */ | ||
|  | #define BB_CPU_ISR_WAIT_SACK_TIMEOUT_ID         TIMER_OF_WAIT_SACK
 | ||
|  | /* generate from bb cpu when bb reset timeout */ | ||
|  | #define BB_CPU_ISR_RST_TIMEOUT_ID               TIMER_OF_RST
 | ||
|  | /* generate from bb cpu when vcs timer timeout */ | ||
|  | #define BB_CPU_ISR_VCS_TIMEOUT_ID               TIMER_OF_VCS
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief bb_cpu_timer_get_timeout_id()    - bb cpu get timeout timerid. | ||
|  |  * @param void                      - void. | ||
|  |  * @return uint32_t                 - timer id. | ||
|  |  */ | ||
|  | uint32_t bb_cpu_timer_get_timeout_id(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief bb_cpu_timer_clr_timeout_id()    - bb cpu clear timeout timerid. | ||
|  |  * @param timer_sts                        - timer sts. | ||
|  |  * @return void                            - void. | ||
|  |  */ | ||
|  | void bb_cpu_timer_clr_timeout_id(uint32_t timer_sts); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief bb_cpu_timer_enable()            - bb cpu timer enable. | ||
|  |  * @param void                             - void. | ||
|  |  * @return void                            - void. | ||
|  |  */ | ||
|  | void bb_cpu_timer_enable(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief bb_cpu_timer_disable()           - bb cpu timer disable. | ||
|  |  * @param void                             - void. | ||
|  |  * @return void                            - void. | ||
|  |  */ | ||
|  | void bb_cpu_timer_disable(); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief bb_cpu_timer_start()             - bb cpu timer start. | ||
|  |  * @param timer_id                         - timer id. | ||
|  |  * @return void                            - void. | ||
|  |  */ | ||
|  | void bb_cpu_timer_start(uint32_t timer_id); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief bb_cpu_timer_stop()              - bb cpu timer stop. | ||
|  |  * @param timer_id                         - timer id. | ||
|  |  * @return void                            - void. | ||
|  |  */ | ||
|  | void bb_cpu_timer_stop(uint32_t timer_id); | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @brief bb_cpu_timer_set()            - bb cpu timer set time value. | ||
|  |  * @param timer_id                      - timer id. | ||
|  |  * @param time_ms                       - timer uint us. | ||
|  |  * @return void                         - void. | ||
|  |  */ | ||
|  | void bb_cpu_timer_set(uint32_t timer_id, uint32_t time_us); | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif // !__BB_CPU_TIMER_H__
 |