Table of Contents


Introduction

1.1 Assumptions
1.2 Definition of Terms
1.3 Documentation Road Map

Overview

2.1 Hardware Connections
2.2 Software Components
Layers of Communication
Sample Programs
For Rabbit-based Targets:
For nonRabbit-based Targets:
2.3 Further Programming
Faster Debug/Development

DeviceMate Feature Set

Library Support for Target Devices
Serial Port Macros
Required Function Calls for Target Applications
Using µC/OS-II
3.1 TCP/IP Subsystem
Configuration Macros for TCP/IP Subsystem
API Functions for TCP/IP Subsystem
Functions Grouped by Task
TCP and UDP Sample Program
Running tctcp_time.c
Porting Note
3.2 E-Mail Subsystem
E-Mail Sample Program
Configuration Macros for E-Mail Subsystem
3.3 Web Page Variables Subsystem
Using the File System Subsystem
Displaying the Variables on Web Pages
Frequency of Variable Updates
Variables Sample Program
Configuration Macros for Variables Subsystem
3.4 File System Subsystem
File System Configuration
File System Sample Program
Blocking vs. NonBlocking Functions
3.5 Message Logging Subsystem
Message Filtering
Message Logging Sample Program
Data Types
Storage of Logging Messages
Message Logging Configuration Macros
3.6 Software Watchdogs Subsystem
Watchdog Sample Program
Watchdog Subsystem Configurable Variables

Applications Running on the DeviceMate Unit

4.1 Configuration of Subsystems
Library Support
Function Chains
Configuration Macros Common to all Subsystems
4.2 Sample Program Code
4.3 Subsystem Distinctions
TCP/IP Subsystem Configuration
Web Page Variables Subsystem Configuration
HTML Files
File System Subsystem Configuration
FS2 Configuration Macros
Configuration Functions
Backup Files for Spec Table
targetproc_fs_backup_loaded
targetproc_fs_backup_bytes
Message Logging Subsystem
Storage of Log Entries
Configuration Macros
Function Reference
log_clean
log_close
log_condition
log_format
log_map
log_next
log_open
log_prev
log_put
log_seek
Remote Program Download
Setting Up the DeviceMate as a Conduit
Communication Between DeviceMate Unit and Target
Watchdog Subsystem Configuration

Function Reference for Target Applications

5.1 TCP/IP Subsystem
devmate_ip_resolve
devmate_sock_init
devmate_tcp_abort
devmate_tcp_maxsocket
devmate_tcp_close
devmate_tcp_error
devmate_tcp_fastread
devmate_tcp_fastwrite
devmate_tcp_isclosed
devmate_tcp_isestablished
devmate_tcp_listen
devmate_tcp_open
devmate_tcp_preread
devmate_tcp_readable
devmate_tcp_status
devmate_tcp_writable
devmate_udp_close
devmate_udp_open
devmate_udp_recvdata
devmate_udp_recvfrom
devmate_udp_sendto
devmate_udp_send
5.2 E-Mail Subsystem
devmate_smtp_mailtick
devmate_smtp_sendmail
devmate_smtp_sendmailxmem
devmate_smtp_setdomain
devmate_smtp_setsocket
devmate_smtp_setserver
devmate_smtp_status
5.3 Web Page Variables Subsystem
devmate_var_add
devmate_var_check_status
devmate_var_update
5.4 File System Subsystem
devmate_fs_append
devmate_fs_close
devmate_fs_delete
devmate_fs_deleteB
devmate_fs_finish
devmate_fs_idlookup
devmate_fs_idlookupB
devmate_fs_open
devmate_fs_rename
devmate_fs_renameB
devmate_fs_sync
devmate_fs_syncB
5.5 Message Logging Subsystem
devmate_log_init
devmate_log_put
devmate_log_setfacilityfilter
devmate_log_setpriorityfilter
devmate_log_status
5.6 Watchdog Subsystem
devmate_wd_init
devmate_wd_add
devmate_wd_hit
devmate_wd_rmv

Porting Guidelines for NonRabbit-Based Targets

6.1 Overview
Steps for Porting to a Non Supported Target
Sample Architectures
6.2 NonRabbit-Based Target Properties
6.3 TCL Interface
TCL Data-Handling API
Data Types
Received Data Handler
Transmit Data Handlers
Checksum Algorithm
Adapter Notification API
Transmission Start
Event Signal
Configuring the TCL Framework
Byte Swapping and Packing
Memory Model
Interaction with Operating System
Serialization
6.4 Multitasking Environment
Locking Macros
Critical Sections

Guidelines for Writing Custom Subsystems

Software Overview
Packet Type
Multitasking Environment
Locking Macros
Critical Sections
Data Flow
The Callback Function
Callback Registration
Buffer Management
Subsystem Buffers
Queue and Buffer Routines
_tc_get_buffer
_tc_queue_buffer
_tc_create_queue
_tc_empty
Transmitting Packets API
devmate_send
Receiving Packets API
devmate_recvbuf

Using XTC

Library Support
Data Structures
Registration
XTCApp Structure
XTC Configuration Macro
XTC API
_devmate_xtc_init
devmate_xtc_ready
devmate_xtc_register
xtc_abort
xtc_aread
xtc_areadp
xtc_awrite
xtc_awritep
xtc_close
xtc_closed
xtc_error
xtc_estab
xtc_flush
xtc_listen
xtc_open
xtc_opts
xtc_preread
xtc_prereadp
xtc_read
xtc_readable
xtc_readp
xtc_writable
xtc_write
xtc_writep

Index