nmc::msg_builder_t Class Reference

#include <nmc_msg_builder.H>

Inheritance diagram for nmc::msg_builder_t:
nmc::hard_reset_builder_t nmc::no_op_builder_t nmc::pic_io::define_status_builder_t nmc::pic_io::read_status_builder_t nmc::pic_io::set_direction_builder_t nmc::pic_io::set_output_builder_t nmc::pic_io::set_pwm_builder_t nmc::pic_io::set_synch_output_builder_t nmc::pic_io::set_timer_mode_builer_t nmc::pic_io::synch_input_builder_t nmc::pic_io::synch_output_builder_t nmc::pic_servo::clear_sticky_bits_builder_t nmc::pic_servo::define_status_builder_t nmc::pic_servo::io_control_builder_t nmc::pic_servo::load_trajectory_builder_t nmc::pic_servo::read_status_builder_t nmc::pic_servo::reset_position_builder_t nmc::pic_servo::save_as_home_builder_t nmc::pic_servo::set_gain_builder_t nmc::pic_servo::set_homing_mode_builder_t nmc::pic_servo::start_motion_builder_t nmc::pic_servo::stop_motor_builder_t nmc::set_address_builder_t nmc::set_baud_rate_builder_t

List of all members.

Public Member Functions

 msg_builder_t ()
virtual ~msg_builder_t ()
unsigned build (u8_t address, u8_t *data, unsigned max_size)

Static Public Attributes

static unsigned const MAX_MSG_SIZE = 20

Protected Member Functions

template<typename T >
void encode (T const &v)
void encode (void *data, unsigned size)
virtual u8_t _build (void)=0

Static Protected Member Functions

static u8_t calc_crc (u8_t const *data, unsigned size)

Protected Attributes

unsigned m_offset
u8_t * m_data
unsigned m_max_size

Static Protected Attributes

static unsigned const ENVELOPE_SIZE = 4
static unsigned const HEADER_SIZE = 3
static unsigned const FOOTER_SIZE = 1
static unsigned const ADDRESS_OFFSET = 1
static unsigned const COMMAND_OFFSET = 2
static u8_t const STX = 0xAA

Constructor & Destructor Documentation

msg_builder_t::msg_builder_t (  ) 
virtual nmc::msg_builder_t::~msg_builder_t (  )  [inline, virtual]

Member Function Documentation

virtual u8_t nmc::msg_builder_t::_build ( void   )  [protected, pure virtual]
unsigned msg_builder_t::build ( u8_t  address,
u8_t *  data,
unsigned  max_size 
)
u8_t msg_builder_t::calc_crc ( u8_t const *  data,
unsigned  size 
) [static, protected]

References COMMAND_OFFSET, and HEADER_SIZE.

Referenced by build().

void nmc::msg_builder_t::encode ( void *  data,
unsigned  size 
) [inline, protected]

References m_data, m_max_size, and m_offset.

template<typename T >
void nmc::msg_builder_t::encode ( T const &  v  )  [inline, protected]

Member Data Documentation

unsigned const nmc::msg_builder_t::ADDRESS_OFFSET = 1 [static, protected]

Referenced by build().

unsigned const nmc::msg_builder_t::COMMAND_OFFSET = 2 [static, protected]

Referenced by build(), and calc_crc().

unsigned const nmc::msg_builder_t::ENVELOPE_SIZE = 4 [static, protected]

Referenced by build().

unsigned const nmc::msg_builder_t::FOOTER_SIZE = 1 [static, protected]
unsigned const nmc::msg_builder_t::HEADER_SIZE = 3 [static, protected]
u8_t* nmc::msg_builder_t::m_data [protected]

Referenced by build(), and encode().

unsigned nmc::msg_builder_t::m_max_size [protected]

Referenced by build(), and encode().

unsigned nmc::msg_builder_t::m_offset [protected]
unsigned const nmc::msg_builder_t::MAX_MSG_SIZE = 20 [static]
u8_t const nmc::msg_builder_t::STX = 0xAA [static, protected]

Referenced by build().


The documentation for this class was generated from the following files:

Generated on Fri Apr 9 10:45:12 2010 for drivers by  doxygen 1.6.1