Sha256: bf6095e22b994214339279855a4569d39d20a489b95546f426bfe91dbddce86c

Contents?: true

Size: 1.34 KB

Versions: 16

Compression:

Stored size: 1.34 KB

Contents

# encoding: ascii-8bit
require 'openc3/packets/limits_response'

module OpenC3
  class <%= response_class %> < LimitsResponse
    # @param packet [Packet] Packet the limits response is assigned to
    # @param item [PacketItem] PacketItem the limits response is assigned to
    # @param old_limits_state [Symbol] Previous value of the limit. One of nil,
    #   :GREEN_HIGH, :GREEN_LOW, :YELLOW, :YELLOW_HIGH, :YELLOW_LOW,
    #   :RED, :RED_HIGH, :RED_LOW. nil if the previous limit state has not yet
    #   been established.
    def call(packet, item, old_limits_state)
      # Take action based on the current limits state
      # Delete any of the 'when' lines that do not apply or you don't care about
      case item.limits.state
      when :RED_HIGH
        # Take action like sending a command:
        # cmd('TARGET SAFE')
      when :RED_LOW
      when :YELLOW_LOW
      when :YELLOW_HIGH
      # GREEN limits are only available if a telemetry item has them defined
      # COSMOS refers to these as "operational limits"
      # See https://docs.openc3.com/docs/configuration/telemetry#limits
      when :GREEN_LOW
      when :GREEN_HIGH
      # :RED and :YELLOW limits are triggered for STATES with defined RED and YELLOW states
      # See https://docs.openc3.com/docs/configuration/telemetry#state
      when :RED
      when :YELLOW
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
openc3-6.2.1 templates/limits_response/response.rb
openc3-6.2.0 templates/limits_response/response.rb
openc3-6.1.0 templates/limits_response/response.rb
openc3-6.0.2 templates/limits_response/response.rb
openc3-6.0.1 templates/limits_response/response.rb
openc3-6.0.0 templates/limits_response/response.rb
openc3-5.20.0 templates/limits_response/response.rb
openc3-5.19.0 templates/limits_response/response.rb
openc3-5.18.0 templates/limits_response/response.rb
openc3-5.17.1 templates/limits_response/response.rb
openc3-5.17.0 templates/limits_response/response.rb
openc3-5.16.0 templates/limits_response/response.rb
openc3-5.15.2 templates/limits_response/response.rb
openc3-5.15.1 templates/limits_response/response.rb
openc3-5.15.0 templates/limits_response/response.rb
openc3-5.14.2 templates/limits_response/response.rb