[DEVICE] Thruster Block - RocoCorp

All discussions related to the DCPU and in game hardware (equipment, vehicles)

[DEVICE] Thruster Block - RocoCorp

Postby DaveSparhawk » Sat Mar 08, 2014 11:46 am

This is the a new device for Trillek, below is the specification:

The .md file specification:
Code: Select all
Maneuvering Thruster Cluster
================
Version: 0.2

This is a cluster of 5 thrusters operated on a practically infinite storage of compressed gas like particles. Designed to assist in docking and stabilizing your stellar vehicle during main engine burn. (Main engines sold separately).

 - Device Class    : TBA (Attitude control component)
 - Device Builder  : 0x048BAD15 (Rococorp)
 - Device ID       : 0x0001
 - Device Rev      : 0x001a

Commands
--------
Sending the device an interrupt will have results dependent on the A register, see following table:

A Register:
 - 0x0000: THRUSTERS_DISABLE
   disables the maneuver thrusters but won't change thruster values and will still accept all commands.
   
 - 0x0001: THRUSTERS_ENABLE   enables the maneuver thrusters but won't change thruster values.
   
 - 0x0002: THRUSTER_STATUS
   Requests a 16 bit Status/Error code from device that is stored in the A register.
   B register will be overwritten with a value for the amount of fuel remaining.
   
 - 0x0003: THRUSTERS_CLEAR
   zero all thruster values.
   
 - 0x001x: THRUSTER_VALUE
   sets a thruster to a fraction of thrust,
   the last hex in the A register is the thruster to enable see thruster mapping below
   B Register is the amount of thrust to apply to thruster (0x00 to 0xff being Zero to Maximum thrust)


User usage:
--------
### Thruster mapping
   Thruster 0x0 faces directly away from anchor point
   Thrusters 0x1 to 0x04 are arranged clockwise around the cluster from the perspective of looking at thruster 0x0.

### Error/Status flags
    0x0000 - Thrusters Operational
    0x0001 - Thrusters Disabled
    0x0002 - No fuel
    0x0004 - broken
   
   
### Example code:

'X and Y Registers hold both pointer to thruster block hardware Registers EG: 0X113000 AND 0X113100

'For this example two thrusters are placed on opposite sides of the center of mass (COM) at equal distance and facing out(thruster 0) from COM. Also they should be rotated so that thruster 1 points in the clockwise (horizontal plane) direction on both thrusters.


    'set thrusters to disabled'
    SET [X+0x08],0x0000
    SET [Y+0x08],0x0000
   
    SET [X+0x0C],0x007f 'B register to medium '
    SET [X+0x08],0x0011 ' set side thruster'
   
    SET [Y+0x0C],0x007f 'B register to medium '
    SET [Y+0x08],0x0011 ' set side thruster'
   
    SET A,0x0001 'enable thrusters'
    SET [X+0x08],0x0001
    SET [Y+0x08],0x0001
   
    'SLEEP 2 SECS'
   
    'set thrusters to disabled'
    SET [X+0x08],0x0000
    SET [Y+0x08],0x0000
   
    'clear thrust'
    SET [X+0x08],0x0003
    SET [Y+0x08],0x0003
   

    SET [X+0x0C],0x007f 'B register to medium '
    SET [X+0x08],0x0031 ' set other side thruster'
   
    SET [Y+0x0C],0x007f 'B register to medium '
    SET [Y+0x08],0x0031 ' set other side thruster'
   
    'SLEEP 10 SECS'

    SET A,0x0001 'enable thrusters'
    SET [X+0x08],0x0001
    SET [Y+0x08],0x0001
   
    'SLEEP 2 SECS'
       
    'set thrusters to disabled'
    SET [X+0x08],0x0000
    SET [Y+0x08],0x0000

    'clear thrust'
    SET [X+0x08],0x0003
    SET [Y+0x08],0x0003


Physics Specification - Guesswork aimed for small < 1000kg craft
Object size: 10cm cube
Object weight: 9Kg (Filled with Fuel)
Thruster Power: 100 Newtons
Fuel Storage: 4Kg
Fuel Usage: 0.06667 Kg/s (Vacuume) - 60 Seconds for Single Nozel at 100%
Fuel Usage: 0.33333 Kg/s (Atmos) - 12 Seconds for Single Nozel at 100%

Model
Image
well it is an image of the model.

Model specifics:
  • Thrust center is (0,0,0)
  • Anchor Point is (0,0,-0.15) in blender units or (0,0,-0.1125) in game meters
  • Format is .obj
  • size in Blender is a 0.4x0.4x.35(LxWxH)
  • size in game would be 0.1x0.1x0.0875(LxWxH) in meters

Texture
Image
I am having issues rendering the texture on the model in blender, it always renders without...

Sound
I have a sound that i like:
https://www.freesound.org/people/daveincamas/sounds/25578/#
I am not sure this will be okay regarding licensing, and it may be we need to have a middle and an end sound effect for longer burns.

Yet to complete:
  • Behavior Programming
  • Particle Emitter

I would like to finish as much of this device as possible to allow integration into the game.
Last edited by DaveSparhawk on Thu Mar 13, 2014 10:43 am, edited 2 times in total.
DaveSparhawk
 
Posts: 28
Joined: Sat Mar 08, 2014 11:14 am

Re: [DEVICE] Thruster Block - RocoCorp

Postby Yowen » Sun Mar 09, 2014 10:12 am

It is certainly a device we will need!

Looking at http://en.wikipedia.org/wiki/Space_Shuttle_Orbital_Maneuvering_System, it seems a little small and underpowered.
I think the ships will almost all be > 1000kg (but I can be wrong).

Is the fuel a "practically infinite storage of compressed gas like particle" or "Fuel Storage: 4Kg"?

Also, we dropped HWI. Instead the devices are memory mapped: https://github.com/trillek-team/trillek-computer/.
Yowen
 
Posts: 6
Joined: Thu Jan 30, 2014 3:30 pm

Re: [DEVICE] Thruster Block - RocoCorp

Postby DaveSparhawk » Sun Mar 09, 2014 12:19 pm

Yowen:
Regarding fuel; i want to leave the option open, depending on game mechanics it may be a resource or it may be infinite.

So this is how i would likely test the thrusters using new memory mapped/register method

Example code:
Code: Select all

'X and Y Registers hold both pointer to thruster block hardware Registers EG: 0X113000 AND 0X113100

'For this example two thrusters are placed on opposite sides of the center of mass (COM) at equal distance and facing out(thruster 0) from COM. Also they should be rotated so that thruster 1 points in the clockwise (horizontal plane) direction on both thrusters.


    'set thrusters to disabled'
    SET [X+0x08],0x0000
    SET [Y+0x08],0x0000
   
    SET [X+0x0C],0x007f 'B register to medium '
    SET [X+0x08],0x0011 ' set side thruster'
   
    SET [Y+0x0C],0x007f 'B register to medium '
    SET [Y+0x08],0x0011 ' set side thruster'
   
    SET A,0x0001 'enable thrusters'
    SET [X+0x08],0x0001
    SET [Y+0x08],0x0001
   
    'SLEEP 2 SECS'
   
    'set thrusters to disabled'
    SET [X+0x08],0x0000
    SET [Y+0x08],0x0000
   
    'clear thrust'
    SET [X+0x08],0x0003
    SET [Y+0x08],0x0003
   

    SET [X+0x0C],0x007f 'B register to medium '
    SET [X+0x08],0x0031 ' set other side thruster'
   
    SET [Y+0x0C],0x007f 'B register to medium '
    SET [Y+0x08],0x0031 ' set other side thruster'
   
    'SLEEP 10 SECS'

    SET A,0x0001 'enable thrusters'
    SET [X+0x08],0x0001
    SET [Y+0x08],0x0001
   
    'SLEEP 2 SECS'
       
    'set thrusters to disabled'
    SET [X+0x08],0x0000
    SET [Y+0x08],0x0000

    'clear thrust'
    SET [X+0x08],0x0003
    SET [Y+0x08],0x0003
DaveSparhawk
 
Posts: 28
Joined: Sat Mar 08, 2014 11:14 am

Re: [DEVICE] Thruster Block - RocoCorp

Postby evanator66 » Sat Mar 15, 2014 3:02 am

Those thrusters are really neat! They are the best thing In the hardware section outside of the computer!
I am from the future... of the past.
evanator66
 
Posts: 23
Joined: Sun Jan 19, 2014 11:38 pm


Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest