/*================================================================ Copyright (c) 2022, Quectel Wireless Solutions Co., Ltd. All rights reserved. Quectel Wireless Solutions Proprietary and Confidential. =================================================================*/ /*================================================================= EDIT HISTORY FOR MODULE This section contains comments describing changes made to the module. Notice that changes are listed in reverse chronological order. WHEN WHO WHAT, WHERE, WHY ------------ ------- ------------------------------------------------------------------------------- 19/04/2022 Fias.fan Added PWM interface =================================================================*/ #ifndef _QUEC_PWM_H #define _QUEC_PWM_H //#include "pwm.h" #include "quec_common.h" //#include "quec_memory.h" #include "quec_debug.h" #include "quec_cust_feature.h" #ifdef __cplusplus extern "C" { #endif #if defined QUEC_PWM_ENBALE #define QUEC_PWM_LOG_ENABLE #define QUEC_PWM_CLK_FREQ_DEFAULT 203125 #define QUEC_DATA_TRANSFOR_POLLING_TIMR 5000 //5s //#define QUEC_NET_STATUS_PWM PWM_DEVICE_2 typedef struct lwip_data_tx_rx_struct { unsigned long long rx_all; unsigned long long tx_all; }Lwip_data_tx_rx; extern UINT8 quec_pwm_datatransfor_flag; extern unsigned long long quec_globle_rx_byte_all; extern unsigned long long quec_globle_tx_byte_all; extern unsigned char quec_net_status_pwm; extern QuecOSStatus quec_pwm_init(void); extern QuecOSStatus quec_net_datatransfor_polling_timer_start(void); extern void quec_net_datatransfor_polling_timer_cb(void); typedef enum { QUEC_PWM_CLK_SRC_13M, QUEC_PWM_CLK_SRC_32K, }QUEC_PWM_CLK_SRC_E; typedef struct { unsigned long pwm_psc; //(value:1~64) example:choose 13 MHz, maximum is 13000000/1=13 MHz, minimum is 13000000/64 = 203,125 KHz. unsigned short high_one_cycle_duration; //Time that PWM_OUT puls is high in term of "clk_freq" define above. This value is written to PWDUTY register. unsigned short total_one_cycle_duration; //(1