SHOW:
|
|
- or go back to the newest paste.
1 | - | --SpeedControlv1 by Gazer29 |
1 | + | --Radio Control v1 by Gazer29 |
2 | - | --Uses Automation mod version: Alpha 7 |
2 | + | |
3 | local component = require("component") | |
4 | local term = require ("term") | |
5 | local trainRemote = component.ir_remote_control | |
6 | - | local entity = component.entity_link.getAPI("immersiverailroading:locomotivediesel") |
6 | + | |
7 | - | local thread = require("thread") |
7 | + | local flag = false |
8 | - | require("PIDController") |
8 | + | |
9 | function helpdisplay() | |
10 | print("Radio Control v1") | |
11 | - | local MODE = 0 -- 0 SET, 1 RAMP, |
11 | + | |
12 | - | local sleep = 1 -- seconds |
12 | + | print("'Any number' - Changes Throttle") |
13 | - | local display = false |
13 | + | |
14 | end | |
15 | ||
16 | ----------- Main loop ------------ | |
17 | - | print("Speed Control v1") |
17 | + | |
18 | trainRemote.setBrake(0) | |
19 | - | print("'Any number' - Changes set speed") |
19 | + | |
20 | - | print("'+' - Displays additional information") |
20 | + | while RUNNING do |
21 | - | print("'-' - Hides additional information") |
21 | + | term.clear() |
22 | - | print("'ramp' - Changes to ramp mode, requires further input") |
22 | + | helpdisplay() |
23 | - | print("'idle' - Pauses train control") |
23 | + | |
24 | user = io.read() | |
25 | if user == "stop" then | |
26 | - | |
26 | + | |
27 | - | function GetTrainPos() |
27 | + | |
28 | - | positions = entity.getLocation() |
28 | + | RUNNING = false |
29 | - | xpos = positions.getX() |
29 | + | term.clear() |
30 | - | ypos = positions.getY() |
30 | + | |
31 | - | zpos = positions.getZ() |
31 | + | if user == "h" then |
32 | - | print("X: ", xpos) |
32 | + | print("Horn") |
33 | - | print("Z: ", zpos) |
33 | + | trainRemote.horn() |
34 | end | |
35 | if user == "b" then | |
36 | - | function GetTrainSpeed() |
36 | + | print("Bell") |
37 | - | speed = entity.getCurrentSpeed() |
37 | + | if flag == false then |
38 | - | return speed |
38 | + | trainRemote.bell(1) |
39 | flag = true | |
40 | else | |
41 | - | function setThrottle(x) |
41 | + | trainRemote.bell(0) |
42 | - | if 0 >= x then x = 0 end |
42 | + | flag = false |
43 | - | if 1 <= x then x = 1 end |
43 | + | end |
44 | - | entity.setThrottleLevel(x) |
44 | + | |
45 | - | if display then |
45 | + | |
46 | - | print("Throttle: ", x) |
46 | + | input = tonumber(user) |
47 | if -1 <= input and input <= 1 then | |
48 | print("Setting Throttle: ", user) | |
49 | trainRemote.setThrottle(input) | |
50 | - | function setBrake(x) |
50 | + | end |
51 | - | if 0 >= x then x = 0 end |
51 | + | |
52 | - | if 1 <= x then x = 1 end |
52 | + | os.sleep(0.5) |
53 | - | entity.setAirBrakeLevel(x) |
53 | + | |
54 | - | if display then |
54 | + | |
55 | - | print("Brake: ", x) |
55 | + | trainRemote.setThrottle(0) |
56 | trainRemote.setBrake(1) | |
57 |