forked from mirrors/qmk_userspace
		
	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 "stdint.h"
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include "led.h"
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
void * led_set_kb(uint8_t usb_led) {
 | 
			
		||||
    return NULL;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void led_set(uint8_t usb_led)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -35,4 +39,10 @@ void led_set(uint8_t usb_led)
 | 
			
		|||
    //     DDRE &= ~(1<<6);
 | 
			
		||||
    //     PORTE &= ~(1<<6);
 | 
			
		||||
    // }
 | 
			
		||||
 | 
			
		||||
    if (led_set_kb) {
 | 
			
		||||
        (*led_set_kb)(usb_led);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,28 +2,47 @@
 | 
			
		|||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
void * matrix_init_user(void) {
 | 
			
		||||
	// leave these blank
 | 
			
		||||
	// leave this function blank - it can be defined in a keymap file
 | 
			
		||||
	return NULL;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
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) {
 | 
			
		||||
	// put your keyboard start-up code here
 | 
			
		||||
	// runs once when the firmware starts up
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
	if (matrix_init_user) {
 | 
			
		||||
		(*matrix_init_user)();
 | 
			
		||||
	}
 | 
			
		||||
	return NULL;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void * matrix_scan_kb(void) {
 | 
			
		||||
	// put your looping keyboard code here
 | 
			
		||||
	// runs every cycle (a lot)
 | 
			
		||||
    // put your looping keyboard code here
 | 
			
		||||
    // runs every cycle (a lot)
 | 
			
		||||
 | 
			
		||||
	if (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_scan_user(void);
 | 
			
		||||
void * led_set_user(uint8_t usb_led);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +33,8 @@ extern "C" {
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
void led_set(uint8_t usb_led);
 | 
			
		||||
void * led_set_kb(uint8_t usb_led);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue