Program Listing for File MPU6050_regs.hpp¶
↰ Return to documentation for file (include/library/MPU6050_regs.hpp
)
#pragma once
#include "library/BlackBox_BigEndian.hpp"
#include <array>
#include <cstdint>
namespace MPU6050Regs {
enum registerAddresses {
GyroscopeXOffsetTC = 0x00,
GyroscopeYOffsetTC,
GyroscopeZOffsetTC,
FineGainX,
FineGainY,
FineGainZ,
AccelerometerXOffsetH,
AccelerometerXOffsetL,
AccelerometerYOffsetH,
AccelerometerYOffsetL,
AccelerometerZOffsetH,
AccelerometerZOffsetL,
ProductID,
SelfTestX,
SelfTestY,
SelfTestZ,
SelfTestA,
Unknown0,
Unknown1,
GyroscopeXOffsetH,
GyroscopeXOffsetL,
GyroscopeYOffsetH,
GyroscopeYOffsetL,
GyroscopeZOffsetH,
GyroscopeZOffsetL,
SampleRateDivider,
Config,
GyroscopeConfig,
AccelerometerConfig,
FreeFallThreshold,
FreeFallDuration,
MotionThreshold,
MotionDuration,
ZeroMotionThreshold,
ZeroMotionDuration,
FIFOEnable,
I2CMasterControl,
I2CSlave0Address,
I2CSlave0Register,
I2CSlave0Control,
I2CSlave1Address,
I2CSlave1Register,
I2CSlave1Control,
I2CSlave2Address,
I2CSlave2Register,
I2CSlave2Control,
I2CSlave3Address,
I2CSlave3Register,
I2CSlave3Control,
I2CSlave4Address,
I2CSlave4Register,
I2CSlave4DataOut,
I2CSlave4Control,
I2CSlave4DataIn,
I2CMasterStatus,
InterruptPinConfig,
InterruptEnable,
InterruptStatusDMP,
InterruptStatus,
AccelerometerXOutH,
AccelerometerXOutL,
AccelerometerYOutH,
AccelerometerYOutL,
AccelerometerZOutH,
AccelerometerZOutL,
TemperatureOutH,
TemperatureOutL,
GyroscopeXOutH,
GyroscopeXOutL,
GyroscopeYOutH,
GyroscopeYOutL,
GyroscopeZOutH,
GyroscopeZOutL,
ExternalSensorData0,
ExternalSensorData1,
ExternalSensorData2,
ExternalSensorData3,
ExternalSensorData4,
ExternalSensorData5,
ExternalSensorData6,
ExternalSensorData7,
ExternalSensorData8,
ExternalSensorData9,
ExternalSensorData10,
ExternalSensorData11,
ExternalSensorData12,
ExternalSensorData13,
ExternalSensorData14,
ExternalSensorData15,
ExternalSensorData16,
ExternalSensorData17,
ExternalSensorData18,
ExternalSensorData19,
ExternalSensorData20,
ExternalSensorData21,
ExternalSensorData22,
ExternalSensorData23,
MotionDetectionStatus,
Unknown2,
I2CSlave0DataOut,
I2CSlave1DataOut,
I2CSlave2DataOut,
I2CSlave3DataOut,
I2CMasterDelayControl,
SignalPathReset,
MotionDetectionControl,
UserControl,
PowerManagement1,
PowerManagement2,
BankSelection,
MemoryStartAddress,
MemoryReadWrite,
ProgramStartAddressH,
ProgramStartAddressL,
FIFOCountH,
FIFOCountL,
FIFOReadWrite,
WhoAmI,
MaxAddress,
};
/*
This is here mainly as a backup if we ever need to get rid of UnknownX
static constexpr std::array<std::uint8_t, MaxAddress> hwRegisterAddresses = { {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61,
0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75
} };
*/
static constexpr std::array<registerAddresses, 69> writableRegisters = { {
GyroscopeXOffsetTC,
GyroscopeYOffsetTC,
GyroscopeZOffsetTC,
FineGainX,
FineGainY,
FineGainZ,
AccelerometerXOffsetH,
AccelerometerXOffsetL,
AccelerometerYOffsetH,
AccelerometerYOffsetL,
AccelerometerZOffsetH,
AccelerometerZOffsetL,
SelfTestX,
SelfTestY,
SelfTestZ,
SelfTestA,
GyroscopeXOffsetH,
GyroscopeXOffsetL,
GyroscopeYOffsetH,
GyroscopeYOffsetL,
GyroscopeZOffsetH,
GyroscopeZOffsetL,
SampleRateDivider,
Config,
GyroscopeConfig,
AccelerometerConfig,
FreeFallThreshold,
FreeFallDuration,
MotionThreshold,
MotionDuration,
ZeroMotionThreshold,
ZeroMotionDuration,
FIFOEnable,
I2CMasterControl,
I2CSlave0Address,
I2CSlave0Register,
I2CSlave0Control,
I2CSlave1Address,
I2CSlave1Register,
I2CSlave1Control,
I2CSlave2Address,
I2CSlave2Register,
I2CSlave2Control,
I2CSlave3Address,
I2CSlave3Register,
I2CSlave3Control,
I2CSlave4Address,
I2CSlave4Register,
I2CSlave4DataOut,
I2CSlave4Control,
I2CSlave4DataIn,
I2CSlave0DataOut,
I2CSlave1DataOut,
I2CSlave2DataOut,
I2CSlave3DataOut,
I2CMasterDelayControl,
SignalPathReset,
MotionDetectionControl,
UserControl,
PowerManagement1,
PowerManagement2,
BankSelection,
MemoryStartAddress,
MemoryReadWrite,
ProgramStartAddressH,
ProgramStartAddressL,
FIFOCountH,
FIFOCountL,
FIFOReadWrite,
} };
enum ExternalSyncSettings : std::uint8_t {
InputDisabled = 0,
TemperatureOutL0,
GyroscopeXOutL0,
GyroscopeYOutL0,
GyroscopeZOutL0,
AccelerometerXOutL0,
AccelerometerYOutL0,
AccelerometerZOutL0,
};
enum AccelerometerFullScaleSelect : std::uint8_t {
_2G = 0,
_4G,
_8G,
_16G,
};
enum GyroscopeFullScaleSelect : std::uint8_t {
_250DpS = 0,
_500DpS,
_1000DpS,
_2000DpS,
};
enum I2CMasterClockSpeed {
_348kHz = 0,
_333kHz,
_320kHz,
_308kHz,
_296kHz,
_286kHz,
_276kHz,
_267kHz,
_258kHz,
_500kHz,
_471kHz,
_444kHz,
_421kHz,
_400kHz,
_381kHz,
_364kHz,
};
enum WakeUpFrequency : std::uint16_t {
_1Hz25 = 0,
_5Hz,
_20Hz,
_40Hz,
};
enum ClockSelection : std::uint16_t {
Internal = 0,
PLLGyroX,
PLLGyroY,
PLLGyroZ,
PLL32k768Hz,
PLL19M2Hz,
Reserved,
Stop,
};
#pragma pack(push, 1)
union MPU6050_dev_t {
struct {
union {
struct {
union {
struct {
std::uint8_t otpBnkVld : 1;
std::uint8_t value : 6;
std::uint8_t auxilaryI2CVDD : 1;
};
std::uint8_t reg; // 0x00
} x;
union {
struct {
std::uint8_t reserved : 1;
std::uint8_t value : 6;
std::uint8_t reserved1 : 1;
};
std::uint8_t reg; // 0x01
} y;
union {
struct {
std::uint8_t reserved : 1;
std::uint8_t value : 6;
std::uint8_t reserved1 : 1;
};
std::uint8_t reg; // 0x02
} z;
};
std::uint8_t regs[3];
} gyroscopeOffsetTC;
union {
struct {
std::uint8_t x; // 0x03
std::uint8_t y; // 0x04
std::uint8_t z; // 0x05
};
std::uint8_t regs[3];
} fineGain;
union {
struct {
BE::Int16 x; // 0x06
BE::Int16 y; // 0x08
BE::Int16 z; // 0x0A
};
BE::Int16 values[3];
std::uint8_t regs[6];
} accelerometerOffset;
std::uint8_t ProductID; // 0x0C
union {
struct {
std::uint8_t gyroTest : 5;
std::uint8_t accelerometerTest : 3;
};
std::uint8_t reg;
} selfTestX; // 0x0D
union {
struct {
std::uint8_t gyroTest : 5;
std::uint8_t accelerometerTest : 3;
};
std::uint8_t reg;
} selfTestY; // 0x0E
union {
struct {
std::uint8_t gyroTest : 5;
std::uint8_t accelerometerTest : 3;
};
std::uint8_t reg;
} selfTestZ; // 0x0F
union {
struct {
std::uint8_t zTest : 2;
std::uint8_t yTest : 2;
std::uint8_t xTest : 2;
std::uint8_t reserved : 2;
};
std::uint8_t reg;
} selfTestA; // 0x10
std::uint8_t unknown0; // 0x11
std::uint8_t unknown1; // 0x12
union {
struct {
BE::Int16 x; // 0x13
BE::Int16 y; // 0x15
BE::Int16 z; // 0x17
};
BE::Int16 values[3];
std::uint8_t regs[6];
} gyroscopeOffset;
std::uint8_t sampleRateDivider; // 0x19
union {
struct {
std::uint8_t digitalLowPassFilter : 3;
ExternalSyncSettings externalSyncSet : 3;
std::uint8_t reserved : 2;
};
std::uint8_t reg; // 0x1A
} config;
union {
struct {
std::uint8_t reserved : 3;
GyroscopeFullScaleSelect fullScaleSelect : 2;
std::uint8_t doSelfTestZ : 1;
std::uint8_t doSelfTestY : 1;
std::uint8_t doSelfTestX : 1;
};
std::uint8_t reg;
} gyroscopeConfig; // 0x1B
union {
struct {
std::uint8_t reserved : 3;
AccelerometerFullScaleSelect fullScaleSelect : 2;
std::uint8_t doSelfTestZ : 1;
std::uint8_t doSelfTestY : 1;
std::uint8_t doSelfTestX : 1;
};
std::uint8_t reg;
} accelerometerConfig; // 0x1C
std::uint8_t freeFallThreshold; // 0x1D
std::uint8_t freeFallDuration; // 0x1E
std::uint8_t motionThreshold; // 0x1F
std::uint8_t motionDuration; // 0x20
std::uint8_t zeroMotionThreshold; // 0x21
std::uint8_t zeroMotionDuration; // 0x22
union {
struct {
std::uint8_t slave0 : 1;
std::uint8_t slave1 : 1;
std::uint8_t slave2 : 1;
std::uint8_t accelerometer : 1;
std::uint8_t gyroscopeZ : 1;
std::uint8_t gyroscopeY : 1;
std::uint8_t gyroscopeX : 1;
std::uint8_t temperature : 1;
};
std::uint8_t reg;
} fifoEnable; // 0x23
union {
struct {
I2CMasterClockSpeed clock : 4;
std::uint8_t noRestart : 1;
std::uint8_t slave3FIFOEnable : 1;
std::uint8_t waitForExternalSensor : 1;
std::uint8_t multiMasterEnable : 1;
};
std::uint8_t reg;
} i2cMasterControl; // 0x24
union {
struct {
struct {
std::uint8_t address : 7;
std::uint8_t readWrite : 1;
};
std::uint8_t registerAddress;
struct {
std::uint8_t length : 4;
std::uint8_t groupingOrder : 1;
std::uint8_t writeRegisterAddress : 1;
std::uint8_t byteSwap : 1;
std::uint8_t enable : 1;
};
};
std::uint8_t regs[3];
} slaveControl[4];
union {
struct {
struct {
std::uint8_t address : 7;
std::uint8_t readWrite : 1;
}; // 0x31
std::uint8_t registerAddress; // 0x32
std::uint8_t dataToBeWritten; // 0x33
struct {
std::uint8_t length : 5;
std::uint8_t writeRegisterAddress : 1;
std::uint8_t enableInterrupt : 1;
std::uint8_t enable : 1;
}; // 0x34
std::uint8_t dataRead; // 0x35
};
std::uint8_t regs[5];
} slaveControl4;
union {
struct {
std::uint8_t slave0NACK : 1;
std::uint8_t slave1NACK : 1;
std::uint8_t slave2NACK : 1;
std::uint8_t slave3NACK : 1;
std::uint8_t slave4NACK : 1;
std::uint8_t lostArbitration : 1;
std::uint8_t slave4Done : 1;
std::uint8_t passThrough : 1;
};
std::uint8_t reg;
} masterStatus; // 0x36
union {
struct {
std::uint8_t reserved : 1;
std::uint8_t i2cBypassEnable : 1;
std::uint8_t fsyncInterruptEnable : 1;
std::uint8_t fsyncInterruptLevel : 1;
std::uint8_t clearOnReadMode : 1;
std::uint8_t latchInterrupt : 1;
std::uint8_t openDrainEnable : 1;
std::uint8_t activeLevel : 1;
};
std::uint8_t reg;
} interruptPinConfig; // 0x37
union {
struct {
std::uint8_t dataReady : 1;
std::uint8_t reserved : 2;
std::uint8_t masterI2CInterrupt : 1;
std::uint8_t fifoOverflow : 1;
std::uint8_t reserved1 : 3;
};
std::uint8_t reg;
} interruptEnable; // 0x38
union {
struct {
std::uint16_t dmp0 : 1; // 0x39
std::uint16_t dmp1 : 1;
std::uint16_t dmp2 : 1;
std::uint16_t dmp3 : 1;
std::uint16_t dmp4 : 1;
std::uint16_t dmp5 : 1;
std::uint16_t reserved : 2;
std::uint16_t dataReady : 1; // 0x3A
std::uint16_t dmpInitialized : 1;
std::uint16_t pllReady : 1;
std::uint16_t masterI2CInterrupt : 1;
std::uint16_t fifoOverflow : 1;
std::uint16_t zeroMotion : 1;
std::uint16_t motion : 1;
std::uint16_t freeFall : 1;
};
std::uint8_t regs[2];
} interruptStatus;
union {
struct {
union {
struct {
BE::Int16 x; // 0x3B
BE::Int16 y; // 0x3D
BE::Int16 z; // 0x3F
};
BE::Int16 values[3];
std::uint8_t regs[6];
} accelerometer;
BE::Uint16 temperature; // 0x41
union {
struct {
BE::Int16 x; // 0x43
BE::Int16 y; // 0x45
BE::Int16 z; // 0x47
};
BE::Int16 values[3];
std::uint8_t regs[6];
} gyroscope;
};
BE::Int16 values[7];
std::uint8_t regs[14];
} measurements;
std::uint8_t externalSensorData[24]; // 0x49
union {
struct {
std::uint8_t zeroMotion : 1;
std::uint8_t reserved : 1;
std::uint8_t zPositive : 1;
std::uint8_t zNegative : 1;
std::uint8_t yPositive : 1;
std::uint8_t yNegative : 1;
std::uint8_t xPositive : 1;
std::uint8_t xNegative : 1;
};
std::uint8_t reg;
} motionDetectionStatus; // 0x61
std::uint8_t unknown2; // 0x62
std::uint8_t slaveDataOut[4]; // 0x63
union {
struct {
std::uint8_t slave0DelayEnable : 1;
std::uint8_t slave1DelayEnable : 1;
std::uint8_t slave2DelayEnable : 1;
std::uint8_t slave3DelayEnable : 1;
std::uint8_t slave4DelayEnable : 1;
std::uint8_t reserved : 2;
std::uint8_t externalSensorShadowEnable : 1;
};
std::uint8_t reg;
} i2cMasterDelayControl; // 0x67
union {
struct {
std::uint8_t temperatureReset : 1;
std::uint8_t accelerometerReset : 1;
std::uint8_t gyroscopeReset : 1;
std::uint8_t reset : 5;
};
std::uint8_t reg;
} signalPathReset; // 0x68
union {
struct {
std::uint8_t motionCount : 2;
std::uint8_t freeFallCount : 2;
std::uint8_t accelerometerOnDelay : 2;
std::uint8_t reserved : 2;
};
std::uint8_t reg;
} motionDetectionControl; // 0x69
union {
struct {
std::uint8_t signalCondReset : 1;
std::uint8_t i2cMasterReset : 1;
std::uint8_t fifoReset : 1;
std::uint8_t reserved : 1;
std::uint8_t i2cInterfaceDisable : 1;
std::uint8_t i2cMasterEnable : 1;
std::uint8_t fifoEnable : 1;
std::uint8_t reserved1 : 1;
};
std::uint8_t reg;
} userControl; // 0x6A
union {
std::uint8_t regs[2];
struct {
ClockSelection clockSelection : 3; // 0x6B
std::uint16_t temperatureDisable : 1;
std::uint16_t reserved : 1;
std::uint16_t cycle : 1;
std::uint16_t sleep : 1;
std::uint16_t deviceReset : 1;
std::uint16_t standbyZGyroscope : 1; // 0x6C
std::uint16_t standbyYGyroscope : 1;
std::uint16_t standbyXGyroscope : 1;
std::uint16_t standbyZAccelerometer : 1;
std::uint16_t standbyYAccelerometer : 1;
std::uint16_t standbyXAccelerometer : 1;
WakeUpFrequency LowPowerWakeControl : 1;
};
} powerManagement;
union {
struct {
std::uint8_t memorySelect : 5;
std::uint8_t configureUserBank : 1;
std::uint8_t prftchEnable : 1; // FIXME: WTF? prefetch?
std::uint8_t reserved : 1;
};
std::uint8_t reg;
} bankSelection; // 0x6D
std::uint8_t memoryStartAddress; // 0x6E
std::uint8_t memoryReadWrite; // 0x6F
BE::Uint16 programStartAddress; // 0x70
BE::Uint16 fifoCount; // 0x72
std::uint8_t fifoReadWrite; // 0x74
union {
std::uint8_t reg;
struct {
std::uint8_t reserved : 1;
std::uint8_t data : 6;
std::uint8_t reserved1 : 1;
};
} whoAmI; // 0x75
};
std::uint8_t regs[MaxAddress];
constexpr MPU6050_dev_t() : powerManagement{0x40, 0}, whoAmI{0x68} {}
};
#pragma pack(pop)
static constexpr unsigned dmpProgramSize = 3062;
static constexpr std::array<std::uint8_t, dmpProgramSize> dmpProgram = {
/* bank # 0 */
0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00,
0x00, 0x65, 0x00, 0x54, 0xff, 0xef, 0x00, 0x00, 0xfa, 0x80, 0x00, 0x0b, 0x12, 0x82, 0x00, 0x01,
0x03, 0x0c, 0x30, 0xc3, 0x0e, 0x8c, 0x8c, 0xe9, 0x14, 0xd5, 0x40, 0x02, 0x13, 0x71, 0x0f, 0x8e,
0x38, 0x83, 0xf8, 0x83, 0x30, 0x00, 0xf8, 0x83, 0x25, 0x8e, 0xf8, 0x83, 0x30, 0x00, 0xf8, 0x83,
0xff, 0xff, 0xff, 0xff, 0x0f, 0xfe, 0xa9, 0xd6, 0x24, 0x00, 0x04, 0x00, 0x1a, 0x82, 0x79, 0xa1,
0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x38, 0x83, 0x6f, 0xa2,
0x00, 0x3e, 0x03, 0x30, 0x40, 0x00, 0x00, 0x00, 0x02, 0xca, 0xe3, 0x09, 0x3e, 0x80, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x6e, 0x00, 0x00, 0x06, 0x92, 0x0a, 0x16, 0xc0, 0xdf,
0xff, 0xff, 0x02, 0x56, 0xfd, 0x8c, 0xd3, 0x77, 0xff, 0xe1, 0xc4, 0x96, 0xe0, 0xc5, 0xbe, 0xaa,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x2b, 0x00, 0x00, 0x16, 0x57, 0x00, 0x00, 0x03, 0x59,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xfa, 0x00, 0x02, 0x6c, 0x1d, 0x00, 0x00, 0x00, 0x00,
0x3f, 0xff, 0xdf, 0xeb, 0x00, 0x3e, 0xb3, 0xb6, 0x00, 0x0d, 0x22, 0x78, 0x00, 0x00, 0x2f, 0x3c,
0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x42, 0xb5, 0x00, 0x00, 0x39, 0xa2, 0x00, 0x00, 0xb3, 0x65,
0xd9, 0x0e, 0x9f, 0xc9, 0x1d, 0xcf, 0x4c, 0x34, 0x30, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
0x3b, 0xb6, 0x7a, 0xe8, 0x00, 0x64, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* bank # 1 */
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0xfa, 0x92, 0x10, 0x00, 0x22, 0x5e, 0x00, 0x0d, 0x22, 0x9f,
0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0xff, 0x46, 0x00, 0x00, 0x63, 0xd4, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x04, 0xd6, 0x00, 0x00, 0x04, 0xcc, 0x00, 0x00, 0x04, 0xcc, 0x00, 0x00,
0x00, 0x00, 0x10, 0x72, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x00, 0x02, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x64, 0x00, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x32, 0xf8, 0x98, 0x00, 0x00, 0xff, 0x65, 0x00, 0x00, 0x83, 0x0f, 0x00, 0x00,
0xff, 0x9b, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xb2, 0x6a, 0x00, 0x02, 0x00, 0x00,
0x00, 0x01, 0xfb, 0x83, 0x00, 0x68, 0x00, 0x00, 0x00, 0xd9, 0xfc, 0x00, 0x7c, 0xf1, 0xff, 0x83,
0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x64, 0x03, 0xe8, 0x00, 0x64, 0x00, 0x28,
0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x16, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf4, 0x00, 0x00, 0x10, 0x00,
/* bank # 2 */
0x00, 0x28, 0x00, 0x00, 0xff, 0xff, 0x45, 0x81, 0xff, 0xff, 0xfa, 0x72, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x05, 0x00, 0x05, 0xba, 0xc6, 0x00, 0x47, 0x78, 0xa2,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x14,
0x00, 0x00, 0x25, 0x4d, 0x00, 0x2f, 0x70, 0x6d, 0x00, 0x00, 0x05, 0xae, 0x00, 0x0c, 0x02, 0xd0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x0e,
0x00, 0x00, 0x0a, 0xc7, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xff, 0xff, 0xff, 0x9c,
0x00, 0x00, 0x0b, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64,
0xff, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* bank # 3 */
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x24, 0x26, 0xd3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x96, 0x00, 0x3c,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0c, 0x0a, 0x4e, 0x68, 0xcd, 0xcf, 0x77, 0x09, 0x50, 0x16, 0x67, 0x59, 0xc6, 0x19, 0xce, 0x82,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xd7, 0x84, 0x00, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x93, 0x8f, 0x9d, 0x1e, 0x1b, 0x1c, 0x19,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x18, 0x85, 0x00, 0x00, 0x40, 0x00,
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x67, 0x7d, 0xdf, 0x7e, 0x72, 0x90, 0x2e, 0x55, 0x4c, 0xf6, 0xe6, 0x88,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* bank # 4 */
0xd8, 0xdc, 0xb4, 0xb8, 0xb0, 0xd8, 0xb9, 0xab, 0xf3, 0xf8, 0xfa, 0xb3, 0xb7, 0xbb, 0x8e, 0x9e,
0xae, 0xf1, 0x32, 0xf5, 0x1b, 0xf1, 0xb4, 0xb8, 0xb0, 0x80, 0x97, 0xf1, 0xa9, 0xdf, 0xdf, 0xdf,
0xaa, 0xdf, 0xdf, 0xdf, 0xf2, 0xaa, 0xc5, 0xcd, 0xc7, 0xa9, 0x0c, 0xc9, 0x2c, 0x97, 0xf1, 0xa9,
0x89, 0x26, 0x46, 0x66, 0xb2, 0x89, 0x99, 0xa9, 0x2d, 0x55, 0x7d, 0xb0, 0xb0, 0x8a, 0xa8, 0x96,
0x36, 0x56, 0x76, 0xf1, 0xba, 0xa3, 0xb4, 0xb2, 0x80, 0xc0, 0xb8, 0xa8, 0x97, 0x11, 0xb2, 0x83,
0x98, 0xba, 0xa3, 0xf0, 0x24, 0x08, 0x44, 0x10, 0x64, 0x18, 0xb2, 0xb9, 0xb4, 0x98, 0x83, 0xf1,
0xa3, 0x29, 0x55, 0x7d, 0xba, 0xb5, 0xb1, 0xa3, 0x83, 0x93, 0xf0, 0x00, 0x28, 0x50, 0xf5, 0xb2,
0xb6, 0xaa, 0x83, 0x93, 0x28, 0x54, 0x7c, 0xf1, 0xb9, 0xa3, 0x82, 0x93, 0x61, 0xba, 0xa2, 0xda,
0xde, 0xdf, 0xdb, 0x81, 0x9a, 0xb9, 0xae, 0xf5, 0x60, 0x68, 0x70, 0xf1, 0xda, 0xba, 0xa2, 0xdf,
0xd9, 0xba, 0xa2, 0xfa, 0xb9, 0xa3, 0x82, 0x92, 0xdb, 0x31, 0xba, 0xa2, 0xd9, 0xba, 0xa2, 0xf8,
0xdf, 0x85, 0xa4, 0xd0, 0xc1, 0xbb, 0xad, 0x83, 0xc2, 0xc5, 0xc7, 0xb8, 0xa2, 0xdf, 0xdf, 0xdf,
0xba, 0xa0, 0xdf, 0xdf, 0xdf, 0xd8, 0xd8, 0xf1, 0xb8, 0xaa, 0xb3, 0x8d, 0xb4, 0x98, 0x0d, 0x35,
0x5d, 0xb2, 0xb6, 0xba, 0xaf, 0x8c, 0x96, 0x19, 0x8f, 0x9f, 0xa7, 0x0e, 0x16, 0x1e, 0xb4, 0x9a,
0xb8, 0xaa, 0x87, 0x2c, 0x54, 0x7c, 0xba, 0xa4, 0xb0, 0x8a, 0xb6, 0x91, 0x32, 0x56, 0x76, 0xb2,
0x84, 0x94, 0xa4, 0xc8, 0x08, 0xcd, 0xd8, 0xb8, 0xb4, 0xb0, 0xf1, 0x99, 0x82, 0xa8, 0x2d, 0x55,
0x7d, 0x98, 0xa8, 0x0e, 0x16, 0x1e, 0xa2, 0x2c, 0x54, 0x7c, 0x92, 0xa4, 0xf0, 0x2c, 0x50, 0x78,
/* bank # 5 */
0xf1, 0x84, 0xa8, 0x98, 0xc4, 0xcd, 0xfc, 0xd8, 0x0d, 0xdb, 0xa8, 0xfc, 0x2d, 0xf3, 0xd9, 0xba,
0xa6, 0xf8, 0xda, 0xba, 0xa6, 0xde, 0xd8, 0xba, 0xb2, 0xb6, 0x86, 0x96, 0xa6, 0xd0, 0xf3, 0xc8,
0x41, 0xda, 0xa6, 0xc8, 0xf8, 0xd8, 0xb0, 0xb4, 0xb8, 0x82, 0xa8, 0x92, 0xf5, 0x2c, 0x54, 0x88,
0x98, 0xf1, 0x35, 0xd9, 0xf4, 0x18, 0xd8, 0xf1, 0xa2, 0xd0, 0xf8, 0xf9, 0xa8, 0x84, 0xd9, 0xc7,
0xdf, 0xf8, 0xf8, 0x83, 0xc5, 0xda, 0xdf, 0x69, 0xdf, 0x83, 0xc1, 0xd8, 0xf4, 0x01, 0x14, 0xf1,
0xa8, 0x82, 0x4e, 0xa8, 0x84, 0xf3, 0x11, 0xd1, 0x82, 0xf5, 0xd9, 0x92, 0x28, 0x97, 0x88, 0xf1,
0x09, 0xf4, 0x1c, 0x1c, 0xd8, 0x84, 0xa8, 0xf3, 0xc0, 0xf9, 0xd1, 0xd9, 0x97, 0x82, 0xf1, 0x29,
0xf4, 0x0d, 0xd8, 0xf3, 0xf9, 0xf9, 0xd1, 0xd9, 0x82, 0xf4, 0xc2, 0x03, 0xd8, 0xde, 0xdf, 0x1a,
0xd8, 0xf1, 0xa2, 0xfa, 0xf9, 0xa8, 0x84, 0x98, 0xd9, 0xc7, 0xdf, 0xf8, 0xf8, 0xf8, 0x83, 0xc7,
0xda, 0xdf, 0x69, 0xdf, 0xf8, 0x83, 0xc3, 0xd8, 0xf4, 0x01, 0x14, 0xf1, 0x98, 0xa8, 0x82, 0x2e,
0xa8, 0x84, 0xf3, 0x11, 0xd1, 0x82, 0xf5, 0xd9, 0x92, 0x50, 0x97, 0x88, 0xf1, 0x09, 0xf4, 0x1c,
0xd8, 0x84, 0xa8, 0xf3, 0xc0, 0xf8, 0xf9, 0xd1, 0xd9, 0x97, 0x82, 0xf1, 0x49, 0xf4, 0x0d, 0xd8,
0xf3, 0xf9, 0xf9, 0xd1, 0xd9, 0x82, 0xf4, 0xc4, 0x03, 0xd8, 0xde, 0xdf, 0xd8, 0xf1, 0xad, 0x88,
0x98, 0xcc, 0xa8, 0x09, 0xf9, 0xd9, 0x82, 0x92, 0xa8, 0xf5, 0x7c, 0xf1, 0x88, 0x3a, 0xcf, 0x94,
0x4a, 0x6e, 0x98, 0xdb, 0x69, 0x31, 0xda, 0xad, 0xf2, 0xde, 0xf9, 0xd8, 0x87, 0x95, 0xa8, 0xf2,
0x21, 0xd1, 0xda, 0xa5, 0xf9, 0xf4, 0x17, 0xd9, 0xf1, 0xae, 0x8e, 0xd0, 0xc0, 0xc3, 0xae, 0x82,
/* bank # 6 */
0xc6, 0x84, 0xc3, 0xa8, 0x85, 0x95, 0xc8, 0xa5, 0x88, 0xf2, 0xc0, 0xf1, 0xf4, 0x01, 0x0e, 0xf1,
0x8e, 0x9e, 0xa8, 0xc6, 0x3e, 0x56, 0xf5, 0x54, 0xf1, 0x88, 0x72, 0xf4, 0x01, 0x15, 0xf1, 0x98,
0x45, 0x85, 0x6e, 0xf5, 0x8e, 0x9e, 0x04, 0x88, 0xf1, 0x42, 0x98, 0x5a, 0x8e, 0x9e, 0x06, 0x88,
0x69, 0xf4, 0x01, 0x1c, 0xf1, 0x98, 0x1e, 0x11, 0x08, 0xd0, 0xf5, 0x04, 0xf1, 0x1e, 0x97, 0x02,
0x02, 0x98, 0x36, 0x25, 0xdb, 0xf9, 0xd9, 0x85, 0xa5, 0xf3, 0xc1, 0xda, 0x85, 0xa5, 0xf3, 0xdf,
0xd8, 0x85, 0x95, 0xa8, 0xf3, 0x09, 0xda, 0xa5, 0xfa, 0xd8, 0x82, 0x92, 0xa8, 0xf5, 0x78, 0xf1,
0x88, 0x1a, 0x84, 0x9f, 0x26, 0x88, 0x98, 0x21, 0xda, 0xf4, 0x1d, 0xf3, 0xd8, 0x87, 0x9f, 0x39,
0xd1, 0xaf, 0xd9, 0xdf, 0xdf, 0xfb, 0xf9, 0xf4, 0x0c, 0xf3, 0xd8, 0xfa, 0xd0, 0xf8, 0xda, 0xf9,
0xf9, 0xd0, 0xdf, 0xd9, 0xf9, 0xd8, 0xf4, 0x0b, 0xd8, 0xf3, 0x87, 0x9f, 0x39, 0xd1, 0xaf, 0xd9,
0xdf, 0xdf, 0xf4, 0x1d, 0xf3, 0xd8, 0xfa, 0xfc, 0xa8, 0x69, 0xf9, 0xf9, 0xaf, 0xd0, 0xda, 0xde,
0xfa, 0xd9, 0xf8, 0x8f, 0x9f, 0xa8, 0xf1, 0xcc, 0xf3, 0x98, 0xdb, 0x45, 0xd9, 0xaf, 0xdf, 0xd0,
0xf8, 0xd8, 0xf1, 0x8f, 0x9f, 0xa8, 0xca, 0xf3, 0x88, 0x09, 0xda, 0xaf, 0x8f, 0xcb, 0xf8, 0xd8,
0xf2, 0xad, 0x97, 0x8d, 0x0c, 0xd9, 0xa5, 0xdf, 0xf9, 0xba, 0xa6, 0xf3, 0xfa, 0xf4, 0x12, 0xf2,
0xd8, 0x95, 0x0d, 0xd1, 0xd9, 0xba, 0xa6, 0xf3, 0xfa, 0xda, 0xa5, 0xf2, 0xc1, 0xba, 0xa6, 0xf3,
0xdf, 0xd8, 0xf1, 0xba, 0xb2, 0xb6, 0x86, 0x96, 0xa6, 0xd0, 0xca, 0xf3, 0x49, 0xda, 0xa6, 0xcb,
0xf8, 0xd8, 0xb0, 0xb4, 0xb8, 0xd8, 0xad, 0x84, 0xf2, 0xc0, 0xdf, 0xf1, 0x8f, 0xcb, 0xc3, 0xa8,
/* bank # 7 */
0xb2, 0xb6, 0x86, 0x96, 0xc8, 0xc1, 0xcb, 0xc3, 0xf3, 0xb0, 0xb4, 0x88, 0x98, 0xa8, 0x21, 0xdb,
0x71, 0x8d, 0x9d, 0x71, 0x85, 0x95, 0x21, 0xd9, 0xad, 0xf2, 0xfa, 0xd8, 0x85, 0x97, 0xa8, 0x28,
0xd9, 0xf4, 0x08, 0xd8, 0xf2, 0x8d, 0x29, 0xda, 0xf4, 0x05, 0xd9, 0xf2, 0x85, 0xa4, 0xc2, 0xf2,
0xd8, 0xa8, 0x8d, 0x94, 0x01, 0xd1, 0xd9, 0xf4, 0x11, 0xf2, 0xd8, 0x87, 0x21, 0xd8, 0xf4, 0x0a,
0xd8, 0xf2, 0x84, 0x98, 0xa8, 0xc8, 0x01, 0xd1, 0xd9, 0xf4, 0x11, 0xd8, 0xf3, 0xa4, 0xc8, 0xbb,
0xaf, 0xd0, 0xf2, 0xde, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xd8, 0xf1, 0xb8, 0xf6,
0xb5, 0xb9, 0xb0, 0x8a, 0x95, 0xa3, 0xde, 0x3c, 0xa3, 0xd9, 0xf8, 0xd8, 0x5c, 0xa3, 0xd9, 0xf8,
0xd8, 0x7c, 0xa3, 0xd9, 0xf8, 0xd8, 0xf8, 0xf9, 0xd1, 0xa5, 0xd9, 0xdf, 0xda, 0xfa, 0xd8, 0xb1,
0x85, 0x30, 0xf7, 0xd9, 0xde, 0xd8, 0xf8, 0x30, 0xad, 0xda, 0xde, 0xd8, 0xf2, 0xb4, 0x8c, 0x99,
0xa3, 0x2d, 0x55, 0x7d, 0xa0, 0x83, 0xdf, 0xdf, 0xdf, 0xb5, 0x91, 0xa0, 0xf6, 0x29, 0xd9, 0xfb,
0xd8, 0xa0, 0xfc, 0x29, 0xd9, 0xfa, 0xd8, 0xa0, 0xd0, 0x51, 0xd9, 0xf8, 0xd8, 0xfc, 0x51, 0xd9,
0xf9, 0xd8, 0x79, 0xd9, 0xfb, 0xd8, 0xa0, 0xd0, 0xfc, 0x79, 0xd9, 0xfa, 0xd8, 0xa1, 0xf9, 0xf9,
0xf9, 0xf9, 0xf9, 0xa0, 0xda, 0xdf, 0xdf, 0xdf, 0xd8, 0xa1, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xac,
0xde, 0xf8, 0xad, 0xde, 0x83, 0x93, 0xac, 0x2c, 0x54, 0x7c, 0xf1, 0xa8, 0xdf, 0xdf, 0xdf, 0xf6,
0x9d, 0x2c, 0xda, 0xa0, 0xdf, 0xd9, 0xfa, 0xdb, 0x2d, 0xf8, 0xd8, 0xa8, 0x50, 0xda, 0xa0, 0xd0,
0xde, 0xd9, 0xd0, 0xf8, 0xf8, 0xf8, 0xdb, 0x55, 0xf8, 0xd8, 0xa8, 0x78, 0xda, 0xa0, 0xd0, 0xdf,
/* bank # 8 */
0xd9, 0xd0, 0xfa, 0xf8, 0xf8, 0xf8, 0xf8, 0xdb, 0x7d, 0xf8, 0xd8, 0x9c, 0xa8, 0x8c, 0xf5, 0x30,
0xdb, 0x38, 0xd9, 0xd0, 0xde, 0xdf, 0xa0, 0xd0, 0xde, 0xdf, 0xd8, 0xa8, 0x48, 0xdb, 0x58, 0xd9,
0xdf, 0xd0, 0xde, 0xa0, 0xdf, 0xd0, 0xde, 0xd8, 0xa8, 0x68, 0xdb, 0x70, 0xd9, 0xdf, 0xdf, 0xa0,
0xdf, 0xdf, 0xd8, 0xf1, 0xa8, 0x88, 0x90, 0x2c, 0x54, 0x7c, 0x98, 0xa8, 0xd0, 0x5c, 0x38, 0xd1,
0xda, 0xf2, 0xae, 0x8c, 0xdf, 0xf9, 0xd8, 0xb0, 0x87, 0xa8, 0xc1, 0xc1, 0xb1, 0x88, 0xa8, 0xc6,
0xf9, 0xf9, 0xda, 0x36, 0xd8, 0xa8, 0xf9, 0xda, 0x36, 0xd8, 0xa8, 0xf9, 0xda, 0x36, 0xd8, 0xa8,
0xf9, 0xda, 0x36, 0xd8, 0xa8, 0xf9, 0xda, 0x36, 0xd8, 0xf7, 0x8d, 0x9d, 0xad, 0xf8, 0x18, 0xda,
0xf2, 0xae, 0xdf, 0xd8, 0xf7, 0xad, 0xfa, 0x30, 0xd9, 0xa4, 0xde, 0xf9, 0xd8, 0xf2, 0xae, 0xde,
0xfa, 0xf9, 0x83, 0xa7, 0xd9, 0xc3, 0xc5, 0xc7, 0xf1, 0x88, 0x9b, 0xa7, 0x7a, 0xad, 0xf7, 0xde,
0xdf, 0xa4, 0xf8, 0x84, 0x94, 0x08, 0xa7, 0x97, 0xf3, 0x00, 0xae, 0xf2, 0x98, 0x19, 0xa4, 0x88,
0xc6, 0xa3, 0x94, 0x88, 0xf6, 0x32, 0xdf, 0xf2, 0x83, 0x93, 0xdb, 0x09, 0xd9, 0xf2, 0xaa, 0xdf,
0xd8, 0xd8, 0xae, 0xf8, 0xf9, 0xd1, 0xda, 0xf3, 0xa4, 0xde, 0xa7, 0xf1, 0x88, 0x9b, 0x7a, 0xd8,
0xf3, 0x84, 0x94, 0xae, 0x19, 0xf9, 0xda, 0xaa, 0xf1, 0xdf, 0xd8, 0xa8, 0x81, 0xc0, 0xc3, 0xc5,
0xc7, 0xa3, 0x92, 0x83, 0xf6, 0x28, 0xad, 0xde, 0xd9, 0xf8, 0xd8, 0xa3, 0x50, 0xad, 0xd9, 0xf8,
0xd8, 0xa3, 0x78, 0xad, 0xd9, 0xf8, 0xd8, 0xf8, 0xf9, 0xd1, 0xa1, 0xda, 0xde, 0xc3, 0xc5, 0xc7,
0xd8, 0xa1, 0x81, 0x94, 0xf8, 0x18, 0xf2, 0xb0, 0x89, 0xac, 0xc3, 0xc5, 0xc7, 0xf1, 0xd8, 0xb8,
/* bank # 9 */
0xb4, 0xb0, 0x97, 0x86, 0xa8, 0x31, 0x9b, 0x06, 0x99, 0x07, 0xab, 0x97, 0x28, 0x88, 0x9b, 0xf0,
0x0c, 0x20, 0x14, 0x40, 0xb0, 0xb4, 0xb8, 0xf0, 0xa8, 0x8a, 0x9a, 0x28, 0x50, 0x78, 0xb7, 0x9b,
0xa8, 0x29, 0x51, 0x79, 0x24, 0x70, 0x59, 0x44, 0x69, 0x38, 0x64, 0x48, 0x31, 0xf1, 0xbb, 0xab,
0x88, 0x00, 0x2c, 0x54, 0x7c, 0xf0, 0xb3, 0x8b, 0xb8, 0xa8, 0x04, 0x28, 0x50, 0x78, 0xf1, 0xb0,
0x88, 0xb4, 0x97, 0x26, 0xa8, 0x59, 0x98, 0xbb, 0xab, 0xb3, 0x8b, 0x02, 0x26, 0x46, 0x66, 0xb0,
0xb8, 0xf0, 0x8a, 0x9c, 0xa8, 0x29, 0x51, 0x79, 0x8b, 0x29, 0x51, 0x79, 0x8a, 0x24, 0x70, 0x59,
0x8b, 0x20, 0x58, 0x71, 0x8a, 0x44, 0x69, 0x38, 0x8b, 0x39, 0x40, 0x68, 0x8a, 0x64, 0x48, 0x31,
0x8b, 0x30, 0x49, 0x60, 0x88, 0xf1, 0xac, 0x00, 0x2c, 0x54, 0x7c, 0xf0, 0x8c, 0xa8, 0x04, 0x28,
0x50, 0x78, 0xf1, 0x88, 0x97, 0x26, 0xa8, 0x59, 0x98, 0xac, 0x8c, 0x02, 0x26, 0x46, 0x66, 0xf0,
0x89, 0x9c, 0xa8, 0x29, 0x51, 0x79, 0x24, 0x70, 0x59, 0x44, 0x69, 0x38, 0x64, 0x48, 0x31, 0xa9,
0x88, 0x09, 0x20, 0x59, 0x70, 0xab, 0x11, 0x38, 0x40, 0x69, 0xa8, 0x19, 0x31, 0x48, 0x60, 0x8c,
0xa8, 0x3c, 0x41, 0x5c, 0x20, 0x7c, 0x00, 0xf1, 0x87, 0x98, 0x19, 0x86, 0xa8, 0x6e, 0x76, 0x7e,
0xa9, 0x99, 0x88, 0x2d, 0x55, 0x7d, 0xd8, 0xb1, 0xb5, 0xb9, 0xa3, 0xdf, 0xdf, 0xdf, 0xae, 0xd0,
0xdf, 0xaa, 0xd0, 0xde, 0xf2, 0xab, 0xf8, 0xf9, 0xd9, 0xb0, 0x87, 0xc4, 0xaa, 0xf1, 0xdf, 0xdf,
0xbb, 0xaf, 0xdf, 0xdf, 0xb9, 0xd8, 0xb1, 0xf1, 0xa3, 0x97, 0x8e, 0x60, 0xdf, 0xb0, 0x84, 0xf2,
0xc8, 0xf8, 0xf9, 0xd9, 0xde, 0xd8, 0x93, 0x85, 0xf1, 0x4a, 0xb1, 0x83, 0xa3, 0x08, 0xb5, 0x83,
/* bank # 10 */
0x9a, 0x08, 0x10, 0xb7, 0x9f, 0x10, 0xd8, 0xf1, 0xb0, 0xba, 0xae, 0xb0, 0x8a, 0xc2, 0xb2, 0xb6,
0x8e, 0x9e, 0xf1, 0xfb, 0xd9, 0xf4, 0x1d, 0xd8, 0xf9, 0xd9, 0x0c, 0xf1, 0xd8, 0xf8, 0xf8, 0xad,
0x61, 0xd9, 0xae, 0xfb, 0xd8, 0xf4, 0x0c, 0xf1, 0xd8, 0xf8, 0xf8, 0xad, 0x19, 0xd9, 0xae, 0xfb,
0xdf, 0xd8, 0xf4, 0x16, 0xf1, 0xd8, 0xf8, 0xad, 0x8d, 0x61, 0xd9, 0xf4, 0xf4, 0xac, 0xf5, 0x9c,
0x9c, 0x8d, 0xdf, 0x2b, 0xba, 0xb6, 0xae, 0xfa, 0xf8, 0xf4, 0x0b, 0xd8, 0xf1, 0xae, 0xd0, 0xf8,
0xad, 0x51, 0xda, 0xae, 0xfa, 0xf8, 0xf1, 0xd8, 0xb9, 0xb1, 0xb6, 0xa3, 0x83, 0x9c, 0x08, 0xb9,
0xb1, 0x83, 0x9a, 0xb5, 0xaa, 0xc0, 0xfd, 0x30, 0x83, 0xb7, 0x9f, 0x10, 0xb5, 0x8b, 0x93, 0xf2,
0x02, 0x02, 0xd1, 0xab, 0xda, 0xde, 0xd8, 0xf1, 0xb0, 0x80, 0xba, 0xab, 0xc0, 0xc3, 0xb2, 0x84,
0xc1, 0xc3, 0xd8, 0xb1, 0xb9, 0xf3, 0x8b, 0xa3, 0x91, 0xb6, 0x09, 0xb4, 0xd9, 0xab, 0xde, 0xb0,
0x87, 0x9c, 0xb9, 0xa3, 0xdd, 0xf1, 0xb3, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0xb0, 0x87, 0xa3, 0xa3,
0xa3, 0xa3, 0xb2, 0x8b, 0xb6, 0x9b, 0xf2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
0xa3, 0xf1, 0xb0, 0x87, 0xb5, 0x9a, 0xa3, 0xf3, 0x9b, 0xa3, 0xa3, 0xdc, 0xba, 0xac, 0xdf, 0xb9,
0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
0xd8, 0xd8, 0xd8, 0xbb, 0xb3, 0xb7, 0xf1, 0xaa, 0xf9, 0xda, 0xff, 0xd9, 0x80, 0x9a, 0xaa, 0x28,
0xb4, 0x80, 0x98, 0xa7, 0x20, 0xb7, 0x97, 0x87, 0xa8, 0x66, 0x88, 0xf0, 0x79, 0x51, 0xf1, 0x90,
0x2c, 0x87, 0x0c, 0xa7, 0x81, 0x97, 0x62, 0x93, 0xf0, 0x71, 0x71, 0x60, 0x85, 0x94, 0x01, 0x29,
/* bank # 11 */
0x51, 0x79, 0x90, 0xa5, 0xf1, 0x28, 0x4c, 0x6c, 0x87, 0x0c, 0x95, 0x18, 0x85, 0x78, 0xa3, 0x83,
0x90, 0x28, 0x4c, 0x6c, 0x88, 0x6c, 0xd8, 0xf3, 0xa2, 0x82, 0x00, 0xf2, 0x10, 0xa8, 0x92, 0x19,
0x80, 0xa2, 0xf2, 0xd9, 0x26, 0xd8, 0xf1, 0x88, 0xa8, 0x4d, 0xd9, 0x48, 0xd8, 0x96, 0xa8, 0x39,
0x80, 0xd9, 0x3c, 0xd8, 0x95, 0x80, 0xa8, 0x39, 0xa6, 0x86, 0x98, 0xd9, 0x2c, 0xda, 0x87, 0xa7,
0x2c, 0xd8, 0xa8, 0x89, 0x95, 0x19, 0xa9, 0x80, 0xd9, 0x38, 0xd8, 0xa8, 0x89, 0x39, 0xa9, 0x80,
0xda, 0x3c, 0xd8, 0xa8, 0x2e, 0xa8, 0x39, 0x90, 0xd9, 0x0c, 0xd8, 0xa8, 0x95, 0x31, 0x98, 0xd9,
0x0c, 0xd8, 0xa8, 0x09, 0xd9, 0xff, 0xd8, 0x01, 0xda, 0xff, 0xd8, 0x95, 0x39, 0xa9, 0xda, 0x26,
0xff, 0xd8, 0x90, 0xa8, 0x0d, 0x89, 0x99, 0xa8, 0x10, 0x80, 0x98, 0x21, 0xda, 0x2e, 0xd8, 0x89,
0x99, 0xa8, 0x31, 0x80, 0xda, 0x2e, 0xd8, 0xa8, 0x86, 0x96, 0x31, 0x80, 0xda, 0x2e, 0xd8, 0xa8,
0x87, 0x31, 0x80, 0xda, 0x2e, 0xd8, 0xa8, 0x82, 0x92, 0xf3, 0x41, 0x80, 0xf1, 0xd9, 0x2e, 0xd8,
0xa8, 0x82, 0xf3, 0x19, 0x80, 0xf1, 0xd9, 0x2e, 0xd8, 0x82, 0xac, 0xf3, 0xc0, 0xa2, 0x80, 0x22,
0xf1, 0xa6, 0x2e, 0xa7, 0x2e, 0xa9, 0x22, 0x98, 0xa8, 0x29, 0xda, 0xac, 0xde, 0xff, 0xd8, 0xa2,
0xf2, 0x2a, 0xf1, 0xa9, 0x2e, 0x82, 0x92, 0xa8, 0xf2, 0x31, 0x80, 0xa6, 0x96, 0xf1, 0xd9, 0x00,
0xac, 0x8c, 0x9c, 0x0c, 0x30, 0xac, 0xde, 0xd0, 0xde, 0xff, 0xd8, 0x8c, 0x9c, 0xac, 0xd0, 0x10,
0xac, 0xde, 0x80, 0x92, 0xa2, 0xf2, 0x4c, 0x82, 0xa8, 0xf1, 0xca, 0xf2, 0x35, 0xf1, 0x96, 0x88,
0xa6, 0xd9, 0x00, 0xd8, 0xf1, 0xff
};
// enum dmpMap {
// Ptat = 0,
// XGyroscope = 2,
// YGyroscope = 4,
// ZGyroscope = 6,
// XAccelerometer = 8,
// YAccelerometer = 10,
// ZAccelerometer = 12,
// Adc1 = 14,
// Adc2 = 16,
// Adc3 = 18,
// Biasunc = 20,
// Fifort = 22,
// Invgsfh = 24,
// Invgsfl = 26,
// _1h = 28,
// _1l = 30,
// Blpfstch = 32,
// Blpfstcl = 34,
// Blpfsxh = 36,
// Blpfsxl = 38,
// Blpfsyh = 40,
// Blpfsyl = 42,
// Blpfszh = 44,
// Blpfszl = 46,
// Blpfmtc = 48,
// Smc = 50,
// Blpfmxh = 52,
// Blpfmxl = 54,
// Blpfmyh = 56,
// Blpfmyl = 58,
// Blpfmzh = 60,
// Blpfmzl = 62,
// Blpfc = 64,
// Smcth = 66,
// _0h2 = 68,
// _0l2 = 70,
// Berr2h = 72,
// Berr2l = 74,
// Berr2nh = 76,
// Smcinc = 78,
// Angvbxh = 80,
// Angvbxl = 82,
// Angvbyh = 84,
// Angvbyl = 86,
// Angvbzh = 88,
// Angvbzl = 90,
// Berr1h = 92,
// Berr1l = 94,
// Atch = 96,
// Biasuncsf = 98,
// Act2h = 100,
// Act2l = 102,
// Gsfh = 104,
// Gsfl = 106,
// Gh = 108,
// Gl = 110,
// _5h = 112,
// _5l = 114,
// _0h = 116,
// _0l = 118,
// _0h = 120,
// _0l = 122,
// _5h = 124,
// _5l = 126,
// Tmp1ah = 128,
// Tmp1al = 130,
// Tmp2ah = 132,
// Tmp2al = 134,
// Tmp3ah = 136,
// Tmp3al = 138,
// Tmp4ah = 140,
// Tmp4al = 142,
// XAccelerometerW = 144,
// Tmp5 = 146,
// XAccelerometerB = 148,
// Tmp8 = 150,
// YAccelerometerB = 152,
// Tmp9 = 154,
// ZAccelerometerB = 156,
// Tmp10 = 158,
// Dzh = 160,
// Dzl = 162,
// Xgch = 164,
// Xgcl = 166,
// Ygch = 168,
// Ygcl = 170,
// Zgch = 172,
// Zgcl = 174,
// YAccelerometerW = 176,
// Tmp7 = 178,
// Afb1h = 180,
// Afb1l = 182,
// Afb2h = 184,
// Afb2l = 186,
// Magfbh = 188,
// Magfbl = 190,
// Qt1h = 192,
// Qt1l = 194,
// Qt2h = 196,
// Qt2l = 198,
// Qt3h = 200,
// Qt3l = 202,
// Qt4h = 204,
// Qt4l = 206,
// Ctrl1h = 208,
// Ctrl1l = 210,
// Ctrl2h = 212,
// Ctrl2l = 214,
// Ctrl3h = 216,
// Ctrl3l = 218,
// Ctrl4h = 220,
// Ctrl4l = 222,
// Ctrls1 = 224,
// Ctrlsf1 = 226,
// Ctrls2 = 228,
// Ctrlsf2 = 230,
// Ctrls3 = 232,
// Ctrlsfnll = 234,
// Ctrls4 = 236,
// Ctrlsfnl2 = 238,
// Ctrlsfnl = 240,
// Tmp30 = 242,
// Ctrlsfjt = 244,
// Tmp31 = 246,
// Tmp11 = 248,
// _2 = 250,
// Tmp12 = 252,
// _2 = 254,
// Prevptat = 256,
// Acczb = 258,
// Accxb = 264,
// Accyb = 266,
// _1hb = 272,
// _1lb = 274,
// _0h = 276,
// _0l = 278,
// Asr22h = 280,
// Asr22l = 282,
// Asr6h = 284,
// Asr6l = 286,
// Tmp13 = 288,
// Tmp14 = 290,
// Fintxh = 292,
// Fintxl = 294,
// Fintyh = 296,
// Fintyl = 298,
// Fintzh = 300,
// Fintzl = 302,
// Tmp1bh = 304,
// Tmp1bl = 306,
// Tmp2bh = 308,
// Tmp2bl = 310,
// Tmp3bh = 312,
// Tmp3bl = 314,
// Tmp4bh = 316,
// Tmp4bl = 318,
// Stxg = 320,
// Zctxg = 322,
// Styg = 324,
// Zctyg = 326,
// Stzg = 328,
// Zctzg = 330,
// Ctrlsfjt2 = 332,
// Ctrlsfjtcnt = 334,
// Pvxg = 336,
// Tmp15 = 338,
// Pvyg = 340,
// Tmp16 = 342,
// Pvzg = 344,
// Tmp17 = 346,
// Mnmflagh = 352,
// Mnmflagl = 354,
// Mnmtmh = 356,
// Mnmtml = 358,
// Mnmtmthrh = 360,
// Mnmtmthrl = 362,
// Mnmthrh = 364,
// Mnmthrl = 366,
// Accqd4h = 368,
// Accqd4l = 370,
// Accqd5h = 372,
// Accqd5l = 374,
// Accqd6h = 376,
// Accqd6l = 378,
// Accqd7h = 380,
// Accqd7l = 382,
// Accqd0h = 384,
// Accqd0l = 386,
// Accqd1h = 388,
// Accqd1l = 390,
// Accqd2h = 392,
// Accqd2l = 394,
// Accqd3h = 396,
// Accqd3l = 398,
// Xn2h = 400,
// Xn2l = 402,
// Xn1h = 404,
// Xn1l = 406,
// Yn2h = 408,
// Yn2l = 410,
// Yn1h = 412,
// Yn1l = 414,
// Yh = 416,
// Yl = 418,
// B0h = 420,
// B0l = 422,
// A1h = 424,
// A1l = 426,
// A2h = 428,
// A2l = 430,
// Sem1 = 432,
// Fifocnt = 434,
// X = 436,
// Packet = 438,
// Y = 440,
// Footer = 442,
// Z = 444,
// Temp29 = 448,
// Temp30 = 450,
// Pre = 452,
// Prel = 454,
// Pre = 456,
// Prel = 458,
// Pre = 460,
// Prel = 462,
// Tmp22 = 464,
// Timer = 466,
// Thx = 468,
// Thy = 472,
// Thz = 476,
// Min = 478,
// Tmp25 = 480,
// Tmp26 = 482,
// Tmp27 = 484,
// Tmp28 = 486,
// Orient = 488,
// Thrsh = 490,
// Endianh = 492,
// Endianl = 494,
// Blpfnmtch = 496,
// Blpfnmtcl = 498,
// Blpfnmxh = 500,
// Blpfnmxl = 502,
// Blpfnmyh = 504,
// Blpfnmyl = 506,
// Blpfnmzh = 508,
// Blpfnmzl = 510,
// };
// enum dmpKeys {
// Config_25,
// Config_24,
// Config_26,
// Config_27,
// Config_21,
// Config_20,
// ConfigTap_4,
// ConfigTap_5,
// ConfigTap_6,
// ConfigTap_7,
// ConfigTap_0,
// ConfigTap_1,
// ConfigTap_2,
// ConfigTap_3,
// ConfigTapQuantize,
// ConfigTapJerk,
// ConfigDrInt,
// ConfigAuth,
// ConfigTapSaveAccelerometerB,
// ConfigTapClearSticky,
// ConfigFifoOnEvent,
// FConfigAccelerometerInput,
// FConfigAccelerometerInit,
// Config_23,
// FConfig_1,
// FConfig_3,
// FConfig_2,
// Config_3D,
// Config_3B,
// Config_3C,
// FConfig_5,
// FConfig_4,
// FConfig_7,
// FConfigFScale,
// FConfigAz,
// FConfig_6,
// FConfigLSB_4,
// Config_12,
// Config_14,
// Config_15,
// Config_16,
// Config_18,
// Config_6,
// Config_7,
// Config_4,
// Config_5,
// Config_2,
// Config_3,
// Config_1,
// ConfigExternal,
// Config_8,
// Config_9,
// ConfigOrient_3,
// ConfigOrient_2,
// ConfigOrient_1,
// ConfigGyro_source,
// ConfigOrient_irq_1,
// ConfigOrient_irq_2,
// ConfigOrient_irq_3,
// FConfigMagValue,
// FConfigMagMov,
// ConfigLpQuat,
// /* MPU6050 keys */
// ConfigAccelFilter,
// ConfigMotionBias,
// TemperatureLabel,
// D0_22,
// D0_24,
// D0_36,
// D0_52,
// D0_96,
// D0_104,
// D0_108,
// D0_163,
// D0_188,
// D0_192,
// D0_224,
// D0_228,
// D0_232,
// D0_236,
// DmpPrevPtat,
// D1_2,
// D1_4,
// D1_8,
// D1_10,
// D1_24,
// D1_28,
// D1_36,
// D1_40,
// D1_44,
// D1_72,
// D1_74,
// D1_79,
// D1_88,
// D1_90,
// D1_92,
// D1_96,
// D1_98,
// D1_100,
// D1_106,
// D1_108,
// D1_112,
// D1_128,
// D1_152,
// D1_160,
// D1_168,
// D1_175,
// D1_176,
// D1_178,
// D1_179,
// D1_218,
// D1_232,
// D1_236,
// D1_240,
// D1_244,
// D1_250,
// D1_252,
// D2_12,
// D2_96,
// D2_108,
// D2_208,
// FlickMsg,
// FlickCounter,
// FlickLower,
// Config_Flick_in,
// FlickUpper,
// CGNoticeIntr,
// D2_224,
// D2_244,
// D2_248,
// D2_252,
// DGyroBiasX,
// DGyroBiasY,
// DGyroBiasZ,
// DAccBiasX,
// DAccBiasY,
// DAccBiasZ,
// DGyroEnable,
// DAccelEnable,
// DQuatEnable,
// DOutputEnable,
// DCrTimeG,
// DCrTimeA,
// DCrTimeQ,
// DCsTax,
// DCsTay,
// DCsTaz,
// DCsTgx,
// DCsTgy,
// DCsTgz,
// DCsTq0,
// DCsTq1,
// DCsTq2,
// DCsTq3,
// /* Compass keys */
// CpassBiasX,
// CpassBiasY,
// CpassBiasZ,
// CpassMtx_00,
// CpassMtx_01,
// CpassMtx_02,
// CpassMtx_10,
// CpassMtx_11,
// CpassMtx_12,
// CpassMtx_20,
// CpassMtx_21,
// CpassMtx_22,
// /* Gesture Keys */
// DmpTapWMin,
// DmpTapThrX,
// DmpTapThrY,
// DmpTapThrZ,
// DmpShThY,
// DmpShThX,
// DmpShThZ,
// DmpOrient,
// DAct0,
// DAcsx,
// DAcsy,
// DAcsz,
// XGRTYTemperature,
// SkipX_grtYTmp,
// SkipEnd_compare,
// EndCompareYXTmp2,
// Config_Android_orient_int,
// NoOrient_interrupt,
// EndCompareYXTmp,
// EndOrient_1,
// EndCompareYX,
// EndOrient,
// XGRTY,
// NotTime_minus_1,
// EndCompareYXTmp3,
// XGRTYTemperature2,
// /* Authenticate Keys */
// DAuthOut,
// DAuthIn,
// DAuthA,
// DAuthB,
// /* Pedometer standalone only keys */
// DPedstd_bp_b,
// DPedstd_hp_a,
// DPedstd_hp_b,
// DPedstd_bp_a4,
// DPedstd_bp_a3,
// DPedstd_bp_a2,
// DPedstd_bp_a1,
// DPedstd_intThrsh,
// DPedstd_clip,
// DPedstd_sb,
// DPedstd_sbTime,
// DPedstd_peakthrsh,
// DPedstdTiml,
// DPedstdTimh,
// DPedstd_peak,
// DPedstdTimectr,
// DPedstd_stepctr,
// DPedstd_walktime,
// DPedstd_deci,
// /*Host Based No Motion*/
// DHost_no_mot,
// /* EIS keys */
// DFifo_footer,
// DFifoYshift,
// DData_rate,
// DFifoXshift,
// DFifo_sync,
// DFifoZshift,
// DFifo_ready,
// DmpFooter,
// DmpIntx_hc,
// DmpIntx_ph,
// DmpIntx_sh,
// DmpAinv_sh,
// DmpA_invXh,
// DmpAinv_ph,
// DmpCthx_h,
// DmpCthy_h,
// DmpCthz_h,
// DmpNcthx_h,
// DmpNcthy_h,
// DmpNcthz_h,
// DmpCtsqXh,
// DmpCtsqYh,
// DmpCtsqZh,
// DmpIntx_h,
// DmpInty_h,
// DmpIntz_h,
// // DmpHpx_h,
// // DmpHpy_h,
// // DmpHpz_h,
// /* Stream keys */
// StreamP_gyroZ,
// StreamP_gyroY,
// StreamP_gyroX,
// StreamPTemp,
// StreamP_auxY,
// StreamP_auxX,
// StreamP_auxZ,
// StreamPAccelerometerY,
// StreamPAccelerometerX,
// StreamP_footer,
// StreamPAccelerometerZ,
// MaxKey,
// };
// enum Din {
// A_00 = 0x00,
// A_01 = 0x01,
// A_04 = 0x04,
// A_06 = 0x06,
// A_08 = 0x08,
// A_09 = 0x09,
// A_0C = 0x0c,
// A_0E = 0x0e,
// A_10 = 0x10,
// A_11 = 0x11,
// A_14 = 0x14,
// A_16 = 0x16,
// A_18 = 0x18,
// A_19 = 0x19,
// A_1C = 0x1C,
// A_1E = 0x1e,
// A_20 = 0x20,
// A_21 = 0x21,
// A_22 = 0x22,
// A_24 = 0x24,
// A_25 = 0x25,
// A_26 = 0x26,
// A_28 = 0x28,
// A_29 = 0x29,
// A_2C = 0x2c,
// A_2D = 0x2d,
// A_2E = 0x2e,
// A_30 = 0x30,
// A_31 = 0x31,
// A_34 = 0x34,
// A_35 = 0x35,
// A_36 = 0x36,
// A_38 = 0x38,
// A_39 = 0x39,
// A_3C = 0x3c,
// A_3D = 0x3d,
// A_3E = 0x3e,
// A_40 = 0x40,
// A_41 = 0x41,
// A_42 = 0x42,
// A_44 = 0x44,
// A_46 = 0x46,
// A_48 = 0x48,
// A_49 = 0x49,
// A_4C = 0x4c,
// A_4D = 0x4d,
// A_4E = 0x4e,
// A_50 = 0x50,
// A_51 = 0x51,
// A_54 = 0x54,
// A_55 = 0x55,
// A_56 = 0x56,
// A_58 = 0x58,
// A_59 = 0x59,
// A_5A = 0x5a,
// A_5C = 0x5c,
// A_5D = 0x5D,
// A_5E = 0x5e,
// A_60 = 0x60,
// A_61 = 0x61,
// A_64 = 0x64,
// A_66 = 0x66,
// A_68 = 0x68,
// A_69 = 0x69,
// A_6C = 0x6c,
// A_6D = 0x6d,
// A_6E = 0x6e,
// A_70 = 0x70,
// A_71 = 0x71,
// A_74 = 0x74,
// A_75 = 0x75,
// A_76 = 0x76,
// A_78 = 0x78,
// A_79 = 0x79,
// A_7C = 0x7c,
// A_7D = 0x7d,
// A_7E = 0x7e,
// A_80 = 0x80,
// A_8B = 0x8b,
// A_90 = 0x90,
// A_91 = 0x91,
// A_A0 = 0xa0,
// A_A3 = 0xa3,
// A_AA = 0xaa,
// A_AB = 0xab,
// A_B1 = 0xb1,
// A_B4 = 0xb4,
// A_B6 = 0xb6,
// A_B9 = 0xb9,
// A_C0 = 0xb0,
// A_C1 = 0xb1,
// A_C2 = 0xb4,
// A_C3 = 0xb5,
// A_C4 = 0xb8,
// A_C5 = 0xb9,
// A_C8 = 0xc8,
// A_C9 = 0xc9,
// A_CA = 0xca,
// A_CB = 0xcb,
// A_CC = 0xcc,
// A_CD = 0xcd,
// A_CE = 0xce,
// A_CF = 0xcf,
// A_D8 = 0xd8,
// A_DA = 0xda,
// A_DC = 0xdc,
// A_DD = 0xdd,
// A_DF = 0xdf,
// A_F1 = 0xf1,
// A_F2 = 0xf2,
// A_F3 = 0xf3,
// A_F8 = 0xf0,
// A_FE = 0xfe,
// B_C0 = 0xc0,
// B_C2 = 0xc2,
// B_C4 = 0xc4,
// B_C6 = 0xc6,
// B_F8 = 0xf8,
// C_00 = 0x00,
// C_01 = 0x01,
// C_02 = 0x02,
// C_03 = 0x03,
// C_08 = 0x08,
// C_09 = 0x09,
// C_0A = 0x0a,
// C_0B = 0x0b,
// C_10 = 0x10,
// C_11 = 0x11,
// C_12 = 0x12,
// C_13 = 0x13,
// C_18 = 0x18,
// C_19 = 0x19,
// C_1A = 0x1a,
// C_1B = 0x1b,
// C_20 = 0x20,
// C_21 = 0x21,
// C_22 = 0x22,
// C_23 = 0x23,
// C_28 = 0x28,
// C_29 = 0x29,
// C_2A = 0x2a,
// C_2B = 0x2b,
// C_30 = 0x30,
// C_31 = 0x31,
// C_32 = 0x32,
// C_33 = 0x33,
// C_38 = 0x38,
// C_39 = 0x39,
// C_3A = 0x3a,
// C_3B = 0x3b,
// C_40 = 0x40,
// C_41 = 0x41,
// C_42 = 0x42,
// C_43 = 0x43,
// C_48 = 0x48,
// C_49 = 0x49,
// C_4A = 0x4a,
// C_4B = 0x4b,
// C_50 = 0x50,
// C_51 = 0x51,
// C_52 = 0x52,
// C_53 = 0x53,
// C_58 = 0x58,
// C_59 = 0x59,
// C_5A = 0x5a,
// C_5B = 0x5b,
// C_60 = 0x60,
// C_61 = 0x61,
// C_62 = 0x62,
// C_63 = 0x63,
// C_68 = 0x68,
// C_69 = 0x69,
// C_6A = 0x6a,
// C_6B = 0x6b,
// C_70 = 0x70,
// C_71 = 0x71,
// C_72 = 0x72,
// C_73 = 0x73,
// C_78 = 0x78,
// C_79 = 0x79,
// C_7A = 0x7a,
// C_7B = 0x7b,
// D_40 = 0x40,
// }; */
} // namespace MPU6050Regs