Adding LED function pointers
This commit is contained in:
parent
35393fa9dc
commit
eba9a7d74d
4 changed files with 38 additions and 6 deletions
|
@ -16,9 +16,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include "stdint.h"
|
#include <stddef.h>
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
void * led_set_kb(uint8_t usb_led) {
|
||||||
|
return NULL;
|
||||||
|
};
|
||||||
|
|
||||||
void led_set(uint8_t usb_led)
|
void led_set(uint8_t usb_led)
|
||||||
{
|
{
|
||||||
|
@ -35,4 +39,10 @@ void led_set(uint8_t usb_led)
|
||||||
// DDRE &= ~(1<<6);
|
// DDRE &= ~(1<<6);
|
||||||
// PORTE &= ~(1<<6);
|
// PORTE &= ~(1<<6);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
if (led_set_kb) {
|
||||||
|
(*led_set_kb)(usb_led);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,20 @@
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
void * matrix_init_user(void) {
|
void * matrix_init_user(void) {
|
||||||
// leave these blank
|
// leave this function blank - it can be defined in a keymap file
|
||||||
|
return NULL;
|
||||||
};
|
};
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
void * matrix_scan_user(void) {
|
void * matrix_scan_user(void) {
|
||||||
// leave these blank
|
// leave this function blank - it can be defined in a keymap file
|
||||||
|
return NULL;
|
||||||
|
};
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
void * led_set_user(uint8_t usb_led) {
|
||||||
|
// leave this function blank - it can be defined in a keymap file
|
||||||
|
return NULL;
|
||||||
};
|
};
|
||||||
|
|
||||||
void * matrix_init_kb(void) {
|
void * matrix_init_kb(void) {
|
||||||
|
@ -17,6 +25,7 @@ void * matrix_init_kb(void) {
|
||||||
if (matrix_init_user) {
|
if (matrix_init_user) {
|
||||||
(*matrix_init_user)();
|
(*matrix_init_user)();
|
||||||
}
|
}
|
||||||
|
return NULL;
|
||||||
};
|
};
|
||||||
|
|
||||||
void * matrix_scan_kb(void) {
|
void * matrix_scan_kb(void) {
|
||||||
|
@ -26,4 +35,14 @@ void * matrix_scan_kb(void) {
|
||||||
if (matrix_scan_user) {
|
if (matrix_scan_user) {
|
||||||
(*matrix_scan_user)();
|
(*matrix_scan_user)();
|
||||||
}
|
}
|
||||||
|
return NULL;
|
||||||
|
};
|
||||||
|
|
||||||
|
void * led_set_kb(uint8_t usb_led) {
|
||||||
|
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||||
|
|
||||||
|
if (led_set_user) {
|
||||||
|
(*led_set_user)(usb_led);
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
};
|
};
|
|
@ -21,5 +21,6 @@
|
||||||
|
|
||||||
void * matrix_init_user(void);
|
void * matrix_init_user(void);
|
||||||
void * matrix_scan_user(void);
|
void * matrix_scan_user(void);
|
||||||
|
void * led_set_user(uint8_t usb_led);
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -33,6 +33,8 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void led_set(uint8_t usb_led);
|
void led_set(uint8_t usb_led);
|
||||||
|
void * led_set_kb(uint8_t usb_led);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue