Release 4.6c - 6th October 2024

This commit is contained in:
David Johnson-Davies 2024-10-06 14:07:51 +01:00 committed by GitHub
parent d7e26ce822
commit 5fbf14394f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 44 additions and 6 deletions

View File

@ -1,6 +1,5 @@
/* uLisp ARM Release 4.6b - www.ulisp.com /* uLisp ARM Release 4.6c - www.ulisp.com
David Johnson-Davies - www.technoblogy.com - 1st September 2024 David Johnson-Davies - www.technoblogy.com - 6th October 2024
Licensed under the MIT license: https://opensource.org/licenses/MIT Licensed under the MIT license: https://opensource.org/licenses/MIT
*/ */
@ -213,7 +212,11 @@ const char LispLibrary[] = "";
#endif #endif
#elif defined(ARDUINO_RASPBERRY_PI_PICO_2) #elif defined(ARDUINO_RASPBERRY_PI_PICO_2)
#define WORKSPACESIZE (23000-SDSIZE) /* Objects (8*bytes) */ #if defined(__riscv)
#define WORKSPACESIZE (42500-SDSIZE) /* Objects (8*bytes) */
#else
#define WORKSPACESIZE (47000-SDSIZE) /* Objects (8*bytes) */
#endif
#define LITTLEFS #define LITTLEFS
#include <LittleFS.h> #include <LittleFS.h>
#define FS_FILE_WRITE "w" #define FS_FILE_WRITE "w"
@ -642,9 +645,16 @@ const char errorhandling[] = ":error-handling";
const char wifi[] = ":wi-fi"; const char wifi[] = ":wi-fi";
const char gfx[] = ":gfx"; const char gfx[] = ":gfx";
const char sdcard[] = ":sd-card"; const char sdcard[] = ":sd-card";
const char arm[] = ":arm";
const char riscv[] = ":risc-v";
object *features () { object *features () {
object *result = NULL; object *result = NULL;
#if defined(__riscv)
push(internlong((char *)riscv), result);
#else
push(internlong((char *)arm), result);
#endif
#if defined(sdcardsupport) #if defined(sdcardsupport)
push(internlong((char *)sdcard), result); push(internlong((char *)sdcard), result);
#endif #endif
@ -5990,6 +6000,20 @@ const char string253[] = ":gpio-oe";
const char string254[] = ":gpio-oe-set"; const char string254[] = ":gpio-oe-set";
const char string255[] = ":gpio-oe-clr"; const char string255[] = ":gpio-oe-clr";
const char string256[] = ":gpio-oe-xor"; const char string256[] = ":gpio-oe-xor";
#elif defined(CPU_RP2350)
const char string248[] = ":input";
const char string249[] = ":input-pullup";
const char string250[] = ":input-pulldown";
const char string251[] = ":output";
const char string252[] = ":gpio-in";
const char string253[] = ":gpio-out";
const char string254[] = ":gpio-out-set";
const char string255[] = ":gpio-out-clr";
const char string256[] = ":gpio-out-xor";
const char string257[] = ":gpio-oe";
const char string258[] = ":gpio-oe-set";
const char string259[] = ":gpio-oe-clr";
const char string260[] = ":gpio-oe-xor";
#elif defined(CPU_RA4M1) #elif defined(CPU_RA4M1)
const char string244[] = ":input"; const char string244[] = ":input";
const char string245[] = ":input-pullup"; const char string245[] = ":input-pullup";
@ -6959,6 +6983,20 @@ const tbl_entry_t lookup_table[] = {
{ string254, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_SET_OFFSET), REGISTER, NULL }, { string254, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_SET_OFFSET), REGISTER, NULL },
{ string255, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_CLR_OFFSET), REGISTER, NULL }, { string255, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_CLR_OFFSET), REGISTER, NULL },
{ string256, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_XOR_OFFSET), REGISTER, NULL }, { string256, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_XOR_OFFSET), REGISTER, NULL },
#elif defined(CPU_RP2350)
{ string248, (fn_ptr_type)INPUT, PINMODE, NULL },
{ string249, (fn_ptr_type)INPUT_PULLUP, PINMODE, NULL },
{ string250, (fn_ptr_type)INPUT_PULLDOWN, PINMODE, NULL },
{ string251, (fn_ptr_type)OUTPUT, PINMODE, NULL },
{ string252, (fn_ptr_type)(SIO_BASE+SIO_GPIO_IN_OFFSET), REGISTER, NULL },
{ string253, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OUT_OFFSET), REGISTER, NULL },
{ string254, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OUT_SET_OFFSET), REGISTER, NULL },
{ string255, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OUT_CLR_OFFSET), REGISTER, NULL },
{ string256, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OUT_XOR_OFFSET), REGISTER, NULL },
{ string257, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_OFFSET), REGISTER, NULL },
{ string258, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_SET_OFFSET), REGISTER, NULL },
{ string259, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_CLR_OFFSET), REGISTER, NULL },
{ string260, (fn_ptr_type)(SIO_BASE+SIO_GPIO_OE_XOR_OFFSET), REGISTER, NULL },
#elif defined(CPU_RA4M1) #elif defined(CPU_RA4M1)
{ string244, (fn_ptr_type)INPUT, PINMODE, NULL }, { string244, (fn_ptr_type)INPUT, PINMODE, NULL },
{ string245, (fn_ptr_type)INPUT_PULLUP, PINMODE, NULL }, { string245, (fn_ptr_type)INPUT_PULLUP, PINMODE, NULL },
@ -7059,7 +7097,7 @@ bool keywordp (object *obj) {
extern uint32_t ENDSTACK; // Bottom of stack extern uint32_t ENDSTACK; // Bottom of stack
object *eval (object *form, object *env) { object *eval (object *form, object *env) {
register int *sp asm ("r13"); register int *sp asm ("sp");
int TC=0; int TC=0;
EVAL: EVAL:
// Enough space? // Enough space?
@ -7794,7 +7832,7 @@ void setup () {
initenv(); initenv();
initsleep(); initsleep();
initgfx(); initgfx();
pfstring(PSTR("uLisp 4.6b "), pserial); pln(pserial); pfstring(PSTR("uLisp 4.6c "), pserial); pln(pserial);
} }
// Read/Evaluate/Print loop // Read/Evaluate/Print loop