Here is an example Xwire buffer allocation and configuration:
;SX10509 NETWORK buffer
defBLOCK 32 ;transmit data block
bTxCmd defBYTE ;command (bit 7 toggles the next iteration of the current command)
bTxLength defBYTE ;length of transmit data
kTxDataLen EQU 30
abTxData defBYTE 30 ;transmit data
defBLOCK 32 ;receive data block (chose 32 as this is the SX10509 default)
bRxCmdEcho defBYTE ;copy of the last completed command (will match bTxCmd when done)
bRxLength defBYTE ;receive data length
kRxDataLen EQU 30
abRxData defBYTE 30 ;received data
NVEM0
;SX10509 Xwire NETWORK configuration
NV0Byte 64 ;Address of the SX10509 SPLat Call Home board
NV0Byte bTxCmd ;Address of the Tx data block
NV0Byte 32 ;Length of the Tx data block
NV0Byte bRxCmdEcho ;Address of the Rx data block
NV0Byte 32 ;Length of the Rx data block
NV0Byte 255 ;End of table sentinel.
In this example, 32 bytes have been allocated for the controller transmit data block and 32 for the receive data block.
Hence, on the Xwire Configuration tab for the SX10509, 32 was also entered for the "Controller Network Rx Size" field.