X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Flambdakey-v1.0%2Fao_scheme_os.h;h=4135755252ba4258e07806168a24153a030d6de8;hp=0d48af3b902cf0efdc5e786160c73e49ad19f3a6;hb=cd151a622537e1436362bd71229c6ce22a3957d0;hpb=09ea349f5b37e257e8ca23ead493ba1694395530 diff --git a/src/lambdakey-v1.0/ao_scheme_os.h b/src/lambdakey-v1.0/ao_scheme_os.h index 0d48af3b..41357552 100644 --- a/src/lambdakey-v1.0/ao_scheme_os.h +++ b/src/lambdakey-v1.0/ao_scheme_os.h @@ -19,13 +19,9 @@ #define _AO_SCHEME_OS_H_ #include "ao.h" +#include "ao_scheme.h" -#undef AO_SCHEME_FEATURE_FLOAT -#undef AO_SCHEME_FEATURE_VECTOR -#undef AO_SCHEME_FEATURE_QUASI -#undef AO_SCHEME_FEATURE_BIGINT - -#define AO_SCHEME_POOL 4096 +#define AO_SCHEME_POOL 3792 #define AO_SCHEME_TOKEN_MAX 64 #ifndef __BYTE_ORDER @@ -34,26 +30,13 @@ #define __BYTE_ORDER __LITTLE_ENDIAN #endif -static inline int -ao_scheme_getc() { - static uint8_t at_eol; - int c; - - if (at_eol) { - ao_cmd_readline(); - at_eol = 0; - } - c = ao_cmd_lex(); - if (c == '\n') - at_eol = 1; - return c; -} +extern int _ao_scheme_getc(void); -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) @@ -61,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