aboutsummaryrefslogtreecommitdiff
path: root/platforms/avr/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'platforms/avr/drivers')
-rw-r--r--platforms/avr/drivers/audio_pwm_hardware.c6
-rw-r--r--platforms/avr/drivers/ws2812_bitbang.c4
-rw-r--r--platforms/avr/drivers/ws2812_i2c.c6
3 files changed, 6 insertions, 10 deletions
diff --git a/platforms/avr/drivers/audio_pwm_hardware.c b/platforms/avr/drivers/audio_pwm_hardware.c
index d484fba00f..16264cf0a2 100644
--- a/platforms/avr/drivers/audio_pwm_hardware.c
+++ b/platforms/avr/drivers/audio_pwm_hardware.c
@@ -213,7 +213,7 @@ void channel_2_stop(void) {
}
#endif
-void audio_driver_initialize(void) {
+void audio_driver_initialize_impl(void) {
#ifdef AUDIO1_PIN_SET
channel_1_stop();
gpio_set_pin_output(AUDIO1_PIN);
@@ -254,7 +254,7 @@ void audio_driver_initialize(void) {
#endif
}
-void audio_driver_stop(void) {
+void audio_driver_stop_impl(void) {
#ifdef AUDIO1_PIN_SET
channel_1_stop();
#endif
@@ -264,7 +264,7 @@ void audio_driver_stop(void) {
#endif
}
-void audio_driver_start(void) {
+void audio_driver_start_impl(void) {
#ifdef AUDIO1_PIN_SET
channel_1_start();
if (playing_note) {
diff --git a/platforms/avr/drivers/ws2812_bitbang.c b/platforms/avr/drivers/ws2812_bitbang.c
index 116053591f..be127e501c 100644
--- a/platforms/avr/drivers/ws2812_bitbang.c
+++ b/platforms/avr/drivers/ws2812_bitbang.c
@@ -37,9 +37,11 @@
static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t masklo, uint8_t maskhi);
-void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds) {
+void ws2812_init(void) {
DDRx_ADDRESS(WS2812_DI_PIN) |= pinmask(WS2812_DI_PIN);
+}
+void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds) {
uint8_t masklo = ~(pinmask(WS2812_DI_PIN)) & PORTx_ADDRESS(WS2812_DI_PIN);
uint8_t maskhi = pinmask(WS2812_DI_PIN) | PORTx_ADDRESS(WS2812_DI_PIN);
diff --git a/platforms/avr/drivers/ws2812_i2c.c b/platforms/avr/drivers/ws2812_i2c.c
index f52a037b8e..60b466c32a 100644
--- a/platforms/avr/drivers/ws2812_i2c.c
+++ b/platforms/avr/drivers/ws2812_i2c.c
@@ -19,11 +19,5 @@ void ws2812_init(void) {
// Setleds for standard RGB
void ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) {
- static bool s_init = false;
- if (!s_init) {
- ws2812_init();
- s_init = true;
- }
-
i2c_transmit(WS2812_I2C_ADDRESS, (uint8_t *)ledarray, sizeof(rgb_led_t) * leds, WS2812_I2C_TIMEOUT);
}