nanoFORTH v2.2
Loading...
Searching...
No Matches
n4_core.cpp File Reference

nanoForth Core Utilities More...

#include "n4_core.h"
#include <avr/pgmspace.h>
Include dependency graph for n4_core.cpp:

Namespaces

namespace  N4Core
 

Functions

DU freemem ()
 
void N4Core::set_pre (const char *code)
 set embedded Forth code
 
void N4Core::set_io (Stream *s)
 initialize or redirect IO stream
 
void N4Core::set_hex (U8 f)
 enable/disable hex numeric radix
 
void N4Core::set_ucase (U8 uc)
 set case sensitiveness
 
char N4Core::uc (char c)
 
void N4Core::mstat ()
 display MMU statistics
 
char N4Core::vkey ()
 
void N4Core::_console_input ()
 
Console IO Functions with Cooperative Threading support
char N4Core::key ()
 Arduino's Serial.getchar(), yield to user tasks when waiting.
 
void N4Core::d_chr (char c)
 print a char to console
 
void N4Core::d_adr (IU a)
 print a 12-bit address
 
void N4Core::d_ptr (U8 *p)
 print a pointer
 
void N4Core::d_num (DU n)
 sent a number literal to console
 
void N4Core::d_pin (U16 p, U16 v)
 set pin a given pinMode (INPUT, OUTPUT)
 
U16 N4Core::d_in (U16 p)
 fetch from GPIO port
 
void N4Core::d_out (U16 p, U16 v)
 send output to GPIO ports
 
U16 N4Core::a_in (U16 p)
 fetch from analog port
 
void N4Core::a_out (U16 p, U16 v)
 send output to GPIO ports
 
void N4Core::d_str (U8 *p)
 handle dot string (byte-stream leading with length)
 
void N4Core::d_nib (U8 n)
 print a nibble
 
void N4Core::d_u8 (U8 c)
 print a 8-bit hex number
 
dot_* for Console Input/Output Routines
void N4Core::d_mem (U8 *base, U8 *p0, IU sz, U8 delim)
 
void N4Core::d_name (U8 *p)
 print 3 characters name
 
void N4Core::d_name (U8 op, const char *lst, U8 space)
 
Input buffer Functions
U8 N4Core::number (U8 *str, DU *num)
 
void N4Core::clear_tib ()
 reset input buffer
 
U8 N4Core::ok ()
 check whether input buffer is empty
 
U8N4Core::get_token (U8 rst=0)
 get a token from console input
 
U8 N4Core::scan (U8 *tkn, const char *lst, IU *id)
 

Variables

MMU controls
U8 N4Core::dic [N4_RAM_SZ]
 base of dictionary
 
N4Task N4Core::vm { NULL, NULL }
 VM context.
 
IO controls
Stream * N4Core::io { &Serial }
 default to Arduino Serial Monitor
 
U8 N4Core::trc { 0 }
 tracing control flag
 
char * N4Core::_pre { NULL }
 preload Forth code
 
U8N4Core::_tib { &dic[N4_DIC_SZ+N4_STK_SZ] }
 base of terminal input buffer
 
U8 N4Core::_empty { 1 }
 empty flag for terminal input buffer
 
U8 N4Core::_hex { 0 }
 numeric radix for display
 
U8 N4Core::_ucase { 0 }
 empty flag for terminal input buffer
 

Detailed Description

nanoForth Core Utilities

  • low level memory and IO management

Function Documentation

◆ freemem()

DU freemem ( )