<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://oiswiki.sysadninjas.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kuroneko</id>
		<title>Wiki in Space - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://oiswiki.sysadninjas.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kuroneko"/>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/wiki/Special:Contributions/Kuroneko"/>
		<updated>2026-05-22T19:58:58Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=391</id>
		<title>Wiki in Space:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=391"/>
				<updated>2018-06-18T23:03:14Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: /* How the Information is used */ Explicitly defining behaviours that may result in details being given to an anti-spam aggregation service.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information that is gathered from visitors ==&lt;br /&gt;
&lt;br /&gt;
In common with other websites, log files are stored on the web server saving details such as the visitor&amp;#039;s IP address, browser type, referring page and time of visit.&lt;br /&gt;
&lt;br /&gt;
Cookies may be used to remember visitor preferences when interacting with the website.&lt;br /&gt;
&lt;br /&gt;
For registered users, the visitor&amp;#039;s email and a username, and, if provided, their real name, will be stored on the server.&lt;br /&gt;
&lt;br /&gt;
== How the Information is used ==&lt;br /&gt;
&lt;br /&gt;
The information is used to enhance the vistor&amp;#039;s experience when using the website to display personalised content, and to deliver notifications about the website as requested by the visitor.&lt;br /&gt;
&lt;br /&gt;
Accounts found to be spamming may have their details, including, but not limited to, their registered e-mail address and recently used IP address(es), given to a anti-spam aggregation service for the purpose of preventing further spam.&lt;br /&gt;
&lt;br /&gt;
Information provided may also be used to identify the visitor for administrative purposes, such as, but not limited to, administering additional privileges or administrative bans.&lt;br /&gt;
&lt;br /&gt;
Other than the instance above, E-mail addresses of users will not be sold, rented or leased to 3rd parties.&lt;br /&gt;
&lt;br /&gt;
For the purposes of the above, spamming is defined as:&lt;br /&gt;
# repeatedly adding irrelevant content to the Wiki; or&lt;br /&gt;
# linking to external sites containing irrelevant content; or&lt;br /&gt;
# editing existing pages to add irrelevant content; or&lt;br /&gt;
# adding content that promotes a commercial activity not explicitly authorised by the Administrator(s); or&lt;br /&gt;
# any action significantly similar to these items. &lt;br /&gt;
&lt;br /&gt;
Irrelevant content is considered to be:&lt;br /&gt;
# any content that is not related to the game, Objects in Space; and&lt;br /&gt;
# any content that is not related to their developer, Flat Earth Games; and&lt;br /&gt;
# any content area that can be reasonably considered to be of interest to a person playing, developing for, or modifying the game, Objects in Space&lt;br /&gt;
&lt;br /&gt;
== Visitor Options ==&lt;br /&gt;
&lt;br /&gt;
If you simply wish to view the contents of this site, you do not need to accept any cookies or register.&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute, then registration is required, and a valid email address is required as part of that registration.  Contributors are not required to provide their real name.&lt;br /&gt;
&lt;br /&gt;
== Cookies ==&lt;br /&gt;
&lt;br /&gt;
Cookies are small digital signature files that are stored by your web browser that allow your preferences to be recorded when visiting the website. Also they may be used to track your return visits to the website.&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=390</id>
		<title>Wiki in Space:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=390"/>
				<updated>2018-06-18T22:49:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Update to Privacy Policy regarding use of registered spammers details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information that is gathered from visitors ==&lt;br /&gt;
&lt;br /&gt;
In common with other websites, log files are stored on the web server saving details such as the visitor&amp;#039;s IP address, browser type, referring page and time of visit.&lt;br /&gt;
&lt;br /&gt;
Cookies may be used to remember visitor preferences when interacting with the website.&lt;br /&gt;
&lt;br /&gt;
For registered users, the visitor&amp;#039;s email and a username, and, if provided, their real name, will be stored on the server.&lt;br /&gt;
&lt;br /&gt;
== How the Information is used ==&lt;br /&gt;
&lt;br /&gt;
The information is used to enhance the vistor&amp;#039;s experience when using the website to display personalised content, and to deliver notifications about the website as requested by the visitor.&lt;br /&gt;
&lt;br /&gt;
Accounts found to be spamming the Wiki may have their details, including, but not limited to, their registered e-mail address and recently used IP address(es), given to a anti-spam aggregation service for the purpose of preventing further spam.&lt;br /&gt;
&lt;br /&gt;
Information provided may also be used to identify the visitor for administrative purposes, such as, but not limited to, administering additional privileges or administrative bans.&lt;br /&gt;
&lt;br /&gt;
Other than the instance above, E-mail addresses of users will not be sold, rented or leased to 3rd parties.  &lt;br /&gt;
&lt;br /&gt;
== Visitor Options ==&lt;br /&gt;
&lt;br /&gt;
If you simply wish to view the contents of this site, you do not need to accept any cookies or register.&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute, then registration is required, and a valid email address is required as part of that registration.  Contributors are not required to provide their real name.&lt;br /&gt;
&lt;br /&gt;
== Cookies ==&lt;br /&gt;
&lt;br /&gt;
Cookies are small digital signature files that are stored by your web browser that allow your preferences to be recorded when visiting the website. Also they may be used to track your return visits to the website.&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=310</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=310"/>
				<updated>2018-06-04T23:30:46Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Reverted edits by Fugue (talk) to last revision by Kuroneko&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Unofficial Objects in Space Wiki&lt;br /&gt;
&lt;br /&gt;
= What is Objects in Space? =&lt;br /&gt;
&lt;br /&gt;
Objects in Space is a modempunk stealth space-trading game set in Apollo – a huge cluster of star systems dozens of lightyears away from Earth. You are a lonesome ship’s captain, buying and selling wares in order to keep your bucket of bolts afloat and stay one step ahead of pirates, organised criminals, corrupt governments and shady laws.  (From the [http://www.objectsgame.com official web site])&lt;br /&gt;
&lt;br /&gt;
= Features = &lt;br /&gt;
&lt;br /&gt;
Objects in Space sees players travel all across the Apollo cluster. &lt;br /&gt;
&lt;br /&gt;
[[:Category:Sectors|Sectors]] -- [[:Category:Stations|Stations]] -- [[:Category:Commodities|Commodities]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Ships|Ships]] -- [[:Category:Modules|Modules]] -- [[:Category:Components|Components]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Organisations|Organisations]] -- [[People]] -- [[Contracts]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:HardwareInterfacing|Interfacing with Hardware]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=306</id>
		<title>TipsForDealingWithSerial</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=306"/>
				<updated>2018-06-04T04:23:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: /* General */ the protocol uses LFs, not CRs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some generic tips for dealing with Serial Protocols&lt;br /&gt;
&lt;br /&gt;
== General == &lt;br /&gt;
&lt;br /&gt;
* Bear in mind the size of your buffers - if your transmit buffer is small, during the &amp;quot;Synchronisation&amp;quot; phase, make sure your tx buffer is empty/has enough space (or that your serial library will block until transmission is complete) before sending the next configuration item as most microcontrollers easily run fast enough to outpace 9600bps serial.&lt;br /&gt;
&lt;br /&gt;
* Because almost all microcontrollers can outpace serial transmissions, there can be a significant time delay between characters.  Be prepared to use a blocking read that will wait until a end of line occurs, or to reconstruct the string yourself.&lt;br /&gt;
&lt;br /&gt;
* If you get a RX Overrun, your best option with the OIS protocol right now is to discard bytes up until the next LF.&lt;br /&gt;
&lt;br /&gt;
* Because of the format of the messages, you really should check for RX overruns as you read the messages sent by the host - an overrun can very easily change the intent of a message and cause unexpected behaviour, particularly if your channel numbers are similar.  (a channel 20 message could be misinterpreted as being channel 2 for example).&lt;br /&gt;
&lt;br /&gt;
== Arduino Specific ==&lt;br /&gt;
&lt;br /&gt;
* Arduino&amp;#039;s USB Serial port is implemented in one of two ways depending upon the specific model: Either USB-Serial adapter IC directly connected to USART 0 (most models); or Direct ACM CDC implemented on the AVR itself (Leonardo, some others).  With CDC, bit rate commands are a technicality to maintain compatibility with real serial - it has no meaning however (data flows at USB speeds, packet by packet), and with the serial converters, because the converter is wired back to back with the microcontroller, you can safely push the bitrate up.  Speeds of 19200-57600 bps should be safely usable as long as you can get the host to agree.&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t try to be too generic in your Arduino code - the Arduino library itself is quite inefficient, and you will save a lot of cycles by just doing what you specifically need to do directly, rather than trying to have a degree of runtime configurable behaviour.&lt;br /&gt;
&lt;br /&gt;
* Use pin change interrupts rather than polling the pins for input.&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=305</id>
		<title>TipsForDealingWithSerial</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=305"/>
				<updated>2018-06-04T04:22:56Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: /* General */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some generic tips for dealing with Serial Protocols&lt;br /&gt;
&lt;br /&gt;
== General == &lt;br /&gt;
&lt;br /&gt;
* Bear in mind the size of your buffers - if your transmit buffer is small, during the &amp;quot;Synchronisation&amp;quot; phase, make sure your tx buffer is empty/has enough space (or that your serial library will block until transmission is complete) before sending the next configuration item as most microcontrollers easily run fast enough to outpace 9600bps serial.&lt;br /&gt;
&lt;br /&gt;
* Because almost all microcontrollers can outpace serial transmissions, there can be a significant time delay between characters.  Be prepared to use a blocking read that will wait until a end of line occurs, or to reconstruct the string yourself.&lt;br /&gt;
&lt;br /&gt;
* If you get a RX Overrun, your best option with the OIS protocol right now is to discard bytes up until the next CR.&lt;br /&gt;
&lt;br /&gt;
* Because of the format of the messages, you really should check for RX overruns as you read the messages sent by the host - an overrun can very easily change the intent of a message and cause unexpected behaviour, particularly if your channel numbers are similar.  (a channel 20 message could be misinterpreted as being channel 2 for example).&lt;br /&gt;
&lt;br /&gt;
== Arduino Specific ==&lt;br /&gt;
&lt;br /&gt;
* Arduino&amp;#039;s USB Serial port is implemented in one of two ways depending upon the specific model: Either USB-Serial adapter IC directly connected to USART 0 (most models); or Direct ACM CDC implemented on the AVR itself (Leonardo, some others).  With CDC, bit rate commands are a technicality to maintain compatibility with real serial - it has no meaning however (data flows at USB speeds, packet by packet), and with the serial converters, because the converter is wired back to back with the microcontroller, you can safely push the bitrate up.  Speeds of 19200-57600 bps should be safely usable as long as you can get the host to agree.&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t try to be too generic in your Arduino code - the Arduino library itself is quite inefficient, and you will save a lot of cycles by just doing what you specifically need to do directly, rather than trying to have a degree of runtime configurable behaviour.&lt;br /&gt;
&lt;br /&gt;
* Use pin change interrupts rather than polling the pins for input.&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=303</id>
		<title>TipsForDealingWithSerial</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=303"/>
				<updated>2018-06-03T21:49:42Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some generic tips for dealing with Serial Protocols&lt;br /&gt;
&lt;br /&gt;
== General == &lt;br /&gt;
&lt;br /&gt;
* Bear in mind the size of your buffers - if your transmit buffer is small, during the &amp;quot;Synchronisation&amp;quot; phase, make sure your tx buffer is empty/has enough space (or your serial library will block until transmission is complete) before sending the next configuration item as most microcontrollers easily run fast enough to outpace 9600bps serial.&lt;br /&gt;
&lt;br /&gt;
* Because almost all microcontrollers can outpace serial transmissions, there can be a significant time delay between characters.  Be prepared to use a blocking read that will wait until a end of line occurs, or to reconstruct the string yourself.&lt;br /&gt;
&lt;br /&gt;
* If you get a RX Overrun, your best option with the OIS protocol right now is to discard bytes up until the next CR.&lt;br /&gt;
&lt;br /&gt;
* Because of the format of the messages, you really should check for RX overruns as you read the messages sent by the host - an overrun can very easily change the intent of a message and cause unexpected behaviour, particularly if your channel numbers are similar.  (a channel 20 message could be misinterpreted as being channel 2 for example).&lt;br /&gt;
&lt;br /&gt;
== Arduino Specific ==&lt;br /&gt;
&lt;br /&gt;
* Arduino&amp;#039;s USB Serial port is implemented in one of two ways depending upon the specific model: Either USB-Serial adapter IC directly connected to USART 0 (most models); or Direct ACM CDC implemented on the AVR itself (Leonardo, some others).  With CDC, bit rate commands are a technicality to maintain compatibility with real serial - it has no meaning however (data flows at USB speeds, packet by packet), and with the serial converters, because the converter is wired back to back with the microcontroller, you can safely push the bitrate up.  Speeds of 19200-57600 bps should be safely usable as long as you can get the host to agree.&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t try to be too generic in your Arduino code - the Arduino library itself is quite inefficient, and you will save a lot of cycles by just doing what you specifically need to do directly, rather than trying to have a degree of runtime configurable behaviour.&lt;br /&gt;
&lt;br /&gt;
* Use pin change interrupts rather than polling the pins for input.&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=279</id>
		<title>ExternalProtocol</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=279"/>
				<updated>2018-06-03T02:54:37Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: /* Protocol Details */ the compiler sets char encoding, not the runtime.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objects in space was made with the intention that it could be playable with just buttons.&lt;br /&gt;
&lt;br /&gt;
You can also get almost all the information from the in-game UI sent back to your Arduino or other external microcontroller that can speak Serial.&lt;br /&gt;
&lt;br /&gt;
There are 193 Commands [[Serial Commands]], 164 Boolean Requests, and 24 Numeric Requests for a total of 381&lt;br /&gt;
&lt;br /&gt;
== Protocol Details ==&lt;br /&gt;
&lt;br /&gt;
The protocol is outlined on the [http://objectsgame.com/the-controllers/ois-serial-data-protocol/ offical web site], however there are some minor inaccuracies whilst the game is in Beta.&lt;br /&gt;
&lt;br /&gt;
To connect your controller to the game you need to send 451 with a newline at the end. The game will send back 452.  (source [http://forum.objectsgame.com:88/t/ois-arduino-code-during-beta/911/13 Nocturnal])&lt;br /&gt;
&lt;br /&gt;
Also, contrary to the documentation, the newline character is LF (Dec: 10, Hex 0x0A), not CR (Dec: 13, Hex 0x0D).  (note: Most C compilers encode &amp;lt;code&amp;gt;&amp;#039;\n&amp;#039;&amp;lt;/code&amp;gt; as LF (CR would be &amp;lt;code&amp;gt;&amp;#039;\r&amp;#039;&amp;lt;/code&amp;gt;), so the sample codes provided is correct, just the description on the page is wrong).&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=278</id>
		<title>ExternalProtocol</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=278"/>
				<updated>2018-06-03T02:46:49Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: /* Protocol Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objects in space was made with the intention that it could be playable with just buttons.&lt;br /&gt;
&lt;br /&gt;
You can also get almost all the information from the in-game UI sent back to your Arduino or other external microcontroller that can speak Serial.&lt;br /&gt;
&lt;br /&gt;
There are 193 Commands [[Serial Commands]], 164 Boolean Requests, and 24 Numeric Requests for a total of 381&lt;br /&gt;
&lt;br /&gt;
== Protocol Details ==&lt;br /&gt;
&lt;br /&gt;
The protocol is outlined on the [http://objectsgame.com/the-controllers/ois-serial-data-protocol/ offical web site], however there are some minor inaccuracies whilst the game is in Beta.&lt;br /&gt;
&lt;br /&gt;
To connect your controller to the game you need to send 451 with a newline at the end. The game will send back 452.  (source [http://forum.objectsgame.com:88/t/ois-arduino-code-during-beta/911/13 Nocturnal])&lt;br /&gt;
&lt;br /&gt;
Also, contrary to the documentation, the newline character is LF (Dec: 10, Hex 0x0A), not CR (Dec: 13, Hex 0x0D).  (note: Most C runtimes encode &amp;lt;code&amp;gt;&amp;#039;\n&amp;#039;&amp;lt;/code&amp;gt; as LF (CR would be &amp;lt;code&amp;gt;&amp;#039;\r&amp;#039;&amp;lt;/code&amp;gt;), so the sample codes provided is correct, just the description on the page is wrong).&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Serial_Commands&amp;diff=277</id>
		<title>Serial Commands</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Serial_Commands&amp;diff=277"/>
				<updated>2018-06-03T02:39:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Commands&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|&amp;#039;&amp;#039;&amp;#039;Almost all of these have not been tested for effect&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Piloting&lt;br /&gt;
|-&lt;br /&gt;
|STOP_MAIN_ENGINE&lt;br /&gt;
|Turns off the main engine&lt;br /&gt;
|-&lt;br /&gt;
|BURN_MAIN_ENGINE&lt;br /&gt;
|Turns on the main engine&lt;br /&gt;
|-&lt;br /&gt;
|TOGGLE_MAIN_ENGINE&lt;br /&gt;
|Toggles the state of the main engine&lt;br /&gt;
|-&lt;br /&gt;
|ENGAGE_COURSE&lt;br /&gt;
|Engages the Auto pilot&lt;br /&gt;
|-&lt;br /&gt;
|FIRE_RCS_CW&lt;br /&gt;
|Starts rotating the ship clockwise&lt;br /&gt;
|-&lt;br /&gt;
|FULL_STOP&lt;br /&gt;
|Engages the Auto pilot to stop the ship&lt;br /&gt;
|-&lt;br /&gt;
|STOP_RCS&lt;br /&gt;
|Stops the ships rotation&lt;br /&gt;
|-&lt;br /&gt;
|FIRE_RCS_CCW&lt;br /&gt;
|Starts Rotating the ship counter-clockwise&lt;br /&gt;
|-&lt;br /&gt;
|UNDOCK&lt;br /&gt;
|Undocks the ship&lt;br /&gt;
|-&lt;br /&gt;
|CANCEL_AUTOPILOT&lt;br /&gt;
|Turns off the Auto Pilot&lt;br /&gt;
|-&lt;br /&gt;
|ROTATE&lt;br /&gt;
|-&lt;br /&gt;
|PAY_FOR_JUMPGATE&lt;br /&gt;
|-&lt;br /&gt;
|ACTIVATE_JUMPGATE&lt;br /&gt;
|-&lt;br /&gt;
|JMP_SPIN_UP_JUMP_DRIVE&lt;br /&gt;
|-&lt;br /&gt;
|JMP_BEGIN_JUMP&lt;br /&gt;
|-&lt;br /&gt;
|MAIN_DRIVE_POWER_DECREASE&lt;br /&gt;
|-&lt;br /&gt;
|MAIN_DRIVE_POWER_INCREASE&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Nav&lt;br /&gt;
|-&lt;br /&gt;
|PLOT_COURSE&lt;br /&gt;
|plots a course to the cursor on the nav console&lt;br /&gt;
|-&lt;br /&gt;
|REMOVE_LAST_WAYPOINT&lt;br /&gt;
|Removes the last point plotted on a course(maybe?)&lt;br /&gt;
|-&lt;br /&gt;
|CLEAR_COURSE&lt;br /&gt;
|Removes all plotted waypoints&lt;br /&gt;
|-&lt;br /&gt;
|MAP_MOVE_RIGHT&lt;br /&gt;
|rowspan=&amp;quot;6&amp;quot;|Moves the map&lt;br /&gt;
|-&lt;br /&gt;
|MAP_MOVE_LEFT&lt;br /&gt;
|-&lt;br /&gt;
|MAP_MOVE_DOWN&lt;br /&gt;
|-&lt;br /&gt;
|MAP_MOVE_UP&lt;br /&gt;
|-&lt;br /&gt;
|MAP_ZOOM_OUT&lt;br /&gt;
|-&lt;br /&gt;
|MAP_ZOOM_IN&lt;br /&gt;
|-&lt;br /&gt;
|MAP_CENTER&lt;br /&gt;
|Centers the map on the ship&lt;br /&gt;
|-&lt;br /&gt;
|TOGGLE_MAP_MODE&lt;br /&gt;
|Switches between Cluster and local view&lt;br /&gt;
|-&lt;br /&gt;
|JMP_CALCULATE_JUMP_SOLUTION&lt;br /&gt;
|-&lt;br /&gt;
|JMP_SET_JUMP_DESTINATION&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Weapons&lt;br /&gt;
|-&lt;br /&gt;
|SELECT_TUBE1&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|Selects a weapon tube&lt;br /&gt;
|-&lt;br /&gt;
|SELECT_TUBE2&lt;br /&gt;
|-&lt;br /&gt;
|SELECT_TUBE3&lt;br /&gt;
|-&lt;br /&gt;
|SELECT_TUBE4&lt;br /&gt;
|-&lt;br /&gt;
|SELECT_TUBE5&lt;br /&gt;
|-&lt;br /&gt;
|DESELECT_TUBE&lt;br /&gt;
|Removes weapon tube selection&lt;br /&gt;
|-&lt;br /&gt;
|SELECT_TUBE&lt;br /&gt;
|Selects a weapon tube;&lt;br /&gt;
|-&lt;br /&gt;
|POWER_DOWN_WEAPON&lt;br /&gt;
|Powers down a weapon&lt;br /&gt;
|-&lt;br /&gt;
|SPIN_UP_WEAPON&lt;br /&gt;
|Starts readying a tube to fire&lt;br /&gt;
|-&lt;br /&gt;
|SET_WEAPON_TARGET&lt;br /&gt;
|Sets the Weapon target(Info needs update)&lt;br /&gt;
|-&lt;br /&gt;
|FIRE_WEAPON&lt;br /&gt;
|Fires selected weapon&lt;br /&gt;
|-&lt;br /&gt;
|ARM_WEAPON&lt;br /&gt;
|Prepares a weapon to fire&lt;br /&gt;
|-&lt;br /&gt;
|UNLINK_WEAPON&lt;br /&gt;
|-&lt;br /&gt;
|FIRE_CM&lt;br /&gt;
|-&lt;br /&gt;
|DISABLE_WEAPON&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Power&lt;br /&gt;
|-&lt;br /&gt;
|EMCON_OFF&lt;br /&gt;
|Turns off EMCOM mode&lt;br /&gt;
|-&lt;br /&gt;
|EMCON_ON&lt;br /&gt;
|Turns on EMCOM mode&lt;br /&gt;
|-&lt;br /&gt;
|TOGGLE_EMCON&lt;br /&gt;
|-&lt;br /&gt;
|ENG_DISCONNECT_CURRENT_MODULE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_CURRENT_MODULE_EMCON&lt;br /&gt;
|-&lt;br /&gt;
|SCRAM_REACTOR&lt;br /&gt;
|-&lt;br /&gt;
|JMP_DISCHARGE_JUMP_DRIVE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_CURRENT_MODULE_POWER&lt;br /&gt;
|-&lt;br /&gt;
|TOGGLE_REACTOR&lt;br /&gt;
|-&lt;br /&gt;
|POWER_UP_REACTOR&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_HELM&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_HELM&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_RCS&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_HELM&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_RCS&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_RCS&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_MAINDRIVE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_MAINDRIVE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_COMMS&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_MAINDRIVE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_COMMS&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_COMMS&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_WEAP&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_WEAP&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_JUMPDRIVE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_WEAP&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_JUMPDRIVE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_JUMPDRIVE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_BATT1&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_BATT1&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_BATT2&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_BATT1&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_BATT2&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_BATT2&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_BATT3&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_BATT3&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_NAVCOM&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_BATT3&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_NAVCOM&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_NAVCOM&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CONNECT_SENS&lt;br /&gt;
|-&lt;br /&gt;
|PWR_DISCONNECT_SENS&lt;br /&gt;
|-&lt;br /&gt;
|TURN_ON_SHIP&lt;br /&gt;
|-&lt;br /&gt;
|PWR_TOGGLE_SENS&lt;br /&gt;
|-&lt;br /&gt;
|TURN_OFF_SHIP&lt;br /&gt;
|-&lt;br /&gt;
|PWR_SELECT_MODULE&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Comms&lt;br /&gt;
|-&lt;br /&gt;
|TURN_OFF_IFF&lt;br /&gt;
|-&lt;br /&gt;
|TURN_ON_IFF&lt;br /&gt;
|-&lt;br /&gt;
|COMMUNICATE_WITH_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_UNDOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_DOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|COMMS_TURN_ON_AUTO&lt;br /&gt;
|-&lt;br /&gt;
|COMMS_SYNC&lt;br /&gt;
|-&lt;br /&gt;
|COMMS_TURN_OFF_AUTO&lt;br /&gt;
|-&lt;br /&gt;
|TURN_OFF_SOS&lt;br /&gt;
|-&lt;br /&gt;
|TURN_ON_SOS&lt;br /&gt;
|-&lt;br /&gt;
!Colspan=&amp;quot;2&amp;quot;|Sensors&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SELECT_UP&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SELECT_DOWN&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SELECT_LEFT&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SELECT_RIGHT&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SET_NAV_AND_SENSOR_LINKED&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SELECT_TAB&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SET_HISTORY_LOCKED&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_UNSET_NAV_AND_SENSOR_LINKED&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_SET_AUTO&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_UNSET_HISTORY_LOCKED&lt;br /&gt;
|-&lt;br /&gt;
|SENSOR_UNSET_AUTO&lt;br /&gt;
|-&lt;br /&gt;
!Colspan=&amp;quot;2&amp;quot;|Player movement&lt;br /&gt;
|-&lt;br /&gt;
|TIME_SLOWER&lt;br /&gt;
|-&lt;br /&gt;
|TIME_FASTER&lt;br /&gt;
|-&lt;br /&gt;
|ROOM_RIGHT&lt;br /&gt;
|-&lt;br /&gt;
|ROOM_LEFT&lt;br /&gt;
|-&lt;br /&gt;
|LEAVE_SHIP&lt;br /&gt;
|-&lt;br /&gt;
!Colspan=&amp;quot;2&amp;quot;|Mic&lt;br /&gt;
|-&lt;br /&gt;
|CHANGE_TO_STANDARD_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|BREAK_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|CHANGE_TO_POLAR_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|CHANGE_TO_HIGH_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|RESCIND_UNDOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|RESCIND_DOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|PAY_DOCKED_STATION&lt;br /&gt;
|-&lt;br /&gt;
|ENABLE_AUTO_REPAIR&lt;br /&gt;
|-&lt;br /&gt;
|DISABLE_AUTO_REPAIR&lt;br /&gt;
|-&lt;br /&gt;
|MAP_CLICK&lt;br /&gt;
|-&lt;br /&gt;
|ENG_OPEN_CURRENT_MODULE&lt;br /&gt;
|-&lt;br /&gt;
|ENG_CONNECT_CURRENT_MODULE&lt;br /&gt;
|-&lt;br /&gt;
|ENG_REPAIR_CURRENT_COMPONENT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_CLOSE_CURRENT_MODULE&lt;br /&gt;
|-&lt;br /&gt;
|TELEPORT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_SELECT_COMPONENT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_SELECT_MODULE&lt;br /&gt;
|-&lt;br /&gt;
|ENG_UNMOUNT_COMPONENT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_MOUNT_COMPONENT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_TOGGLE_SCREW&lt;br /&gt;
|-&lt;br /&gt;
|ENG_DESTROY_COMPONENT&lt;br /&gt;
|-&lt;br /&gt;
|HELM_SET_ATAC_MODE&lt;br /&gt;
|not sure what ATAC is&lt;br /&gt;
|-&lt;br /&gt;
|ENG_TOGGLE_SHIELD&lt;br /&gt;
|-&lt;br /&gt;
|ENABLE_LADAR&lt;br /&gt;
|-&lt;br /&gt;
|HELM_UNSET_ATAC_MODE&lt;br /&gt;
|-&lt;br /&gt;
|TOGGLE_LADAR&lt;br /&gt;
|-&lt;br /&gt;
|DISABLE_LADAR&lt;br /&gt;
|-&lt;br /&gt;
|PWR_POWER_DECREASE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_POWER_INCREASE&lt;br /&gt;
|-&lt;br /&gt;
|DEACTIVATE_PDS&lt;br /&gt;
|-&lt;br /&gt;
|ACTIVATE_PDS&lt;br /&gt;
|-&lt;br /&gt;
|TOGGLE_PDS&lt;br /&gt;
|-&lt;br /&gt;
|SHIP_CARGO_DOWN&lt;br /&gt;
|-&lt;br /&gt;
|JETTISON_CARGO&lt;br /&gt;
|-&lt;br /&gt;
|SHIP_CARGO_UP&lt;br /&gt;
|-&lt;br /&gt;
|MOORED_CARGO_DOWN&lt;br /&gt;
|-&lt;br /&gt;
|JETTISON_ALL&lt;br /&gt;
|-&lt;br /&gt;
|TRANSFER_CARGO_FROM_MOORED&lt;br /&gt;
|-&lt;br /&gt;
|MOORED_CARGO_UP&lt;br /&gt;
|-&lt;br /&gt;
|REPAIR_HULL_AT_DEPOT&lt;br /&gt;
|-&lt;br /&gt;
|TRANSFER_CARGO_FROM_SHIP&lt;br /&gt;
|-&lt;br /&gt;
|REARM_AT_DEPOT&lt;br /&gt;
|-&lt;br /&gt;
|REPAIR_MODULES_AT_DEPOT&lt;br /&gt;
|-&lt;br /&gt;
|TUTORIAL_JUMP&lt;br /&gt;
|-&lt;br /&gt;
|BUY_CM_AT_DEPOT&lt;br /&gt;
|-&lt;br /&gt;
|TRADE_PERFORM&lt;br /&gt;
|-&lt;br /&gt;
|TRADE_TOMAX&lt;br /&gt;
|-&lt;br /&gt;
|COMMERCE_MENU&lt;br /&gt;
|-&lt;br /&gt;
|TRADE_CANCEL&lt;br /&gt;
|-&lt;br /&gt;
|COMMERCE_TAKELOAN&lt;br /&gt;
|-&lt;br /&gt;
|COMMERCE_GETLICENSE&lt;br /&gt;
|-&lt;br /&gt;
|COMMERCE_TAKECONTRACT&lt;br /&gt;
|-&lt;br /&gt;
|COMMERCE_REPAYLOAN&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_TOMENU&lt;br /&gt;
|-&lt;br /&gt;
|VIEW_WIRE&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_BUY_POD&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_REPAIR&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_UPGRADE_POD&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_SELL_POD&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_MODULETRANSACTION&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_CANCELMODULE&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_SELLARMAMENT&lt;br /&gt;
|-&lt;br /&gt;
|MECHANIC_BUYARMAMENT&lt;br /&gt;
|-&lt;br /&gt;
|MOORED_WRECK_UNLOCK_CARGO&lt;br /&gt;
|-&lt;br /&gt;
|BUY_SHIP&lt;br /&gt;
|-&lt;br /&gt;
|SET_VIEW_SHIP&lt;br /&gt;
|-&lt;br /&gt;
|MOORED_WRECK_DOWNLOAD_DATA&lt;br /&gt;
|-&lt;br /&gt;
|TAKE_PASSENGER&lt;br /&gt;
|-&lt;br /&gt;
|BOARD_BROKER_SHIP&lt;br /&gt;
|-&lt;br /&gt;
|PREV_TRACK&lt;br /&gt;
|-&lt;br /&gt;
|NEXT_TRACK&lt;br /&gt;
|-&lt;br /&gt;
|RESUME_TRACK&lt;br /&gt;
|-&lt;br /&gt;
|PAUSE_TRACK&lt;br /&gt;
|-&lt;br /&gt;
|QUIT_TO_MENU&lt;br /&gt;
|-&lt;br /&gt;
|TAKE_BOUNTY&lt;br /&gt;
|-&lt;br /&gt;
|QUIT_TO_OS&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=275</id>
		<title>TipsForDealingWithSerial</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=275"/>
				<updated>2018-06-03T02:34:17Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Get the category name right this time...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some generic tips for dealing with Serial Protocols&lt;br /&gt;
&lt;br /&gt;
== General == &lt;br /&gt;
&lt;br /&gt;
* Bear in mind the size of your buffers - if your transmit buffer is small, during the &amp;quot;Synchronisation&amp;quot; phase, make sure your tx buffer is empty/has enough space (or your serial library will block until transmission is complete) before sending the next configuration item as most microcontrollers easily run fast enough to outpace 9600bps serial.&lt;br /&gt;
&lt;br /&gt;
* If you get a RX Overrun, your best option with the OIS protocol right now is to discard bytes up until the next CR.&lt;br /&gt;
&lt;br /&gt;
* Because of the format of the messages, you really should check for RX overruns as you read the messages sent by the host - an overrun can very easily change the intent of a message and cause unexpected behaviour, particularly if your channel numbers are similar.  (a channel 20 message could be misinterpreted as being channel 2 for example).&lt;br /&gt;
&lt;br /&gt;
== Arduino Specific ==&lt;br /&gt;
&lt;br /&gt;
* Arduino&amp;#039;s USB Serial port is implemented in one of two ways depending upon the specific model: Either USB-Serial adapter IC directly connected to USART 0 (most models); or Direct ACM CDC implemented on the AVR itself (Leonardo, some others).  With CDC, bit rate commands are a technicality to maintain compatibility with real serial - it has no meaning however (data flows at USB speeds, packet by packet), and with the serial converters, because the converter is wired back to back with the microcontroller, you can safely push the bitrate up.  Speeds of 19200-57600 bps should be safely usable as long as you can get the host to agree.&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t try to be too generic in your Arduino code - the Arduino library itself is quite inefficient, and you will save a lot of cycles by just doing what you specifically need to do directly, rather than trying to have a degree of runtime configurable behaviour.&lt;br /&gt;
&lt;br /&gt;
* Use pin change interrupts rather than polling the pins for input.&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=274</id>
		<title>TipsForDealingWithSerial</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=274"/>
				<updated>2018-06-03T02:33:48Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some generic tips for dealing with Serial Protocols&lt;br /&gt;
&lt;br /&gt;
== General == &lt;br /&gt;
&lt;br /&gt;
* Bear in mind the size of your buffers - if your transmit buffer is small, during the &amp;quot;Synchronisation&amp;quot; phase, make sure your tx buffer is empty/has enough space (or your serial library will block until transmission is complete) before sending the next configuration item as most microcontrollers easily run fast enough to outpace 9600bps serial.&lt;br /&gt;
&lt;br /&gt;
* If you get a RX Overrun, your best option with the OIS protocol right now is to discard bytes up until the next CR.&lt;br /&gt;
&lt;br /&gt;
* Because of the format of the messages, you really should check for RX overruns as you read the messages sent by the host - an overrun can very easily change the intent of a message and cause unexpected behaviour, particularly if your channel numbers are similar.  (a channel 20 message could be misinterpreted as being channel 2 for example).&lt;br /&gt;
&lt;br /&gt;
== Arduino Specific ==&lt;br /&gt;
&lt;br /&gt;
* Arduino&amp;#039;s USB Serial port is implemented in one of two ways depending upon the specific model: Either USB-Serial adapter IC directly connected to USART 0 (most models); or Direct ACM CDC implemented on the AVR itself (Leonardo, some others).  With CDC, bit rate commands are a technicality to maintain compatibility with real serial - it has no meaning however (data flows at USB speeds, packet by packet), and with the serial converters, because the converter is wired back to back with the microcontroller, you can safely push the bitrate up.  Speeds of 19200-57600 bps should be safely usable as long as you can get the host to agree.&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t try to be too generic in your Arduino code - the Arduino library itself is quite inefficient, and you will save a lot of cycles by just doing what you specifically need to do directly, rather than trying to have a degree of runtime configurable behaviour.&lt;br /&gt;
&lt;br /&gt;
* Use pin change interrupts rather than polling the pins for input.&lt;br /&gt;
&lt;br /&gt;
[[Category:ExternalProtocol]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=273</id>
		<title>TipsForDealingWithSerial</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=TipsForDealingWithSerial&amp;diff=273"/>
				<updated>2018-06-03T02:33:23Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Created page with &amp;quot;Some generic tips for dealing with Serial Protocols  == General ==   * Bear in mind the size of your buffers - if your transmit buffer is small, during the &amp;quot;Synchronisation&amp;quot; p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some generic tips for dealing with Serial Protocols&lt;br /&gt;
&lt;br /&gt;
== General == &lt;br /&gt;
&lt;br /&gt;
* Bear in mind the size of your buffers - if your transmit buffer is small, during the &amp;quot;Synchronisation&amp;quot; phase, make sure your tx buffer is empty/has enough space (or your serial library will block until transmission is complete) before sending the next configuration item as most microcontrollers easily run fast enough to outpace 9600bps serial.&lt;br /&gt;
&lt;br /&gt;
* If you get a RX Overrun, your best option with the OIS protocol right now is to discard bytes up until the next CR.&lt;br /&gt;
&lt;br /&gt;
* Because of the format of the messages, you really should check for RX overruns as you read the messages sent by the host - an overrun can very easily change the intent of a message and cause unexpected behaviour, particularly if your channel numbers are similar.  (a channel 20 message could be misinterpreted as being channel 2 for example).&lt;br /&gt;
&lt;br /&gt;
== Arduino Specific ==&lt;br /&gt;
&lt;br /&gt;
* Arduino&amp;#039;s USB Serial port is implemented in one of two ways depending upon the specific model: Either USB-Serial adapter IC directly connected to USART 0 (most models); or Direct ACM CDC implemented on the AVR itself (Leonardo, some others).  With CDC, bit rate commands are a technicality to maintain compatibility with real serial - it has no meaning however (data flows at USB speeds, packet by packet), and with the serial converters, because the converter is wired back to back with the microcontroller, you can safely push the bitrate up.  Speeds of 19200-57600 bps should be safely usable as long as you can get the host to agree.&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t try to be too generic in your Arduino code - the Arduino library itself is quite inefficient, and you will save a lot of cycles by just doing what you specifically need to do directly, rather than trying to have a degree of runtime configurable behaviour.&lt;br /&gt;
&lt;br /&gt;
* Use pin change interrupts rather than polling the pins for input.&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=227</id>
		<title>ExternalProtocol</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=227"/>
				<updated>2018-06-03T01:17:30Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objects in space was made with the intention that it could be playable with just buttons.&lt;br /&gt;
&lt;br /&gt;
You can also get almost all the information from the in-game UI sent back to your Arduino or other external microcontroller that can speak Serial.&lt;br /&gt;
&lt;br /&gt;
There are 193 Commands [[Serial Commands]], 164 Boolean Requests, and 24 Numeric Requests for a total of 381&lt;br /&gt;
&lt;br /&gt;
== Protocol Details ==&lt;br /&gt;
&lt;br /&gt;
The protocol is outlined on the [http://objectsgame.com/the-controllers/ois-serial-data-protocol/ offical web site], however there are some minor inaccuracies whilst the game is in Beta.&lt;br /&gt;
&lt;br /&gt;
To connect your controller to the game you need to send 451 with a newline at the end. The game will send back 452.  (source [http://forum.objectsgame.com:88/t/ois-arduino-code-during-beta/911/13 Nocturnal])&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=223</id>
		<title>ExternalProtocol</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=223"/>
				<updated>2018-06-03T01:13:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Kuroneko moved page Arduino Controllers to ExternalProtocol: not specific to Arduino&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Arduino Controllers ==&lt;br /&gt;
&lt;br /&gt;
Objects in space was made with the intention that it could be playable with just buttons.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also get almost all the information from the in-game UI sent back to your Arduino. &amp;lt;br /&amp;gt;&lt;br /&gt;
There are 193 Commands [[Serial Commands]], 164 Boolean Requests, and 24 Numeric Requests for a total of 381&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
Currently on the OiS Serial Data Protocol page the Handshake information is incorrect&amp;lt;br /&amp;gt;&lt;br /&gt;
To connect your Arduino to the game you need to send 451 with a newline at the end. The game will send back 452. source([http://forum.objectsgame.com:88/t/ois-arduino-code-during-beta/911/13 Nocturnal])&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Arduino_Controllers&amp;diff=224</id>
		<title>Arduino Controllers</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Arduino_Controllers&amp;diff=224"/>
				<updated>2018-06-03T01:13:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Kuroneko moved page Arduino Controllers to ExternalProtocol: not specific to Arduino&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ExternalProtocol]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=219</id>
		<title>ExternalProtocol</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=ExternalProtocol&amp;diff=219"/>
				<updated>2018-06-03T01:11:37Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Flip to the visible category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Arduino Controllers ==&lt;br /&gt;
&lt;br /&gt;
Objects in space was made with the intention that it could be playable with just buttons.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can also get almost all the information from the in-game UI sent back to your Arduino. &amp;lt;br /&amp;gt;&lt;br /&gt;
There are 193 Commands [[Serial Commands]], 164 Boolean Requests, and 24 Numeric Requests for a total of 381&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
Currently on the OiS Serial Data Protocol page the Handshake information is incorrect&amp;lt;br /&amp;gt;&lt;br /&gt;
To connect your Arduino to the game you need to send 451 with a newline at the end. The game will send back 452. source([http://forum.objectsgame.com:88/t/ois-arduino-code-during-beta/911/13 Nocturnal])&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Serial_Requests&amp;diff=218</id>
		<title>Serial Requests</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Serial_Requests&amp;diff=218"/>
				<updated>2018-06-03T01:09:22Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Add to category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Numeric Requests ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Numeric Requests&lt;br /&gt;
|-&lt;br /&gt;
|POWER_LEVEL&lt;br /&gt;
|-&lt;br /&gt;
|POWER_DRAIN&lt;br /&gt;
|-&lt;br /&gt;
|POWER_DRAW_PERCENT&lt;br /&gt;
|-&lt;br /&gt;
|DESIRED_DIRECTION&lt;br /&gt;
|-&lt;br /&gt;
|MOTION_ANGLE&lt;br /&gt;
|-&lt;br /&gt;
|DIRECTION&lt;br /&gt;
|-&lt;br /&gt;
|CURRENT_SPEED&lt;br /&gt;
|-&lt;br /&gt;
|CURRENT_SPEED_PERCENT&lt;br /&gt;
|-&lt;br /&gt;
|PRESSURE_EXTERIOR&lt;br /&gt;
|-&lt;br /&gt;
|PRESSURE_INTERIOR&lt;br /&gt;
|-&lt;br /&gt;
|PRESSURE_AIRLOCK&lt;br /&gt;
|-&lt;br /&gt;
|CURRENT_TEMPERATURE&lt;br /&gt;
|-&lt;br /&gt;
|CURRENT_DISTANCE&lt;br /&gt;
|-&lt;br /&gt;
|ASTEROID_DENSITY&lt;br /&gt;
|-&lt;br /&gt;
|NEBULA_DENSITY&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_SELECTED&lt;br /&gt;
|Which weapon tube is selected&lt;br /&gt;
|-&lt;br /&gt;
|AMOUNT_OWED_TO_DOCKED&lt;br /&gt;
|-&lt;br /&gt;
|AMOUNT_OWED_VIA_COMMS&lt;br /&gt;
|-&lt;br /&gt;
|AUTO_REPAIR_PERCENT&lt;br /&gt;
|-&lt;br /&gt;
|CURRENT_TUBE_SPIN_UP_PERCENT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_CURRENT_REPAIR_PERCENT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_CURRENT_SPARE_PARTS&lt;br /&gt;
|-&lt;br /&gt;
|ENG_MAX_SPARE_PARTS&lt;br /&gt;
|-&lt;br /&gt;
|JMP_SOLUTION&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Boolean Requests ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Boolean Requests&lt;br /&gt;
|-&lt;br /&gt;
|NAV_TARGET_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|IS_MOVING&lt;br /&gt;
|-&lt;br /&gt;
|MAIN_ENGINE_BURNING&lt;br /&gt;
|-&lt;br /&gt;
|HAS_SELECTED_DIRECTION&lt;br /&gt;
|-&lt;br /&gt;
|HAS_COURSE_PLOTTED&lt;br /&gt;
|-&lt;br /&gt;
|AUTO_PILOT_ENGAGED&lt;br /&gt;
|-&lt;br /&gt;
|AUTO_PILOT_NOT_ENGAGED&lt;br /&gt;
|-&lt;br /&gt;
|DOCKED_WITH_JUMPGATE&lt;br /&gt;
|-&lt;br /&gt;
|HAS_SELECTED_OBJECT&lt;br /&gt;
|-&lt;br /&gt;
|MAP_LOCKED_TO_SHIP&lt;br /&gt;
|-&lt;br /&gt;
|MAP_IN_SECTOR_MODE&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CURRENT_MODULE_ON&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CURRENT_MODULE_OFF&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CURRENT_MODULE_EMCON_ON&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CURRENT_MODULE_EMCON_OFF&lt;br /&gt;
|-&lt;br /&gt;
|PWR_CURRENT_MODULE_CAN_SCRAM&lt;br /&gt;
|-&lt;br /&gt;
|PWR_REACTOR_ON&lt;br /&gt;
|-&lt;br /&gt;
|PWR_REACTOR_OFF&lt;br /&gt;
|-&lt;br /&gt;
|IS_STATIONARY&lt;br /&gt;
|-&lt;br /&gt;
|RCS_BURNING&lt;br /&gt;
|-&lt;br /&gt;
|EMCON_MODE&lt;br /&gt;
|-&lt;br /&gt;
|HAS_SELECTED_DESTINATION&lt;br /&gt;
|-&lt;br /&gt;
|STATUS_WARNING&lt;br /&gt;
|-&lt;br /&gt;
|STATUS_DANGER&lt;br /&gt;
|-&lt;br /&gt;
|STATUS_NOMINAL&lt;br /&gt;
|-&lt;br /&gt;
|IN_ASTEROID_FIELD&lt;br /&gt;
|-&lt;br /&gt;
|IN_NEBULA&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_HAS_MISSILE&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_HAS_MINE&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_HAS_PROBE&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_CAN_SPIN_UP&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_CAN_FIRE&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_CAN_LAUNCH&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_LAUNCHED&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_EMPTY&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_SPINNING_UP&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_LINKED&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_HAS_EXP&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_HAS_EMP&lt;br /&gt;
|-&lt;br /&gt;
|TARGET_AND_WEAPON_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|CAN_ROTATE&lt;br /&gt;
|-&lt;br /&gt;
|PCE_ALARM&lt;br /&gt;
|-&lt;br /&gt;
|CLUSTER_MODE&lt;br /&gt;
|-&lt;br /&gt;
|IS_IN_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_IN_STANDARD_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_IN_HIGH_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_IN_POLAR_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|NOT_IN_STANDARD_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|NOT_IN_HIGH_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|NOT_IN_POLAR_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_IN_FREE_SPACE&lt;br /&gt;
|-&lt;br /&gt;
|IS_CHANGING_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_LEAVING_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_ENTERING_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_CORRECTING_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|IS_IN_STABLE_ORBIT&lt;br /&gt;
|-&lt;br /&gt;
|NOT_DOCKED&lt;br /&gt;
|-&lt;br /&gt;
|IS_DOCKED_OR_DOCKING&lt;br /&gt;
|-&lt;br /&gt;
|IS_DOCKED&lt;br /&gt;
|-&lt;br /&gt;
|IS_DOCKING&lt;br /&gt;
|-&lt;br /&gt;
|IS_FULLY_DOCKED&lt;br /&gt;
|-&lt;br /&gt;
|IS_UNDOCKING&lt;br /&gt;
|-&lt;br /&gt;
|NOT_DOCKING&lt;br /&gt;
|-&lt;br /&gt;
|NOT_UNDOCKING&lt;br /&gt;
|-&lt;br /&gt;
|CAN_OPEN_AIRLOCK&lt;br /&gt;
|-&lt;br /&gt;
|HAS_DOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|NEEDS_DOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|HAS_UNDOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|NEEDS_UNDOCKING_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|ANY_AIRLOCK_OPEN&lt;br /&gt;
|-&lt;br /&gt;
|ALL_AIRLOCKS_SEALED&lt;br /&gt;
|-&lt;br /&gt;
|AIRLOCKS_CLOSED_BUT_NEEDS_UNDOCK_PERMISSION&lt;br /&gt;
|-&lt;br /&gt;
|CAN_UNDOCK&lt;br /&gt;
|-&lt;br /&gt;
|IFF_ACTIVE&lt;br /&gt;
|-&lt;br /&gt;
|SELECTED_OBJECT_CAN_COMMUNICATE&lt;br /&gt;
|-&lt;br /&gt;
|OWES_MONEY_TO_DOCKED_STATION&lt;br /&gt;
|-&lt;br /&gt;
|IS_DOCKED_WITH_STATION&lt;br /&gt;
|-&lt;br /&gt;
|IS_DOCKED_WITH_JUMPGATE&lt;br /&gt;
|-&lt;br /&gt;
|NEED_TO_PAY_FOR_JUMPGATE&lt;br /&gt;
|-&lt;br /&gt;
|CAN_ACTIVATE_JUMPGATE&lt;br /&gt;
|-&lt;br /&gt;
|NOT_DOCKED_WITH_STATION&lt;br /&gt;
|-&lt;br /&gt;
|AUTO_REPAIR_ENABLED&lt;br /&gt;
|-&lt;br /&gt;
|AUTO_REPAIR_IDLE&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_REACTOR_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_REACTOR_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_REACTOR_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_REACTOR_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_REACTOR_FUNCTIONING&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_MAINDRIVE_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_MAINDRIVE_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_MAINDRIVE_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_MAINDRIVE_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_RCS_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_RCS_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_RCS_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_RCS_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_COMMS_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_COMMS_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_COMMS_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_COMMS_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT1_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT1_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT1_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT1_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT2_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT2_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT2_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT2_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT3_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT3_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT3_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_BATT3_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_HELM_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_HELM_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_HELM_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_HELM_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_SENSORS_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_SENSORS_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_SENSORS_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_SENSORS_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_NAVCOM_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_NAVCOM_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_NAVCOM_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_NAVCOM_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_WEAP_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_WEAP_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_WEAP_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_WEAP_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_JUMPDRIVE_UNDAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_JUMPDRIVE_DAMAGED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_JUMPDRIVE_DESTROYED&lt;br /&gt;
|-&lt;br /&gt;
|MODULE_JUMPDRIVE_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|SHOW_SPACE_DISC&lt;br /&gt;
|-&lt;br /&gt;
|DONT_SHOW_SPACE_DISC&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_1_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_2_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_3_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_4_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|TUBE_5_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|ENG_MODULE_ON&lt;br /&gt;
|-&lt;br /&gt;
|ENG_MODULE_OFF&lt;br /&gt;
|-&lt;br /&gt;
|ENG_MODULE_CAN_OPEN&lt;br /&gt;
|-&lt;br /&gt;
|ENG_MODULE_OPEN&lt;br /&gt;
|-&lt;br /&gt;
|ENG_NO_MODULE_OPEN&lt;br /&gt;
|-&lt;br /&gt;
|ENG_CAN_CLOSE_CURRENT_MODULE&lt;br /&gt;
|-&lt;br /&gt;
|ENG_MODULE_CAN_BE_CONNECTED&lt;br /&gt;
|-&lt;br /&gt;
|ENG_NO_TRAY_OBJECT_SELECTED&lt;br /&gt;
|-&lt;br /&gt;
|ENG_CAN_REPAIR_COMPONENT&lt;br /&gt;
|-&lt;br /&gt;
|ENG_IS_REPAIRING&lt;br /&gt;
|-&lt;br /&gt;
|JMP_CAN_SET_JUMP_DESTINATION&lt;br /&gt;
|-&lt;br /&gt;
|JMP_CAN_SPIN_UP_JUMP_DRIVE&lt;br /&gt;
|-&lt;br /&gt;
|JMP_CAN_CALC_JUMP&lt;br /&gt;
|-&lt;br /&gt;
|JMP_CAN_JUMP&lt;br /&gt;
|-&lt;br /&gt;
|JMP_CAN_DISCHARGE_JUMP_DRIVE&lt;br /&gt;
|-&lt;br /&gt;
|JMP_HAS_JUMP_DRIVE&lt;br /&gt;
|-&lt;br /&gt;
|JMP_IS_SPINNING_UP&lt;br /&gt;
|-&lt;br /&gt;
|JMP_IS_CALCULATING_JUMP&lt;br /&gt;
|-&lt;br /&gt;
|JMP_IS_SPUN_UP&lt;br /&gt;
|-&lt;br /&gt;
|JMP_IS_CALCULATED&lt;br /&gt;
|-&lt;br /&gt;
|PWR_LOW_POWER_WARNING&lt;br /&gt;
|-&lt;br /&gt;
|PWR_IS_DRAINING&lt;br /&gt;
|-&lt;br /&gt;
|PWR_IS_GENERATING&lt;br /&gt;
|-&lt;br /&gt;
|IS_TURNED_ON&lt;br /&gt;
|-&lt;br /&gt;
|IS_TURNED_OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Arduino_Librarys&amp;diff=217</id>
		<title>Arduino Librarys</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Arduino_Librarys&amp;diff=217"/>
				<updated>2018-06-03T01:08:40Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Arduino Libraries ==&lt;br /&gt;
&lt;br /&gt;
Simple interface for the serial protocol &lt;br /&gt;
[https://github.com/Segwegler/OiS_Library/tree/master/OIS_Web git]&lt;br /&gt;
&lt;br /&gt;
[[Category:HardwareInterfacing]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Category:HardwareInterfacing&amp;diff=216</id>
		<title>Category:HardwareInterfacing</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Category:HardwareInterfacing&amp;diff=216"/>
				<updated>2018-06-03T01:08:17Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Created page with &amp;quot;Objects in Space was designed to permit the interfacing of specialised external controllers - a feature that was demonstrated prominently at game shows.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objects in Space was designed to permit the interfacing of specialised external controllers - a feature that was demonstrated prominently at game shows.&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=215</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=215"/>
				<updated>2018-06-03T01:06:53Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Unofficial Objects in Space Wiki&lt;br /&gt;
&lt;br /&gt;
= What is Objects in Space? =&lt;br /&gt;
&lt;br /&gt;
Objects in Space is a modempunk stealth space-trading game set in Apollo – a huge cluster of star systems dozens of lightyears away from Earth. You are a lonesome ship’s captain, buying and selling wares in order to keep your bucket of bolts afloat and stay one step ahead of pirates, organised criminals, corrupt governments and shady laws.  (From the [http://www.objectsgame.com official web site])&lt;br /&gt;
&lt;br /&gt;
= Features = &lt;br /&gt;
&lt;br /&gt;
Objects in Space sees players travel all across the Apollo cluster. &lt;br /&gt;
&lt;br /&gt;
[[:Category:Sectors|Sectors]] -- [[:Category:Stations|Stations]] -- [[:Category:Commodities|Commodities]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Ships|Ships]] -- [[:Category:Modules|Modules]] -- [[:Category:Components|Components]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Organisations|Organisations]] -- [[People]] -- [[Contracts]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:HardwareInterfacing|Interfacing with Hardware]]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=214</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=214"/>
				<updated>2018-06-03T01:06:42Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Add Hardware Interfacing category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Unofficial Objects in Space Wiki&lt;br /&gt;
&lt;br /&gt;
= What is Objects in Space? =&lt;br /&gt;
&lt;br /&gt;
Objects in Space is a modempunk stealth space-trading game set in Apollo – a huge cluster of star systems dozens of lightyears away from Earth. You are a lonesome ship’s captain, buying and selling wares in order to keep your bucket of bolts afloat and stay one step ahead of pirates, organised criminals, corrupt governments and shady laws.  (From the [http://www.objectsgame.com official web site])&lt;br /&gt;
&lt;br /&gt;
= Features = &lt;br /&gt;
&lt;br /&gt;
Objects in Space sees players travel all across the Apollo cluster. &lt;br /&gt;
&lt;br /&gt;
[[:Category:Sectors|Sectors]] -- [[:Category:Stations|Stations]] -- [[:Category:Commodities|Commodities]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Ships|Ships]] -- [[:Category:Modules|Modules]] -- [[:Category:Components|Components]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Organisations|Organisations]] -- [[People]] -- [[Contracts]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:HardwareInterfacing|Interfacing with Hardware]&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=212</id>
		<title>Wiki in Space:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=212"/>
				<updated>2018-06-03T00:59:47Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Protected &amp;quot;Wiki in Space:Privacy policy&amp;quot;: Administrative Information ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information that is gathered from visitors ==&lt;br /&gt;
&lt;br /&gt;
In common with other websites, log files are stored on the web server saving details such as the visitor&amp;#039;s IP address, browser type, referring page and time of visit.&lt;br /&gt;
&lt;br /&gt;
Cookies may be used to remember visitor preferences when interacting with the website.&lt;br /&gt;
&lt;br /&gt;
For registered users, the visitor&amp;#039;s email and a username, and, if provided, their real name, will be stored on the server.&lt;br /&gt;
&lt;br /&gt;
== How the Information is used ==&lt;br /&gt;
&lt;br /&gt;
The information is used to enhance the vistor&amp;#039;s experience when using the website to display personalised content, and to deliver notifications about the website as requested by the visitor.&lt;br /&gt;
&lt;br /&gt;
E-mail addresses will not be sold, rented or leased to 3rd parties.&lt;br /&gt;
&lt;br /&gt;
Information provided may also be used to identify the visitor for administrative purposes, such as, but not limited to, administering additional privileges or administrative bans.&lt;br /&gt;
&lt;br /&gt;
== Visitor Options ==&lt;br /&gt;
&lt;br /&gt;
If you simply wish to view the contents of this site, you do not need to accept any cookies or register.&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute, then registration is required, and a valid email address is required as part of that registration.  Contributors are not required to provide their real name.&lt;br /&gt;
&lt;br /&gt;
== Cookies ==&lt;br /&gt;
&lt;br /&gt;
Cookies are small digital signature files that are stored by your web browser that allow your preferences to be recorded when visiting the website. Also they may be used to track your return visits to the website.&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=210</id>
		<title>Wiki in Space:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=210"/>
				<updated>2018-06-03T00:58:51Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information that is gathered from visitors ==&lt;br /&gt;
&lt;br /&gt;
In common with other websites, log files are stored on the web server saving details such as the visitor&amp;#039;s IP address, browser type, referring page and time of visit.&lt;br /&gt;
&lt;br /&gt;
Cookies may be used to remember visitor preferences when interacting with the website.&lt;br /&gt;
&lt;br /&gt;
For registered users, the visitor&amp;#039;s email and a username, and, if provided, their real name, will be stored on the server.&lt;br /&gt;
&lt;br /&gt;
== How the Information is used ==&lt;br /&gt;
&lt;br /&gt;
The information is used to enhance the vistor&amp;#039;s experience when using the website to display personalised content, and to deliver notifications about the website as requested by the visitor.&lt;br /&gt;
&lt;br /&gt;
E-mail addresses will not be sold, rented or leased to 3rd parties.&lt;br /&gt;
&lt;br /&gt;
Information provided may also be used to identify the visitor for administrative purposes, such as, but not limited to, administering additional privileges or administrative bans.&lt;br /&gt;
&lt;br /&gt;
== Visitor Options ==&lt;br /&gt;
&lt;br /&gt;
If you simply wish to view the contents of this site, you do not need to accept any cookies or register.&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute, then registration is required, and a valid email address is required as part of that registration.  Contributors are not required to provide their real name.&lt;br /&gt;
&lt;br /&gt;
== Cookies ==&lt;br /&gt;
&lt;br /&gt;
Cookies are small digital signature files that are stored by your web browser that allow your preferences to be recorded when visiting the website. Also they may be used to track your return visits to the website.&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=208</id>
		<title>Wiki in Space:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Wiki_in_Space:Privacy_policy&amp;diff=208"/>
				<updated>2018-06-03T00:52:55Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: Created page with &amp;quot;== Information that is gathered from visitors ==  In common with other websites, log files are stored on the web server saving details such as the visitor&amp;#039;s IP address, browse...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information that is gathered from visitors ==&lt;br /&gt;
&lt;br /&gt;
In common with other websites, log files are stored on the web server saving details such as the visitor&amp;#039;s IP address, browser type, referring page and time of visit.&lt;br /&gt;
&lt;br /&gt;
Cookies may be used to remember visitor preferences when interacting with the website.&lt;br /&gt;
&lt;br /&gt;
For registered users, the visitor&amp;#039;s email and a username will be stored on the server.&lt;br /&gt;
&lt;br /&gt;
== How the Information is used ==&lt;br /&gt;
&lt;br /&gt;
The information is used to enhance the vistor&amp;#039;s experience when using the website to display personalised content, and to deliver notifications about the website as requested by the visitor.&lt;br /&gt;
&lt;br /&gt;
E-mail addresses will not be sold, rented or leased to 3rd parties.&lt;br /&gt;
&lt;br /&gt;
Information provided may also be used to identify the visitor for administrative purposes, such as, but not limited to, administering additional privileges or administrative bans.&lt;br /&gt;
&lt;br /&gt;
== Visitor Options ==&lt;br /&gt;
&lt;br /&gt;
If you simply wish to view the contents of this site, you do not need to accept any cookies or register.&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute, then registration is required.&lt;br /&gt;
&lt;br /&gt;
== Cookies ==&lt;br /&gt;
&lt;br /&gt;
Cookies are small digital signature files that are stored by your web browser that allow your preferences to be recorded when visiting the website. Also they may be used to track your return visits to the website.&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	<entry>
		<id>https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=2</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://oiswiki.sysadninjas.net/w/index.php?title=Main_Page&amp;diff=2"/>
				<updated>2018-06-02T09:16:37Z</updated>
		
		<summary type="html">&lt;p&gt;Kuroneko: First edit to front page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Unofficial Objects in Space Wiki&lt;br /&gt;
&lt;br /&gt;
= What is Objects in Space? =&lt;br /&gt;
&lt;br /&gt;
Objects in Space is a modempunk stealth space-trading game set in Apollo – a huge cluster of star systems dozens of lightyears away from Earth. You are a lonesome ship’s captain, buying and selling wares in order to keep your bucket of bolts afloat and stay one step ahead of pirates, organised criminals, corrupt governments and shady laws.  (From the [http://www.objectsgame.com official web site])&lt;/div&gt;</summary>
		<author><name>Kuroneko</name></author>	</entry>

	</feed>