lpc: Attempt to fix configurable beeper
authorKeith Packard <keithp@keithp.com>
Fri, 20 May 2022 23:33:04 +0000 (16:33 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 20 May 2022 23:33:04 +0000 (16:33 -0700)
Signed-off-by: Keith Packard <keithp@keithp.com>
src/easymini-v3.0/ao_pins.h
src/lpc/ao_beep_lpc.c

index 1c2caad0f279700ee3d0c3b9e1c61f4fbd13d169..3ae384f75e4d7d2dc7725f2cd96b75755042dc78 100644 (file)
@@ -50,6 +50,8 @@
 #define AO_LPC_CT_BEEP         lpc_ct32b0
 #define AO_LPC_CT_BEEP_CLKCTRL LPC_SCB_SYSAHBCLKCTRL_CT32B0
 #define AO_LPC_CT_BEEP_EMR     LPC_CT32B_EMR_EMC3
+#define AO_LPC_CT_BEEP_EM      3
+#define AO_LPC_CT_BEEP_PWMC    LPC_CT32B_PWMC_PWMEN3
 
 /* USART */
 
index 390aae8ee02d85fe62f9f977122e37abc6cf599d..9186dc440678863acda723de2102cf490a11c5ca 100644 (file)
@@ -23,6 +23,8 @@
 #define AO_LPC_CT_BEEP                 lpc_ct32b1
 #define AO_LPC_CT_BEEP_CLKCTRL LPC_SCB_SYSAHBCLKCTRL_CT32B1
 #define AO_LPC_CT_BEEP_EMR     LPC_CT32B_EMR_EMC1
+#define AO_LPC_CT_BEEP_EM      1
+#define AO_LPC_CT_BEEP_PWMC    LPC_CT32B_PWMC_PWMEN1
 #endif
 
 void
@@ -45,16 +47,16 @@ ao_beep(uint8_t beep)
                AO_LPC_CT_BEEP.mr[0] = beep << 1;
 
                /* PWM width is half of that */
-               AO_LPC_CT_BEEP.mr[1] = beep;
+               AO_LPC_CT_BEEP.mr[AO_LPC_CT_BEEP_EM] = beep;
 
-               /* Flip output on PWM match */
+               /* Flip output on PWM match */
                AO_LPC_CT_BEEP.emr = (LPC_CT32B_EMR_EMC_TOGGLE << AO_LPC_CT_BEEP_EMR);
 
                /* Reset on match 0 */
                AO_LPC_CT_BEEP.mcr = (1 << LPC_CT32B_MCR_MR0R);
 
                /* PWM on match 1 */
-               AO_LPC_CT_BEEP.pwmc = (1 << LPC_CT32B_PWMC_PWMEN1);
+               AO_LPC_CT_BEEP.pwmc = (1 << AO_LPC_CT_BEEP_PWMC);
 
                /* timer mode */
                AO_LPC_CT_BEEP.ctcr = 0;