forked from mirrors/qmk_userspace
		
	Fix deprecated 'prog_*' typedef - Issue #34
- Remove prog_char from xpritnf - Remove prog_macro_t from acton_macro avr-libc-1.8 removed 'prog_*' typedef because the usage of the __progmem__ attribute on a type is not supported in GCC. http://www.nongnu.org/avr-libc/changes-1.8.html
This commit is contained in:
		
					parent
					
						
							
								adbd15d5bd
							
						
					
				
			
			
				commit
				
					
						796defa86c
					
				
			
		
					 8 changed files with 15 additions and 16 deletions
				
			
		| 
						 | 
					@ -50,7 +50,7 @@ void action_exec(keyevent_t event);
 | 
				
			||||||
action_t action_for_key(uint8_t layer, key_t key);
 | 
					action_t action_for_key(uint8_t layer, key_t key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* macro */
 | 
					/* macro */
 | 
				
			||||||
const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt);
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* user defined special function */
 | 
					/* user defined special function */
 | 
				
			||||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt);
 | 
					void action_function(keyrecord_t *record, uint8_t id, uint8_t opt);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
#ifndef NO_ACTION_MACRO
 | 
					#ifndef NO_ACTION_MACRO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MACRO_READ()  (macro = pgm_read_byte(macro_p++))
 | 
					#define MACRO_READ()  (macro = pgm_read_byte(macro_p++))
 | 
				
			||||||
void action_macro_play(const prog_macro_t *macro_p)
 | 
					void action_macro_play(const macro_t *macro_p)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    macro_t macro = END;
 | 
					    macro_t macro = END;
 | 
				
			||||||
    uint8_t interval = 0;
 | 
					    uint8_t interval = 0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,15 +21,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MACRO_NONE  0
 | 
					#define MACRO_NONE  0
 | 
				
			||||||
#define MACRO(...) ({ static prog_macro_t _m[] PROGMEM = { __VA_ARGS__ }; _m; })
 | 
					#define MACRO(...) ({ static const macro_t __m[] PROGMEM = { __VA_ARGS__ }; &__m[0]; })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef uint8_t macro_t;
 | 
					typedef uint8_t macro_t;
 | 
				
			||||||
typedef macro_t prog_macro_t PROGMEM;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef NO_ACTION_MACRO
 | 
					#ifndef NO_ACTION_MACRO
 | 
				
			||||||
void action_macro_play(const prog_macro_t *macro);
 | 
					void action_macro_play(const macro_t *macro_p);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#define action_macro_play(macro)
 | 
					#define action_macro_play(macro)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -106,7 +106,7 @@ action_t action_for_key(uint8_t layer, key_t key)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Macro */
 | 
					/* Macro */
 | 
				
			||||||
__attribute__ ((weak))
 | 
					__attribute__ ((weak))
 | 
				
			||||||
const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return MACRO_NONE;
 | 
					    return MACRO_NONE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,7 +80,7 @@ xputc:
 | 
				
			||||||
;---------------------------------------------------------------------------
 | 
					;---------------------------------------------------------------------------
 | 
				
			||||||
; Direct ROM string output
 | 
					; Direct ROM string output
 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
;Prototype: void xputs (const prog_char *str // rom string to be output
 | 
					;Prototype: void xputs (const char *str_p // rom string to be output
 | 
				
			||||||
;			);
 | 
					;			);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.func xputs
 | 
					.func xputs
 | 
				
			||||||
| 
						 | 
					@ -179,9 +179,9 @@ xitoa:
 | 
				
			||||||
; Formatted string output (16/32bit version)
 | 
					; Formatted string output (16/32bit version)
 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
;Prototype:
 | 
					;Prototype:
 | 
				
			||||||
; void xprintf (const prog_char *format, ...);
 | 
					; void __xprintf (const char *format_p, ...);
 | 
				
			||||||
; void xsprintf(char*, const prog_char *format, ...);
 | 
					; void __xsprintf(char*, const char *format_p, ...);
 | 
				
			||||||
; void xfprintf(void(*func)(char), const prog_char *format, ...);
 | 
					; void __xfprintf(void(*func)(char), const char *format_p, ...);
 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if USE_XPRINTF
 | 
					#if USE_XPRINTF
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,7 +23,7 @@ void xputc(char chr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*-----------------------------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------------------------*/
 | 
				
			||||||
void xputs(const prog_char *string);
 | 
					void xputs(const char *string_p);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*  The string placed in the ROM is forwarded to xputc() directly.
 | 
					/*  The string placed in the ROM is forwarded to xputc() directly.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
| 
						 | 
					@ -51,9 +51,9 @@ void xitoa(long value, char radix, char width);
 | 
				
			||||||
#define xsprintf(str, format, ...)      __xsprintf(str, PSTR(format), ##__VA_ARGS__)
 | 
					#define xsprintf(str, format, ...)      __xsprintf(str, PSTR(format), ##__VA_ARGS__)
 | 
				
			||||||
#define xfprintf(func, format, ...)     __xfprintf(func, PSTR(format), ##__VA_ARGS__)
 | 
					#define xfprintf(func, format, ...)     __xfprintf(func, PSTR(format), ##__VA_ARGS__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void __xprintf(const prog_char *format, ...);	/* Send formatted string to the registered device */
 | 
					void __xprintf(const char *format_p, ...);	/* Send formatted string to the registered device */
 | 
				
			||||||
void __xsprintf(char*, const prog_char *format, ...);	/* Put formatted string to the memory */
 | 
					void __xsprintf(char*, const char *format_p, ...);	/* Put formatted string to the memory */
 | 
				
			||||||
void __xfprintf(void(*func)(uint8_t), const prog_char *format, ...); /* Send formatted string to the specified device */
 | 
					void __xfprintf(void(*func)(uint8_t), const char *format_p, ...); /* Send formatted string to the specified device */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Format string is placed in the ROM. The format flags is similar to printf().
 | 
					/* Format string is placed in the ROM. The format flags is similar to printf().
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -125,7 +125,7 @@ enum macro_id {
 | 
				
			||||||
    DUMMY,
 | 
					    DUMMY,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    keyevent_t event = record->event;
 | 
					    keyevent_t event = record->event;
 | 
				
			||||||
    //uint8_t tap_count = record->tap_count;
 | 
					    //uint8_t tap_count = record->tap_count;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -209,7 +209,7 @@ static const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Macro definition
 | 
					 * Macro definition
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    keyevent_t event = record->event;
 | 
					    keyevent_t event = record->event;
 | 
				
			||||||
    tap_t tap = record->tap;
 | 
					    tap_t tap = record->tap;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue