#include "buzzerdrv.h"
|
//---------------------------------------------------------------------------------------
|
#include <stdio.h>
|
#include <sys/types.h>
|
|
#define DEV_GPIO3 "/dev/gpiochip3"
|
|
#define LINES_NUM_OUT 1
|
|
#define LINE_OFFSET0_OUT 5 //PD05
|
|
static int lines_offsets_out[LINES_NUM_OUT] = {LINE_OFFSET0_OUT};
|
|
static Gpio_Driver *buzzer_gpio;
|
|
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|
int BuzzerDrv::init_buzzer_gpio()
|
{
|
int ret = 0;
|
|
buzzer_gpio = new Gpio_Driver(DEV_GPIO3);
|
ret = buzzer_gpio->Gpio_Init(lines_offsets_out,LINES_NUM_OUT);
|
|
buzzer_gpio->Gpio_SetLevel(0,false);
|
|
return ret;
|
}
|
|
|
BuzzerDrv::~BuzzerDrv()
|
{
|
wait();
|
}
|
//---------------------------------------------------------------------
|
void BuzzerDrv::run()
|
{
|
#if (PLATFORM_USED==PLATFORM_ARM)
|
buzzer_gpio->Gpio_SetLevel(0,true);
|
msleep(beep_ms);
|
buzzer_gpio->Gpio_SetLevel(0,false);
|
|
#endif
|
}
|
//---------------------------------------------------------------------------------------
|
void BuzzerDrv::BuzzerBeep(const unsigned int ms)
|
{
|
beep_ms = ms;
|
if(beep_ms > 10000)
|
beep_ms = 10000;
|
|
this->start();
|
}
|
//---------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------
|