Changes

Jump to navigation Jump to search
32 bytes added ,  01:30, 29 June 2017
Line 152: Line 152:     
== Operation ==
 
== Operation ==
The following operations are defined by STINGR Gesture Specification I -- for legacy operations defined by [[STINGR Gesture Specification I]], visit its page.
+
The following operations are defined by STINGR Gesture Specification II -- for legacy operations defined by [[STINGR Gesture Specification I]], visit its page.
 
STINGR has a specific control flow that must be strictly followed to ensure proper operation. Luckily, most of this is handled within the STINGR internal code. It is described here in full detail, however, for posterity, debugging purposes, and for context in the following section, which enumerates specific methods and their purposes/parameters.
 
STINGR has a specific control flow that must be strictly followed to ensure proper operation. Luckily, most of this is handled within the STINGR internal code. It is described here in full detail, however, for posterity, debugging purposes, and for context in the following section, which enumerates specific methods and their purposes/parameters.
   Line 158: Line 158:  
Each board using STINGR must initialize the suite in order to properly utilize it. This initialization routine allows proper communication between boards in the stack, as well as gives vital information to each board about the actual structure of the stack, which isn't formally known unless hardcoded (a poor choice).
 
Each board using STINGR must initialize the suite in order to properly utilize it. This initialization routine allows proper communication between boards in the stack, as well as gives vital information to each board about the actual structure of the stack, which isn't formally known unless hardcoded (a poor choice).
   −
When a board initializes STINGR, it must provide its unique identifier. Once STINGR obtains the unique identifier of a board, it will send a broadcast gesture on the CAN Bus -- this signal has a destination identifier of 256 -- that is, it is sent to all boards in the flight stack. This is the first gesture sent out by a board, and its definition is as follows:
+
When a board initializes STINGR, it must provide its ABI (Absolute Board Identifier). Once STINGR obtains the unique identifier of a board, it will send a broadcast gesture on the CAN Bus -- this signal has a destination identifier of 15 -- that is, it is sent to all boards in the flight stack. This is the first gesture sent out by a board, and its definition is as follows:
    
{| class="wikitable"
 
{| class="wikitable"
 
| style="background-color: #4CC9FF;"|
 
| style="background-color: #4CC9FF;"|
Type -- 1 (Response)
+
Header (Source = 15, IsInit = 1, Parity, Message ID = 0)
 
| style="background-color: #8AFFDF;"|
 
| style="background-color: #8AFFDF;"|
State Flags -- 0 (no flags)
+
Destination (15 -- Broadcast)
| style="background-color: #FFA6CE;"|
+
| style="background-color: #8AFFDF;"|
Source Identifier (8 bit)
+
Flags - (0000)
| style="background-color: #EDFF7A;"|
+
| style="background-color: #8AFFDF;"|
Destination Identifier -- 256 (broadcast)
+
Length - (00000000)
 +
| style="background-color: #AD6DF9;"|
 +
Data -- Absolute Board Identifier (1 byte)
 
| style="background-color: #AD6DF9;"|
 
| style="background-color: #AD6DF9;"|
Data -- '/1/0' (empty payload)
+
0 Padded (4 bytes)
| style="background-color: #C25959;"|
  −
Checksum (8 byte)
   
|}
 
|}
  

Navigation menu