Goby3  3.1.4
2024.02.22
goby::acomms::iridium::fsm::Command Struct Reference

#include <goby/acomms/modemdriver/iridium_driver_fsm.h>

Inheritance diagram for goby::acomms::iridium::fsm::Command:
boost::statechart::simple_state< Command, Active::orthogonal< 0 >, boost::mpl::list< Configure, SBD > > goby::acomms::iridium::fsm::StateNotify

Classes

struct  ATSentenceMeta
 

Public Types

using reactions = boost::mpl::list< boost::statechart::in_state_reaction< EvRxSerial, Command, &Command::in_state_react >, boost::statechart::in_state_reaction< EvTxSerial, Command, &Command::in_state_react >, boost::statechart::transition< EvOnline, Online >, boost::statechart::in_state_reaction< EvAck, Command, &Command::in_state_react > >
 
- Public Types inherited from boost::statechart::simple_state< Command, Active::orthogonal< 0 >, boost::mpl::list< Configure, SBD > >
typedef mpl::list reactions
 
typedef Active::orthogonal< 0 > ::inner_context_type context_type
 
typedef context_type::outermost_context_type outermost_context_type
 
typedef context_type::state_base_type state_base_type
 
typedef context_type::state_iterator state_iterator
 
typedef context_type::event_base_ptr_type event_base_ptr_type
 
typedef Active::orthogonal< 0 > ::inner_orthogonal_position orthogonal_position
 
typedef Command inner_context_type
 
typedef mpl::integral_c< detail::orthogonal_position_type, 0 > inner_orthogonal_position
 
typedef context_type::event_base_type event_base_type
 
typedef context_type::rtti_policy_type rtti_policy_type
 
typedef context_type::outermost_context_base_type outermost_context_base_type
 
typedef context_type::inner_context_ptr_type context_ptr_type
 
typedef context_type::state_list_type state_list_type
 
typedef intrusive_ptr< inner_context_typeinner_context_ptr_type
 
typedef detail::make_list< boost::mpl::list< Configure, SBD > >::type inner_initial_list
 
typedef mpl::size< inner_initial_list >::type inner_initial_list_size
 
typedef mpl::integral_c< detail::orthogonal_position_type, inner_initial_list_size::value > no_of_orthogonal_regions
 
typedef mpl::push_front< typename context_type::context_type_list, context_type >::type context_type_list
 
typedef mpl::bool_<(has_no_history &has_shallow_history) !=0 > shallow_history
 
typedef context_type::shallow_history stores_shallow_history
 
typedef mpl::bool_<(has_no_history &has_deep_history) !=0 > deep_history
 
typedef mpl::or_< deep_history, typename context_type::inherited_deep_history >::type inherited_deep_history
 
typedef mpl::and_< inherited_deep_history, mpl::empty< inner_initial_list > >::type stores_deep_history
 

Public Member Functions

void in_state_react (const EvRxSerial &)
 
void in_state_react (const EvTxSerial &)
 
void in_state_react (const EvAck &)
 
 Command ()
 
 ~Command () override=default
 
void push_at_command (const std::string &cmd)
 
boost::circular_buffer< std::pair< ATSentenceMeta, std::string > > & at_out ()
 
void clear_sbd_rx_buffer ()
 
void handle_sbd_rx (const std::string &in)
 
- Public Member Functions inherited from boost::statechart::simple_state< Command, Active::orthogonal< 0 >, boost::mpl::list< Configure, SBD > >
outermost_context_typeoutermost_context ()
 
const outermost_context_typeoutermost_context () const
 
OtherContext & context ()
 
const OtherContext & context () const
 
Target state_cast () const
 
Target state_downcast () const
 
state_iterator state_begin () const
 
state_iterator state_end () const
 
void post_event (const event_base_ptr_type &pEvent)
 
void post_event (const event_base &evt)
 
result discard_event ()
 
result forward_event ()
 
result defer_event ()
 
result transit ()
 
result transit (void(TransitionContext::*pTransitionAction)(const Event &), const Event &evt)
 
result terminate ()
 
void clear_shallow_history ()
 
void clear_deep_history ()
 
const event_base * triggering_event () const
 
 BOOST_STATIC_ASSERT ((mpl::less< orthogonal_position, typename context_type::no_of_orthogonal_regions >::value))
 
 BOOST_STATIC_ASSERT ((mpl::or_< mpl::less< no_of_orthogonal_regions, mpl::integral_c< detail::orthogonal_position_type, 2 > >, mpl::not_< typename context_type::inherited_deep_history > >::value))
 
void * operator new (std::size_t size)
 
void operator delete (void *pState)
 
outermost_context_base_typeoutermost_context_base ()
 
const outermost_context_base_typeoutermost_context_base () const
 
virtual const state_base_typeouter_state_ptr () const
 
virtual detail::reaction_result react_impl (const event_base_type &evt, typename rtti_policy_type::id_type eventType)
 
virtual void exit_impl (typename base_type::direct_state_base_ptr_type &pSelf, typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState, bool performFullExit)
 
void exit_impl (inner_context_ptr_type &pSelf, typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState, bool performFullExit)
 
void set_outermost_unstable_state (typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState)
 
const OtherContext::inner_context_ptr_type & context_ptr () const
 
void set_context (const context_ptr_type &pContext)
 
void store_deep_history_impl ()
 
- Public Member Functions inherited from goby::acomms::iridium::fsm::StateNotify
 StateNotify (std::string name)
 
 ~StateNotify ()
 

Additional Inherited Members

- Static Public Member Functions inherited from boost::statechart::simple_state< Command, Active::orthogonal< 0 >, boost::mpl::list< Configure, SBD > >
static void initial_deep_construct (outermost_context_base_type &outermostContextBase)
 
static void deep_construct (const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
 
static inner_context_ptr_type shallow_construct (const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
 
static void deep_construct_inner (const inner_context_ptr_type &pInnerContext, outermost_context_base_type &outermostContextBase)
 
- Protected Member Functions inherited from boost::statechart::simple_state< Command, Active::orthogonal< 0 >, boost::mpl::list< Configure, SBD > >
 simple_state ()
 
 ~simple_state ()
 

Detailed Description

Definition at line 284 of file iridium_driver_fsm.h.

Member Typedef Documentation

◆ reactions

using goby::acomms::iridium::fsm::Command::reactions = boost::mpl::list< boost::statechart::in_state_reaction<EvRxSerial, Command, &Command::in_state_react>, boost::statechart::in_state_reaction<EvTxSerial, Command, &Command::in_state_react>, boost::statechart::transition<EvOnline, Online>, boost::statechart::in_state_reaction<EvAck, Command, &Command::in_state_react> >

Definition at line 300 of file iridium_driver_fsm.h.

Constructor & Destructor Documentation

◆ Command()

goby::acomms::iridium::fsm::Command::Command ( )
inline

Definition at line 293 of file iridium_driver_fsm.h.

◆ ~Command()

goby::acomms::iridium::fsm::Command::~Command ( )
overridedefault

Member Function Documentation

◆ at_out()

boost::circular_buffer<std::pair<ATSentenceMeta, std::string> >& goby::acomms::iridium::fsm::Command::at_out ( )
inline

Definition at line 314 of file iridium_driver_fsm.h.

◆ clear_sbd_rx_buffer()

void goby::acomms::iridium::fsm::Command::clear_sbd_rx_buffer ( )
inline

Definition at line 316 of file iridium_driver_fsm.h.

◆ handle_sbd_rx()

void goby::acomms::iridium::fsm::Command::handle_sbd_rx ( const std::string &  in)

◆ in_state_react() [1/3]

void goby::acomms::iridium::fsm::Command::in_state_react ( const EvAck )

◆ in_state_react() [2/3]

void goby::acomms::iridium::fsm::Command::in_state_react ( const EvRxSerial )

◆ in_state_react() [3/3]

void goby::acomms::iridium::fsm::Command::in_state_react ( const EvTxSerial )

◆ push_at_command()

void goby::acomms::iridium::fsm::Command::push_at_command ( const std::string &  cmd)
inline

Definition at line 309 of file iridium_driver_fsm.h.


The documentation for this struct was generated from the following file: