mirror of https://github.com/ArduPilot/ardupilot
580 lines
13 KiB
C
580 lines
13 KiB
C
/******************************************************************************
|
|
* The MIT License
|
|
*
|
|
* Copyright (c) 2010 LeafLabs, LLC.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person
|
|
* obtaining a copy of this software and associated documentation
|
|
* files (the "Software"), to deal in the Software without
|
|
* restriction, including without limitation the rights to use, copy,
|
|
* modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
* of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be
|
|
* included in all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
* SOFTWARE.
|
|
*****************************************************************************/
|
|
|
|
/**
|
|
* @brief BIT[n] and binary literal defines, for Arduino
|
|
* compatibility.
|
|
*/
|
|
|
|
#ifndef _BIT_CONSTANTS_H_
|
|
#define _BIT_CONSTANTS_H_
|
|
|
|
#define BIT0 (1 << 0)
|
|
#define BIT1 (1 << 1)
|
|
#define BIT2 (1 << 2)
|
|
#define BIT3 (1 << 3)
|
|
#define BIT4 (1 << 4)
|
|
#define BIT5 (1 << 5)
|
|
#define BIT6 (1 << 6)
|
|
#define BIT7 (1 << 7)
|
|
#define BIT8 (1 << 8)
|
|
#define BIT9 (1 << 9)
|
|
#define BIT10 (1 << 10)
|
|
#define BIT11 (1 << 11)
|
|
#define BIT12 (1 << 12)
|
|
#define BIT13 (1 << 13)
|
|
#define BIT14 (1 << 14)
|
|
#define BIT15 (1 << 15)
|
|
#define BIT16 (1 << 16)
|
|
#define BIT17 (1 << 17)
|
|
#define BIT18 (1 << 18)
|
|
#define BIT19 (1 << 19)
|
|
#define BIT20 (1 << 20)
|
|
#define BIT21 (1 << 21)
|
|
#define BIT22 (1 << 22)
|
|
#define BIT23 (1 << 23)
|
|
#define BIT24 (1 << 24)
|
|
#define BIT25 (1 << 25)
|
|
#define BIT26 (1 << 26)
|
|
#define BIT27 (1 << 27)
|
|
#define BIT28 (1 << 28)
|
|
#define BIT29 (1 << 29)
|
|
#define BIT30 (1 << 30)
|
|
#define BIT31 (1 << 31)
|
|
|
|
#define B0 0
|
|
#define B00 0
|
|
#define B000 0
|
|
#define B0000 0
|
|
#define B00000 0
|
|
#define B000000 0
|
|
#define B0000000 0
|
|
#define B00000000 0
|
|
#define B1 1
|
|
#define B01 1
|
|
#define B001 1
|
|
#define B0001 1
|
|
#define B00001 1
|
|
#define B000001 1
|
|
#define B0000001 1
|
|
#define B00000001 1
|
|
#define B10 2
|
|
#define B010 2
|
|
#define B0010 2
|
|
#define B00010 2
|
|
#define B000010 2
|
|
#define B0000010 2
|
|
#define B00000010 2
|
|
#define B11 3
|
|
#define B011 3
|
|
#define B0011 3
|
|
#define B00011 3
|
|
#define B000011 3
|
|
#define B0000011 3
|
|
#define B00000011 3
|
|
#define B100 4
|
|
#define B0100 4
|
|
#define B00100 4
|
|
#define B000100 4
|
|
#define B0000100 4
|
|
#define B00000100 4
|
|
#define B101 5
|
|
#define B0101 5
|
|
#define B00101 5
|
|
#define B000101 5
|
|
#define B0000101 5
|
|
#define B00000101 5
|
|
#define B110 6
|
|
#define B0110 6
|
|
#define B00110 6
|
|
#define B000110 6
|
|
#define B0000110 6
|
|
#define B00000110 6
|
|
#define B111 7
|
|
#define B0111 7
|
|
#define B00111 7
|
|
#define B000111 7
|
|
#define B0000111 7
|
|
#define B00000111 7
|
|
#define B1000 8
|
|
#define B01000 8
|
|
#define B001000 8
|
|
#define B0001000 8
|
|
#define B00001000 8
|
|
#define B1001 9
|
|
#define B01001 9
|
|
#define B001001 9
|
|
#define B0001001 9
|
|
#define B00001001 9
|
|
#define B1010 10
|
|
#define B01010 10
|
|
#define B001010 10
|
|
#define B0001010 10
|
|
#define B00001010 10
|
|
#define B1011 11
|
|
#define B01011 11
|
|
#define B001011 11
|
|
#define B0001011 11
|
|
#define B00001011 11
|
|
#define B1100 12
|
|
#define B01100 12
|
|
#define B001100 12
|
|
#define B0001100 12
|
|
#define B00001100 12
|
|
#define B1101 13
|
|
#define B01101 13
|
|
#define B001101 13
|
|
#define B0001101 13
|
|
#define B00001101 13
|
|
#define B1110 14
|
|
#define B01110 14
|
|
#define B001110 14
|
|
#define B0001110 14
|
|
#define B00001110 14
|
|
#define B1111 15
|
|
#define B01111 15
|
|
#define B001111 15
|
|
#define B0001111 15
|
|
#define B00001111 15
|
|
#define B10000 16
|
|
#define B010000 16
|
|
#define B0010000 16
|
|
#define B00010000 16
|
|
#define B10001 17
|
|
#define B010001 17
|
|
#define B0010001 17
|
|
#define B00010001 17
|
|
#define B10010 18
|
|
#define B010010 18
|
|
#define B0010010 18
|
|
#define B00010010 18
|
|
#define B10011 19
|
|
#define B010011 19
|
|
#define B0010011 19
|
|
#define B00010011 19
|
|
#define B10100 20
|
|
#define B010100 20
|
|
#define B0010100 20
|
|
#define B00010100 20
|
|
#define B10101 21
|
|
#define B010101 21
|
|
#define B0010101 21
|
|
#define B00010101 21
|
|
#define B10110 22
|
|
#define B010110 22
|
|
#define B0010110 22
|
|
#define B00010110 22
|
|
#define B10111 23
|
|
#define B010111 23
|
|
#define B0010111 23
|
|
#define B00010111 23
|
|
#define B11000 24
|
|
#define B011000 24
|
|
#define B0011000 24
|
|
#define B00011000 24
|
|
#define B11001 25
|
|
#define B011001 25
|
|
#define B0011001 25
|
|
#define B00011001 25
|
|
#define B11010 26
|
|
#define B011010 26
|
|
#define B0011010 26
|
|
#define B00011010 26
|
|
#define B11011 27
|
|
#define B011011 27
|
|
#define B0011011 27
|
|
#define B00011011 27
|
|
#define B11100 28
|
|
#define B011100 28
|
|
#define B0011100 28
|
|
#define B00011100 28
|
|
#define B11101 29
|
|
#define B011101 29
|
|
#define B0011101 29
|
|
#define B00011101 29
|
|
#define B11110 30
|
|
#define B011110 30
|
|
#define B0011110 30
|
|
#define B00011110 30
|
|
#define B11111 31
|
|
#define B011111 31
|
|
#define B0011111 31
|
|
#define B00011111 31
|
|
#define B100000 32
|
|
#define B0100000 32
|
|
#define B00100000 32
|
|
#define B100001 33
|
|
#define B0100001 33
|
|
#define B00100001 33
|
|
#define B100010 34
|
|
#define B0100010 34
|
|
#define B00100010 34
|
|
#define B100011 35
|
|
#define B0100011 35
|
|
#define B00100011 35
|
|
#define B100100 36
|
|
#define B0100100 36
|
|
#define B00100100 36
|
|
#define B100101 37
|
|
#define B0100101 37
|
|
#define B00100101 37
|
|
#define B100110 38
|
|
#define B0100110 38
|
|
#define B00100110 38
|
|
#define B100111 39
|
|
#define B0100111 39
|
|
#define B00100111 39
|
|
#define B101000 40
|
|
#define B0101000 40
|
|
#define B00101000 40
|
|
#define B101001 41
|
|
#define B0101001 41
|
|
#define B00101001 41
|
|
#define B101010 42
|
|
#define B0101010 42
|
|
#define B00101010 42
|
|
#define B101011 43
|
|
#define B0101011 43
|
|
#define B00101011 43
|
|
#define B101100 44
|
|
#define B0101100 44
|
|
#define B00101100 44
|
|
#define B101101 45
|
|
#define B0101101 45
|
|
#define B00101101 45
|
|
#define B101110 46
|
|
#define B0101110 46
|
|
#define B00101110 46
|
|
#define B101111 47
|
|
#define B0101111 47
|
|
#define B00101111 47
|
|
#define B110000 48
|
|
#define B0110000 48
|
|
#define B00110000 48
|
|
#define B110001 49
|
|
#define B0110001 49
|
|
#define B00110001 49
|
|
#define B110010 50
|
|
#define B0110010 50
|
|
#define B00110010 50
|
|
#define B110011 51
|
|
#define B0110011 51
|
|
#define B00110011 51
|
|
#define B110100 52
|
|
#define B0110100 52
|
|
#define B00110100 52
|
|
#define B110101 53
|
|
#define B0110101 53
|
|
#define B00110101 53
|
|
#define B110110 54
|
|
#define B0110110 54
|
|
#define B00110110 54
|
|
#define B110111 55
|
|
#define B0110111 55
|
|
#define B00110111 55
|
|
#define B111000 56
|
|
#define B0111000 56
|
|
#define B00111000 56
|
|
#define B111001 57
|
|
#define B0111001 57
|
|
#define B00111001 57
|
|
#define B111010 58
|
|
#define B0111010 58
|
|
#define B00111010 58
|
|
#define B111011 59
|
|
#define B0111011 59
|
|
#define B00111011 59
|
|
#define B111100 60
|
|
#define B0111100 60
|
|
#define B00111100 60
|
|
#define B111101 61
|
|
#define B0111101 61
|
|
#define B00111101 61
|
|
#define B111110 62
|
|
#define B0111110 62
|
|
#define B00111110 62
|
|
#define B111111 63
|
|
#define B0111111 63
|
|
#define B00111111 63
|
|
#define B1000000 64
|
|
#define B01000000 64
|
|
#define B1000001 65
|
|
#define B01000001 65
|
|
#define B1000010 66
|
|
#define B01000010 66
|
|
#define B1000011 67
|
|
#define B01000011 67
|
|
#define B1000100 68
|
|
#define B01000100 68
|
|
#define B1000101 69
|
|
#define B01000101 69
|
|
#define B1000110 70
|
|
#define B01000110 70
|
|
#define B1000111 71
|
|
#define B01000111 71
|
|
#define B1001000 72
|
|
#define B01001000 72
|
|
#define B1001001 73
|
|
#define B01001001 73
|
|
#define B1001010 74
|
|
#define B01001010 74
|
|
#define B1001011 75
|
|
#define B01001011 75
|
|
#define B1001100 76
|
|
#define B01001100 76
|
|
#define B1001101 77
|
|
#define B01001101 77
|
|
#define B1001110 78
|
|
#define B01001110 78
|
|
#define B1001111 79
|
|
#define B01001111 79
|
|
#define B1010000 80
|
|
#define B01010000 80
|
|
#define B1010001 81
|
|
#define B01010001 81
|
|
#define B1010010 82
|
|
#define B01010010 82
|
|
#define B1010011 83
|
|
#define B01010011 83
|
|
#define B1010100 84
|
|
#define B01010100 84
|
|
#define B1010101 85
|
|
#define B01010101 85
|
|
#define B1010110 86
|
|
#define B01010110 86
|
|
#define B1010111 87
|
|
#define B01010111 87
|
|
#define B1011000 88
|
|
#define B01011000 88
|
|
#define B1011001 89
|
|
#define B01011001 89
|
|
#define B1011010 90
|
|
#define B01011010 90
|
|
#define B1011011 91
|
|
#define B01011011 91
|
|
#define B1011100 92
|
|
#define B01011100 92
|
|
#define B1011101 93
|
|
#define B01011101 93
|
|
#define B1011110 94
|
|
#define B01011110 94
|
|
#define B1011111 95
|
|
#define B01011111 95
|
|
#define B1100000 96
|
|
#define B01100000 96
|
|
#define B1100001 97
|
|
#define B01100001 97
|
|
#define B1100010 98
|
|
#define B01100010 98
|
|
#define B1100011 99
|
|
#define B01100011 99
|
|
#define B1100100 100
|
|
#define B01100100 100
|
|
#define B1100101 101
|
|
#define B01100101 101
|
|
#define B1100110 102
|
|
#define B01100110 102
|
|
#define B1100111 103
|
|
#define B01100111 103
|
|
#define B1101000 104
|
|
#define B01101000 104
|
|
#define B1101001 105
|
|
#define B01101001 105
|
|
#define B1101010 106
|
|
#define B01101010 106
|
|
#define B1101011 107
|
|
#define B01101011 107
|
|
#define B1101100 108
|
|
#define B01101100 108
|
|
#define B1101101 109
|
|
#define B01101101 109
|
|
#define B1101110 110
|
|
#define B01101110 110
|
|
#define B1101111 111
|
|
#define B01101111 111
|
|
#define B1110000 112
|
|
#define B01110000 112
|
|
#define B1110001 113
|
|
#define B01110001 113
|
|
#define B1110010 114
|
|
#define B01110010 114
|
|
#define B1110011 115
|
|
#define B01110011 115
|
|
#define B1110100 116
|
|
#define B01110100 116
|
|
#define B1110101 117
|
|
#define B01110101 117
|
|
#define B1110110 118
|
|
#define B01110110 118
|
|
#define B1110111 119
|
|
#define B01110111 119
|
|
#define B1111000 120
|
|
#define B01111000 120
|
|
#define B1111001 121
|
|
#define B01111001 121
|
|
#define B1111010 122
|
|
#define B01111010 122
|
|
#define B1111011 123
|
|
#define B01111011 123
|
|
#define B1111100 124
|
|
#define B01111100 124
|
|
#define B1111101 125
|
|
#define B01111101 125
|
|
#define B1111110 126
|
|
#define B01111110 126
|
|
#define B1111111 127
|
|
#define B01111111 127
|
|
#define B10000000 128
|
|
#define B10000001 129
|
|
#define B10000010 130
|
|
#define B10000011 131
|
|
#define B10000100 132
|
|
#define B10000101 133
|
|
#define B10000110 134
|
|
#define B10000111 135
|
|
#define B10001000 136
|
|
#define B10001001 137
|
|
#define B10001010 138
|
|
#define B10001011 139
|
|
#define B10001100 140
|
|
#define B10001101 141
|
|
#define B10001110 142
|
|
#define B10001111 143
|
|
#define B10010000 144
|
|
#define B10010001 145
|
|
#define B10010010 146
|
|
#define B10010011 147
|
|
#define B10010100 148
|
|
#define B10010101 149
|
|
#define B10010110 150
|
|
#define B10010111 151
|
|
#define B10011000 152
|
|
#define B10011001 153
|
|
#define B10011010 154
|
|
#define B10011011 155
|
|
#define B10011100 156
|
|
#define B10011101 157
|
|
#define B10011110 158
|
|
#define B10011111 159
|
|
#define B10100000 160
|
|
#define B10100001 161
|
|
#define B10100010 162
|
|
#define B10100011 163
|
|
#define B10100100 164
|
|
#define B10100101 165
|
|
#define B10100110 166
|
|
#define B10100111 167
|
|
#define B10101000 168
|
|
#define B10101001 169
|
|
#define B10101010 170
|
|
#define B10101011 171
|
|
#define B10101100 172
|
|
#define B10101101 173
|
|
#define B10101110 174
|
|
#define B10101111 175
|
|
#define B10110000 176
|
|
#define B10110001 177
|
|
#define B10110010 178
|
|
#define B10110011 179
|
|
#define B10110100 180
|
|
#define B10110101 181
|
|
#define B10110110 182
|
|
#define B10110111 183
|
|
#define B10111000 184
|
|
#define B10111001 185
|
|
#define B10111010 186
|
|
#define B10111011 187
|
|
#define B10111100 188
|
|
#define B10111101 189
|
|
#define B10111110 190
|
|
#define B10111111 191
|
|
#define B11000000 192
|
|
#define B11000001 193
|
|
#define B11000010 194
|
|
#define B11000011 195
|
|
#define B11000100 196
|
|
#define B11000101 197
|
|
#define B11000110 198
|
|
#define B11000111 199
|
|
#define B11001000 200
|
|
#define B11001001 201
|
|
#define B11001010 202
|
|
#define B11001011 203
|
|
#define B11001100 204
|
|
#define B11001101 205
|
|
#define B11001110 206
|
|
#define B11001111 207
|
|
#define B11010000 208
|
|
#define B11010001 209
|
|
#define B11010010 210
|
|
#define B11010011 211
|
|
#define B11010100 212
|
|
#define B11010101 213
|
|
#define B11010110 214
|
|
#define B11010111 215
|
|
#define B11011000 216
|
|
#define B11011001 217
|
|
#define B11011010 218
|
|
#define B11011011 219
|
|
#define B11011100 220
|
|
#define B11011101 221
|
|
#define B11011110 222
|
|
#define B11011111 223
|
|
#define B11100000 224
|
|
#define B11100001 225
|
|
#define B11100010 226
|
|
#define B11100011 227
|
|
#define B11100100 228
|
|
#define B11100101 229
|
|
#define B11100110 230
|
|
#define B11100111 231
|
|
#define B11101000 232
|
|
#define B11101001 233
|
|
#define B11101010 234
|
|
#define B11101011 235
|
|
#define B11101100 236
|
|
#define B11101101 237
|
|
#define B11101110 238
|
|
#define B11101111 239
|
|
#define B11110000 240
|
|
#define B11110001 241
|
|
#define B11110010 242
|
|
#define B11110011 243
|
|
#define B11110100 244
|
|
#define B11110101 245
|
|
#define B11110110 246
|
|
#define B11110111 247
|
|
#define B11111000 248
|
|
#define B11111001 249
|
|
#define B11111010 250
|
|
#define B11111011 251
|
|
#define B11111100 252
|
|
#define B11111101 253
|
|
#define B11111110 254
|
|
#define B11111111 255
|
|
|
|
#endif /* _BIT_CONSTANTS_H_ */
|