"""
msgState 
    - messages type for state, that will be passed between blocks in the architecture
    
part of mavPySim 
    - Beard & McLain, PUP, 2012
    - Update history:  
        1/9/2019 - RWB
"""

class msg_state:
    def __init__(self):
        self.pn = 0.      # inertial north position in meters
        self.pe = 0.      # inertial east position in meters
        self.h = 0.       # inertial altitude in meters
        self.phi = 0.     # roll angle in radians
        self.theta = 0.   # pitch angle in radians
        self.psi = 0.     # yaw angle in radians
        self.Va = 0.      # airspeed in meters/sec
        self.alpha = 0.   # angle of attack in radians
        self.beta = 0.    # sideslip angle in radians
        self.p = 0.       # roll rate in radians/sec
        self.q = 0.       # pitch rate in radians/sec
        self.r = 0.       # yaw rate in radians/sec
        self.Vg = 0.      # groundspeed in meters/sec
        self.gamma = 0.   # flight path angle in radians
        self.chi = 0.     # course angle in radians
        self.wn = 0.      # inertial windspeed in north direction in meters/sec
        self.we = 0.      # inertial windspeed in east direction in meters/sec
        self.bx = 0.      # gyro bias along roll axis in radians/sec
        self.by = 0.      # gyro bias along pitch axis in radians/sec
        self.bz = 0.      # gyro bias along yaw axis in radians/sec
"""
msgState 
    - messages type for state, that will be passed between blocks in the architecture
    
part of mavPySim 
    - Beard & McLain, PUP, 2012
    - Update history:  
        1/9/2019 - RWB
"""

class msg_state:
    def __init__(self):
        self.pn = 0.      # inertial north position in meters
        self.pe = 0.      # inertial east position in meters
        self.h = 0.       # inertial altitude in meters
        self.phi = 0.     # roll angle in radians
        self.theta = 0.   # pitch angle in radians
        self.psi = 0.     # yaw angle in radians
        self.Va = 0.      # airspeed in meters/sec
        self.alpha = 0.   # angle of attack in radians
        self.beta = 0.    # sideslip angle in radians
        self.p = 0.       # roll rate in radians/sec
        self.q = 0.       # pitch rate in radians/sec
        self.r = 0.       # yaw rate in radians/sec
        self.Vg = 0.      # groundspeed in meters/sec
        self.gamma = 0.   # flight path angle in radians
        self.chi = 0.     # course angle in radians
        self.wn = 0.      # inertial windspeed in north direction in meters/sec
        self.we = 0.      # inertial windspeed in east direction in meters/sec
        self.bx = 0.      # gyro bias along roll axis in radians/sec
        self.by = 0.      # gyro bias along pitch axis in radians/sec
        self.bz = 0.      # gyro bias along yaw axis in radians/sec
msgState      - messages type for state, that will be passed between blocks in the architecture      part of mavPySim      - Beard & McLain, PUP, 2012     - Update history:           1/9/2019 - RWB # inertial north position in meters # inertial east position in meters # inertial altitude in meters # roll angle in radians # pitch angle in radians # yaw angle in radians # airspeed in meters/sec # angle of attack in radians # sideslip angle in radians # roll rate in radians/sec # pitch rate in radians/sec # yaw rate in radians/sec # groundspeed in meters/sec # flight path angle in radians # course angle in radians # inertial windspeed in north direction in meters/sec # inertial windspeed in east direction in meters/sec # gyro bias along roll axis in radians/sec # gyro bias along pitch axis in radians/sec # gyro bias along yaw axis in radians/sec