PIC24 Support Libraries
Functions
dataXfer.c File Reference

Implementation of the uC data transfer protocol. More...

#include "dataXfer.h"
#include <string.h>
#include <stdio.h>

Go to the source code of this file.

Functions

void initDataXfer ()
 
int formatVar (uint u_varIndex, char *psz_buf, size_t s_len)
 
Send functions
void outCharXfer (char c)
 
void specifyVar (uint u_varIndex, volatile void *pv_data, uint u_size, BOOL b_isWriteable, char *psz_format, char *psz_name, char *psz_desc)
 
void sendVar (uint u_varIndex)
 

Detailed Description

Implementation of the uC data transfer protocol.

Definition in file dataXfer.c.

Function Documentation

◆ formatVar()

int formatVar ( uint  u_varIndex,
char *  psz_buf,
size_t  s_len 
)

Return a string with the data stored in the given variable formatted using the format string contained in the variable. PC only.

Parameters
u_varIndexThe index of the variable to send; must be from 0 to NUM_XFER_VARS.
psz_bufBuffer to contain the formatted string.
s_lenLength of the buffer.
Returns
On success, the total number of characters written is returned. This count does not include the additional null-character automatically appended at the end of the string. On failure, a negative number is returned.

Definition at line 132 of file dataXfer.c.

◆ initDataXfer()

void initDataXfer ( )

Initialize the data transfer system. This must be called before calling any of the data transfer functions in the library.

Definition at line 17 of file dataXfer.c.

◆ outCharXfer()

void outCharXfer ( char  c)

Send one character to the uC, escaping if necessary.

Parameters
cCharacter to send.

Definition at line 27 of file dataXfer.c.

◆ sendVar()

void sendVar ( uint  u_varIndex)

Send an already-specified variable;

See also
specifyVar.
Parameters
u_varIndexThe index of the variable to send; must be from 0 to NUM_XFER_VARS.

Definition at line 88 of file dataXfer.c.

◆ specifyVar()

void specifyVar ( uint  u_varIndex,
volatile void *  pv_data,
uint  u_size,
BOOL  b_isWriteable,
char *  psz_format,
char *  psz_name,
char *  psz_desc 
)

Specify a variable to be sent or received. uC only.

Parameters
u_varIndexA value from 0-NUM_XFER_VARS, unique for each var
pv_dataA pointer to the data to be sent
u_sizeSize of the data in bytes; must be from 1 to 256.
b_isWriteableTrue if the PC is allowed to change this variable; false otherwise. This does NOT restrict the microcontroller to read-only access to this variable.
psz_formatprintf format string to use in displaying the Variable.
psz_nameName of this variable, typically the same as used in the code
psz_descDescription of this variable.

Definition at line 36 of file dataXfer.c.