From 89e30aefde8ab1b08d4c9477d82fc658a8666df7 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Wed, 03 Nov 2021 23:06:35 +0800 Subject: [PATCH] remove beep.c --- /dev/null | 257 --------------------------------------------------- 1 files changed, 0 insertions(+), 257 deletions(-) diff --git a/modules/c/beep.c b/modules/c/beep.c deleted file mode 100644 index b26011c..0000000 --- a/modules/c/beep.c +++ /dev/null @@ -1,257 +0,0 @@ -/********************************************************************************* - * Copyright: (C) 2018 LingYun IoT System Studio - * All rights reserved. - * - * Filename: led.c - * Description: This file is used to control Passive buzzer or Active buzzer - * - * pi@raspberrypi:~ $ gpio readall show BCM and wPi pinmap - * - * VCC ---- 5V/3.3V - * GND ---- GND - * I/O ---- GPIO.18 ---- GPIO.1 - * BCM wPi - * - * Version: 1.0.0(2018/10/14) - * Author: Guo Wenxue <guowenxue@gmail.com> - * ChangeLog: 1, Release initial version on "2018/10/14 12:13:26" - * - ********************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <fcntl.h> -#include <dirent.h> -#include <string.h> -#include <time.h> -#include <errno.h> - -#include <wiringPi.h> -#include "beep.h" - -//#define CONFIG_ACTV_BEEP - -/* Only passive buzzer can play tone */ -#ifndef CONFIG_ACTV_BEEP -#define CONFIG_PLAY_LITTLE_STAR -//#define CONFIG_PLAY_TONE_TEST -#endif - -void play_tone_freq(void); -void play_little_star(void); - -int main(int argc, char *argv[]) -{ - wiringPiSetup(); - -#ifdef CONFIG_PLAY_LITTLE_STAR - while(1) - { - play_little_star(); - sleep(3); - } -#elif (defined CONFIG_PLAY_TONE_TEST) - while(1) - { - play_tone_freq(); - sleep(3); - } -#else - - while(1) - { -#ifdef CONFIG_ACTV_BEEP - turn_active_beep(ON); -#else - turn_passive_beep(ON, BEEP_FREQ); -#endif - sleep(1); - -#ifdef CONFIG_ACTV_BEEP - turn_active_beep(OFF); -#else - turn_passive_beep(OFF, BEEP_FREQ); -#endif - sleep(1); - } -#endif - - - return 0; -} - -/*+-----------------------------+ - *| Turn buzzer on or off API | - *+-----------------------------+*/ - - -int turn_passive_beep(int cmd, int freq) -{ - int range; - - if(OFF == cmd) - { - pwmWrite(PWM_PIN, 0); - pinMode(PWM_PIN, INPUT) ; - } - else - { - - if(freq<2000 || freq>5000) - { - printf("Beep set invalid PWM frequency[%d]!\n", freq); - return -1; - } - - /* Set GPIO as PWM output mode */ - pinMode(PWM_PIN, PWM_OUTPUT) ; - - /* Set PWM mode as ms mode */ - pwmSetMode(PWM_MODE_MS); - - /* Set PWM clock: 19.2MHz/32=600KHz */ - pwmSetClock(32); - - /* Set PWM frequency */ - range=600000/freq; - pwmSetRange(range); - - /* Set PWM duty 50% */ - pwmWrite(PWM_PIN, range/2); - } -} - - -/* Turn ON/OFF buzzer, Active Buzzer can not set frequency */ -int turn_active_beep(int cmd) -{ - - /* Active buzzer VCC connect to: - 5V: Both high and low level will be on - 3.3V: Low level be on and High level be off - - So we use INPUT or OUTPUT to control the Beeper - */ - if(OFF == cmd) - { - pinMode(PWM_PIN, INPUT); - } - else - { - pinMode(PWM_PIN, OUTPUT); - digitalWrite(PWM_PIN, LOW); - } - - return 0; -} - - -/*+---------------------------------+ - *| Play Tone OD,RE,MI....XI,DO1 | - *+---------------------------------+*/ - -enum -{ - UNUSED=0, - DO, - RE, - MI, - FA, - SO, - LA, - XI, - DO1, - RI1, - TONE_MAX, -}; - -#define msleep(x) usleep( 1000*(x) ) - -static int tone_freq[TONE_MAX]={0, 2093, 2349, 2637, 2794, 3136, 3520, 3952, 4186, 4698 }; -//static int tone_freq[TONE_MAX]={0, 2000, 2130, 2250, 2360, 2450, 2530, 2620, 2700, 2780}; - -static inline void play_tone(int tone, int delay) -{ - if(tone<DO || tone>RI1) - return ; - - turn_passive_beep(ON, tone_freq[tone]); - msleep(delay); - turn_passive_beep(OFF, 0); -} - -void play_tone_freq(void) -{ - int i; - - for(i=DO; i<TONE_MAX; i++) - { - play_tone( i, 500 ); - msleep(500); - } -} - - -/*+------------------------------+ - *| Play song "Little Start" | - *+------------------------------+*/ - -typedef struct tone_s -{ - int tone; - int delay_ms; - -} tone_t; - -#define DEF_DELAY 350 -static tone_t little_start_notation[]= -{ - {DO, DEF_DELAY}, - {DO, DEF_DELAY}, - {SO, DEF_DELAY}, - {SO, DEF_DELAY}, - {LA, DEF_DELAY}, - {LA, DEF_DELAY}, - {SO, DEF_DELAY*2}, - - {FA, DEF_DELAY}, - {FA, DEF_DELAY}, - {MI, DEF_DELAY}, - {MI, DEF_DELAY}, - {RE, DEF_DELAY}, - {RE, DEF_DELAY}, - {DO, DEF_DELAY*2}, - - - {SO, DEF_DELAY}, - {SO, DEF_DELAY}, - {FA, DEF_DELAY}, - {FA, DEF_DELAY}, - {MI, DEF_DELAY}, - {MI, DEF_DELAY}, - {RE, DEF_DELAY*2}, - - - {SO, DEF_DELAY}, - {SO, DEF_DELAY}, - {FA, DEF_DELAY}, - {FA, DEF_DELAY}, - {MI, DEF_DELAY}, - {MI, DEF_DELAY}, - {RE, DEF_DELAY*2}, -}; - -#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) -void play_little_star(void) -{ - int i; - - for(i=0; i<ARRAY_SIZE(little_start_notation); i++) - { - play_tone(little_start_notation[i].tone, little_start_notation[i].delay_ms); - msleep(30); - } -} - - -- Gitblit v1.9.1