Compare commits
125 Commits
e1e996e50f
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| eb8faa9c10 | |||
| 165c0cefa9 | |||
| 131bbd9f0a | |||
| dd70e5ddb2 | |||
| a65299be26 | |||
| 7174c16628 | |||
| fa96b2f59f | |||
| f816761e0f | |||
| 056c10c346 | |||
| 908a2153fa | |||
| 7bcabcbbe6 | |||
| 1aa391f56c | |||
| e7831845a8 | |||
| d228666c87 | |||
| b8b22f29b1 | |||
| 46c04bf646 | |||
| 61c8f88d40 | |||
| cb7b9490bf | |||
| 600a683a12 | |||
| 373089d374 | |||
| 23644f7072 | |||
| e11c6483f9 | |||
| 7c0cd566b1 | |||
| aab62f51cc | |||
| 12cad05ed6 | |||
| 92988ac4f5 | |||
| 68a3f4589b | |||
| ed25934cb7 | |||
| d2bacd30bb | |||
| f38c765c40 | |||
| 91c1723a9e | |||
| 406cc966ec | |||
| d07b952d66 | |||
| 85fd1d0d85 | |||
| 0766e4ce5a | |||
| a408dd9f34 | |||
| c80855dc2f | |||
| 1ab0510826 | |||
| 485c2eac37 | |||
| 996c49f5a3 | |||
| 1de102e132 | |||
| 06a10ff0f9 | |||
| 9b397337da | |||
| 39a8b0ba88 | |||
| 3ab9bc411f | |||
| a508fbad58 | |||
| b431e1a0a6 | |||
| 13f970af76 | |||
| 1f27dc0cda | |||
| b712a38006 | |||
| ce11e77d7c | |||
| 19c423ecfa | |||
| 2d6e142eb6 | |||
| aff1a45a58 | |||
| ab8d65f477 | |||
| 539fdd92fe | |||
| 4976c5b227 | |||
| e27c899c17 | |||
| e69c370c97 | |||
| 9c22f72d4e | |||
| dd4bc11c43 | |||
| e13ae84aae | |||
| a9f483a05d | |||
| d57bcf0ad4 | |||
| de7decceaa | |||
| d9c29c89be | |||
| 583c291af7 | |||
| 38e2e36e25 | |||
| 0c42fdaa8e | |||
| c724e848f7 | |||
| 67c6916632 | |||
| 14ba0ba5ab | |||
| 02b7e64301 | |||
| 286e7287aa | |||
| f229d407f8 | |||
| 621c27e551 | |||
| 633e2c11d5 | |||
| ae0e728d3e | |||
| ba5888bf1a | |||
| ae5091c31e | |||
| d4e44ec9af | |||
| f34a2c0dc3 | |||
| da937b7771 | |||
| c3e9454241 | |||
| 8d6ec4f6b8 | |||
| 40ee96467d | |||
| 1d82b480ce | |||
| f6e7b50b9d | |||
| 153b149f5e | |||
| b7c4257c5c | |||
| d3b1df1db0 | |||
| 5bdd71ecde | |||
| e44603336b | |||
| ba5d21a723 | |||
| 9c137b3d20 | |||
| 0e1b932392 | |||
| 1c13ea58e5 | |||
| 440151eadc | |||
| 15b9e272f5 | |||
| d46071ad1d | |||
| 9170eebd4e | |||
| 4f874af256 | |||
| cd9ac740a1 | |||
| 0776699c68 | |||
| 59e3b5a266 | |||
| c436363b98 | |||
| ebbec7f885 | |||
| 6a3cba3404 | |||
| f80165c718 | |||
| 84632a101c | |||
| a26fd278da | |||
| 19ee451b3d | |||
| 3c43c747b0 | |||
| 8a9a59e97c | |||
| ab987319cb | |||
| e202ced697 | |||
| 3f5def2b6b | |||
| 2d30323148 | |||
| f15b8dc2ef | |||
| 6668a99f28 | |||
| d08d662d01 | |||
| bd5b6376e9 | |||
| 998cc318f6 | |||
| 3528c9628e | |||
| 1d690c6087 |
221
docs.md
221
docs.md
@@ -119,7 +119,7 @@ Relevant peripherals:
|
||||
> note: returns 0 if the magnitude is below 0.05 m/s
|
||||
|
||||
- `getAxis()`: returns the body-frame axis the sensor measures along
|
||||
- returns string "x", "y", and "z"
|
||||
- returns string "x", "y", or "z"
|
||||
|
||||
### Analog Transmission
|
||||
|
||||
@@ -193,3 +193,222 @@ Every cycle:
|
||||
- Altitude Sensor `getHeight()`, `getAirPressure()`, `getVerticalSpeed()`
|
||||
- Velocity Sensor `getAxis()`, `getVelocity`
|
||||
- Poll input signal strengths for global downwards thrust, and fore and aft thrust
|
||||
|
||||
### Math
|
||||
|
||||
#### Calculate Counteractive Thrust
|
||||
|
||||
TODO: fill in
|
||||
|
||||
### Data Structures
|
||||
|
||||
#### Config
|
||||
|
||||
The member variables of the Config table is as follows:
|
||||
|
||||
```lua
|
||||
Config = {
|
||||
ConfigPath = "/path/to/config.txt",
|
||||
thrusterConfigPath = "path/to/thrusters.txt",
|
||||
Debug = false, -- controls various debug print statements
|
||||
Monitors = {
|
||||
InstrumentPanelMonitor = {
|
||||
name = "peripheralName",
|
||||
peripheral = {} -- stores the table returned by running peripheral.wrap(name)
|
||||
},
|
||||
AutopilotControlMonitor = {
|
||||
name = "peripheralName",
|
||||
peripheral = {}
|
||||
}
|
||||
},
|
||||
Autopilot = {
|
||||
AutopilotEngaged = false, -- global shutoff for all autopilot functions
|
||||
AutoForeAft = false, -- automatic forward/rearward throttle
|
||||
AutopilotDesiredSpeed = nil, -- keep a certain velocity
|
||||
AutopilotDesiredHeading = nil -- maintain a certain heading
|
||||
},
|
||||
SensorCorrection = {
|
||||
Heading = 0 -- this is directly added to the heading value, in case the vessel was built with the heading not being direct north
|
||||
},
|
||||
Throttles = {
|
||||
fore = {
|
||||
name = "peripheralName",
|
||||
side = "redstoneRelaySide" -- it is assumed that a user will use a redstone relay for their throttles
|
||||
},
|
||||
aft = {
|
||||
name = "peripheralName",
|
||||
side = "redstoneRelaySide"
|
||||
},
|
||||
down = {
|
||||
name = "peripheralName",
|
||||
side = "redstoneRelaySide"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### SensorData
|
||||
|
||||
The member variables of the sensor table is as follows:
|
||||
|
||||
```lua
|
||||
SensorData = {
|
||||
Velocity = {
|
||||
Raw = {
|
||||
x = nil,
|
||||
y = nil,
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
Altitude = {
|
||||
Altitude = nil,
|
||||
AirPressure = nil,
|
||||
VerticalSpeed = nil
|
||||
},
|
||||
NavTable = {
|
||||
Heading = nil,
|
||||
HasTarget = nil,
|
||||
-- values past this are only populated if HasTarget == true
|
||||
TargetBearing = nil,
|
||||
TargetClosureRate = nil,
|
||||
TargetVerticalOffset = nil,
|
||||
TargetRelativeAngle = nil
|
||||
},
|
||||
Gimbal = {
|
||||
Angles = {
|
||||
xAngle = nil,
|
||||
zAngle = nil
|
||||
},
|
||||
AngularRates = {
|
||||
wx = nil,
|
||||
wy = nil,
|
||||
wz = nil
|
||||
},
|
||||
LinearAcceleration = {
|
||||
ax = nil,
|
||||
ay = nil,
|
||||
az = nil
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Thrusters
|
||||
|
||||
The member variables of the Thruster table are as follows (using some example thrusters):
|
||||
|
||||
```lua
|
||||
Thrusters = {
|
||||
gyroscopic_propeller_bearing_0 = {
|
||||
-- primary attitude thruster?
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
-- primary lateral thruster?
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "1", -- if you're running a standard x configuration, what prop is this equivalent to?
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_0",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "up",
|
||||
roll = "star",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
},
|
||||
gyroscopic_propeller_bearing_1 = {
|
||||
-- primary attitude thruster?
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
-- primary lateral thruster?
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "2", -- if you're running a standard x configuration, what prop is this equivalent to?
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_1",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "up",
|
||||
roll = "port",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
},
|
||||
gyroscopic_propeller_bearing_2 = {
|
||||
-- primary attitude thruster?
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
-- primary lateral thruster?
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "4", -- if you're running a standard x configuration, what prop is this equivalent to?
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_2",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "down",
|
||||
roll = "port",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
},
|
||||
gyroscopic_propeller_bearing_3 = {
|
||||
-- primary attitude thruster?
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
-- primary lateral thruster?
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "3", -- if you're running a standard x configuration, what prop is this equivalent to?
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_3",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "down",
|
||||
roll = "star",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,26 +1,105 @@
|
||||
return {
|
||||
gyroscopic_propeller_bearing_0 = {
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "1",
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_0",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
yaw = nil,
|
||||
pitch = "up",
|
||||
roll = "star",
|
||||
lateral = nil
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "up",
|
||||
roll = "star",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
},
|
||||
gyroscopic_propeller_bearing_1 = {
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "2",
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_1",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
yaw = nil,
|
||||
pitch = "up",
|
||||
roll = "port",
|
||||
lateral = nil
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "up",
|
||||
roll = "port",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
},
|
||||
gyroscopic_propeller_bearing_2 = {
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "4",
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_2",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "down",
|
||||
roll = "port",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
},
|
||||
gyroscopic_propeller_bearing_3 = {
|
||||
primary_pitch_thruster = true,
|
||||
primary_roll_thruster = true,
|
||||
primary_yaw_thruster = false,
|
||||
primary_altitude_thruster = true,
|
||||
primary_fore_thruster = false,
|
||||
primary_aft_thruster = false,
|
||||
x_config_equivalent = "3",
|
||||
type = "rotator",
|
||||
name = "gyroscopic_propeller_bearing_3",
|
||||
thruster = nil,
|
||||
transmission = nil,
|
||||
affectVectors = {
|
||||
angular = {
|
||||
yaw = nil,
|
||||
pitch = "down",
|
||||
roll = "star",
|
||||
},
|
||||
lateral = {
|
||||
x = nil,
|
||||
y = "up",
|
||||
z = nil
|
||||
}
|
||||
},
|
||||
power = nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user