summaryrefslogtreecommitdiffstats
path: root/app/buzzer.c
diff options
context:
space:
mode:
authorroot <root@lamia.panaceas.james.local>2016-08-23 01:56:47 +0100
committerroot <root@lamia.panaceas.james.local>2016-08-23 01:56:47 +0100
commit7b4848824dcec8c5564bd2b11371f9c5f4a04376 (patch)
tree7f6e37645e8916da78a2e02ad4c6e83db5866c43 /app/buzzer.c
parent4dfc42565c2d1f5b900d8d725126bfde886a8423 (diff)
downloadcandlestick-7b4848824dcec8c5564bd2b11371f9c5f4a04376.tar.gz
candlestick-7b4848824dcec8c5564bd2b11371f9c5f4a04376.tar.bz2
candlestick-7b4848824dcec8c5564bd2b11371f9c5f4a04376.zip
working
Diffstat (limited to 'app/buzzer.c')
-rw-r--r--app/buzzer.c150
1 files changed, 0 insertions, 150 deletions
diff --git a/app/buzzer.c b/app/buzzer.c
deleted file mode 100644
index d6f1eb2..0000000
--- a/app/buzzer.c
+++ /dev/null
@@ -1,150 +0,0 @@
-#include "project.h"
-
-static int period;
-static int place;
-int ringing;
-
-
-#define C6 1047
-#define E6 1319
-
-void
-buzzer_on (void)
-{
- gpio_set_mode (GPIOA, GPIO_MODE_OUTPUT_2_MHZ,
- GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_TIM1_CH1);
- gpio_set_mode (GPIOB, GPIO_MODE_OUTPUT_2_MHZ,
- GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_TIM1_CH1N);
-
- timer_reset (TIM1);
-
- timer_set_mode (TIM1, TIM_CR1_CKD_CK_INT, TIM_CR1_CMS_CENTER_1,
- TIM_CR1_DIR_UP);
- timer_set_oc_mode (TIM1, TIM_OC1, TIM_OCM_PWM2);
- timer_enable_oc_output (TIM1, TIM_OC1);
- timer_enable_oc_output (TIM1, TIM_OC1N);
- timer_enable_break_main_output (TIM1);
-
- timer_set_oc_value (TIM1, TIM_OC1, period / 2);
- timer_set_period (TIM1, period);
-
- timer_enable_counter (TIM1);
-}
-
-void
-buzzer_off (void)
-{
- gpio_set_mode (GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO8);
- gpio_clear (GPIOA, GPIO8);
- gpio_set_mode (GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO13);
- gpio_clear (GPIOB, GPIO13);
- timer_disable_counter (TIM1);
-}
-
-void
-buzzer_set_freq (int hz)
-{
- period = (48000000 / 4) / hz;
- timer_set_oc_value (TIM1, TIM_OC1, period / 2);
- timer_set_period (TIM1, period);
-}
-
-void
-buzzer_init (void)
-{
-
- /*buzzer */
- buzzer_off ();
- buzzer_set_freq (440);
-
-}
-
-
-void
-ring_tick (void)
-{
- static int t;
-
- if (!ringing)
- return;
- ringing--;
-
- if (!ringing)
- {
- place = 0;
- buzzer_off ();
- return;
- }
-
-
-
- t++;
- if (t < 50)
- return;
- t = 0;
-
-
- switch (place)
- {
- case 1:
- case 3:
- case 5:
- case 7:
-
- case 13:
- case 15:
- case 17:
- case 19:
- place++;
- buzzer_set_freq (C6);
- break;
-
- case 0:
- case 12:
- place++;
- buzzer_set_freq (E6);
- buzzer_on ();
- break;
- case 2:
- case 4:
- case 6:
- case 14:
- case 16:
- case 18:
- place++;
- buzzer_set_freq (E6);
- break;
-
- case 8:
- case 20:
- place++;
- buzzer_off ();
- break;
-
- default:
- place++;
- break;
- case 59:
- place = 0;
- }
-
-
-
-
-}
-
-
-void
-ring_off (void)
-{
- place = 0;
- ringing = 0;
- buzzer_off ();
-}
-
-void
-ring (int l)
-{
-//mb();
- ringing = l;
-}