Changes

Jump to navigation Jump to search
3,554 bytes added ,  23:19, 15 August 2017
no edit summary
Line 1: Line 1: −
{{tech-sidebar
+
{{HONEY-sidebar
 
| header = STINGR
 
| header = STINGR
 
| img link = File:stingr.png
 
| img link = File:stingr.png
Line 6: Line 6:  
| version = Generation I
 
| version = Generation I
 
| name = STINGR
 
| name = STINGR
| missions = SSI-52 onward
+
| acronym = Stack Transmission & Inter-Nodal Gesture Repository
 
}}
 
}}
   Line 14: Line 14:     
== Gesture Specification ==
 
== Gesture Specification ==
The following is STINGR Gesture Specification II, which replaces the theoretical, but never implemented, [[STINGR Gesture Specification I]].<br/>
+
The following is STINGR Gesture Specification II, which replaces the theoretical, but never implemented, [[STINGR Gesture Specification I]].The STINGR Gesture Specification II was designed by Kirill Safin, Kai Marshland, Theo Diamandis, Ella Hofmann-Coyle, and Davy Ragland.
As mentioned above, a Gesture consists of a series of CAN Packets -- these packets specify the source and destination of a gesture, some auxiliary data, and the primary data payload. STINGR manages CAN Packets, which are obfuscated from the end-user.  
     −
More explicitly, a Gesture looks is comprised of an initialization CAN Packet, followed by up to 256 additional CAN Packets, each comprised of a 1 byte header and 7 byte data payload, for a total possible data length of 256 * 7 = 1,792 bytes. The initialization CAN Packet consists of the standard header, 3 bytes of additional information, and 4 bytes of data payload. Subsequent CAN Packets consist of the 1 byte header and up to 7 bytes of data. The general structure of this format is as such:
+
As mentioned above, a Gesture consists of a series of CAN Packets -- these packets specify the source and destination of a gesture, some auxiliary data, and the primary data payload. STINGR manages CAN Packets, which are hidden from the end-user, and managed entirely by STINGR.
 +
 
 +
More explicitly, a Gesture looks is comprised of an initialization CAN Packet, followed by up to 256 additional CAN Packets, each comprised of a 1 byte header and 7 byte data payload, for a total possible data length of 255 * 7 = 1,792 + 4 bytes (255 packets, plus 4 bytes of data in the initialization packet). The initialization CAN Packet consists of the standard header, 3 bytes of additional information, and 4 bytes of data payload. Subsequent CAN Packets consist of the 1 byte header and up to 7 bytes of data. The general structure of this format is as such:
    
{| class="wikitable"
 
{| class="wikitable"
Line 163: Line 164:  
|Enable
 
|Enable
 
|00000111
 
|00000111
 +
|-
 +
|Get Altitude
 +
|00001000
 +
|-
 +
|Get Pressure Altitude
 +
|00001001
 +
|-
 +
|Get GPS Altitude
 +
|00001010
 +
|-
 +
|Get Pressure
 +
|00001011
 +
|-
 +
|Get Latitude
 +
|00001100
 +
|-
 +
|Get Longitude
 +
|00001101
 +
|-
 +
|Get Internal Temp
 +
|00001110
 +
|-
 +
|Get External Temp
 +
|00001111
 +
|-
 +
|Get Stability Index
 +
|00010000
 +
|-
 +
|Get Flight State
 +
|00010001
 +
|-
 +
|Get Ascent Rate
 +
|00010010
 +
|-
 +
|Get Voltage
 +
|00010011
 +
|-
 +
|Get Current
 +
|00010100
 +
|-
 +
|Get Capacity
 +
|00010101
 
|}
 
|}
   Line 171: Line 214:     
When a flight stack is constructed and assembled, it ends up being comprised of a series of boards each with one of these unique, enumerated identifiers. It should be noted that a flight stack '''cannot exceed''' 15 boards total (3U). Upon boot-up, the Avionics receives a variety of messages from STINGR identifying all boards in the flight stack, and re-labels the identifiers to the '''Flight Stack Identifiers''' (FSI) format, whereby all 8-bit identifiers are re-categorized and re-assigned into 4-bit stack-relative addresses.  
 
When a flight stack is constructed and assembled, it ends up being comprised of a series of boards each with one of these unique, enumerated identifiers. It should be noted that a flight stack '''cannot exceed''' 15 boards total (3U). Upon boot-up, the Avionics receives a variety of messages from STINGR identifying all boards in the flight stack, and re-labels the identifiers to the '''Flight Stack Identifiers''' (FSI) format, whereby all 8-bit identifiers are re-categorized and re-assigned into 4-bit stack-relative addresses.  
 +
 +
As of August 10th, 2017, HONEY boards now also have an associated Board Serial Number (BSN). This number starts at 0 for the first of a given board to be made, and increases by one for each additional version of the same board made. The BSN was introduced to allow multiple versions of the same board to exist in the same flight stack -- IE, having two Cobra's in a stack would not permit a unique identifier for each, as their ABI is the same. By adding a BSN, the ABI and BSN are enough to uniquely identify each board in the stack.
 +
 +
'''Boards designed & fabricated prior to August 10, 2017, do not have a BSN. This includes The Count, Biscuit, and Macaw. For The Count and Biscuit, this is OK -- as there cannot be more than one BMS or Avionics in a flight stack. Macaw has no BSN, and only one Macaw can be flown in a flight stack.'''
    
More details about the re-assignment process can be found in the operations section of STINGR, below on this page.
 
More details about the re-assignment process can be found in the operations section of STINGR, below on this page.
   −
The following are the current ABI's, as of writing (June 28, 2017).
+
The following are the current ABI's, as of August 10, 2017).
    
{| class="wikitable"
 
{| class="wikitable"
Line 186: Line 233:  
|Macaw (Gen 1 Radio)
 
|Macaw (Gen 1 Radio)
 
|00000010
 
|00000010
 +
|-
 +
|Cobra (Gen 1 Expander)
 +
|00000011
 +
|-
 +
|Viper (Gen 1 Breakout)
 +
|00000100
 +
|-
 +
|QueenBee (Gen 1 TestBench)
 +
|00000101
 +
|-
 +
|ProtoBee (Gen 1 Payload Board)
 +
|00000110
 
|}
 
|}
   Line 211: Line 270:  
Data -- Absolute Board Identifier (1 byte)
 
Data -- Absolute Board Identifier (1 byte)
 
| style="background-color: #AD6DF9;"|
 
| style="background-color: #AD6DF9;"|
0 Padded (4 bytes)
+
Data -- Board Serial Number (1 byte)
 +
| style="background-color: #AD6DF9;"|
 +
0 Padded (3 bytes)
 
|}
 
|}
   −
This particular gesture definition is reserved, and is known as the ''beacon gesture''. It is defined by Source & Destination Identifiers of 15 (broadcast), 0 Flags, 0 Length, a Gesture Type of 1, and a data frame consisting only of a 1 byte ABI, zero padded.
+
This particular gesture definition is reserved, and is known as the ''beacon gesture''. It is defined by Source & Destination Identifiers of 15 (broadcast), 0 Flags, 0 Length, a Gesture Type of 1, and a data frame consisting only a 1 byte ABI and a 1 byte Serial Number, zero padded.
    
The beacon gesture is transmitted to the entirety of the stack, and uniquely identifies a given board as being present in the flight stack. In the initialization phase, each board transmits the beacon gesture every 2 seconds. The Avionics waits 5 seconds to receive all beacon gestures, then re-assigns the received ABI's into FSI's. The FSI's are then provided to STINGR, which provides the FSI's to all other boards in the stack. Once the FSI's have been re-assigned and re-distributed, the initialization phase is over.
 
The beacon gesture is transmitted to the entirety of the stack, and uniquely identifies a given board as being present in the flight stack. In the initialization phase, each board transmits the beacon gesture every 2 seconds. The Avionics waits 5 seconds to receive all beacon gestures, then re-assigns the received ABI's into FSI's. The FSI's are then provided to STINGR, which provides the FSI's to all other boards in the stack. Once the FSI's have been re-assigned and re-distributed, the initialization phase is over.
Line 259: Line 320:  
| style="background-color: #8AFFDF;"|
 
| style="background-color: #8AFFDF;"|
 
Gesture Type - (00000011)
 
Gesture Type - (00000011)
 +
| style="background-color: #AD6DF9;"|
 +
Data -- Empty
 +
|}
 +
 +
=== Disabled Mode ===
 +
Disabled Mode forces a board to disable all of its standard operations, except STINGR. That is, the board pauses all of its standard operations and only leaves STINGR operating, and listening -- allowing it to be re-enabled at a later time.
 +
 +
Disabled Mode can be triggered by the ''Disable Gesture'', a gesture reserved for the avionics board. Disable Mode can be triggered for a specific board in the flight stack, or for the entirety of the flight stack.
 +
 +
To put a board into Disabled Mode, the avionics transmits a reserved gesture that has a gesture type of 6. The Avionics can request a specific board to enter disabled mode by specifying a destination identifier, or it can request all boards to enter disabled mode by using the broadcast identifier.
 +
 +
Disable Gesture:
 +
{| class="wikitable"
 +
| style="background-color: #4CC9FF;"|
 +
Header
 +
| style="background-color: #8AFFDF;"|
 +
Destination
 +
| style="background-color: #8AFFDF;"|
 +
Flags
 +
| style="background-color: #8AFFDF;"|
 +
Length - (00000000)
 +
| style="background-color: #8AFFDF;"|
 +
Gesture Type - (00000110)
 +
| style="background-color: #AD6DF9;"|
 +
Data -- Empty
 +
|}
 +
 +
There is, additionally, a gesture to reverse this, and put a board back into Standard Mode -- this is the ''Enable Gesture'', which is identical to the Disable Gesture, except the Gesture Type is 7, as shown below.
 +
Enable Gesture:
 +
{| class="wikitable"
 +
| style="background-color: #4CC9FF;"|
 +
Header
 +
| style="background-color: #8AFFDF;"|
 +
Destination
 +
| style="background-color: #8AFFDF;"|
 +
Flags
 +
| style="background-color: #8AFFDF;"|
 +
Length - (00000000)
 +
| style="background-color: #8AFFDF;"|
 +
Gesture Type - (00000111)
 
| style="background-color: #AD6DF9;"|
 
| style="background-color: #AD6DF9;"|
 
Data -- Empty
 
Data -- Empty
Line 467: Line 568:  
</code><br />
 
</code><br />
 
Sends a speciality gesture to all boards to resume all operations.
 
Sends a speciality gesture to all boards to resume all operations.
 +
 +
[[Category: High Altitude Balloons]][[Category: HABEES]][[Category: HONEY]]

Navigation menu