Add Serial/Serial2 begin3 and writeChar

This commit is contained in:
2025-05-02 11:58:24 -10:00
parent d1bcb86c68
commit 399234677d
3 changed files with 24 additions and 2 deletions

View File

@ -175,10 +175,12 @@ static cell_t ResizeFile(cell_t fd, cell_t size);
#define REQUIRED_SERIAL_SUPPORT \
XV(serial, "Serial.begin", SERIAL_BEGIN, Serial.begin(tos); DROP) \
XV(serial, "Serial.begin3", SERIAL_BEGIN3, Serial.begin(n2, SERIAL_8N1, n1, n0); DROPn(3)) \
XV(serial, "Serial.end", SERIAL_END, Serial.end()) \
XV(serial, "Serial.available", SERIAL_AVAILABLE, PUSH Serial.available()) \
XV(serial, "Serial.readBytes", SERIAL_READ_BYTES, n0 = Serial.readBytes(b1, n0); NIP) \
XV(serial, "Serial.write", SERIAL_WRITE, n0 = Serial.write(b1, n0); NIP) \
XV(serial, "Serial.writeChar", SERIAL_WRITECHAR, n0 = Serial.write(n0)) \
XV(serial, "Serial.flush", SERIAL_FLUSH, Serial.flush()) \
XV(serial, "Serial.setDebugOutput", SERIAL_DEBUG_OUTPUT, Serial.setDebugOutput(n0); DROP)
@ -187,10 +189,12 @@ static cell_t ResizeFile(cell_t fd, cell_t size);
#else
# define OPTIONAL_SERIAL2_SUPPORT \
XV(serial, "Serial2.begin", SERIAL2_BEGIN, Serial2.begin(tos); DROP) \
XV(serial, "Serial2.begin3", SERIAL2_BEGIN3, Serial2.begin(n2, SERIAL_8N1, n1, n0); DROPn(3)) \
XV(serial, "Serial2.end", SERIAL2_END, Serial2.end()) \
XV(serial, "Serial2.available", SERIAL2_AVAILABLE, PUSH Serial2.available()) \
XV(serial, "Serial2.readBytes", SERIAL2_READ_BYTES, n0 = Serial2.readBytes(b1, n0); NIP) \
XV(serial, "Serial2.write", SERIAL2_WRITE, n0 = Serial2.write(b1, n0); NIP) \
XV(serial, "Serial2.writeChar", SERIAL2_WRITECHAR, n0 = Serial2.write(n0)) \
XV(serial, "Serial2.flush", SERIAL2_FLUSH, Serial2.flush()) \
XV(serial, "Serial2.setDebugOutput", SERIAL2_DEBUG_OUTPUT, Serial2.setDebugOutput(n0); DROP)
#endif

View File

@ -40,12 +40,28 @@ also ledc also serial also SPIFFS
( Map Arduino / ESP32 things to shorter names. )
: pin ( n pin# -- ) swap digitalWrite ;
: adc ( n -- n ) analogRead ;
: duty ( n n -- ) 255 min 8191 255 */ ledcWrite ;
: freq ( n n -- ) 1000 * 13 ledcAttach drop ;
: tone ( n n -- ) 1000 * ledcWriteTone drop ;
( Basic Ardiuno Constants )
0 constant LOW
1 constant HIGH
1 constant INPUT
2 constant OUTPUT
\ 2 constant OUTPUT
\ // Changed OUTPUT from 0x02 to behave the same as Arduino pinMode(pin,OUTPUT)
\ // where you can read the state of pin even when it is set as OUTPUT
3 constant OUTPUT
4 constant PULLUP
5 constant INPUT_PULLUP
8 constant PULLDOWN
9 constant INPUT_PULLDOWN
16 constant OPEN_DRAIN
18 constant OUTPUT_OPEN_DRAIN
192 constant ANALOG
2 constant LED
( Startup Setup )