PIC24 Support Libraries
|
Routines which implement the uC comm protocol. More...
#include "dataXferImpl.h"
Go to the source code of this file.
Macros | |
#define | RECEIVE_TIMEOUT (FCY * 1/20 * 0.1) |
#define | SPECIFY_VAR(u_varIndex, data, isWriteable, format, desc) specifyVar(u_varIndex, &data, sizeof(data), isWriteable, format, #data, desc) |
Functions | |
void | outCharXfer (char c) |
void | outChar (uint8_t c) |
A system-dependent macro to output one character. More... | |
void | initDataXfer () |
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) |
int | formatVar (uint u_varIndex, char *psz_buf, size_t s_len) |
uint | receiveVar (char *c) |
char | inCharXfer () |
Routines which implement the uC comm protocol.
Definition in file dataXfer.h.
#define RECEIVE_TIMEOUT (FCY * 1/20 * 0.1) |
Number of for loop iterations which equal a timeout for the microcontroller.
Definition at line 45 of file dataXfer.h.
#define SPECIFY_VAR | ( | u_varIndex, | |
data, | |||
isWriteable, | |||
format, | |||
desc | |||
) | specifyVar(u_varIndex, &data, sizeof(data), isWriteable, format, #data, desc) |
For simplicity, define a macro that specifies a variable with default names. uC only.
u_varIndex | A value from 0-NUM_XFER_VARS, unique for each var |
data | A pointer to the data to be sent |
isWriteable | True if the PC is allowed to change this variable; false otherwise. This does NOT restrict the microcontroller to read-only access to this variable. |
format | printf format string to use in displaying the variable |
desc | Description of this variable. |
Definition at line 103 of file dataXfer.h.
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.
u_varIndex | The index of the variable to send; must be from 0 to NUM_XFER_VARS. |
psz_buf | Buffer to contain the formatted string. |
s_len | Length of the buffer. |
Definition at line 132 of file dataXfer.c.
char inCharXfer | ( | ) |
Receive a character, while transparently processing any variables sent by the PC. Variables are assigned, but this simple interface does not report these assignments to its caller. This provides a simple wrapper around receiveVar, which also reports on received variables. uC only.
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.
void outChar | ( | uint8_t | u8_c | ) |
A system-dependent macro to output one character.
Write a character to the serial port. This function blocks until a character is written. The UART used is determined by the __C30_UART variable, which defaults to 1.
u8_c | Character to write |
Definition at line 58 of file pic24_serial.c.
void outCharXfer | ( | char | c | ) |
Send one character to the uC, escaping if necessary.
c | Character to send. |
Definition at line 27 of file dataXfer.c.
uint receiveVar | ( | char * | c | ) |
Receive a character or a variable. Any errors that occur are reported via outString. uC only.
c | Pointer to space for storing the received character, if a character was received (see return value). |
void sendVar | ( | uint | u_varIndex | ) |
Send an already-specified variable;
u_varIndex | The index of the variable to send; must be from 0 to NUM_XFER_VARS. |
Definition at line 88 of file dataXfer.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 | ||
) |
Specify a variable to be sent or received. uC only.
u_varIndex | A value from 0-NUM_XFER_VARS, unique for each var |
pv_data | A pointer to the data to be sent |
u_size | Size of the data in bytes; must be from 1 to 256. |
b_isWriteable | True 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_format | printf format string to use in displaying the Variable. |
psz_name | Name of this variable, typically the same as used in the code |
psz_desc | Description of this variable. |
Definition at line 36 of file dataXfer.c.