| Both sides previous revisionPrevious revision | |
| en:pfw:wireless_communication_mesh-network [2023-09-04 18:23] – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden uho | en:pfw:wireless_communication_mesh-network [2025-11-07 12:50] (current) – [Network tools] willem |
|---|
| The mesh network code adds some additional words for constructing new functions above the basic node command interpreter. These are: | The mesh network code adds some additional words for constructing new functions above the basic node command interpreter. These are: |
| |
| ^Word ^Stack ^Function ^ | ^ Word ^ Stack ^ Function ^ |
| |''%%ALL%%'' |( -- a ) |Address of a BIT-table with all found nodes | | | ''%%ALL%%'' | ( -- a ) | Address of a BIT-table with all found nodes | |
| |''%%DIRECT%%'' |( -- a ) |Address of a BIT-table with direct accessable nodes | | | ''%%DIRECT%%'' | ( -- a ) | Address of a BIT-table with direct accessable nodes | |
| |''%%INDIRECT%%''|( -- a ) |Address of a BIT-table with indirect accessable nodes | | |''%%INDIRECT%%''|( -- a ) |Address of a BIT-table with indirect accessable nodes | |
| |''%%#MAP%%'' |( -- +n ) |Leave the size of a bitmap | | |''%%#MAP%%'' |( -- +n ) |Leave the size of a bitmap | |
| |''%%GET*%%'' |( u a -- 0|b ) |Check if node +n present in bit-array a? | | |''%%GET*%%'' |( u a -- 0/b ) |Check if node +n present in bit-array a? | |
| |''%%*CLR%%'' |( u a -- ) |Remove node +n from bit-array a | | |''%%*CLR%%'' |( u a -- ) |Remove node +n from bit-array a | |
| |''%%*COUNT%%'' |( a -- +n ) |Leave number of nodes found in bitmap a | | |''%%*COUNT%%'' |( a -- +n ) |Leave number of nodes found in bitmap a | |
| |''%%>USER%%'' |( a -- ) |Copy nodes to node accu for app programmer | | |''%%>USER%%'' |( a -- ) |Copy nodes to node accu for app programmer | |
| |''%%>WORK%%'' |( a -- ) |Copy nodes to node accu for internal functions | | |''%%>WORK%%'' |( a -- ) |Copy nodes to node accu for internal functions | |
| |''%%NEXT?%%'' |( a -- 0|u -1 )|Leave node number of the first used node in bitmap a & erase the bit | | |''%%NEXT?%%'' |( a -- 0/u -1 )|Leave node number of the first used node in bitmap a & erase the bit | |
| |''%%RUN%%'' |( -- ) |Allow a program to run free | | |''%%RUN%%'' |( -- ) |Allow a program to run free | |
| |''%%HALT?%%'' |( -- f ) |Alternative KEY? to stop node programs | | |''%%HALT?%%'' |( -- f ) |Alternative KEY? to stop node programs | |
| |''%%<WAIT>%%'' |( u -- ) |Wait +n milliseconds & respond to external network commands, leave after an } was received| | |''%%<WAIT>%%'' |( u -- ) |Wait +n milliseconds & respond to external network commands, leave after an } was received| |
| |''%%>OTHERS%%'' |( c -- ) |Send node command c to all nodes noted in WORK with a timeout of 1024 ms | | |''%%>OTHERS%%'' |( c -- ) |Send node command c to all nodes noted in WORK with a timeout of 1024 ms | |
| |''%%FINISH%%'' |( -- ) |End network buildup with adding node type information | | |''%%FINISH%%'' |( -- ) |End network buildup with adding node type information | |
| |
| === Generic forth example code === | === Generic forth example code === |