Compiling: platforms/chibios/drivers/audio_pwm_hardware.c
platforms/chibios/drivers/audio_pwm_hardware.c:40:8: error: unknown type name 'PWMConfig'
40 | static PWMConfig pwmCFG = {
| ^~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:41:5: error: field name not in record or union initializer
41 | .frequency = 100000, /* PWM clock frequency */
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:41:5: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:43:5: error: field name not in record or union initializer
43 | .period = 2, /* initial PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:43:5: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:43:17: error: excess elements in scalar initializer [-Werror]
43 | .period = 2, /* initial PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:43:17: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:44:5: error: field name not in record or union initializer
44 | .callback = NULL, /* no callback, the hardware directly toggles the pin */
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:44:5: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:44:17: error: excess elements in scalar initializer [-Werror]
44 | .callback = NULL, /* no callback, the hardware directly toggles the pin */
| ^~~~
platforms/chibios/drivers/audio_pwm_hardware.c:44:17: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:45:5: error: field name not in record or union initializer
45 | .channels =
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:45:5: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:46:9: error: braces around scalar initializer [-Werror]
46 | {
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:46:9: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:63:13: error: braces around scalar initializer [-Werror]
63 | {PWM_OUTPUT_ACTIVE_HIGH, NULL}, /* TIMx_CH1 */
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:63:13: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:63:14: error: 'PWM_OUTPUT_ACTIVE_HIGH' undeclared here (not in a function)
63 | {PWM_OUTPUT_ACTIVE_HIGH, NULL}, /* TIMx_CH1 */
| ^~~~~~~~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:63:38: error: excess elements in scalar initializer [-Werror]
63 | {PWM_OUTPUT_ACTIVE_HIGH, NULL}, /* TIMx_CH1 */
| ^~~~
platforms/chibios/drivers/audio_pwm_hardware.c:63:38: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:64:13: error: braces around scalar initializer [-Werror]
64 | {PWM_OUTPUT_DISABLED, NULL},
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:64:13: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:64:14: error: 'PWM_OUTPUT_DISABLED' undeclared here (not in a function)
64 | {PWM_OUTPUT_DISABLED, NULL},
| ^~~~~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:64:35: error: excess elements in scalar initializer [-Werror]
64 | {PWM_OUTPUT_DISABLED, NULL},
| ^~~~
platforms/chibios/drivers/audio_pwm_hardware.c:64:35: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:64:13: error: excess elements in scalar initializer [-Werror]
64 | {PWM_OUTPUT_DISABLED, NULL},
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:64:13: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:65:13: error: braces around scalar initializer [-Werror]
65 | {PWM_OUTPUT_DISABLED, NULL},
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:65:13: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:65:35: error: excess elements in scalar initializer [-Werror]
65 | {PWM_OUTPUT_DISABLED, NULL},
| ^~~~
platforms/chibios/drivers/audio_pwm_hardware.c:65:35: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:65:13: error: excess elements in scalar initializer [-Werror]
65 | {PWM_OUTPUT_DISABLED, NULL},
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:65:13: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:66:13: error: braces around scalar initializer [-Werror]
66 | {PWM_OUTPUT_DISABLED, NULL}
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:66:13: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:66:35: error: excess elements in scalar initializer [-Werror]
66 | {PWM_OUTPUT_DISABLED, NULL}
| ^~~~
platforms/chibios/drivers/audio_pwm_hardware.c:66:35: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:66:13: error: excess elements in scalar initializer [-Werror]
66 | {PWM_OUTPUT_DISABLED, NULL}
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:66:13: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:46:9: error: excess elements in scalar initializer [-Werror]
46 | {
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:46:9: note: (near initialization for 'pwmCFG')
platforms/chibios/drivers/audio_pwm_hardware.c: In function 'channel_1_set_frequency':
platforms/chibios/drivers/audio_pwm_hardware.c:78:5: error: unknown type name 'pwmcnt_t'; did you mean 'wint_t'?
78 | pwmcnt_t period = (pwmCFG.frequency / freq);
| ^~~~~~~~
| wint_t
platforms/chibios/drivers/audio_pwm_hardware.c:78:30: error: request for member 'frequency' in something not a structure or union
78 | pwmcnt_t period = (pwmCFG.frequency / freq);
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:79:5: error: implicit declaration of function 'pwmChangePeriod' [-Werror=implicit-function-declaration]
79 | pwmChangePeriod(&AUDIO_PWM_DRIVER, period);
| ^~~~~~~~~~~~~~~
In file included from <command-line>:
./keyboards/apm32dvlp/config.h:37:26: error: 'PWMD1' undeclared (first use in this function)
37 | #define AUDIO_PWM_DRIVER PWMD1
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:79:22: note: in expansion of macro 'AUDIO_PWM_DRIVER'
79 | pwmChangePeriod(&AUDIO_PWM_DRIVER, period);
| ^~~~~~~~~~~~~~~~
./keyboards/apm32dvlp/config.h:37:26: note: each undeclared identifier is reported only once for each function it appears in
37 | #define AUDIO_PWM_DRIVER PWMD1
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:79:22: note: in expansion of macro 'AUDIO_PWM_DRIVER'
79 | pwmChangePeriod(&AUDIO_PWM_DRIVER, period);
| ^~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:80:5: error: implicit declaration of function 'pwmEnableChannel' [-Werror=implicit-function-declaration]
80 | pwmEnableChannel(&AUDIO_PWM_DRIVER, AUDIO_PWM_CHANNEL - 1,
| ^~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:82:22: error: implicit declaration of function 'PWM_PERCENTAGE_TO_WIDTH' [-Werror=implicit-function-declaration]
82 | PWM_PERCENTAGE_TO_WIDTH(&AUDIO_PWM_DRIVER, (100 - note_timbre) * 100));
| ^~~~~~~~~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c: In function 'channel_1_start':
platforms/chibios/drivers/audio_pwm_hardware.c:90:5: error: implicit declaration of function 'pwmStop' [-Werror=implicit-function-declaration]
90 | pwmStop(&AUDIO_PWM_DRIVER);
| ^~~~~~~
In file included from <command-line>:
./keyboards/apm32dvlp/config.h:37:26: error: 'PWMD1' undeclared (first use in this function)
37 | #define AUDIO_PWM_DRIVER PWMD1
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:90:14: note: in expansion of macro 'AUDIO_PWM_DRIVER'
90 | pwmStop(&AUDIO_PWM_DRIVER);
| ^~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:91:5: error: implicit declaration of function 'pwmStart' [-Werror=implicit-function-declaration]
91 | pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG);
| ^~~~~~~~
In file included from <command-line>:
platforms/chibios/drivers/audio_pwm_hardware.c: In function 'channel_1_stop':
./keyboards/apm32dvlp/config.h:37:26: error: 'PWMD1' undeclared (first use in this function)
37 | #define AUDIO_PWM_DRIVER PWMD1
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:95:14: note: in expansion of macro 'AUDIO_PWM_DRIVER'
95 | pwmStop(&AUDIO_PWM_DRIVER);
| ^~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c: At top level:
platforms/chibios/drivers/audio_pwm_hardware.c:98:26: error: unknown type name 'GPTDriver'; did you mean 'USBDriver'?
98 | static void gpt_callback(GPTDriver *gptp);
| ^~~~~~~~~
| USBDriver
platforms/chibios/drivers/audio_pwm_hardware.c:99:1: error: unknown type name 'GPTConfig'; did you mean 'USBConfig'?
99 | GPTConfig gptCFG = {
| ^~~~~~~~~
| USBConfig
platforms/chibios/drivers/audio_pwm_hardware.c:107:5: error: field name not in record or union initializer
107 | .frequency = 60 * 64,
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:107:5: note: (near initialization for 'gptCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:108:5: error: field name not in record or union initializer
108 | .callback = gpt_callback,
| ^
platforms/chibios/drivers/audio_pwm_hardware.c:108:5: note: (near initialization for 'gptCFG')
platforms/chibios/drivers/audio_pwm_hardware.c:108:18: error: 'gpt_callback' undeclared here (not in a function); did you mean 'st_callback_t'?
108 | .callback = gpt_callback,
| ^~~~~~~~~~~~
| st_callback_t
platforms/chibios/drivers/audio_pwm_hardware.c:108:18: error: excess elements in scalar initializer [-Werror]
platforms/chibios/drivers/audio_pwm_hardware.c:108:18: note: (near initialization for 'gptCFG')
In file included from <command-line>:
platforms/chibios/drivers/audio_pwm_hardware.c: In function 'audio_driver_initialize':
./keyboards/apm32dvlp/config.h:37:26: error: 'PWMD1' undeclared (first use in this function)
37 | #define AUDIO_PWM_DRIVER PWMD1
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:112:15: note: in expansion of macro 'AUDIO_PWM_DRIVER'
112 | pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG);
| ^~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:121:5: error: implicit declaration of function 'gptStart' [-Werror=implicit-function-declaration]
121 | gptStart(&AUDIO_STATE_TIMER, &gptCFG);
| ^~~~~~~~
In file included from quantum/audio/audio.h:32,
from platforms/chibios/drivers/audio_pwm_hardware.c:28:
platforms/chibios/drivers/audio_pwm.h:39:31: error: 'GPTD6' undeclared (first use in this function)
39 | # define AUDIO_STATE_TIMER GPTD6
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:121:15: note: in expansion of macro 'AUDIO_STATE_TIMER'
121 | gptStart(&AUDIO_STATE_TIMER, &gptCFG);
| ^~~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c: In function 'audio_driver_start':
platforms/chibios/drivers/audio_pwm_hardware.c:129:9: error: implicit declaration of function 'gptStartContinuous' [-Werror=implicit-function-declaration]
129 | gptStartContinuous(&AUDIO_STATE_TIMER, 64);
| ^~~~~~~~~~~~~~~~~~
In file included from quantum/audio/audio.h:32,
from platforms/chibios/drivers/audio_pwm_hardware.c:28:
platforms/chibios/drivers/audio_pwm.h:39:31: error: 'GPTD6' undeclared (first use in this function)
39 | # define AUDIO_STATE_TIMER GPTD6
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:129:29: note: in expansion of macro 'AUDIO_STATE_TIMER'
129 | gptStartContinuous(&AUDIO_STATE_TIMER, 64);
| ^~~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c: In function 'audio_driver_stop':
platforms/chibios/drivers/audio_pwm_hardware.c:135:5: error: implicit declaration of function 'gptStopTimer' [-Werror=implicit-function-declaration]
135 | gptStopTimer(&AUDIO_STATE_TIMER);
| ^~~~~~~~~~~~
In file included from quantum/audio/audio.h:32,
from platforms/chibios/drivers/audio_pwm_hardware.c:28:
platforms/chibios/drivers/audio_pwm.h:39:31: error: 'GPTD6' undeclared (first use in this function)
39 | # define AUDIO_STATE_TIMER GPTD6
| ^~~~~
platforms/chibios/drivers/audio_pwm_hardware.c:135:19: note: in expansion of macro 'AUDIO_STATE_TIMER'
135 | gptStopTimer(&AUDIO_STATE_TIMER);
| ^~~~~~~~~~~~~~~~~
platforms/chibios/drivers/audio_pwm_hardware.c: At top level:
platforms/chibios/drivers/audio_pwm_hardware.c:141:26: error: unknown type name 'GPTDriver'; did you mean 'USBDriver'?
141 | static void gpt_callback(GPTDriver *gptp) {
| ^~~~~~~~~
| USBDriver
cc1.exe: all warnings being treated as errors
[ERRORS]
Describe the Bug
I'm adding a piezo buzzer to my keyboard using stm32f103c8t6 mcu. According to the qmk docs, I my code about AUDIO is: in rules.mk:
in config.h:
when I compile my program, error occurs:
Keyboard Used
No response
Link to product page (if applicable)
No response
Operating System
No response
qmk doctor Output
No response
Is AutoHotKey / Karabiner installed
Other keyboard-related software installed
No response
Additional Context
No response