Skip to content

Commit

Permalink
[keyboard] Renamed the function from ergodox to bajjak
Browse files Browse the repository at this point in the history
  • Loading branch information
garykong committed Apr 6, 2021
1 parent 5aa20f5 commit f23415e
Show file tree
Hide file tree
Showing 11 changed files with 159 additions and 167 deletions.
110 changes: 55 additions & 55 deletions keyboards/bajjak/bajjak.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,27 +21,27 @@ along with this program. If not, see <http:https://www.gnu.org/licenses/>.

#include "bajjak.h"

extern inline void ergodox_board_led_on(void);
extern inline void ergodox_right_led_1_on(void);
extern inline void ergodox_right_led_2_on(void);
extern inline void ergodox_right_led_3_on(void);
extern inline void ergodox_right_led_on(uint8_t led);
extern inline void BAJJAK_board_led_on(void);
extern inline void BAJJAK_right_led_1_on(void);
extern inline void BAJJAK_right_led_2_on(void);
extern inline void BAJJAK_right_led_3_on(void);
extern inline void BAJJAK_right_led_on(uint8_t led);

extern inline void ergodox_board_led_off(void);
extern inline void ergodox_right_led_1_off(void);
extern inline void ergodox_right_led_2_off(void);
extern inline void ergodox_right_led_3_off(void);
extern inline void ergodox_right_led_off(uint8_t led);
extern inline void BAJJAK_board_led_off(void);
extern inline void BAJJAK_right_led_1_off(void);
extern inline void BAJJAK_right_led_2_off(void);
extern inline void BAJJAK_right_led_3_off(void);
extern inline void BAJJAK_right_led_off(uint8_t led);

extern inline void ergodox_led_all_on(void);
extern inline void ergodox_led_all_off(void);
extern inline void BAJJAK_led_all_on(void);
extern inline void BAJJAK_led_all_off(void);

extern inline void ergodox_right_led_1_set(uint8_t n);
extern inline void ergodox_right_led_2_set(uint8_t n);
extern inline void ergodox_right_led_3_set(uint8_t n);
extern inline void ergodox_right_led_set(uint8_t led, uint8_t n);
extern inline void BAJJAK_right_led_1_set(uint8_t n);
extern inline void BAJJAK_right_led_2_set(uint8_t n);
extern inline void BAJJAK_right_led_3_set(uint8_t n);
extern inline void BAJJAK_right_led_set(uint8_t led, uint8_t n);

extern inline void ergodox_led_all_set(uint8_t n);
extern inline void BAJJAK_led_all_set(uint8_t n);

keyboard_config_t keyboard_config;

Expand All @@ -65,7 +65,7 @@ void matrix_init_kb(void) {
PORTE |= (1<<6);

keyboard_config.raw = eeconfig_read_kb();
ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 );
BAJJAK_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 );
#ifdef RGB_MATRIX_ENABLE
if (keyboard_config.rgb_matrix_enable) {
rgb_matrix_set_flags(LED_FLAG_ALL);
Expand All @@ -74,54 +74,54 @@ void matrix_init_kb(void) {
}
#endif

ergodox_blink_all_leds();
BAJJAK_blink_all_leds();

matrix_init_user();
}

void ergodox_blink_all_leds(void)
void BAJJAK_blink_all_leds(void)
{
ergodox_led_all_off();
ergodox_led_all_set(LED_BRIGHTNESS_DEFAULT);
ergodox_right_led_1_on();
BAJJAK_led_all_off();
BAJJAK_led_all_set(LED_BRIGHTNESS_DEFAULT);
BAJJAK_right_led_1_on();
_delay_ms(50);
ergodox_right_led_2_on();
BAJJAK_right_led_2_on();
_delay_ms(50);
ergodox_right_led_3_on();
BAJJAK_right_led_3_on();
_delay_ms(50);
#ifdef LEFT_LEDS
ergodox_left_led_1_on();
BAJJAK_left_led_1_on();
_delay_ms(50);
if (!mcp23018_status) {
mcp23018_status = ergodox_left_leds_update();
mcp23018_status = BAJJAK_left_leds_update();
}
ergodox_left_led_2_on();
BAJJAK_left_led_2_on();
_delay_ms(50);
if (!mcp23018_status) {
mcp23018_status = ergodox_left_leds_update();
mcp23018_status = BAJJAK_left_leds_update();
}
#endif
ergodox_right_led_1_off();
BAJJAK_right_led_1_off();
_delay_ms(50);
ergodox_right_led_2_off();
BAJJAK_right_led_2_off();
_delay_ms(50);
ergodox_right_led_3_off();
BAJJAK_right_led_3_off();
#ifdef LEFT_LEDS
_delay_ms(50);
ergodox_left_led_1_off();
BAJJAK_left_led_1_off();
if (!mcp23018_status) {
mcp23018_status = ergodox_left_leds_update();
mcp23018_status = BAJJAK_left_leds_update();
}
_delay_ms(50);
ergodox_left_led_2_off();
BAJJAK_left_led_2_off();
if (!mcp23018_status) {
mcp23018_status = ergodox_left_leds_update();
mcp23018_status = BAJJAK_left_leds_update();
}
#endif

//ergodox_led_all_on();
//BAJJAK_led_all_on();
//_delay_ms(333);
ergodox_led_all_off();
BAJJAK_led_all_off();
}

uint8_t init_mcp23018(void) {
Expand All @@ -145,26 +145,26 @@ uint8_t init_mcp23018(void) {
// - unused : input : 1
// - input : input : 1
// - driving : output : 0
mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(IODIRA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b00000000, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b00111111, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
i2c_stop();

// set pull-up
// - unused : on : 1
// - input : on : 1
// - driving : off : 0
mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b01111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(GPPUA, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b00000000, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b01111111, BAJJAK_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out;

out:
i2c_stop();

#ifdef LEFT_LEDS
if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update();
if (!mcp23018_status) mcp23018_status = BAJJAK_left_leds_update();
#endif // LEFT_LEDS

// SREG=sreg_prev;
Expand All @@ -173,7 +173,7 @@ uint8_t init_mcp23018(void) {
}

#ifdef LEFT_LEDS
uint8_t ergodox_left_leds_update(void) {
uint8_t BAJJAK_left_leds_update(void) {
if (mcp23018_status) { // if there was an error
return mcp23018_status;
}
Expand All @@ -184,17 +184,17 @@ uint8_t ergodox_left_leds_update(void) {
// - unused : hi-Z : 1
// - input : hi-Z : 1
// - driving : hi-Z : 1
mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT);
mcp23018_status = i2c_start(I2C_ADDR_WRITE, BAJJAK_EZ_I2C_TIMEOUT);
if (mcp23018_status) goto out;
mcp23018_status = i2c_write(OLATA, ERGODOX_EZ_I2C_TIMEOUT);
mcp23018_status = i2c_write(OLATA, BAJJAK_EZ_I2C_TIMEOUT);
if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b11111111
& ~(ergodox_left_led_1<<LEFT_LED_1_SHIFT),
ERGODOX_EZ_I2C_TIMEOUT);
& ~(BAJJAK_left_led_1<<LEFT_LED_1_SHIFT),
BAJJAK_EZ_I2C_TIMEOUT);
if (mcp23018_status) goto out;
mcp23018_status = i2c_write(0b11111111
& ~(ergodox_left_led_2<<LEFT_LED_2_SHIFT),
ERGODOX_EZ_I2C_TIMEOUT);
& ~(BAJJAK_left_led_2<<LEFT_LED_2_SHIFT),
BAJJAK_EZ_I2C_TIMEOUT);
if (mcp23018_status) goto out;

out:
Expand Down Expand Up @@ -351,7 +351,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (keyboard_config.led_level > 4) {
keyboard_config.led_level = 0;
}
ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 );
BAJJAK_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 );
eeconfig_update_kb(keyboard_config.raw);
layer_state_set_kb(layer_state);
}
Expand Down
94 changes: 44 additions & 50 deletions keyboards/bajjak/bajjak.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,6 @@ along with this program. If not, see <http:https://www.gnu.org/licenses/>.
#include <stdbool.h>
#include "i2c_master.h"

#if defined(KEYBOARD_ergodox_ez_glow)
# include "glow.h"
#elif defined(KEYBOARD_ergodox_ez_shine)
# include "shine.h"
#endif

// I2C aliases and register addresses (see "mcp23018.md")
#define I2C_ADDR 0b0100000
#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
Expand All @@ -46,12 +40,12 @@ along with this program. If not, see <http:https://www.gnu.org/licenses/>.
#define OLATB 0x15

extern i2c_status_t mcp23018_status;
#define ERGODOX_EZ_I2C_TIMEOUT 100
#define BAJJAK_EZ_I2C_TIMEOUT 100

void init_ergodox(void);
void ergodox_blink_all_leds(void);
void init_BAJJAK(void);
void BAJJAK_blink_all_leds(void);
uint8_t init_mcp23018(void);
uint8_t ergodox_left_leds_update(void);
uint8_t BAJJAK_left_leds_update(void);

#ifndef LED_BRIGHTNESS_LO
#define LED_BRIGHTNESS_LO 15
Expand All @@ -61,69 +55,69 @@ uint8_t ergodox_left_leds_update(void);
#endif


inline void ergodox_board_led_on(void) { DDRD |= (1<<6); PORTD |= (1<<6); }
inline void ergodox_right_led_1_on(void) { DDRB |= (1<<5); PORTB |= (1<<5); }
inline void ergodox_right_led_2_on(void) { DDRB |= (1<<6); PORTB |= (1<<6); }
inline void ergodox_right_led_3_on(void) { DDRB |= (1<<7); PORTB |= (1<<7); }
inline void ergodox_right_led_on(uint8_t led) { DDRB |= (1<<(led+4)); PORTB |= (1<<(led+4)); }
inline void BAJJAK_board_led_on(void) { DDRD |= (1<<6); PORTD |= (1<<6); }
inline void BAJJAK_right_led_1_on(void) { DDRB |= (1<<5); PORTB |= (1<<5); }
inline void BAJJAK_right_led_2_on(void) { DDRB |= (1<<6); PORTB |= (1<<6); }
inline void BAJJAK_right_led_3_on(void) { DDRB |= (1<<7); PORTB |= (1<<7); }
inline void BAJJAK_right_led_on(uint8_t led) { DDRB |= (1<<(led+4)); PORTB |= (1<<(led+4)); }

inline void ergodox_board_led_off(void) { DDRD &= ~(1<<6); PORTD &= ~(1<<6); }
inline void ergodox_right_led_1_off(void) { DDRB &= ~(1<<5); PORTB &= ~(1<<5); }
inline void ergodox_right_led_2_off(void) { DDRB &= ~(1<<6); PORTB &= ~(1<<6); }
inline void ergodox_right_led_3_off(void) { DDRB &= ~(1<<7); PORTB &= ~(1<<7); }
inline void ergodox_right_led_off(uint8_t led) { DDRB &= ~(1<<(led+4)); PORTB &= ~(1<<(led+4)); }
inline void BAJJAK_board_led_off(void) { DDRD &= ~(1<<6); PORTD &= ~(1<<6); }
inline void BAJJAK_right_led_1_off(void) { DDRB &= ~(1<<5); PORTB &= ~(1<<5); }
inline void BAJJAK_right_led_2_off(void) { DDRB &= ~(1<<6); PORTB &= ~(1<<6); }
inline void BAJJAK_right_led_3_off(void) { DDRB &= ~(1<<7); PORTB &= ~(1<<7); }
inline void BAJJAK_right_led_off(uint8_t led) { DDRB &= ~(1<<(led+4)); PORTB &= ~(1<<(led+4)); }

#ifdef LEFT_LEDS
bool ergodox_left_led_1;
bool ergodox_left_led_2;
bool ergodox_left_led_3;
bool BAJJAK_left_led_1;
bool BAJJAK_left_led_2;
bool BAJJAK_left_led_3;

inline void ergodox_left_led_1_on(void) { ergodox_left_led_1 = 1; }
inline void ergodox_left_led_2_on(void) { ergodox_left_led_2 = 1; }
inline void BAJJAK_left_led_1_on(void) { BAJJAK_left_led_1 = 1; }
inline void BAJJAK_left_led_2_on(void) { BAJJAK_left_led_2 = 1; }

inline void ergodox_left_led_1_off(void) { ergodox_left_led_1 = 0; }
inline void ergodox_left_led_2_off(void) { ergodox_left_led_2 = 0; }
inline void BAJJAK_left_led_1_off(void) { BAJJAK_left_led_1 = 0; }
inline void BAJJAK_left_led_2_off(void) { BAJJAK_left_led_2 = 0; }
#endif // LEFT_LEDS

inline void ergodox_led_all_on(void) {
ergodox_board_led_on();
ergodox_right_led_1_on();
ergodox_right_led_2_on();
ergodox_right_led_3_on();
inline void BAJJAK_led_all_on(void) {
BAJJAK_board_led_on();
BAJJAK_right_led_1_on();
BAJJAK_right_led_2_on();
BAJJAK_right_led_3_on();
#ifdef LEFT_LEDS
ergodox_left_led_1_on();
ergodox_left_led_2_on();
BAJJAK_left_led_1_on();
BAJJAK_left_led_2_on();
#endif // LEFT_LEDS
}

inline void ergodox_led_all_off(void)
inline void BAJJAK_led_all_off(void)
{
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
BAJJAK_board_led_off();
BAJJAK_right_led_1_off();
BAJJAK_right_led_2_off();
BAJJAK_right_led_3_off();
#ifdef LEFT_LEDS
ergodox_left_led_1_off();
ergodox_left_led_2_off();
BAJJAK_left_led_1_off();
BAJJAK_left_led_2_off();
#endif // LEFT_LEDS
}

inline void ergodox_right_led_1_set(uint8_t n) { OCR1A = n; }
inline void ergodox_right_led_2_set(uint8_t n) { OCR1B = n; }
inline void ergodox_right_led_3_set(uint8_t n) { OCR1C = n; }
inline void ergodox_right_led_set(uint8_t led, uint8_t n) {
inline void BAJJAK_right_led_1_set(uint8_t n) { OCR1A = n; }
inline void BAJJAK_right_led_2_set(uint8_t n) { OCR1B = n; }
inline void BAJJAK_right_led_3_set(uint8_t n) { OCR1C = n; }
inline void BAJJAK_right_led_set(uint8_t led, uint8_t n) {
(led == 1) ? (OCR1A = n) :
(led == 2) ? (OCR1B = n) :
(OCR1C = n);
}

inline void ergodox_led_all_set(uint8_t n) {
ergodox_right_led_1_set(n);
ergodox_right_led_2_set(n);
ergodox_right_led_3_set(n);
inline void BAJJAK_led_all_set(uint8_t n) {
BAJJAK_right_led_1_set(n);
BAJJAK_right_led_2_set(n);
BAJJAK_right_led_3_set(n);
}

enum ergodox_ez_keycodes {
enum BAJJAK_ez_keycodes {
LED_LEVEL = SAFE_RANGE,
TOGGLE_LAYER_COLOR,
EZ_SAFE_RANGE,
Expand Down
6 changes: 3 additions & 3 deletions keyboards/bajjak/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ along with this program. If not, see <http:https://www.gnu.org/licenses/>.
// Pick one of the modes
// Defaults to 15 mirror, for legacy behavior

// #define ERGODOX_LED_15 // Addresses 15 LEDs, but same position on both halves
// #define ERGODOX_LED_15_MIRROR // Addresses 15 LEDs, but are mirrored
// #define ERGODOX_LED_30 // Addresses all 30 LED individually
// #define BAJJAK_LED_15 // Addresses 15 LEDs, but same position on both halves
// #define BAJJAK_LED_15_MIRROR // Addresses 15 LEDs, but are mirrored
// #define BAJJAK_LED_30 // Addresses all 30 LED individually

/* fix space cadet rollover issue */
#define DISABLE_SPACE_CADET_ROLLOVER
Expand Down
Loading

0 comments on commit f23415e

Please sign in to comment.