ASCII Serial Com
Serial communication library between computers, microcontrollers, FPGAs, etc. Uses only ASCII. Not the most efficient protocol, but meant to be easy to read
Loading...
Searching...
No Matches
Macros | Functions
ascii_serial_com_register_block.c File Reference
#include "ascii_serial_com_register_block.h"
#include "asc_exception.h"
#include <assert.h>
Include dependency graph for ascii_serial_com_register_block.c:

Go to the source code of this file.

Macros

#define put_val_into_bytes(x, b)   convert_uint8_to_hex(x, (b), true)
 
#define get_val_from_bytes(b)   convert_hex_to_uint8((b))
 

Functions

void ascii_serial_com_register_block_init (ascii_serial_com_register_block *register_block_state, REGTYPE *block, uint16_t n_regs)
 ASCII Serial Com Register Block init.
 
void ascii_serial_com_register_block_handle_message (ascii_serial_com *asc, char ascVersion, char appVersion, char command, char *data, size_t dataLen, void *register_block_state_vp)
 ASCII Serial Com Register Block handle message.
 

Macro Definition Documentation

◆ get_val_from_bytes

#define get_val_from_bytes ( b)    convert_hex_to_uint8((b))

Definition at line 9 of file ascii_serial_com_register_block.c.

◆ put_val_into_bytes

#define put_val_into_bytes ( x,
b )   convert_uint8_to_hex(x, (b), true)

Definition at line 8 of file ascii_serial_com_register_block.c.

Function Documentation

◆ ascii_serial_com_register_block_handle_message()

void ascii_serial_com_register_block_handle_message ( ascii_serial_com * asc,
char ascVersion,
char appVersion,
char command,
char * data,
size_t dataLen,
void * register_block_state )

ASCII Serial Com Register Block handle message.

This is the function passed to ascii_serial_com_device as frw

The parameters are the same as in that function (and ascii_serial_com_get_message_from_input_buffer + register_block_state).

WILL CLOBBER data

Parameters
register_block_stateshould be a pointer to an initialized ascii_serial_com_register_block

Definition at line 25 of file ascii_serial_com_register_block.c.

References ascii_serial_com_put_message_in_output_buffer(), ascii_serial_com_register_block_struct::block, convert_hex_to_uint16(), and ascii_serial_com_register_block_struct::n_regs.

◆ ascii_serial_com_register_block_init()

void ascii_serial_com_register_block_init ( ascii_serial_com_register_block * register_block_state,
REGTYPE * block,
uint16_t n_regs )

ASCII Serial Com Register Block init.

Initialize ASCII Serial Com register_block

Parameters
register_block_stateshould be an uninitialized ascii_serial_com_register_block object
blockpoints to start of register block of memory
n_regsis the number of registers in the block (not necessarily the number of bytes)

Definition at line 18 of file ascii_serial_com_register_block.c.

References ascii_serial_com_register_block_struct::block, and ascii_serial_com_register_block_struct::n_regs.