feetech_writer.h

Interface definition for Feetech packet writer.

void feetech_writer_init(feetech_writer_t * writer, uint8_t * buffer, msp430_types.h::size_t buffer_max_size)

Initialize the Feetech packet writer.

Parameters

writer:the packet writer
buffer:the buffer used to store data
buffer_max_size:
 the size of the buffer (= maximum packet size)

const uint8_t * feetech_writer_get_data(const feetech_writer_t * writer)

Get the data buffer to send.

Parameters

writer:the packet writer

Return values

  • the begining address of the buffer
msp430_types.h::size_t feetech_writer_get_size(const feetech_writer_t * writer)

Get the data buffer’s size to send.

Parameters

writer:the packet writer

Return values

  • the buffer’s size
void feetech_writer_response_make(feetech_writer_t * writer, uint8_t id, const uint8_t * buffer, msp430_types.h::size_t size)

Build a response packet.

Parameters

writer:the packet writer
id:the responder’s id
buffer:the response data
size:the response size

void feetech_writer_ack_make(feetech_writer_t * writer, uint8_t id)

Build an ack packet.

Parameters

writer:the packet writer
id:the responder’s id

void feetech_writer_ping_make(feetech_writer_t * writer, uint8_t id)

Build a PING packet.

Parameters

writer:the packet writer
id:the destination’s id

void feetech_writer_write_make(feetech_writer_t * writer, uint8_t id, uint8_t reg, const uint8_t * buffer, msp430_types.h::size_t size)

Build a WRITE packet.

Parameters

writer:the packet writer
id:the destination’s id
reg:the register to write in
buffer:the data buffer to write
size:the data buffer’s size

void feetech_writer_write8_make(feetech_writer_t * writer, uint8_t id, uint8_t reg, uint8_t value)

Build a WRITE packet (8 bits)

Parameters

writer:the packet writer
id:the destination’s id
reg:the register to write in
value:the value to write in the register

void feetech_writer_write16_make(feetech_writer_t * writer, uint8_t id, uint8_t reg, uint16_t value)

Build a WRITE packet (16 bits)

Parameters

writer:the packet writer
id:the destination’s id
reg:the register to write in
value:the value to write in the register

void feetech_writer_read_make(feetech_writer_t * writer, uint8_t id, uint8_t reg, msp430_types.h::size_t size)

Build a READ packet.

Parameters

writer:the packet writer
id:the destination’s id
reg:the register to read
size:the size to read

void feetech_writer_sync_write_begin(feetech_writer_t * writer, uint8_t reg, msp430_types.h::size_t size)

Begin to build a SYNC_WRITE packet.

Parameters

writer:the packet writer
reg:the register to write in
size:the data buffer’s size

void feetech_writer_sync_write_end(feetech_writer_t * writer)

End the building of a SYNC_WRITE packet.

Parameters

writer:the packet writer

void feetech_writer_sync_write_add(feetech_writer_t * writer, uint8_t id, const uint8_t * buffer, msp430_types.h::size_t size)

Add an item to a SYNC_WRITE packet.

Parameters

writer:the packet writer
id:the destination’s id
buffer:the data buffer to write
size:the data buffer’s size

void feetech_writer_sync_write_add_8bits(feetech_writer_t * writer, uint8_t id, uint8_t value)

Add an item to a SYNC_WRITE packet (8 bits)

Parameters

writer:the packet writer
id:the destination’s id
value:the value to write

void feetech_writer_sync_write_add_16bits(feetech_writer_t * writer, uint8_t id, uint16_t value)

Add an item to a SYNC_WRITE packet (16 bits)

Parameters

writer:the packet writer
id:the destination’s id
value:the value to write

struct feetech_writer_t

Feetech packet writer struct.

uint8_t * buffer

data buffer

msp430_types.h::size_t size

packet’s size

msp430_types.h::size_t buffer_max_size

data buffer’s size