Add RP2040 SCRAMBLE v2 (#19489)
This commit is contained in:
parent
6e42b58549
commit
b3dca4bb36
13 changed files with 288 additions and 51 deletions
43
keyboards/nullbitsco/scramble/v2/v2.h
Normal file
43
keyboards/nullbitsco/scramble/v2/v2.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
// Copyright 2022 Jay Greco
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "scramble.h"
|
||||
#include <hal.h>
|
||||
|
||||
enum led_mode {
|
||||
LED_OFF = 0,
|
||||
LED_DIM,
|
||||
LED_ON,
|
||||
NUM_LED_MODE
|
||||
};
|
||||
|
||||
enum rgb_idx {
|
||||
RED = 0,
|
||||
GREEN,
|
||||
BLUE,
|
||||
NUM_RGB_IDX
|
||||
};
|
||||
|
||||
typedef struct pwm_led_t {
|
||||
uint32_t pin[3];
|
||||
PWMDriver* driver[3];
|
||||
uint8_t channel[3];
|
||||
uint8_t mode;
|
||||
uint8_t init_complete;
|
||||
} pwm_led_t;
|
||||
|
||||
#define PWM_PAL_MODE (PAL_MODE_ALTERNATE_PWM | PAL_RP_PAD_DRIVE12 | PAL_RP_GPIO_OE)
|
||||
#define PWM_PWM_COUNTER_FREQUENCY 1000000
|
||||
#define PWM_PWM_PERIOD PWM_PWM_COUNTER_FREQUENCY / 1000
|
||||
|
||||
// RP2040 adds HW PWM control!
|
||||
// PWM values are in percent, 0-100
|
||||
void
|
||||
set_scramble_LED(uint8_t mode),
|
||||
set_scramble_LED_rgb_pwm(uint8_t r_pwm, uint8_t g_pwm, uint8_t b_pwm),
|
||||
set_scramble_LED_r_pwm(uint8_t pwm),
|
||||
set_scramble_LED_g_pwm(uint8_t pwm),
|
||||
set_scramble_LED_b_pwm(uint8_t pwm);
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue