X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Flambdakey-v1.0%2Fao_scheme_os.h;h=4135755252ba4258e07806168a24153a030d6de8;hb=41fed74c4cf139de6bf8f1879d370977785ad1f8;hp=b3080f31509cb72df13d52e8adfdac897a2cbc77;hpb=0614c653a8ca8c4ccbf59d34296ca4b3e7d9f3a0;p=fw%2Faltos diff --git a/src/lambdakey-v1.0/ao_scheme_os.h b/src/lambdakey-v1.0/ao_scheme_os.h index b3080f31..41357552 100644 --- a/src/lambdakey-v1.0/ao_scheme_os.h +++ b/src/lambdakey-v1.0/ao_scheme_os.h @@ -19,8 +19,9 @@ #define _AO_SCHEME_OS_H_ #include "ao.h" +#include "ao_scheme.h" -#define AO_SCHEME_POOL 3584 +#define AO_SCHEME_POOL 3792 #define AO_SCHEME_TOKEN_MAX 64 #ifndef __BYTE_ORDER @@ -29,26 +30,13 @@ #define __BYTE_ORDER __LITTLE_ENDIAN #endif -static inline int -ao_scheme_getc() { - static uint8_t at_eol; - int c; +extern int _ao_scheme_getc(void); - if (at_eol) { - ao_cmd_readline(); - at_eol = 0; - } - c = ao_cmd_lex(); - if (c == '\n') - at_eol = 1; - return c; -} - -static inline void -ao_scheme_os_flush(void) -{ - flush(); -} +#define ao_scheme_getc(f) ({ (void) (f); _ao_scheme_getc(); }) +#undef putc +#define putc(c, f) ({ (void) (f); ao_putchar(c); }) +#define fputs(s, f) ({ (void) (f); ao_put_string(s); }) +#define fiprintf(f, ...) ({ (void) (f); iprintf(__VA_ARGS__); }) static inline void ao_scheme_abort(void) @@ -56,11 +44,13 @@ ao_scheme_abort(void) ao_panic(1); } +#ifdef LEDS_AVAILABLE static inline void ao_scheme_os_led(int led) { ao_led_set(led); } +#endif #define AO_SCHEME_JIFFIES_PER_SECOND AO_HERTZ