Unit tests for PWM driver.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include <stdint.h>
#include <stdbool.h>
#include <board.h>
#include <sysclk.h>
#include <pwm.h>
#include <pdc.h>
#include <string.h>
#include <unit_test/suite.h>
#include <stdio_serial.h>
#include <conf_test.h>
#include <conf_board.h>
Macros | |
#define | PERIOD_VALUE 50 |
PWM period value. More... | |
#define | PWM_FREQUENCY 50 |
PWM frequency in Hz. More... | |
Functions | |
static void | delay_ms (uint32_t ul_dly_ticks) |
Delay number of tick Systicks (happens every 1 ms). More... | |
int | main (void) |
Run PWM driver unit tests. More... | |
void | PWM_Handler (void) |
PWM interrupt handler. More... | |
static void | run_pwm_test (const struct test_case *test) |
Test PWM setting. More... | |
void | SysTick_Handler (void) |
SysTick handler. More... | |
Variables | |
pdc_packet_t | g_pdc_tx_packet |
PDC transfer packet. More... | |
static volatile int32_t | gs_l_pwm_period_int_flag = 0U |
static volatile uint32_t | gs_ul_ms_ticks = 0U |
#define PERIOD_VALUE 50 |
PWM period value.
Referenced by run_pwm_test().
#define PWM_FREQUENCY 50 |
PWM frequency in Hz.
Referenced by run_pwm_test().
|
static |
Delay number of tick Systicks (happens every 1 ms).
References gs_ul_ms_ticks.
Referenced by run_pwm_test().
int main | ( | void | ) |
Run PWM driver unit tests.
References uart_rs232_options::baudrate, board_init(), DEFINE_TEST_ARRAY, DEFINE_TEST_CASE, DEFINE_TEST_SUITE, NULL, run_pwm_test(), stdio_serial_init(), sysclk_enable_peripheral_clock(), sysclk_get_cpu_hz(), sysclk_init(), test_suite_run(), and usart_serial_options.
void PWM_Handler | ( | void | ) |
PWM interrupt handler.
References gs_l_pwm_period_int_flag, and pwm_channel_get_interrupt_status().
|
static |
Test PWM setting.
This test sets the PWM APIs.
test | Current test case. |
References pwm_channel_t::channel, delay_ms(), gs_l_pwm_period_int_flag, gs_ul_ms_ticks, pdc_enable_transfer(), pdc_tx_init(), PERIOD_VALUE, pmc_enable_periph_clk(), pwm_channel_disable(), pwm_channel_disable_interrupt(), pwm_channel_enable(), pwm_channel_enable_interrupt(), pwm_channel_init(), PWM_FREQUENCY, pwm_init(), sysclk_get_cpu_hz(), test_assert_true, pdc_packet::ul_addr, pwm_clock_t::ul_clka, pwm_channel_t::ul_prescaler, and pdc_packet::ul_size.
Referenced by main().
void SysTick_Handler | ( | void | ) |
SysTick handler.
References gs_ul_ms_ticks.
pdc_packet_t g_pdc_tx_packet |
PDC transfer packet.
|
static |
Referenced by PWM_Handler(), and run_pwm_test().
|
static |
Referenced by delay_ms(), run_pwm_test(), and SysTick_Handler().