mirror of
				https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
				synced 2025-10-30 18:55:21 +00:00 
			
		
		
		
	Update Binary_Signature.ino (#278)
Clean up the comments, add bitmasks.
This commit is contained in:
		
							parent
							
								
									032e0641a5
								
							
						
					
					
						commit
						331da37840
					
				| @ -28,8 +28,8 @@ declares 'flag' variables for the options we are interested in. | |||||||
| When the pre-compiler parses the source code these variables are either present or not in the parsed cpp file, | When the pre-compiler parses the source code these variables are either present or not in the parsed cpp file, | ||||||
| typically '$build_dir$/preproc/ctags_target_for_gcc_minus_e.cpp'. | typically '$build_dir$/preproc/ctags_target_for_gcc_minus_e.cpp'. | ||||||
| 
 | 
 | ||||||
| Once the .bin file is compiled an additional command-line tool scans the parsed cpp file, detects the flags, | Once the .bin file is created an additional command-line build tool scans the parsed cpp file, detects the | ||||||
| assembles the signature, and finally appends to the end of the binary file. | flags, assembles the signature, and finally appends the signature to the end of the binary file. | ||||||
| 
 | 
 | ||||||
| The signature is 24 bytes long: | The signature is 24 bytes long: | ||||||
| multi-x[8-byte hex code]-[8-byte version number] | multi-x[8-byte hex code]-[8-byte version number] | ||||||
| @ -39,28 +39,32 @@ multi-x1234abcd-01020199 | |||||||
| 
 | 
 | ||||||
| The 8-byte hex code is a 32-bit bitmask value indicating the configuration options, currently: | The 8-byte hex code is a 32-bit bitmask value indicating the configuration options, currently: | ||||||
| 
 | 
 | ||||||
| Bit(s)  Option                  Comment | Bit(s)  Bitmask    Option                  Comment | ||||||
| 1-2     Module type             Read as a two-bit value indicating a number from 0-3 which maps to a module type (AVR, STM32, OrangeRX) | 1-2     0x3        Module type             Read as a two-bit value indicating a number from 0-3 which maps to a module type (AVR, STM32, OrangeRX) | ||||||
| 3-7     Channel order           Read as a five-bit value indicating a number from 0-23 which maps to as channel order (AETR, TAER, RETA, etc) | 3-7     0x7C       Channel order           Read as a five-bit value indicating a number from 0-23 which maps to as channel order (AETR, TAER, RETA, etc) (right-shift two bits to read) | ||||||
| 8       Bootloader support      Indicates whether or not the firmware was built with support for the bootloader | 8       0x80       Bootloader support      Indicates whether or not the firmware was built with support for the bootloader | ||||||
| 9       CHECK_FOR_BOOTLOADER     | 9       0x100      CHECK_FOR_BOOTLOADER    Indicates if CHECK_FOR_BOOTLOADER is defined | ||||||
| 10      INVERT_TELEMETRY | 10      0x200      INVERT_TELEMETRY        Indicates if INVERT_TELEMETRY is defined | ||||||
| 11      MULTI_STATUS | 11      0x400      MULTI_STATUS            Indicates if MULTI_STATUS is defined | ||||||
| 12      MULTI_TELEMETRY | 12      0x800      MULTI_TELEMETRY         Indicates if MULTI_TELEMETRY is defined | ||||||
| 13      DEBUG_SERIAL | 13      0x1000     DEBUG_SERIAL            Indicates if DEBUG_SERIAL is defined | ||||||
| 
 | 
 | ||||||
| The 8-byte version number is the version number zero-padded to a fixed width of two-bytes per segment and no separator.   | The 8-byte version number is the version number zero-padded to a fixed width of two-bytes per segment and no separator.   | ||||||
| E.g. 1.2.3.45 becomes 01020345. | E.g. 1.2.3.45 becomes 01020345. | ||||||
| 
 | 
 | ||||||
| Module types are mapped to the following decimal / binary values: | Multi Telemetery Type can be read from bits 11 and 12 using the bitmask 0xC00 and right-shifting ten bits: | ||||||
|  | Telemetry Type    Decimal Value   Binary Value | ||||||
|  | Undefined         0               00 | ||||||
|  | erSkyTX           1               01 | ||||||
|  | OpenTX            2               10 | ||||||
| 
 | 
 | ||||||
| Module Type     Decimal Value   Binary Valsue | Module types are mapped to the following decimal / binary values: | ||||||
| AVR             0               00 | Module Type       Decimal Value   Binary Valsue | ||||||
| STM32           1               01 | AVR               0               00 | ||||||
| OrangeRX        2               10 | STM32             1               01 | ||||||
|  | OrangeRX          2               10 | ||||||
| 
 | 
 | ||||||
| Channel orders are mapped to the following decimal / binary values: | Channel orders are mapped to the following decimal / binary values: | ||||||
| 
 |  | ||||||
| Channel Order	  Decimal Value	  Binary Value | Channel Order	  Decimal Value	  Binary Value | ||||||
| AETR	          0	              00000 | AETR	          0	              00000 | ||||||
| AERT	          1	              00001 | AERT	          1	              00001 | ||||||
| @ -72,21 +76,20 @@ EATR	          6	              00110 | |||||||
| EART	          7	              00111 | EART	          7	              00111 | ||||||
| ERAT	          8	              01000 | ERAT	          8	              01000 | ||||||
| ERTA	          9	              01001 | ERTA	          9	              01001 | ||||||
| ETRA	          10	            01010 | ETRA	          10	          01010 | ||||||
| ETAR	          11	            01011 | ETAR	          11	          01011 | ||||||
| TEAR	          12	            01100 | TEAR	          12	          01100 | ||||||
| TERA	          13	            01101 | TERA	          13	          01101 | ||||||
| TREA	          14	            01110 | TREA	          14	          01110 | ||||||
| TRAE	          15	            01111 | TRAE	          15	          01111 | ||||||
| TARE	          16	            10000 | TARE	          16	          10000 | ||||||
| TAER	          17	            10001 | TAER	          17	          10001 | ||||||
| RETA	          18	            10010 | RETA	          18	          10010 | ||||||
| REAT	          19	            10011 | REAT	          19	          10011 | ||||||
| RAET	          20	            10100 | RAET	          20	          10100 | ||||||
| RATE	          21	            10101 | RATE	          21	          10101 | ||||||
| RTAE	          22	            10110 | RTAE	          22	          10110 | ||||||
| RTEA	          23	            10111 | RTEA	          23	          10111 | ||||||
| 
 |  | ||||||
| */ | */ | ||||||
|   |   | ||||||
| // Set the flags for detecting and writing the firmware signature
 | // Set the flags for detecting and writing the firmware signature
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user