Difference between revisions of "User:Vortex1942/Automating the TEG"

From Space Station 13 Wiki
Jump to navigation Jump to search
(Replace RegEx with Signal Splitters)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Wip|Reason=}}
''See Also:''
* ''[[Packets]]''
* ''[[MechComp]]''
* ''[[Thermoelectric_Generator|Thermoelectric Generator]]''
 
 
 
= Controllable Devices =
Tired of watching the TEG constantly?, Ever want to just outsource your job to a computer? Well this is for you.
 
These devices are able to recieve signals from MechComp to control the engine/toxins.


== Wireless Devices ==
== Wireless Devices ==


=== Frequencies ===
=== Frequencies ===
Most Atmos devices will use these frequencies, You're going to have to explore security to find the other frequency.
Most Atmos devices will use these frequencies.
* Engineering: 122.5
* Engineering: 122.5
* Science: 122.9
* Science: 122.9
* Security: ███


{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
|'''Pumps'''
|'''Pump'''
|-
|-
|
|
=== Pumps ===
=== Pump ===
Powered down pumps do not transfer gas, Meaning they can be used as controllable Electronic Valves,
Powered down pumps do not transfer gas, Meaning they can be used as controllable Electronic Valves,


==== Commands ====
'''<big>Commands</big>'''
The following points demon
* '''WARNING''': Omitting <code>tag</code> will cause commands to be sent to '''ALL''' pumps
* '''WARNING''': Omitting <code>tag</code> will cause commands to be sent to '''ALL''' pumps


Line 36: Line 46:
** <code>command</code>: <code>broadcast_status</code>
** <code>command</code>: <code>broadcast_status</code>


==== Pump Status ====
'''<big>Pump Status</big>'''
The following is transmited whenever a pump recieves are command
The following is transmited whenever a pump recieves are command
* <code>tag</code>: <code>(Pump Name)</code>
* <code>tag</code>: <code>(Pump Name)</code>
Line 44: Line 54:
* <code>address_tag</code>: <code>pumpcontrol</code>
* <code>address_tag</code>: <code>pumpcontrol</code>


==== Packet Examples ====
'''<big>Packet Examples</big>'''
Purge Hotloop:
Purge Hotloop:
* <code>tag=Hot Loop Purge Pump;command=power_on</code>
* <code>tag=Hot Loop Purge Pump;command=power_on</code>
Line 56: Line 66:


{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
|'''Gas Mixers'''
|'''Gas Mixer'''
|-
|-
|
|
=== Gas Mixers ===
=== Gas Mixer ===
Did I hear you say "Adjustable combustion chamber temperatures?"
Did I hear you say "Adjustable combustion chamber temperatures?"
* Unfortunately I have not been able to tap into status reports from mixers
* '''NOTE''': Unfortunately I have not been able to tap into status reports from mixers
==== Commands ====
 
'''<big>Commands</big>'''


* Toggle Power
* Toggle Power
Line 81: Line 92:
** <code>tag</code>: <code>(Mixer Name)</code>
** <code>tag</code>: <code>(Mixer Name)</code>


==== Packet Examples ====
'''<big>Packet Examples</big>'''
Set Ratio to 66:33:
Set Ratio to 66:33:
* <code>tag=engine_combust_control; command=set_ratio; parameter=66</code>
* <code>tag=engine_combust_control; command=set_ratio; parameter=66</code>
Line 90: Line 101:
Turn off mixer:
Turn off mixer:
* <code>tag=engine_combust_control; command=toggle_pump; parameter=power_off</code>
* <code>tag=engine_combust_control; command=toggle_pump; parameter=power_off</code>
|}
|}


Line 104: Line 114:
Ever wanted to boast about the engine output to the crew? Well now you can do it automatically!
Ever wanted to boast about the engine output to the crew? Well now you can do it automatically!


==== Outputs ====
'''<big>Outputs</big>'''


* <code>power</code>: <code>(Unformatted power output)</code>
* <code>power</code>: <code>(Unformatted power output)</code>
* <code>powerfmt</code>: <code>(Formatted power output, 2.21 GW)</code>
* <code>powerfmt</code>: <code>(Formatted power output, 2.21 GW)</code>


power=3.84698e+06&powerfmt=3.847 MW
'''<big>Signal Fields</big>'''
 
==== RegEx ====
Example Output: <code>power=3.84698e+06&powerfmt=3.847 MW</code>
Seperate powerfmt: <code>(?<=&powerfmt=)[^&]+</code> = <code>3.847 MW</code>


* Raw Signal: <code>power=3.84698e+06&powerfmt=3.847 MW</code>
* <code>power</code>: <code>(Raw Power Output)</code>; Example: <code>3.84698e+06</code>
* <code>powerfmt</code>: <code>(Formatted Power Output)</code>; Example: <code>3.847 MW</code>
Use a WiFi signal splitter component to grab the values of these fields
|}
|}


Line 122: Line 132:
|
|
=== Pressure Meter ===
=== Pressure Meter ===
Ever wanted to boast about the engine output to the crew? Well now you can do it automatically!
The main source of data for engine automation.
 
==== Outputs ====
 
* <code>pressure</code>: <code>(Pipe Pressure)</code>
* <code>temperature</code>: <code>(Pipe temperature)</code>
 
==== RegEx ====
 
Example Output: <code>pressure=3410.27&temperature=20462.7</code>
 
Seperate pressure as whole number: <code>([0-9]+)</code> = <code>3410</code>


'''<big>Signal Fields</big>'''
* Raw Signal: <code>pressure=3410.27&temperature=20462.7</code>
* <code>pressure</code>: <code>(Pipe Pressure)</code>; Example: <code>3410.27</code>
* <code>temperature</code>: <code>(Pipe temperature)</code>; Example: <code>20462.7</code>
Use a WiFi signal splitter component to grab the values of these fields
|}
|}


{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
|'''Circulators'''
|'''Circulators (Blowers) '''
|-
|-
|
|
=== Circulators ===
=== Circulators (Blowers) ===


==== Inputs ====
Useful for optimizing the target pressure on the blowers.
 
'''<big>Inputs</big>'''
* '''NOTE''': <code>parameter</code> has a max value of 100000kPa
* <code>Toggle Active</code>: <code>(Pipe Pressure)</code>
* <code>Set Target Pressure</code>: <code>(Pipe pressure)</code>
|}


TODO!
= Example Contraptions =
Use these examples to help get started with making your own controllers.


* <code>pressure</code>: <code>(Pipe Pressure)</code>
=== Hot Loop Auto-purge ===
* <code>temperature</code>: <code>(Pipe temperature)</code>
Tired of your hot loop pipes rupturing and plasma flooding engineering? Well this is for you!


==== RegEx ====
What it does?
* When the meter pressure is above <code>14500</code>, the Arithmetic will send a 1 to both Signal Checks, Signal Check A then sends a WiFi packet to turn on the purge pump.


Example Output: <code>pressure=3410.27&temperature=20462.7</code>
Mechlab Shopping List:
* 1x WiFi Signal Splitter Component.
* 1x Arithmetic Component.
* 2x Signal Check Component.
* 1x WiFi Component.
Optional:
* Letter Display (See if the pump is currently on).
* Text Display (Show off your current pipe pressure).
* Component Cabinet.


Seperate pressure as whole number: <code>([0-9]+)</code> = <code>3410</code>
To Assemble (Or see wiring diagram below):
# Place and wrench components, Optionally: In a component cabinet.
# Interact with a multitool on a pressure meter, select "Connect Component".
#* Use a pressure meter that is directly connecting to the furnaces/combustion chamber, Avoid meters on the output end of pipes.
# Interact with the WiFi signal splitter Component, select "Check String".
# Interact with the multitool to finish pairing.
# On the WiFi signal splitter Component set "trigger field" to <code>pressure</code>.
# Hold your multitool, Click and drag from the WiFi signal splitter Component to the Arithmetic Component.
#* Select "Trigger" then "Set A".
# On Signal Check A, set: "Set B" = <code>14500</code>; "Mode" = <code>gte</code>.
#* This compares if A >= B, B is your max pressure (Change "Mode" to lte to make this setup do something when the pressure is low, Eg. Turn on an inlet pump).
# On the Arithmetic component set "Set B" to <code>14500</code> (This is your Auto-purge pressure).
# On the Arithmetic component set "Mode" to <code>gte</code> (Greather than or Equal) (Additionally, this is where you could turn this into an Auto-filler if the pressure is low).
# Hold your multitool, Click and drag from the Arithmetic Component to both Signal Check Components.
# On Signal Check A, set: "Send Signal" = <code>tag=Hot Loop Purge Pump;command=power_on</code>; "Trigger String" = <code>1</code>; Replace Signal = <code>On</code>.
# On Signal Check B, set: "Send Signal" = <code>tag=Hot Loop Purge Pump;command=power_off</code>; "Trigger String" = <code>'''0'''</code>; Replace Signal = <code>On</code>.
# Hold your multitool, Click and drag both Signal Check Components to both the WiFi Component.
# On the WiFi component, set: "Frequency" = <code>1255</code>.
# Open the manual hot loop purge valve.
#* If multiple purge lines, use the one before the engine inlet.
# Kick back and relax?


{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 50%;
|'''Wiring Diagram'''
|-
|
[[File:AutoTEGControllerWiring.png]]
|}
|}


== Hot Loop Auto-purge ==
=== Engine Power Output Display ===
Tired of your hot loop pipes rupting and flooding engineering with plasma? Well this is for you!
Automagically brag about your engine output


TODO Explain this
Mechlab Shopping List:
* 1x WiFi Signal Splitter Component.
* 1x Text Display.
Optional:
* 1x Signal Build Component


[[File:AutoTEGControllerWiring.png]]
To Assemble (Or see wiring diagram below):
# Place and wrench components.
# Interact with a multitool on the generator, select "Connect Component".
# Interact with the WiFi Signal Splitter Component, select "Check String".
# Interact with the multitool to finish pairing.
# On the WiFi Signal Splitter Component set "trigger field" to <code>powerfmt</code>.
# Hold your multitool, Click and drag from the WiFi Signal Splitter Component to the Text Display.
* Optional: Use a signal build component to add extra text to your display.
 
=== Contraption Ideas ===
 
* Using inlet pumps, add gas to hotloop if the pipe pressure is low.
* Add oxygen to hotloop every 10 seconds.
* Broadcast engine output to the Engineering radio, Or general radio :)
** Or Low/High Pressure alerts that are sent to radio or PDA.
* Set blowers to the ideal pressure value based on inlet/outlet pressure


==Supplementary Video==
=Supplementary Video=
<youtube>wEFzcmtATMM</youtube>
<youtube>wEFzcmtATMM</youtube>
----
----
<code>tag</code>: <code>(Pump Name)</code>
<code></code>: <code></code>

Latest revision as of 22:44, 15 December 2023

See Also:


Controllable Devices

Tired of watching the TEG constantly?, Ever want to just outsource your job to a computer? Well this is for you.

These devices are able to recieve signals from MechComp to control the engine/toxins.

Wireless Devices

Frequencies

Most Atmos devices will use these frequencies.

  • Engineering: 122.5
  • Science: 122.9
  • Security: ███
Pump

Pump

Powered down pumps do not transfer gas, Meaning they can be used as controllable Electronic Valves,

Commands

  • WARNING: Omitting tag will cause commands to be sent to ALL pumps
  • Power on
    • command: power_on
    • tag: (Pump Name)
  • Power off
    • command: power_off
    • tag: (Pump Name)
  • Set target pressure
    • NOTE: parameter has a max value of 5066.25kPa
    • tag: (Pump Name)
    • command: set_target_pressure
    • parameter: (Target Pressure)
  • Broadcast status
    • command: broadcast_status

Pump Status The following is transmited whenever a pump recieves are command

  • tag: (Pump Name)
  • device: AGP
  • power: on or off
  • target_output: (Target Pressure)
  • address_tag: pumpcontrol

Packet Examples Purge Hotloop:

  • tag=Hot Loop Purge Pump;command=power_on

Check All Pumps:

  • command=broadcast_status

Set Pressure:

  • tag=Hot Loop Purge Pump;command=set_target_pressure;parameter=5000
Gas Mixer

Gas Mixer

Did I hear you say "Adjustable combustion chamber temperatures?"

  • NOTE: Unfortunately I have not been able to tap into status reports from mixers

Commands

  • Toggle Power
    • command: toggle_pump
    • parameter: power_on or power_off
    • tag: (Mixer Name)
  • Set gas ratio
    • NOTE: parameter value is Input 1 ratio only ie. 66 = 66:33
    • command: set_ratio
    • parameter: (0-100 Number)
    • tag: (Mixer Name)
  • Set gas pressure
    • NOTE: parameter is an uncapped value
    • command: set_ratio
    • parameter: (Target Air Pressure)
    • tag: (Mixer Name)

Packet Examples Set Ratio to 66:33:

  • tag=engine_combust_control; command=set_ratio; parameter=66

Set Pressure to 75kPa:

  • tag=engine_combust_control; command=set_pressure; parameter=75

Turn off mixer:

  • tag=engine_combust_control; command=toggle_pump; parameter=power_off

MechComp Devices

Connecting the generator and pressure will require using you multitool on them and selecting "Connect Component"

The Generator

The Generator

Ever wanted to boast about the engine output to the crew? Well now you can do it automatically!

Outputs

  • power: (Unformatted power output)
  • powerfmt: (Formatted power output, 2.21 GW)

Signal Fields

  • Raw Signal: power=3.84698e+06&powerfmt=3.847 MW
  • power: (Raw Power Output); Example: 3.84698e+06
  • powerfmt: (Formatted Power Output); Example: 3.847 MW

Use a WiFi signal splitter component to grab the values of these fields

Pressure Meter

Pressure Meter

The main source of data for engine automation.

Signal Fields

  • Raw Signal: pressure=3410.27&temperature=20462.7
  • pressure: (Pipe Pressure); Example: 3410.27
  • temperature: (Pipe temperature); Example: 20462.7

Use a WiFi signal splitter component to grab the values of these fields

Circulators (Blowers)

Circulators (Blowers)

Useful for optimizing the target pressure on the blowers.

Inputs

  • NOTE: parameter has a max value of 100000kPa
  • Toggle Active: (Pipe Pressure)
  • Set Target Pressure: (Pipe pressure)

Example Contraptions

Use these examples to help get started with making your own controllers.

Hot Loop Auto-purge

Tired of your hot loop pipes rupturing and plasma flooding engineering? Well this is for you!

What it does?

  • When the meter pressure is above 14500, the Arithmetic will send a 1 to both Signal Checks, Signal Check A then sends a WiFi packet to turn on the purge pump.

Mechlab Shopping List:

  • 1x WiFi Signal Splitter Component.
  • 1x Arithmetic Component.
  • 2x Signal Check Component.
  • 1x WiFi Component.

Optional:

  • Letter Display (See if the pump is currently on).
  • Text Display (Show off your current pipe pressure).
  • Component Cabinet.

To Assemble (Or see wiring diagram below):

  1. Place and wrench components, Optionally: In a component cabinet.
  2. Interact with a multitool on a pressure meter, select "Connect Component".
    • Use a pressure meter that is directly connecting to the furnaces/combustion chamber, Avoid meters on the output end of pipes.
  3. Interact with the WiFi signal splitter Component, select "Check String".
  4. Interact with the multitool to finish pairing.
  5. On the WiFi signal splitter Component set "trigger field" to pressure.
  6. Hold your multitool, Click and drag from the WiFi signal splitter Component to the Arithmetic Component.
    • Select "Trigger" then "Set A".
  7. On Signal Check A, set: "Set B" = 14500; "Mode" = gte.
    • This compares if A >= B, B is your max pressure (Change "Mode" to lte to make this setup do something when the pressure is low, Eg. Turn on an inlet pump).
  8. On the Arithmetic component set "Set B" to 14500 (This is your Auto-purge pressure).
  9. On the Arithmetic component set "Mode" to gte (Greather than or Equal) (Additionally, this is where you could turn this into an Auto-filler if the pressure is low).
  10. Hold your multitool, Click and drag from the Arithmetic Component to both Signal Check Components.
  11. On Signal Check A, set: "Send Signal" = tag=Hot Loop Purge Pump;command=power_on; "Trigger String" = 1; Replace Signal = On.
  12. On Signal Check B, set: "Send Signal" = tag=Hot Loop Purge Pump;command=power_off; "Trigger String" = 0; Replace Signal = On.
  13. Hold your multitool, Click and drag both Signal Check Components to both the WiFi Component.
  14. On the WiFi component, set: "Frequency" = 1255.
  15. Open the manual hot loop purge valve.
    • If multiple purge lines, use the one before the engine inlet.
  16. Kick back and relax?
Wiring Diagram

AutoTEGControllerWiring.png

Engine Power Output Display

Automagically brag about your engine output

Mechlab Shopping List:

  • 1x WiFi Signal Splitter Component.
  • 1x Text Display.

Optional:

  • 1x Signal Build Component

To Assemble (Or see wiring diagram below):

  1. Place and wrench components.
  2. Interact with a multitool on the generator, select "Connect Component".
  3. Interact with the WiFi Signal Splitter Component, select "Check String".
  4. Interact with the multitool to finish pairing.
  5. On the WiFi Signal Splitter Component set "trigger field" to powerfmt.
  6. Hold your multitool, Click and drag from the WiFi Signal Splitter Component to the Text Display.
  • Optional: Use a signal build component to add extra text to your display.

Contraption Ideas

  • Using inlet pumps, add gas to hotloop if the pipe pressure is low.
  • Add oxygen to hotloop every 10 seconds.
  • Broadcast engine output to the Engineering radio, Or general radio :)
    • Or Low/High Pressure alerts that are sent to radio or PDA.
  • Set blowers to the ideal pressure value based on inlet/outlet pressure

Supplementary Video