@ -13,76 +13,17 @@
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# include "i2c_master.h"
# include "quantum.h"
# ifdef RGBLIGHT_ENABLE
# include "rgblight.h"
extern rgblight_config_t rgblight_config ;
void rgblight_set ( void ) {
if ( ! rgblight_config . enable ) {
for ( uint8_t i = 0 ; i < RGBLED_NUM ; i + + ) {
led [ i ] . r = 0 ;
led [ i ] . g = 0 ;
led [ i ] . b = 0 ;
}
}
# include "quantum.h"
i2c_init ( ) ;
i2c_transmit ( 0xb0 , ( uint8_t * ) led , 3 * RGBLED_NUM , 100 ) ;
}
# endif
# define NUMLOCK_PIN D0
void matrix_init_kb ( void ) {
# ifdef RGBLIGHT_ENABLE
if ( rgblight_config . enable ) {
i2c_init ( ) ;
i2c_transmit ( 0xb0 , ( uint8_t * ) led , 3 * RGBLED_NUM , 100 ) ;
}
# endif
// call user level keymaps, if any
setPinOutput ( NUMLOCK_PIN ) ;
matrix_init_user ( ) ;
}
void matrix_scan_kb ( void ) {
# ifdef RGBLIGHT_ENABLE
rgblight_task ( ) ;
# endif
matrix_scan_user ( ) ;
/* Nothing else for now. */
}
__attribute__ ( ( weak ) )
void matrix_scan_user ( void ) {
}
void backlight_init_ports ( void ) {
// initialize pins D0, D1, D4 and D6 as output
setPinOutput ( D0 ) ;
setPinOutput ( D1 ) ;
setPinOutput ( D4 ) ;
setPinOutput ( D6 ) ;
// turn backlight LEDs on
writePinHigh ( D0 ) ;
writePinHigh ( D1 ) ;
writePinHigh ( D4 ) ;
writePinHigh ( D6 ) ;
}
void backlight_set ( uint8_t level ) {
if ( level = = 0 ) {
// turn backlight LEDs off
writePinLow ( D0 ) ;
writePinLow ( D1 ) ;
writePinLow ( D4 ) ;
writePinLow ( D6 ) ;
} else {
// turn backlight LEDs on
writePinHigh ( D0 ) ;
writePinHigh ( D1 ) ;
writePinHigh ( D4 ) ;
writePinHigh ( D6 ) ;
}
void led_set_kb ( uint8_t usb_led ) {
writePin ( NUMLOCK_PIN , IS_LED_ON ( usb_led , USB_LED_NUM_LOCK ) ) ;
led_set_user ( usb_led ) ;
}