#include "buzzerdrv.h" //--------------------------------------------------------------------------------------- #include #include #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(); } //--------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------