This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB953-Q1EVM: No I2C response from OV10640

Part Number: DS90UB953-Q1EVM
Other Parts Discussed in Thread: ALP, , USB2ANY

I'm looking to communicate via I2C through the ALP scripts tab, directly with the OV10640 on the DS90UB953-Q1EVM daughter card. I can communicate with the serializer and deserializer, but I can't read anything directly from the camera. When probing the I2C lines, I can see data going out to the camera, but it never responds. What could be going on? There is an appropriate voltage on the I2C line, and the card is well seated.

  • Hi Courtney,

    The OV10640 uses 16-bit addresses for its registers. Are you using a 16-bit register address in your I2C commands?

    If not, please make sure you have downloaded the latest ALP version and ALP profile updater from ti.com/tool/ALP which include support for multi-byte reads.

    Here is an example of the multi-byte read and write syntax:

    board.ReadI2C(Device_ID, Address Byte 1, [Address Byte 0, # of Bytes])

    e.g. board.ReadI2C(0x1A, 0x30, [0x29, 0x1]) reads 1 byte from register 0x3029 of the device with ID 0x1A

    board.WriteI2C(Device_ID, Address Byte 1, [Address Byte 0, Data])

    e.g. board.WriteI2C(0x1A, 0x30, [0x29, 0x80]) writes 0x80 to register 0x3029 of the device with ID 0x1A

    Regards,

    Zoe

  • I only succeeded in talking to the camera after running the initialization driver up to the point of resetting the camera in software. Unfortunately, that driver doesn't have many comments, so I need to ask for clarification here. My end goal is to test a custom daughter card with your system, because we're using the OV2740 instead of the OV10640. I currently can't talk to the OV2740 and assume it's because the driver startup process (initializing various registers and such) isn't correct for the OV2740.

    Here are the parts I'm curious about -- could you answer questions in bold please?

    If we change the OV camera, what parts of this need to be changed? Presumably OVTID and OVT do, but what else?

    UB954 = 0x60
    UB953ID = 0x30
    UB953 = 0x18  (Where is this number coming from, and why do we need it?)
    OVTID = 0x60
    OVT = 0xC4          (Where is this number coming from? How does it relate to 0x60? The device address for the OV10640 and UB954 is 0x60, so is this happening to avoid the conflict between the OV and the UB954?)

    # Set up Port0
    board.WriteI2C(UB954, 0x4C, 0x11)

    # Set up Back Channel Config (0x58)
    board.WriteI2C(UB954,0x58,0x5E)

    # Set up SER ID
    #board.WriteI2C(UB954,0x5B,UB953ID)
    # Set up SER Alias ID
    board.WriteI2C(UB954,0x5C,UB953)
    # Set up Slave/Camera ID
    board.WriteI2C(UB954,0x5D,OVTID)
    # Set up Slave/Camera Alias ID
    board.WriteI2C(UB954,0x65,OVT)

    board.WriteI2C(UB954,0x7C,0x00) #PORT SELECT

    board.WriteI2C(UB954,0x6E,0x99) #BC GPIO

    board.WriteI2C(UB954,0x70,0x1F) #RAW ID

    board.WriteI2C(UB954,0x71,0x1F) #RAW ID

    board.WriteI2C(UB954,0x7C,0xC0) #RAW 10 8BIT

    board.WriteI2C(UB954,0x32,0x01) #CSI TX PORT1

    board.WriteI2C(UB954,0x33,0x03) #CSI OUT ENABLE

    board.WriteI2C(UB954,0x20,0x0) #CSI FORWARDING

    time.sleep(1)
    # Set GPIO2 and GPIO3 to outputs, where GPIO2 = RESET and GPIO3 = PWDN
    board.WriteI2C(UB953,0x0E,0xC0)
    time.sleep(1)
    # Set GPIO2 and GPIO3 to High - bring OVT10640 out of power down mode
    board.WriteI2C(UB953,0x0D,0x0C)
    time.sleep(1)
    # Bring GPIO3 low to place 10640 in reset
    board.WriteI2C(UB953,0x0D,0x08)
    time.sleep(1)
    # Bring GPIO3 high again to prepare 10640 for initialization
    board.WriteI2C(UB953,0x0D,0x0C)
    time.sleep(1)
    board.WriteI2C(UB953,0x1C,0x3F) (What does this do?)
    board.WriteI2C(UB953,0x1E,0x03) (What does this do?)
    board.WriteI2C(UB953,0x49,0x28) (What does this do?)
    board.WriteI2C(UB954,0x1F,0x03) (What does this do?)


    print "OVT10640 Reset"

    #Initialize OVT10640
    board.WriteI2C(OVT,0x30, [0x13,0x01])

  • Hi Courtney,

    Looks like this script is an outdated version that includes some unnecessary steps. I am attaching a newer version to this post (we will replace the version you are using with this newer one in the next revision of ALP). To run the script in ALP, just change the .txt to .py.

    Please note that this script only handles the sensor initialization, not the CSI forwarding from the 954 to the processor. You can enable the forwarding using the forwarding tab of ALP.

    If we change the OV camera, what parts of this need to be changed? Presumably OVTID and OVT do, but what else?

    This depends on the requirements of the OV2740. You would want to check that the OV2740 has pins for the RESET and PWDN, and route these to GPIO2 and GPIO3 respectively in order to leave the GPIO sections of the script the same. As you are aware, the actual configuration of the imager will also have to be modified.

     Where is this number coming from, and why do we need it?

    This is the serializer alias, used to properly direct I2C commands to the correct serializer. Any arbitrary value can be used here.

    Where is this number coming from? How does it relate to 0x60? The device address for the OV10640 and UB954 is 0x60, so is this happening to avoid the conflict between the OV and the UB954?

    This is the sensor alias, used by the 954 to properly direct I2C commands to the correct sensor. You can assign any arbitrary value here. As you pointed out, 0x60 would not be recommended unless using a different ID for the deserializer.

    (What does this do?)

    These steps are unnecessary to initialize the camera and are removed in the attached script.

    Regards,

    Zoe

    """
      Copyright 2018 Texas Instruments Incorporated. All rights reserved.
    
      IMPORTANT: Your use of this Software is limited to those specific rights
      granted under the terms of a software license agreement between the user who
      downloaded the software, his/her employer (which must be your employer) and
      Texas Instruments Incorporated (the "License"). You may not use this Software
      unless you agree to abide by the terms of the License. The License limits your
      use, and you acknowledge, that the Software may not be modified, copied or
      distributed unless embedded on a Texas Instruments microcontroller which is
      integrated into your product. Other than for the foregoing purpose, you may
      not use, reproduce, copy, prepare derivative works of, modify, distribute,
      perform, display or sell this Software and/or its documentation for any
      purpose.
    
      YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
      PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
      INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
      NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL TEXAS
      INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
      NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL
      EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT
      LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR CONSEQUENTIAL
      DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF SUBSTITUTE GOODS,
      TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT
      LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
    
      Should you have any questions regarding your right to use this Software,
      contact Texas Instruments Incorporated at www.TI.com.
    
    """
    # OVT10640 reset and initialization
    # Run from UB954
    # Version 0.91
    
    import time
    #***TI confidential***
    #****Disclaimer: this is for evaluation purposes only. Please contact the image sensor manufacturer for additional information on programming and initialization ***
    
    #reset and initialize sensor from DES using 953
    
    # Set up IDs
    UB954 = board.ReadReg(0x00)#sets Des ID to be address of device connected to ALP. This can be hard coded to the DES ID as well
    UB953ID = 0x30 #953 serializer ID
    UB953 = 0x18 #953 serializer alias (can be set to any unused I2C address)
    sensorID = 0x60 #sensor ID
    sensorAlias = 0x24 #sensor alias (can be set to any unused I2C address)
    
    # Set up Port0
    board.WriteI2C(UB954, 0x4C, 0x01)
    
    # Set up Back Channel Config (0x58)
    board.WriteI2C(UB954,0x58,0x5E)
    
    #Set up SER ID
    board.WriteI2C(UB954,0x5B,UB953ID)
    #Set up SER Alias ID
    board.WriteI2C(UB954,0x5C,UB953)
    # Set up Slave/Camera ID
    board.WriteI2C(UB954,0x5D,sensorID)
    # Set up Slave/Camera Alias ID
    board.WriteI2C(UB954,0x65,sensorAlias)
    
    # Set GPIO2 and GPIO3 to outputs, where GPIO2 = RESET and GPIO3 = PWDN
    board.WriteI2C(UB953,0x0E,0xC0)
    # Set GPIO2 and GPIO3 to High - bring sensor out of power down mode
    board.WriteI2C(UB953,0x0D,0x0C)
    time.sleep(0.1)
    # Bring GPIO3 low to place sensor in reset
    board.WriteI2C(UB953,0x0D,0x08)
    time.sleep(1)
    # Bring GPIO3 high again to prepare sensor for initialization
    board.WriteI2C(UB953,0x0D,0x0C)
    print "Sensor Reset"
    
    #Initialize sensor (Note that OVT10640 uses 16-bit register address. Below writes should be interpreted as board.WriteI2C(sensorAlias, register address byte 1, [register address byte 0, data])
    board.WriteI2C(sensorAlias,0x30, [0x13,0x01])
    time.sleep(0.1)
    
    board.WriteI2C(sensorAlias,0x32, [0x8a,0x01])
    board.WriteI2C(sensorAlias,0x31, [0x3f,0x80])
    board.WriteI2C(sensorAlias,0x31, [0x32,0x24])
    board.WriteI2C(sensorAlias,0x30, [0x00,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x01,0x34])
    board.WriteI2C(sensorAlias,0x30, [0x02,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x04,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x05,0x34])
    board.WriteI2C(sensorAlias,0x30, [0x06,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x07,0x01])
    board.WriteI2C(sensorAlias,0x30, [0x14,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x23,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x32,0x34])
    board.WriteI2C(sensorAlias,0x30, [0x33,0xfb])
    board.WriteI2C(sensorAlias,0x30, [0x54,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x55,0x0F])
    board.WriteI2C(sensorAlias,0x30, [0x56,0x01])
    board.WriteI2C(sensorAlias,0x30, [0x57,0xFF])
    board.WriteI2C(sensorAlias,0x30, [0x58,0xbf])
    board.WriteI2C(sensorAlias,0x30, [0x59,0x44])
    board.WriteI2C(sensorAlias,0x30, [0x5a,0x02])
    board.WriteI2C(sensorAlias,0x30, [0x5b,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x5c,0x30])
    board.WriteI2C(sensorAlias,0x30, [0x5d,0x1d])
    board.WriteI2C(sensorAlias,0x30, [0x5e,0x16])
    board.WriteI2C(sensorAlias,0x30, [0x5f,0x18])
    board.WriteI2C(sensorAlias,0x30, [0x60,0xf9])
    board.WriteI2C(sensorAlias,0x30, [0x61,0xf0])
    board.WriteI2C(sensorAlias,0x30, [0x8c,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x8f,0x10])
    board.WriteI2C(sensorAlias,0x30, [0x90,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x91,0x0C])
    board.WriteI2C(sensorAlias,0x30, [0xeb,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xa3,0x08])
    board.WriteI2C(sensorAlias,0x30, [0xad,0x03])
    board.WriteI2C(sensorAlias,0x30, [0xae,0x80])
    board.WriteI2C(sensorAlias,0x30, [0xaf,0x80])
    board.WriteI2C(sensorAlias,0x30, [0xb0,0xff])
    board.WriteI2C(sensorAlias,0x30, [0xb1,0x3f])
    board.WriteI2C(sensorAlias,0x30, [0xb2,0x22])
    board.WriteI2C(sensorAlias,0x30, [0xb9,0x22])
    board.WriteI2C(sensorAlias,0x30, [0xbb,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xbc,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xbd,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xbe,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xbf,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xc0,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xc1,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xc2,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xc3,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xc4,0x80])
    board.WriteI2C(sensorAlias,0x30, [0xc5,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xc6,0x80])
    board.WriteI2C(sensorAlias,0x30, [0xc7,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xc8,0x80])
    board.WriteI2C(sensorAlias,0x31, [0x19,0x45])
    board.WriteI2C(sensorAlias,0x31, [0x1a,0x01])
    board.WriteI2C(sensorAlias,0x31, [0x1b,0x4a])
    board.WriteI2C(sensorAlias,0x30, [0x74,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x75,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x76,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x77,0x40])
    board.WriteI2C(sensorAlias,0x30, [0x78,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x79,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x7a,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x7b,0xff])
    board.WriteI2C(sensorAlias,0x30, [0x7c,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x7d,0x08])
    board.WriteI2C(sensorAlias,0x30, [0x7e,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x7f,0xc0])
    board.WriteI2C(sensorAlias,0x30, [0x80,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x81,0xc8])
    board.WriteI2C(sensorAlias,0x30, [0x82,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x83,0xd0])
    board.WriteI2C(sensorAlias,0x30, [0x84,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x85,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x86,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x87,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x88,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x89,0x40])
    board.WriteI2C(sensorAlias,0x30, [0x8d,0x92])
    board.WriteI2C(sensorAlias,0x30, [0x94,0xa5])
    board.WriteI2C(sensorAlias,0x30, [0xe6,0x04])
    board.WriteI2C(sensorAlias,0x30, [0xe7,0x4c])
    board.WriteI2C(sensorAlias,0x30, [0xe8,0x04])
    board.WriteI2C(sensorAlias,0x30, [0xe9,0x4c])
    board.WriteI2C(sensorAlias,0x30, [0xe9,0x05])
    board.WriteI2C(sensorAlias,0x30, [0xec,0x01])
    board.WriteI2C(sensorAlias,0x30, [0xfa,0x06])
    board.WriteI2C(sensorAlias,0x31, [0x20,0x00])
    board.WriteI2C(sensorAlias,0x31, [0x21,0x01])
    board.WriteI2C(sensorAlias,0x31, [0x22,0x00])
    board.WriteI2C(sensorAlias,0x31, [0x27,0x63])
    board.WriteI2C(sensorAlias,0x31, [0x28,0xc0])
    board.WriteI2C(sensorAlias,0x31, [0x29,0x00])
    board.WriteI2C(sensorAlias,0x31, [0xbe,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xa5,0x78])
    board.WriteI2C(sensorAlias,0x30, [0xa6,0x40])
    board.WriteI2C(sensorAlias,0x30, [0xa7,0x78])
    board.WriteI2C(sensorAlias,0x30, [0xa8,0x80])
    board.WriteI2C(sensorAlias,0x30, [0xa9,0x78])
    board.WriteI2C(sensorAlias,0x30, [0xaa,0xe0])
    board.WriteI2C(sensorAlias,0x30, [0xab,0x79])
    board.WriteI2C(sensorAlias,0x30, [0xac,0xc0])
    board.WriteI2C(sensorAlias,0x34, [0x40,0x04])
    board.WriteI2C(sensorAlias,0x34, [0x44,0x28])
    board.WriteI2C(sensorAlias,0x34, [0x4e,0x2c])
    board.WriteI2C(sensorAlias,0x34, [0x57,0x33])
    board.WriteI2C(sensorAlias,0x34, [0x5e,0x38])
    board.WriteI2C(sensorAlias,0x34, [0x61,0xa8])
    board.WriteI2C(sensorAlias,0x70, [0x02,0xaa])
    board.WriteI2C(sensorAlias,0x70, [0x01,0xdf])
    board.WriteI2C(sensorAlias,0x70, [0x48,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x49,0x02])
    board.WriteI2C(sensorAlias,0x70, [0x4a,0x02])
    board.WriteI2C(sensorAlias,0x70, [0x4b,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x4c,0x01])
    board.WriteI2C(sensorAlias,0x70, [0x4d,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x43,0x04])
    board.WriteI2C(sensorAlias,0x70, [0x40,0x3c])
    board.WriteI2C(sensorAlias,0x70, [0x47,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x44,0x01])
    board.WriteI2C(sensorAlias,0x70, [0x00,0x1f])
    board.WriteI2C(sensorAlias,0x70, [0x84,0x01])
    board.WriteI2C(sensorAlias,0x70, [0x85,0x03])
    board.WriteI2C(sensorAlias,0x70, [0x86,0x02])
    board.WriteI2C(sensorAlias,0x70, [0x87,0x40])
    board.WriteI2C(sensorAlias,0x70, [0x88,0x01])
    board.WriteI2C(sensorAlias,0x70, [0x89,0x20])
    board.WriteI2C(sensorAlias,0x70, [0x7f,0x04])
    board.WriteI2C(sensorAlias,0x70, [0x7c,0x3c])
    board.WriteI2C(sensorAlias,0x70, [0x83,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x80,0x01])
    board.WriteI2C(sensorAlias,0x70, [0x03,0xdf])
    board.WriteI2C(sensorAlias,0x70, [0xc0,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xc1,0x02])
    board.WriteI2C(sensorAlias,0x70, [0xc2,0x02])
    board.WriteI2C(sensorAlias,0x70, [0xc3,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xc4,0x01])
    board.WriteI2C(sensorAlias,0x70, [0xc5,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xb8,0x03])
    board.WriteI2C(sensorAlias,0x70, [0xb9,0x98])
    board.WriteI2C(sensorAlias,0x70, [0xbc,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xbd,0x80])
    board.WriteI2C(sensorAlias,0x70, [0x04,0x02])
    board.WriteI2C(sensorAlias,0x70, [0x05,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x06,0x01])
    board.WriteI2C(sensorAlias,0x70, [0x07,0x80])
    board.WriteI2C(sensorAlias,0x70, [0x08,0x02])
    board.WriteI2C(sensorAlias,0x70, [0x09,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x0a,0x04])
    board.WriteI2C(sensorAlias,0x70, [0x0b,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x0e,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x0f,0x60])
    board.WriteI2C(sensorAlias,0x70, [0x1a,0x02])
    board.WriteI2C(sensorAlias,0x70, [0x1b,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x1c,0x01])
    board.WriteI2C(sensorAlias,0x70, [0x1d,0x80])
    board.WriteI2C(sensorAlias,0x70, [0x1e,0x02])
    board.WriteI2C(sensorAlias,0x70, [0x1f,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x20,0x04])
    board.WriteI2C(sensorAlias,0x70, [0x21,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x24,0x00])
    board.WriteI2C(sensorAlias,0x70, [0x25,0x60])
    board.WriteI2C(sensorAlias,0x70, [0xe7,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xe4,0x10])
    board.WriteI2C(sensorAlias,0x70, [0xe5,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xe6,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xeb,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xe8,0x10])
    board.WriteI2C(sensorAlias,0x70, [0xe9,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xea,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xef,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xec,0xfd])
    board.WriteI2C(sensorAlias,0x70, [0xed,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xee,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xeb,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xf0,0xfd])
    board.WriteI2C(sensorAlias,0x70, [0xf1,0x00])
    board.WriteI2C(sensorAlias,0x70, [0xf2,0x00])
    board.WriteI2C(sensorAlias,0x30, [0xfb,0x06])
    board.WriteI2C(sensorAlias,0x30, [0xfc,0x80])
    board.WriteI2C(sensorAlias,0x30, [0xfd,0x02])
    board.WriteI2C(sensorAlias,0x30, [0xfe,0x93])
    board.WriteI2C(sensorAlias,0x60, [0x00,0xc1])
    board.WriteI2C(sensorAlias,0x60, [0x01,0xb9])
    board.WriteI2C(sensorAlias,0x60, [0x02,0xba])
    board.WriteI2C(sensorAlias,0x60, [0x03,0xa4])
    board.WriteI2C(sensorAlias,0x60, [0x04,0xb5])
    board.WriteI2C(sensorAlias,0x60, [0x05,0xa0])
    board.WriteI2C(sensorAlias,0x60, [0x06,0x82])
    board.WriteI2C(sensorAlias,0x60, [0x07,0xa7])
    board.WriteI2C(sensorAlias,0x60, [0x08,0xb7])
    board.WriteI2C(sensorAlias,0x60, [0x09,0x5c])
    board.WriteI2C(sensorAlias,0x60, [0x0a,0x9e])
    board.WriteI2C(sensorAlias,0x60, [0x0b,0xc0])
    board.WriteI2C(sensorAlias,0x60, [0x0c,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x0d,0x33])
    board.WriteI2C(sensorAlias,0x60, [0x0e,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x0f,0xde])
    board.WriteI2C(sensorAlias,0x60, [0x10,0xc1])
    board.WriteI2C(sensorAlias,0x60, [0x11,0xab])
    board.WriteI2C(sensorAlias,0x60, [0x12,0xb7])
    board.WriteI2C(sensorAlias,0x60, [0x13,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x14,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x15,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x16,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x17,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x18,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x19,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x1a,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x1b,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x1c,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x1d,0xc5])
    board.WriteI2C(sensorAlias,0x60, [0x1e,0x54])
    board.WriteI2C(sensorAlias,0x60, [0x1f,0x9c])
    board.WriteI2C(sensorAlias,0x60, [0x20,0x94])
    board.WriteI2C(sensorAlias,0x60, [0x21,0x90])
    board.WriteI2C(sensorAlias,0x60, [0x22,0x2a])
    board.WriteI2C(sensorAlias,0x60, [0x23,0x61])
    board.WriteI2C(sensorAlias,0x60, [0x24,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x25,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x26,0x02])
    board.WriteI2C(sensorAlias,0x60, [0x27,0x35])
    board.WriteI2C(sensorAlias,0x60, [0x28,0xb1])
    board.WriteI2C(sensorAlias,0x60, [0x29,0xb2])
    board.WriteI2C(sensorAlias,0x60, [0x2a,0xb3])
    board.WriteI2C(sensorAlias,0x60, [0x2b,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x2c,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0x2d,0x0A])
    board.WriteI2C(sensorAlias,0x60, [0x2e,0x31])
    board.WriteI2C(sensorAlias,0x60, [0x2f,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x30,0x05])
    board.WriteI2C(sensorAlias,0x60, [0x31,0xc4])
    board.WriteI2C(sensorAlias,0x60, [0x32,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x33,0xce])
    board.WriteI2C(sensorAlias,0x60, [0x34,0x17])
    board.WriteI2C(sensorAlias,0x60, [0x35,0xcf])
    board.WriteI2C(sensorAlias,0x60, [0x36,0x1d])
    board.WriteI2C(sensorAlias,0x60, [0x37,0xd0])
    board.WriteI2C(sensorAlias,0x60, [0x38,0x23])
    board.WriteI2C(sensorAlias,0x60, [0x39,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x3a,0xbc])
    board.WriteI2C(sensorAlias,0x60, [0x3b,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x3c,0x51])
    board.WriteI2C(sensorAlias,0x60, [0x3d,0xc5])
    board.WriteI2C(sensorAlias,0x60, [0x3e,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x3f,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x40,0x2b])
    board.WriteI2C(sensorAlias,0x60, [0x41,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x42,0x09])
    board.WriteI2C(sensorAlias,0x60, [0x43,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x44,0x1a])
    board.WriteI2C(sensorAlias,0x60, [0x45,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x46,0xeb])
    board.WriteI2C(sensorAlias,0x60, [0x47,0x12])
    board.WriteI2C(sensorAlias,0x60, [0x48,0x2a])
    board.WriteI2C(sensorAlias,0x60, [0x49,0xba])
    board.WriteI2C(sensorAlias,0x60, [0x4a,0x56])
    board.WriteI2C(sensorAlias,0x60, [0x4b,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0x4c,0x27])
    board.WriteI2C(sensorAlias,0x60, [0x4d,0x54])
    board.WriteI2C(sensorAlias,0x60, [0x4e,0xd4])
    board.WriteI2C(sensorAlias,0x60, [0x4f,0xc1])
    board.WriteI2C(sensorAlias,0x60, [0x50,0x26])
    board.WriteI2C(sensorAlias,0x60, [0x51,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x52,0x01])
    board.WriteI2C(sensorAlias,0x60, [0x53,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0x54,0x2f])
    board.WriteI2C(sensorAlias,0x60, [0x55,0x27])
    board.WriteI2C(sensorAlias,0x60, [0x56,0x08])
    board.WriteI2C(sensorAlias,0x60, [0x57,0x1a])
    board.WriteI2C(sensorAlias,0x60, [0x58,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x59,0xd9])
    board.WriteI2C(sensorAlias,0x60, [0x5a,0x12])
    board.WriteI2C(sensorAlias,0x60, [0x5b,0x2c])
    board.WriteI2C(sensorAlias,0x60, [0x5c,0x11])
    board.WriteI2C(sensorAlias,0x60, [0x5d,0x60])
    board.WriteI2C(sensorAlias,0x60, [0x5e,0x50])
    board.WriteI2C(sensorAlias,0x60, [0x5f,0xc2])
    board.WriteI2C(sensorAlias,0x60, [0x60,0xb9])
    board.WriteI2C(sensorAlias,0x60, [0x61,0xa5])
    board.WriteI2C(sensorAlias,0x60, [0x62,0xb5])
    board.WriteI2C(sensorAlias,0x60, [0x63,0xa0])
    board.WriteI2C(sensorAlias,0x60, [0x64,0x82])
    board.WriteI2C(sensorAlias,0x60, [0x65,0x5c])
    board.WriteI2C(sensorAlias,0x60, [0x66,0xd4])
    board.WriteI2C(sensorAlias,0x60, [0x67,0xc1])
    board.WriteI2C(sensorAlias,0x60, [0x68,0xd4])
    board.WriteI2C(sensorAlias,0x60, [0x69,0xc1])
    board.WriteI2C(sensorAlias,0x60, [0x6a,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0x6b,0x01])
    board.WriteI2C(sensorAlias,0x60, [0x6c,0x7c])
    board.WriteI2C(sensorAlias,0x60, [0x6d,0x74])
    board.WriteI2C(sensorAlias,0x60, [0x6e,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x6f,0x2a])
    board.WriteI2C(sensorAlias,0x60, [0x70,0x61])
    board.WriteI2C(sensorAlias,0x60, [0x71,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x72,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x73,0xde])
    board.WriteI2C(sensorAlias,0x60, [0x74,0xc6])
    board.WriteI2C(sensorAlias,0x60, [0x75,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x76,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x77,0x02])
    board.WriteI2C(sensorAlias,0x60, [0x78,0x35])
    board.WriteI2C(sensorAlias,0x60, [0x79,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0x7a,0x0F])
    board.WriteI2C(sensorAlias,0x60, [0x7b,0x31])
    board.WriteI2C(sensorAlias,0x60, [0x7c,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x7d,0x05])
    board.WriteI2C(sensorAlias,0x60, [0x7e,0xc5])
    board.WriteI2C(sensorAlias,0x60, [0x7f,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x80,0xbb])
    board.WriteI2C(sensorAlias,0x60, [0x81,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x82,0x17])
    board.WriteI2C(sensorAlias,0x60, [0x83,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x84,0xbd])
    board.WriteI2C(sensorAlias,0x60, [0x85,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x86,0x51])
    board.WriteI2C(sensorAlias,0x60, [0x87,0xc6])
    board.WriteI2C(sensorAlias,0x60, [0x88,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x89,0x2b])
    board.WriteI2C(sensorAlias,0x60, [0x8a,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x8b,0x09])
    board.WriteI2C(sensorAlias,0x60, [0x8c,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x8d,0x1a])
    board.WriteI2C(sensorAlias,0x60, [0x8e,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0x8f,0xeb])
    board.WriteI2C(sensorAlias,0x60, [0x90,0x71])
    board.WriteI2C(sensorAlias,0x60, [0x91,0x12])
    board.WriteI2C(sensorAlias,0x60, [0x92,0x2a])
    board.WriteI2C(sensorAlias,0x60, [0x93,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0x94,0x24])
    board.WriteI2C(sensorAlias,0x60, [0x95,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x96,0x00])
    board.WriteI2C(sensorAlias,0x60, [0x97,0x70])
    board.WriteI2C(sensorAlias,0x60, [0x98,0xca])
    board.WriteI2C(sensorAlias,0x60, [0x99,0x26])
    board.WriteI2C(sensorAlias,0x60, [0x9a,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0x9b,0x01])
    board.WriteI2C(sensorAlias,0x60, [0x9c,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0x9d,0x2f])
    board.WriteI2C(sensorAlias,0x60, [0x9e,0x27])
    board.WriteI2C(sensorAlias,0x60, [0x9f,0x08])
    board.WriteI2C(sensorAlias,0x60, [0xa0,0x1a])
    board.WriteI2C(sensorAlias,0x60, [0xa1,0x12])
    board.WriteI2C(sensorAlias,0x60, [0xa2,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xa3,0xd9])
    board.WriteI2C(sensorAlias,0x60, [0xa4,0x60])
    board.WriteI2C(sensorAlias,0x60, [0xa5,0x2c])
    board.WriteI2C(sensorAlias,0x60, [0xa6,0x11])
    board.WriteI2C(sensorAlias,0x60, [0xa7,0x50])
    board.WriteI2C(sensorAlias,0x60, [0xa8,0x00])
    board.WriteI2C(sensorAlias,0x60, [0xa9,0x00])
    board.WriteI2C(sensorAlias,0x60, [0xaa,0xc0])
    board.WriteI2C(sensorAlias,0x60, [0xab,0xb9])
    board.WriteI2C(sensorAlias,0x60, [0xac,0xa3])
    board.WriteI2C(sensorAlias,0x60, [0xad,0xb5])
    board.WriteI2C(sensorAlias,0x60, [0xae,0xb5])
    board.WriteI2C(sensorAlias,0x60, [0xaf,0x00])
    board.WriteI2C(sensorAlias,0x60, [0xb0,0xa0])
    board.WriteI2C(sensorAlias,0x60, [0xb1,0x82])
    board.WriteI2C(sensorAlias,0x60, [0xb2,0x5c])
    board.WriteI2C(sensorAlias,0x60, [0xb3,0xd4])
    board.WriteI2C(sensorAlias,0x60, [0xb4,0xa6])
    board.WriteI2C(sensorAlias,0x60, [0xb5,0x9d])
    board.WriteI2C(sensorAlias,0x60, [0xb6,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0xb7,0x34])
    board.WriteI2C(sensorAlias,0x60, [0xb8,0xb0])
    board.WriteI2C(sensorAlias,0x60, [0xb9,0xb7])
    board.WriteI2C(sensorAlias,0x60, [0xba,0x00])
    board.WriteI2C(sensorAlias,0x60, [0xbb,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0xbc,0x0A])
    board.WriteI2C(sensorAlias,0x60, [0xbd,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0xbe,0x10])
    board.WriteI2C(sensorAlias,0x60, [0xbf,0x9c])
    board.WriteI2C(sensorAlias,0x60, [0xc0,0x94])
    board.WriteI2C(sensorAlias,0x60, [0xc1,0x90])
    board.WriteI2C(sensorAlias,0x60, [0xc2,0xc8])
    board.WriteI2C(sensorAlias,0x60, [0xc3,0xba])
    board.WriteI2C(sensorAlias,0x60, [0xc4,0x7c])
    board.WriteI2C(sensorAlias,0x60, [0xc5,0x74])
    board.WriteI2C(sensorAlias,0x60, [0xc6,0x00])
    board.WriteI2C(sensorAlias,0x60, [0xc7,0x2a])
    board.WriteI2C(sensorAlias,0x60, [0xc8,0x61])
    board.WriteI2C(sensorAlias,0x60, [0xc9,0x00])
    board.WriteI2C(sensorAlias,0x60, [0xca,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xcb,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xcc,0xde])
    board.WriteI2C(sensorAlias,0x60, [0xcd,0xc4])
    board.WriteI2C(sensorAlias,0x60, [0xce,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xcf,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xd0,0x02])
    board.WriteI2C(sensorAlias,0x60, [0xd1,0x35])
    board.WriteI2C(sensorAlias,0x60, [0xd2,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xd3,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xd4,0x14])
    board.WriteI2C(sensorAlias,0x60, [0xd5,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0xd6,0x09])
    board.WriteI2C(sensorAlias,0x60, [0xd7,0x31])
    board.WriteI2C(sensorAlias,0x60, [0xd8,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xd9,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xda,0x05])
    board.WriteI2C(sensorAlias,0x60, [0xdb,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xdc,0xbb])
    board.WriteI2C(sensorAlias,0x60, [0xdd,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xde,0x19])
    board.WriteI2C(sensorAlias,0x60, [0xdf,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xe0,0xbe])
    board.WriteI2C(sensorAlias,0x60, [0xe1,0xce])
    board.WriteI2C(sensorAlias,0x60, [0xe2,0x51])
    board.WriteI2C(sensorAlias,0x60, [0xe3,0xcf])
    board.WriteI2C(sensorAlias,0x60, [0xe4,0x54])
    board.WriteI2C(sensorAlias,0x60, [0xe5,0xd0])
    board.WriteI2C(sensorAlias,0x60, [0xe6,0x58])
    board.WriteI2C(sensorAlias,0x60, [0xe7,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0xe8,0x01])
    board.WriteI2C(sensorAlias,0x60, [0xe9,0x2b])
    board.WriteI2C(sensorAlias,0x60, [0xea,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xeb,0x09])
    board.WriteI2C(sensorAlias,0x60, [0xec,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xed,0xd9])
    board.WriteI2C(sensorAlias,0x60, [0xee,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0xef,0xda])
    board.WriteI2C(sensorAlias,0x60, [0xf0,0xd7])
    board.WriteI2C(sensorAlias,0x60, [0xf1,0x1a])
    board.WriteI2C(sensorAlias,0x60, [0xf2,0xcc])
    board.WriteI2C(sensorAlias,0x60, [0xf3,0xeb])
    board.WriteI2C(sensorAlias,0x60, [0xf4,0x12])
    board.WriteI2C(sensorAlias,0x60, [0xf5,0xd4])
    board.WriteI2C(sensorAlias,0x60, [0xf6,0xaf])
    board.WriteI2C(sensorAlias,0x60, [0xf7,0x27])
    board.WriteI2C(sensorAlias,0x60, [0xf8,0x00])
    board.WriteI2C(sensorAlias,0x60, [0xf9,0xd2])
    board.WriteI2C(sensorAlias,0x60, [0xfa,0xd3])
    board.WriteI2C(sensorAlias,0x60, [0xfb,0x3b])
    board.WriteI2C(sensorAlias,0x60, [0xfc,0xd9])
    board.WriteI2C(sensorAlias,0x60, [0xfd,0xe0])
    board.WriteI2C(sensorAlias,0x60, [0xfe,0xda])
    board.WriteI2C(sensorAlias,0x60, [0xff,0xe4])
    board.WriteI2C(sensorAlias,0x61, [0x00,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0x01,0x12])
    board.WriteI2C(sensorAlias,0x61, [0x02,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0x03,0xd9])
    board.WriteI2C(sensorAlias,0x61, [0x04,0x60])
    board.WriteI2C(sensorAlias,0x61, [0x05,0x10])
    board.WriteI2C(sensorAlias,0x61, [0x06,0x2c])
    board.WriteI2C(sensorAlias,0x61, [0x07,0x5d])
    board.WriteI2C(sensorAlias,0x61, [0x08,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x09,0x0A])
    board.WriteI2C(sensorAlias,0x61, [0x0a,0x5c])
    board.WriteI2C(sensorAlias,0x61, [0x0b,0x01])
    board.WriteI2C(sensorAlias,0x61, [0x0c,0x50])
    board.WriteI2C(sensorAlias,0x61, [0x0d,0x11])
    board.WriteI2C(sensorAlias,0x61, [0x0e,0xd6])
    board.WriteI2C(sensorAlias,0x61, [0x0f,0xb7])
    board.WriteI2C(sensorAlias,0x61, [0x10,0xb9])
    board.WriteI2C(sensorAlias,0x61, [0x11,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x12,0xaf])
    board.WriteI2C(sensorAlias,0x61, [0x13,0xdc])
    board.WriteI2C(sensorAlias,0x61, [0x14,0xcb])
    board.WriteI2C(sensorAlias,0x61, [0x15,0xc3])
    board.WriteI2C(sensorAlias,0x61, [0x16,0xb9])
    board.WriteI2C(sensorAlias,0x61, [0x17,0xa4])
    board.WriteI2C(sensorAlias,0x61, [0x18,0xb5])
    board.WriteI2C(sensorAlias,0x61, [0x19,0x5c])
    board.WriteI2C(sensorAlias,0x61, [0x1a,0x12])
    board.WriteI2C(sensorAlias,0x61, [0x1b,0x2a])
    board.WriteI2C(sensorAlias,0x61, [0x1c,0x61])
    board.WriteI2C(sensorAlias,0x61, [0x1d,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0x1e,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0x1f,0xe2])
    board.WriteI2C(sensorAlias,0x61, [0x20,0x35])
    board.WriteI2C(sensorAlias,0x61, [0x21,0xc7])
    board.WriteI2C(sensorAlias,0x61, [0x22,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0x23,0x31])
    board.WriteI2C(sensorAlias,0x61, [0x24,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0x25,0x05])
    board.WriteI2C(sensorAlias,0x61, [0x26,0xc6])
    board.WriteI2C(sensorAlias,0x61, [0x27,0xbb])
    board.WriteI2C(sensorAlias,0x61, [0x28,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0x29,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0x2a,0x17])
    board.WriteI2C(sensorAlias,0x61, [0x2b,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0x2c,0xbe])
    board.WriteI2C(sensorAlias,0x61, [0x2d,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0x2e,0x51])
    board.WriteI2C(sensorAlias,0x61, [0x2f,0xc7])
    board.WriteI2C(sensorAlias,0x61, [0x30,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0x31,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0x32,0x09])
    board.WriteI2C(sensorAlias,0x61, [0x33,0xb4])
    board.WriteI2C(sensorAlias,0x61, [0x34,0xb7])
    board.WriteI2C(sensorAlias,0x61, [0x35,0x94])
    board.WriteI2C(sensorAlias,0x61, [0x36,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0x37,0x12])
    board.WriteI2C(sensorAlias,0x61, [0x38,0x26])
    board.WriteI2C(sensorAlias,0x61, [0x39,0x42])
    board.WriteI2C(sensorAlias,0x61, [0x3a,0x46])
    board.WriteI2C(sensorAlias,0x61, [0x3b,0x42])
    board.WriteI2C(sensorAlias,0x61, [0x3c,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x3d,0x20])
    board.WriteI2C(sensorAlias,0x61, [0x3e,0x27])
    board.WriteI2C(sensorAlias,0x61, [0x3f,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x40,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0x41,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0x42,0xd9])
    board.WriteI2C(sensorAlias,0x61, [0x43,0x60])
    board.WriteI2C(sensorAlias,0x61, [0x44,0x2c])
    board.WriteI2C(sensorAlias,0x61, [0x45,0x11])
    board.WriteI2C(sensorAlias,0x61, [0x46,0x40])
    board.WriteI2C(sensorAlias,0x61, [0x47,0x50])
    board.WriteI2C(sensorAlias,0x61, [0x48,0xb8])
    board.WriteI2C(sensorAlias,0x61, [0x49,0x90])
    board.WriteI2C(sensorAlias,0x61, [0x4a,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0x4b,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x4c,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x4d,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x4e,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x4f,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x50,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x51,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x52,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x53,0xaa])
    board.WriteI2C(sensorAlias,0x61, [0x54,0xb7])
    board.WriteI2C(sensorAlias,0x61, [0x55,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x56,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x57,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x58,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x59,0xa6])
    board.WriteI2C(sensorAlias,0x61, [0x5a,0xb7])
    board.WriteI2C(sensorAlias,0x61, [0x5b,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x5c,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0x5d,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x5e,0x71])
    board.WriteI2C(sensorAlias,0x61, [0x5f,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x60,0x3e])
    board.WriteI2C(sensorAlias,0x61, [0x61,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x62,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x63,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x64,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x65,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x66,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x67,0x10])
    board.WriteI2C(sensorAlias,0x61, [0x68,0x70])
    board.WriteI2C(sensorAlias,0x61, [0x69,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x6a,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x6b,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x6c,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x6d,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0x6e,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x6f,0xb0])
    board.WriteI2C(sensorAlias,0x61, [0x70,0xb7])
    board.WriteI2C(sensorAlias,0x61, [0x71,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x72,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x73,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x74,0x0A])
    board.WriteI2C(sensorAlias,0x61, [0x75,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x76,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x77,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x78,0x10])
    board.WriteI2C(sensorAlias,0x61, [0x79,0x9c])
    board.WriteI2C(sensorAlias,0x61, [0x7a,0x94])
    board.WriteI2C(sensorAlias,0x61, [0x7b,0x90])
    board.WriteI2C(sensorAlias,0x61, [0x7c,0xc8])
    board.WriteI2C(sensorAlias,0x61, [0x7d,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x7e,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0x7f,0x30])
    board.WriteI2C(sensorAlias,0x61, [0x80,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0x81,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x82,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x83,0xb0])
    board.WriteI2C(sensorAlias,0x61, [0x84,0xb7])
    board.WriteI2C(sensorAlias,0x61, [0x85,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x86,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x87,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x88,0x0A])
    board.WriteI2C(sensorAlias,0x61, [0x89,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x8a,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x8b,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x8c,0x10])
    board.WriteI2C(sensorAlias,0x61, [0x8d,0x9c])
    board.WriteI2C(sensorAlias,0x61, [0x8e,0x94])
    board.WriteI2C(sensorAlias,0x61, [0x8f,0x90])
    board.WriteI2C(sensorAlias,0x61, [0x90,0xc8])
    board.WriteI2C(sensorAlias,0x61, [0x91,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x92,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0x93,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x94,0xba])
    board.WriteI2C(sensorAlias,0x61, [0x95,0xb0])
    board.WriteI2C(sensorAlias,0x61, [0x96,0xb7])
    board.WriteI2C(sensorAlias,0x61, [0x97,0x00])
    board.WriteI2C(sensorAlias,0x61, [0x98,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x99,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x9a,0x0A])
    board.WriteI2C(sensorAlias,0x61, [0x9b,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x9c,0x9d])
    board.WriteI2C(sensorAlias,0x61, [0x9d,0xd3])
    board.WriteI2C(sensorAlias,0x61, [0x9e,0x10])
    board.WriteI2C(sensorAlias,0x61, [0x9f,0x9c])
    board.WriteI2C(sensorAlias,0x61, [0xa0,0x94])
    board.WriteI2C(sensorAlias,0x61, [0xa1,0x90])
    board.WriteI2C(sensorAlias,0x61, [0xa2,0xc9])
    board.WriteI2C(sensorAlias,0x61, [0xa3,0xba])
    board.WriteI2C(sensorAlias,0x61, [0xa4,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0xa5,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xa6,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xa7,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xa8,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xa9,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xaa,0xeb])
    board.WriteI2C(sensorAlias,0x61, [0xab,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xac,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0xad,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xae,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xaf,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xb0,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xb1,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xb2,0xeb])
    board.WriteI2C(sensorAlias,0x61, [0xb3,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xb4,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xb5,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xb6,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xb7,0xeb])
    board.WriteI2C(sensorAlias,0x61, [0xb8,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xb9,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xba,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xbb,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xbc,0xeb])
    board.WriteI2C(sensorAlias,0x61, [0xbd,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xbe,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0xbf,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xc0,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xc1,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xc2,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xc3,0xf0])
    board.WriteI2C(sensorAlias,0x61, [0xc4,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xc5,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xc6,0xd5])
    board.WriteI2C(sensorAlias,0x61, [0xc7,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xc8,0x00])
    board.WriteI2C(sensorAlias,0x61, [0xc9,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xca,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xcb,0xf0])
    board.WriteI2C(sensorAlias,0x61, [0xcc,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xcd,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xce,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xcf,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xd0,0xf0])
    board.WriteI2C(sensorAlias,0x61, [0xd1,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xd2,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xd3,0x1a])
    board.WriteI2C(sensorAlias,0x61, [0xd4,0xcc])
    board.WriteI2C(sensorAlias,0x61, [0xd5,0xf0])
    board.WriteI2C(sensorAlias,0x61, [0xd6,0x12])
    board.WriteI2C(sensorAlias,0x61, [0xd7,0xd2])
    board.WriteI2C(sensorAlias,0x61, [0xd8,0xd5])
    board.WriteI2C(sensorAlias,0x64, [0x00,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x01,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x02,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x03,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x04,0x04])
    board.WriteI2C(sensorAlias,0x64, [0x05,0x61])
    board.WriteI2C(sensorAlias,0x64, [0x06,0x04])
    board.WriteI2C(sensorAlias,0x64, [0x07,0x70])
    board.WriteI2C(sensorAlias,0x64, [0x08,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x09,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x0a,0x05])
    board.WriteI2C(sensorAlias,0x64, [0x0b,0x14])
    board.WriteI2C(sensorAlias,0x64, [0x0c,0x04])
    board.WriteI2C(sensorAlias,0x64, [0x0d,0x70])
    board.WriteI2C(sensorAlias,0x64, [0x0e,0x05])
    board.WriteI2C(sensorAlias,0x64, [0x0f,0x74])
    board.WriteI2C(sensorAlias,0x64, [0x10,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x11,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x12,0x05])
    board.WriteI2C(sensorAlias,0x64, [0x13,0x54])
    board.WriteI2C(sensorAlias,0x64, [0x14,0x04])
    board.WriteI2C(sensorAlias,0x64, [0x15,0x30])
    board.WriteI2C(sensorAlias,0x64, [0x16,0x05])
    board.WriteI2C(sensorAlias,0x64, [0x17,0x44])
    board.WriteI2C(sensorAlias,0x64, [0x18,0x05])
    board.WriteI2C(sensorAlias,0x64, [0x19,0x47])
    board.WriteI2C(sensorAlias,0x64, [0x1a,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x1b,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x1c,0x04])
    board.WriteI2C(sensorAlias,0x64, [0x1d,0x31])
    board.WriteI2C(sensorAlias,0x64, [0x1e,0x04])
    board.WriteI2C(sensorAlias,0x64, [0x1f,0x30])
    board.WriteI2C(sensorAlias,0x64, [0x20,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x21,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x22,0x04])
    board.WriteI2C(sensorAlias,0x64, [0x23,0x20])
    board.WriteI2C(sensorAlias,0x64, [0x24,0x05])
    board.WriteI2C(sensorAlias,0x64, [0x25,0x06])
    board.WriteI2C(sensorAlias,0x64, [0x26,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x27,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x28,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x29,0x29])
    board.WriteI2C(sensorAlias,0x64, [0x2a,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x2b,0x30])
    board.WriteI2C(sensorAlias,0x64, [0x2c,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x2d,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x2e,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x2f,0x29])
    board.WriteI2C(sensorAlias,0x64, [0x30,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x31,0x30])
    board.WriteI2C(sensorAlias,0x64, [0x32,0x06])
    board.WriteI2C(sensorAlias,0x64, [0x33,0x20])
    board.WriteI2C(sensorAlias,0x64, [0x34,0x07])
    board.WriteI2C(sensorAlias,0x64, [0x35,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x36,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x37,0x3f])
    board.WriteI2C(sensorAlias,0x64, [0x38,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x39,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x3a,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x3b,0x29])
    board.WriteI2C(sensorAlias,0x64, [0x3c,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x3d,0x35])
    board.WriteI2C(sensorAlias,0x64, [0x3e,0x06])
    board.WriteI2C(sensorAlias,0x64, [0x3f,0x10])
    board.WriteI2C(sensorAlias,0x64, [0x40,0x07])
    board.WriteI2C(sensorAlias,0x64, [0x41,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x42,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x43,0x3f])
    board.WriteI2C(sensorAlias,0x64, [0x44,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x45,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x46,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x47,0x29])
    board.WriteI2C(sensorAlias,0x64, [0x48,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x49,0x3a])
    board.WriteI2C(sensorAlias,0x64, [0x4a,0x06])
    board.WriteI2C(sensorAlias,0x64, [0x4b,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x4c,0x07])
    board.WriteI2C(sensorAlias,0x64, [0x4d,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x4e,0x08])
    board.WriteI2C(sensorAlias,0x64, [0x4f,0x3f])
    board.WriteI2C(sensorAlias,0x64, [0x50,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x51,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x52,0x06])
    board.WriteI2C(sensorAlias,0x64, [0x53,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x54,0x07])
    board.WriteI2C(sensorAlias,0x64, [0x55,0x05])
    board.WriteI2C(sensorAlias,0x64, [0x56,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x57,0xaf])
    board.WriteI2C(sensorAlias,0x64, [0x58,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x59,0x0F])
    board.WriteI2C(sensorAlias,0x64, [0x5a,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x5b,0x90])
    board.WriteI2C(sensorAlias,0x64, [0x5c,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x5d,0xc8])
    board.WriteI2C(sensorAlias,0x64, [0x5e,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x5f,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x60,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x61,0xac])
    board.WriteI2C(sensorAlias,0x64, [0x62,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x63,0x0C])
    board.WriteI2C(sensorAlias,0x64, [0x64,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x65,0x90])
    board.WriteI2C(sensorAlias,0x64, [0x66,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x67,0xe8])
    board.WriteI2C(sensorAlias,0x64, [0x68,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x69,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x6a,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x6b,0xad])
    board.WriteI2C(sensorAlias,0x64, [0x6c,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x6d,0x0D])
    board.WriteI2C(sensorAlias,0x64, [0x6e,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x6f,0x90])
    board.WriteI2C(sensorAlias,0x64, [0x70,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x71,0xe8])
    board.WriteI2C(sensorAlias,0x64, [0x72,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x73,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x74,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x75,0xae])
    board.WriteI2C(sensorAlias,0x64, [0x76,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x77,0x0E])
    board.WriteI2C(sensorAlias,0x64, [0x78,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x79,0x90])
    board.WriteI2C(sensorAlias,0x64, [0x7a,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x7b,0xe8])
    board.WriteI2C(sensorAlias,0x64, [0x7c,0x00])
    board.WriteI2C(sensorAlias,0x64, [0x7d,0xff])
    board.WriteI2C(sensorAlias,0x64, [0x7e,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x7f,0xb0])
    board.WriteI2C(sensorAlias,0x64, [0x80,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x81,0xb1])
    board.WriteI2C(sensorAlias,0x64, [0x82,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x83,0xb2])
    board.WriteI2C(sensorAlias,0x64, [0x84,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x85,0xb3])
    board.WriteI2C(sensorAlias,0x64, [0x86,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x87,0xb4])
    board.WriteI2C(sensorAlias,0x64, [0x88,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x89,0xb5])
    board.WriteI2C(sensorAlias,0x64, [0x8a,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x8b,0xb6])
    board.WriteI2C(sensorAlias,0x64, [0x8c,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x8d,0xb7])
    board.WriteI2C(sensorAlias,0x64, [0x8e,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x8f,0xb8])
    board.WriteI2C(sensorAlias,0x64, [0x90,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x91,0xb9])
    board.WriteI2C(sensorAlias,0x64, [0x92,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x93,0xba])
    board.WriteI2C(sensorAlias,0x64, [0x94,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x95,0xbb])
    board.WriteI2C(sensorAlias,0x64, [0x96,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x97,0xbc])
    board.WriteI2C(sensorAlias,0x64, [0x98,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x99,0xbd])
    board.WriteI2C(sensorAlias,0x64, [0x9a,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x9b,0xbe])
    board.WriteI2C(sensorAlias,0x64, [0x9c,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x9d,0xbf])
    board.WriteI2C(sensorAlias,0x64, [0x9e,0x01])
    board.WriteI2C(sensorAlias,0x64, [0x9f,0xc0])
    board.WriteI2C(sensorAlias,0x64, [0xa0,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xa1,0xff])
    board.WriteI2C(sensorAlias,0x64, [0xa2,0x06])
    board.WriteI2C(sensorAlias,0x64, [0xa3,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xa4,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xa5,0xf6])
    board.WriteI2C(sensorAlias,0x64, [0xa6,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xa7,0xff])
    board.WriteI2C(sensorAlias,0x64, [0xa8,0x06])
    board.WriteI2C(sensorAlias,0x64, [0xa9,0x10])
    board.WriteI2C(sensorAlias,0x64, [0xaa,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xab,0xf6])
    board.WriteI2C(sensorAlias,0x64, [0xac,0x06])
    board.WriteI2C(sensorAlias,0x64, [0xad,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xae,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xaf,0xff])
    board.WriteI2C(sensorAlias,0x64, [0xb0,0x06])
    board.WriteI2C(sensorAlias,0x64, [0xb1,0x20])
    board.WriteI2C(sensorAlias,0x64, [0xb2,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xb3,0xf6])
    board.WriteI2C(sensorAlias,0x64, [0xb4,0x06])
    board.WriteI2C(sensorAlias,0x64, [0xb5,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xb6,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xb7,0xff])
    board.WriteI2C(sensorAlias,0x64, [0xb8,0x04])
    board.WriteI2C(sensorAlias,0x64, [0xb9,0x31])
    board.WriteI2C(sensorAlias,0x64, [0xba,0x04])
    board.WriteI2C(sensorAlias,0x64, [0xbb,0x30])
    board.WriteI2C(sensorAlias,0x64, [0xbc,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xbd,0x20])
    board.WriteI2C(sensorAlias,0x64, [0xbe,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xbf,0x31])
    board.WriteI2C(sensorAlias,0x64, [0xc0,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xc1,0x32])
    board.WriteI2C(sensorAlias,0x64, [0xc2,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xc3,0x33])
    board.WriteI2C(sensorAlias,0x64, [0xc4,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xc5,0x34])
    board.WriteI2C(sensorAlias,0x64, [0xc6,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xc7,0x35])
    board.WriteI2C(sensorAlias,0x64, [0xc8,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xc9,0x36])
    board.WriteI2C(sensorAlias,0x64, [0xca,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xcb,0x37])
    board.WriteI2C(sensorAlias,0x64, [0xcc,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xcd,0x38])
    board.WriteI2C(sensorAlias,0x64, [0xce,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xcf,0x39])
    board.WriteI2C(sensorAlias,0x64, [0xd0,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xd1,0x3a])
    board.WriteI2C(sensorAlias,0x64, [0xd2,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xd3,0x3b])
    board.WriteI2C(sensorAlias,0x64, [0xd4,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xd5,0x3c])
    board.WriteI2C(sensorAlias,0x64, [0xd6,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xd7,0x3d])
    board.WriteI2C(sensorAlias,0x64, [0xd8,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xd9,0x3e])
    board.WriteI2C(sensorAlias,0x64, [0xda,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xdb,0x3f])
    board.WriteI2C(sensorAlias,0x64, [0xdc,0x02])
    board.WriteI2C(sensorAlias,0x64, [0xdd,0xa0])
    board.WriteI2C(sensorAlias,0x64, [0xde,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xdf,0xff])
    board.WriteI2C(sensorAlias,0x64, [0xe0,0x04])
    board.WriteI2C(sensorAlias,0x64, [0xe1,0x31])
    board.WriteI2C(sensorAlias,0x64, [0xe2,0x04])
    board.WriteI2C(sensorAlias,0x64, [0xe3,0x30])
    board.WriteI2C(sensorAlias,0x64, [0xe4,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xe5,0x00])
    board.WriteI2C(sensorAlias,0x64, [0xe6,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xe7,0x11])
    board.WriteI2C(sensorAlias,0x64, [0xe8,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xe9,0x12])
    board.WriteI2C(sensorAlias,0x64, [0xea,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xeb,0x13])
    board.WriteI2C(sensorAlias,0x64, [0xec,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xed,0x14])
    board.WriteI2C(sensorAlias,0x64, [0xee,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xef,0x15])
    board.WriteI2C(sensorAlias,0x64, [0xf0,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xf1,0x16])
    board.WriteI2C(sensorAlias,0x64, [0xf2,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xf3,0x17])
    board.WriteI2C(sensorAlias,0x64, [0xf4,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xf5,0x18])
    board.WriteI2C(sensorAlias,0x64, [0xf6,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xf7,0x19])
    board.WriteI2C(sensorAlias,0x64, [0xf8,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xf9,0x1a])
    board.WriteI2C(sensorAlias,0x64, [0xfa,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xfb,0x1b])
    board.WriteI2C(sensorAlias,0x64, [0xfc,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xfd,0x1c])
    board.WriteI2C(sensorAlias,0x64, [0xfe,0x01])
    board.WriteI2C(sensorAlias,0x64, [0xff,0x1d])
    board.WriteI2C(sensorAlias,0x65, [0x00,0x01])
    board.WriteI2C(sensorAlias,0x65, [0x01,0x1e])
    board.WriteI2C(sensorAlias,0x65, [0x02,0x01])
    board.WriteI2C(sensorAlias,0x65, [0x03,0x1f])
    board.WriteI2C(sensorAlias,0x65, [0x04,0x02])
    board.WriteI2C(sensorAlias,0x65, [0x05,0xa0])
    board.WriteI2C(sensorAlias,0x65, [0x06,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x07,0xff])
    board.WriteI2C(sensorAlias,0x65, [0x08,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x09,0x0b])
    board.WriteI2C(sensorAlias,0x65, [0x0a,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x0b,0x86])
    board.WriteI2C(sensorAlias,0x65, [0x0c,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x0d,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x0e,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x0f,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x10,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x11,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x12,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x13,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x14,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x15,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x16,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x17,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x18,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x19,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x1a,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x1b,0x9a])
    board.WriteI2C(sensorAlias,0x65, [0x1c,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x1d,0x86])
    board.WriteI2C(sensorAlias,0x65, [0x1e,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x1f,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x20,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x21,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x22,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x23,0x01])
    board.WriteI2C(sensorAlias,0x65, [0x24,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x25,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x26,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x27,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x28,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x29,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x2a,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x2b,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x2c,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x2d,0x99])
    board.WriteI2C(sensorAlias,0x65, [0x2e,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x2f,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x30,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x31,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x32,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x33,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x34,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x35,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x36,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x37,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x38,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x39,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x3a,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x3b,0x98])
    board.WriteI2C(sensorAlias,0x65, [0x3c,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x3d,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x3e,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x3f,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x40,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x41,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x42,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x43,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x44,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x45,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x46,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x47,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x48,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x49,0x97])
    board.WriteI2C(sensorAlias,0x65, [0x4a,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x4b,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x4c,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x4d,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x4e,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x4f,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x50,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x51,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x52,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x53,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x54,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x55,0x96])
    board.WriteI2C(sensorAlias,0x65, [0x56,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x57,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x58,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x59,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x5a,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x5b,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x5c,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x5d,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x5e,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x5f,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x60,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x61,0x95])
    board.WriteI2C(sensorAlias,0x65, [0x62,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x63,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x64,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x65,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x66,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x67,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x68,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x69,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x6a,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x6b,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x6c,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x6d,0x94])
    board.WriteI2C(sensorAlias,0x65, [0x6e,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x6f,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x70,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x71,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x72,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x73,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x74,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x75,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x76,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x77,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x78,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x79,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x7a,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x7b,0x93])
    board.WriteI2C(sensorAlias,0x65, [0x7c,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x7d,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x7e,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x7f,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x80,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x81,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x82,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x83,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x84,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x85,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x86,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x87,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x88,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x89,0x92])
    board.WriteI2C(sensorAlias,0x65, [0x8a,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x8b,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x8c,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x8d,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x8e,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x8f,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x90,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x91,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x92,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x93,0x08])
    board.WriteI2C(sensorAlias,0x65, [0x94,0x03])
    board.WriteI2C(sensorAlias,0x65, [0x95,0x91])
    board.WriteI2C(sensorAlias,0x65, [0x96,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x97,0x06])
    board.WriteI2C(sensorAlias,0x65, [0x98,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x99,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x9a,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x9b,0x04])
    board.WriteI2C(sensorAlias,0x65, [0x9c,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x9d,0x00])
    board.WriteI2C(sensorAlias,0x65, [0x9e,0x05])
    board.WriteI2C(sensorAlias,0x65, [0x9f,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xa0,0x03])
    board.WriteI2C(sensorAlias,0x65, [0xa1,0x90])
    board.WriteI2C(sensorAlias,0x65, [0xa2,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xa3,0x06])
    board.WriteI2C(sensorAlias,0x65, [0xa4,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xa5,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xa6,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xa7,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xa8,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xa9,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xaa,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xab,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xac,0x02])
    board.WriteI2C(sensorAlias,0x65, [0xad,0x90])
    board.WriteI2C(sensorAlias,0x65, [0xae,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xaf,0x06])
    board.WriteI2C(sensorAlias,0x65, [0xb0,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xb1,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xb2,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xb3,0x20])
    board.WriteI2C(sensorAlias,0x65, [0xb4,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xb5,0x06])
    board.WriteI2C(sensorAlias,0x65, [0xb6,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xb7,0x84])
    board.WriteI2C(sensorAlias,0x65, [0xb8,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xb9,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xba,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xbb,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xbc,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xbd,0x72])
    board.WriteI2C(sensorAlias,0x65, [0xbe,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xbf,0x0C])
    board.WriteI2C(sensorAlias,0x65, [0xc0,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xc1,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xc2,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xc3,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xc4,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xc5,0x45])
    board.WriteI2C(sensorAlias,0x65, [0xc6,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xc7,0x54])
    board.WriteI2C(sensorAlias,0x65, [0xc8,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xc9,0x72])
    board.WriteI2C(sensorAlias,0x65, [0xca,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xcb,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xcc,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xcd,0x20])
    board.WriteI2C(sensorAlias,0x65, [0xce,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xcf,0x06])
    board.WriteI2C(sensorAlias,0x65, [0xd0,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xd1,0x96])
    board.WriteI2C(sensorAlias,0x65, [0xd2,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xd3,0x5e])
    board.WriteI2C(sensorAlias,0x65, [0xd4,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xd5,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xd6,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xd7,0x20])
    board.WriteI2C(sensorAlias,0x65, [0xd8,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xd9,0x06])
    board.WriteI2C(sensorAlias,0x65, [0xda,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xdb,0x96])
    board.WriteI2C(sensorAlias,0x65, [0xdc,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xdd,0x5c])
    board.WriteI2C(sensorAlias,0x65, [0xde,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xdf,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xe0,0x04])
    board.WriteI2C(sensorAlias,0x65, [0xe1,0x20])
    board.WriteI2C(sensorAlias,0x65, [0xe2,0x05])
    board.WriteI2C(sensorAlias,0x65, [0xe3,0x06])
    board.WriteI2C(sensorAlias,0x65, [0xe4,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xe5,0x84])
    board.WriteI2C(sensorAlias,0x65, [0xe6,0x08])
    board.WriteI2C(sensorAlias,0x65, [0xe7,0x70])
    board.WriteI2C(sensorAlias,0x65, [0xe8,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xe9,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xea,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xeb,0xff])
    board.WriteI2C(sensorAlias,0x65, [0xec,0x00])
    board.WriteI2C(sensorAlias,0x65, [0xed,0xff])
    board.WriteI2C(sensorAlias,0x30, [0xeb,0x04])
    board.WriteI2C(sensorAlias,0x30, [0xed,0x5a])
    board.WriteI2C(sensorAlias,0x30, [0xee,0x01])
    board.WriteI2C(sensorAlias,0x30, [0xef,0x80])
    board.WriteI2C(sensorAlias,0x30, [0xf1,0x5a])
    board.WriteI2C(sensorAlias,0x30, [0x3a,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x3b,0x7f])
    board.WriteI2C(sensorAlias,0x30, [0x3c,0xfe])
    board.WriteI2C(sensorAlias,0x30, [0x3d,0x19])
    board.WriteI2C(sensorAlias,0x30, [0x3e,0xd7])
    board.WriteI2C(sensorAlias,0x30, [0x3f,0x09])
    board.WriteI2C(sensorAlias,0x30, [0x40,0x78])
    board.WriteI2C(sensorAlias,0x30, [0x42,0x05])
    board.WriteI2C(sensorAlias,0x32, [0x8a,0x00])
    board.WriteI2C(sensorAlias,0x31, [0xbf,0x9f])
    board.WriteI2C(sensorAlias,0x31, [0xc0,0xff])
    board.WriteI2C(sensorAlias,0x30, [0x12,0x01])
    board.WriteI2C(sensorAlias,0x30, [0x12,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x00,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x01,0x30])
    board.WriteI2C(sensorAlias,0x30, [0x02,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x04,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x05,0x30])
    board.WriteI2C(sensorAlias,0x30, [0x06,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x8f,0x10])
    board.WriteI2C(sensorAlias,0x31, [0x27,0x63])
    board.WriteI2C(sensorAlias,0x30, [0x74,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x75,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x76,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x77,0x02])
    board.WriteI2C(sensorAlias,0x30, [0x78,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x79,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x7a,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x7b,0x41])
    board.WriteI2C(sensorAlias,0x30, [0x7c,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x7d,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x7e,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x7f,0x38])
    board.WriteI2C(sensorAlias,0x30, [0x80,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x81,0xa9])
    board.WriteI2C(sensorAlias,0x30, [0x82,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x83,0x50])
    board.WriteI2C(sensorAlias,0x30, [0x84,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x85,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x86,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x87,0x04])
    board.WriteI2C(sensorAlias,0x34, [0x44,0x28])
    board.WriteI2C(sensorAlias,0x30, [0x91,0x00])
    board.WriteI2C(sensorAlias,0x31, [0x19,0x55])
    board.WriteI2C(sensorAlias,0x30, [0x12,0x01])
    board.WriteI2C(sensorAlias,0x30, [0x12,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x00,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x01,0x30])
    board.WriteI2C(sensorAlias,0x30, [0x02,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x04,0x03])
    board.WriteI2C(sensorAlias,0x30, [0x05,0x30])
    board.WriteI2C(sensorAlias,0x30, [0x06,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x8f,0x10])
    board.WriteI2C(sensorAlias,0x31, [0x27,0x63])
    board.WriteI2C(sensorAlias,0x30, [0x74,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x75,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x76,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x77,0x02])
    board.WriteI2C(sensorAlias,0x30, [0x78,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x79,0x07])
    board.WriteI2C(sensorAlias,0x30, [0x7a,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x7b,0x41])
    board.WriteI2C(sensorAlias,0x30, [0x7c,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x7d,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x7e,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x7f,0x38])
    board.WriteI2C(sensorAlias,0x30, [0x80,0x05])
    board.WriteI2C(sensorAlias,0x30, [0x81,0xB2])
    board.WriteI2C(sensorAlias,0x30, [0x82,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x83,0x74])
    board.WriteI2C(sensorAlias,0x30, [0x84,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x85,0x04])
    board.WriteI2C(sensorAlias,0x30, [0x86,0x00])
    board.WriteI2C(sensorAlias,0x30, [0x87,0x04])
    board.WriteI2C(sensorAlias,0x34, [0x6d,0x28])
    board.WriteI2C(sensorAlias,0x34, [0x44,0x48])
    board.WriteI2C(sensorAlias,0x30, [0x91,0x0C])
    board.WriteI2C(sensorAlias,0x31, [0x19,0x55])
    board.WriteI2C(sensorAlias,0x30, [0x12,0x01])
    
    board.WriteI2C(sensorAlias,0x31, [0x29,0xc0]) # patgen
    
    time.sleep(1)
    
    # Seeing if CSI data is transmitting
    print "CSI Error = ",hex(board.ReadI2C(UB953, 0x5C, 1))
    print "Packet Header data = ", hex(board.ReadI2C(UB953, 0x61, 1))
    print "Packer Header Word Count 0 = ", hex(board.ReadI2C(UB953, 0x62, 1))
    print "Packer Header Word Count 1 = ", hex(board.ReadI2C(UB953, 0x63, 1))

  • Working with your new script now. I'm getting this error when I try to use the brackets format -- board.ReadI2C(addr, regFirst, [regSec, length]):

    Traceback (most recent call last):
    File "<input>", line 1, in ?
    File "C:\Texas Instruments\Analog LaunchPAD v1.57.0010\Profiles\DS90UB954\DS90UB954_Lib.py", line 1071, in ReadI2C
    File ".\Drivers\i2c_controllers\usb2any\python\usb2any_lib.py", line 142, in i2c_readByteMult
    File "ctypes\__init__.pyc", line 73, in create_string_buffer

    Your drivers seem to not recognize this format for reads?

  • Hi Courtney,

    Can you share the actual command that generated this error?

    I believe you have, but just to confirm, you have downloaded the most recent version of both ALP and the ALP-profile-update correct?

    Thanks,

    Zoe

  • board.ReadI2C(0x24, 0x30, [0x0C, 0x01])

    This should work, right?

    Every time I go to the ALP site, it has no link and no way to get the new version. It just has this, with no other ability to interact with the page. Two grayed out sections, and nothing under Order Now or anything.

  • Hi Courtney,

    Even with the headers grayed out, if you scroll down you should be seeing this under Order Now:

    Is that not there for you? Can you try a different browser?

  • I don't see it in either Chrome or Edge.
  • Actually, I downloaded the newest profile update (December's) from a coworker, and now everything works! For anyone else reading this thread, here's what I had to do to get a new OmniVision daughter card to "talk back" in a basic, Hello World kind of way--

    0. Download the newest version and profile for Analog LaunchPad.
    1. Make a new short Python driver by just copying over the driver posted in this thread, up to the reset line (the first Write command to the OVT).
    2. Replace the OV10640 address with the new camera address. Keep all aliases the same.
    3. Replace the software reset command for the OV camera with the right register for the new camera.
    4. Run the driver.
    5. Run a read command (board.ReadI2C) with 16 bit format as stated in above posts, and make sure *to use the alias, not the camera address*. Otherwise the deserializer won't even send I2C signals at all.

    Done! Thank you so much for helping.
  • Is it possible you have some security software that is intentionally blocking downloads? I have checked and even on my phone browser, the download links are there.

    Could try downloading from a mobile device? If you go through the approval process on a mobile device, a download link should also be sent to your email and this may allow you to bypass this issue.
  • Hi Courtney,

    Glad to hear you got this working! Thanks for sharing the summary of how to get this set up.

    Regards,
    Zoe