/***************************************************************************** * File: A_SP_object.h * * Object: sampling_probe (SP) * Subsystem: autosampler * Domain: A * Repository: as2.ooa * * Notice: * (C) Copyright 1999, 2000 ROX Software, Inc. * All rights reserved. * * Model Compiler: MC3020 V1.3.0 * * Warnings: * !!! THIS IS AN AUTO-GENERATED FILE. PLEASE DO NOT EDIT. !!! ****************************************************************************/ #ifndef A_SP_OBJECT_H #define A_SP_OBJECT_H #ifdef __cplusplus extern "C" { #endif #include "e_mechs.h" #include "e_events.h" #include "A_enums.h" #include "A_objects.h" #include "sys_user_co.h" /***************************************************************************** * Structure: A_SP_s * Structural representation of application analysis object: * 'sampling_probe' (SP) ****************************************************************************/ struct A_SP_s { /* Application analysis OIM attributes */ unsigned char m_probe_ID; /* * probe_ID */ unsigned int m_radial_position : 7; /* - radial_position */ unsigned int m_theta_offset : 9; /* - theta_offset */ unsigned char m_current_position; /* - current_position */ bool m_available; /* - available */ /* Relationship storage */ A_PAA_s * mc_PAA_R2; /* State machine current state */ Escher_StateNumber_t mc_current_state; }; /***************************************************************************** * Object Factory/Manipulation Methods ****************************************************************************/ extern void A_SP_FactoryInit( void ); extern A_SP_s * A_SP_Create( void ); /* Note: No instance deletion accessor needed */ #define A_SP_MAX_EXTENT_SIZE 10 extern Escher_ObjectSet_s * pG_A_SP_extent; /***************************************************************************** * Object Relationship Methods ****************************************************************************/ /***************************************************************************** * Enumeration of state model states for object *****************************************************************************/ #define A_SP_STATE_1 1 /* State [1]: 'up' */ #define A_SP_STATE_2 2 /* State [2]: 'down' */ #define A_SP_STATE_3 3 /* State [3]: 'raising' */ #define A_SP_STATE_4 4 /* State [4]: 'lowering' */ /***************************************************************************** * Enumeration of state model event numbers *****************************************************************************/ #define A_SP_EVENT_SP1 0 /* 'finished_sampling' */ #define A_SP_EVENT_SP2 1 /* 'begin_sampling' */ #define A_SP_EVENT_SP3 2 /* 'probe_in_position' */ /***************************************************************************** * State Action Methods ****************************************************************************/ extern void A_SP_Action_1( A_SP_s *, const OoaEvent_t * const ); extern void A_SP_Action_2( A_SP_s *, const OoaEvent_t * const ); extern void A_SP_Action_3( A_SP_s *, const OoaEvent_t * const ); extern void A_SP_Action_4( A_SP_s *, const OoaEvent_t * const ); extern void A_SP_Dispatch( const OoaEvent_t * const ); #ifdef __cplusplus } #endif #endif /* A_SP_OBJECT_H */