Exemplo n.º 1
0
MBOOL
ISP_MGR_G2C_T::
apply(EIspProfile_T eIspProfile, isp_reg_t* pReg)
{
    if (!isEnable()) { // Reset to unit matrix
        reinterpret_cast<ISP_CAM_G2C_CONV_0A_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_0A))->G2C_CNV_00 = 512;
        reinterpret_cast<ISP_CAM_G2C_CONV_0A_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_0A))->G2C_CNV_01 = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_0B_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_0B))->G2C_CNV_02 = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_0B_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_0B))->G2C_Y_OFST = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_1A_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_1A))->G2C_CNV_10 = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_1A_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_1A))->G2C_CNV_11 = 512;
        reinterpret_cast<ISP_CAM_G2C_CONV_1B_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_1B))->G2C_CNV_12 = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_1B_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_1B))->G2C_U_OFST = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_2A_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_2A))->G2C_CNV_20 = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_2A_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_2A))->G2C_CNV_21 = 0;
        reinterpret_cast<ISP_CAM_G2C_CONV_2B_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_2B))->G2C_CNV_22 = 512;
        reinterpret_cast<ISP_CAM_G2C_CONV_2B_T*>(REG_INFO_VALUE_PTR(CAM_G2C_CONV_2B))->G2C_V_OFST = 0;
    }

    ISP_MGR_CTL_EN_P2_T::getInstance(m_eSensorDev).setEnable_G2C(isEnable());

    // TOP 
    ISP_WRITE_ENABLE_BITS(pReg, CAM_CTL_EN_P2, G2C_EN, isEnable());
    
    writeRegs(static_cast<RegInfo_T*>(m_pRegInfo), m_u4RegInfoNum, pReg);

    dumpRegInfo("G2C");

    return MTRUE;
}
Exemplo n.º 2
0
void FXOS8700Q::disable(void) const
{
    uint8_t data[2];
    readRegs(FXOS8700Q_CTRL_REG1, &data[1], 1);
    data[1] &= 0xFE;
    data[0] = FXOS8700Q_CTRL_REG1;
    writeRegs(data, sizeof(data));
}
Exemplo n.º 3
0
MBOOL
ISP_MGR_GGM_T::
apply(EIspProfile_T eIspProfile, isp_reg_t* pReg)
{
    MBOOL bGAMMA_EN = isEnable();

    // TOP 
    ISP_WRITE_ENABLE_BITS(pReg, CAM_CTL_EN_P2, GGM_EN, bGAMMA_EN);

    ISP_MGR_CTL_EN_P2_T::getInstance(m_eSensorDev).setEnable_GGM(bGAMMA_EN);

    // RB table
    writeRegs(static_cast<RegInfo_T*>(m_rIspRegInfo_GGM_RB), GGM_LUT_SIZE, pReg);

    // G table
    writeRegs(static_cast<RegInfo_T*>(m_rIspRegInfo_GGM_G), GGM_LUT_SIZE, pReg);

    return MTRUE;
}
MBOOL
ISP_MGR_MIXER3_T::
apply(EIspProfile_T eIspProfile, isp_reg_t* pReg)
{
    writeRegs(static_cast<RegInfo_T*>(m_pRegInfo), m_u4RegInfoNum, pReg);

    dumpRegInfo("MIXER3");

    return MTRUE;
}
Exemplo n.º 5
0
FXOS8700Q::FXOS8700Q(I2C &i2c, uint8_t addr)
{
    _i2c = &i2c;
    _addr = addr;
    // activate the peripheral
    uint8_t data[2] = {FXOS8700Q_CTRL_REG1, 0x00};
    _i2c->frequency(400000);
    writeRegs(data, 2);
    data[0] = FXOS8700Q_M_CTRL_REG1;
    data[1] = 0x1F;
    writeRegs(data, 2);
    data[0] = FXOS8700Q_M_CTRL_REG2;
    data[1] = 0x20;
    writeRegs(data, 2);
    data[0] = FXOS8700Q_XYZ_DATA_CFG;
    data[1] = 0x00;
    writeRegs(data, 2);
    data[0] = FXOS8700Q_CTRL_REG1;
    data[1] = 0x1C;
    writeRegs(data, 2);
}
Exemplo n.º 6
0
static void MCP79410_setAlarm (MCP79410_t *rtc, uint8_t baseAddr, RTC_DateTime_t *dateTime, uint8_t alarmMask)
{
    readRegs(rtc->twi, baseAddr, 6);
    uint8_t *ptr = regsBuffer+baseAddr;
    *ptr = dateTime->seconds_bcd & 0x7F;
    ptr ++;
    *ptr++ = dateTime->minutes_bcd & 0x7F;
    *ptr = (*ptr & 0x40) | (dateTime->hours_bcd & 0x3F);
    ptr ++;
    *ptr++ = (alarmMask & 0xF4) | (dateTime->weekday & 0x07);
    *ptr++ = dateTime->day_bcd & 0x3F;
    *ptr++ = dateTime->month_bcd & 0x1F;
    writeRegs(rtc->twi, baseAddr, 6);
}
Exemplo n.º 7
0
void MCP79410_setDate (MCP79410_t *rtc, RTC_DateTime_t *dateTime)
{
    readRegs(rtc->twi, MCP79410_TIME_ADDR, 7);
    uint8_t *ptr = regsBuffer+MCP79410_TIME_ADDR;
    *ptr = (*ptr & 0x80) | (dateTime->seconds_bcd & 0x7F);
    ptr ++;
    *ptr++ = dateTime->minutes_bcd & 0x7F;
    *ptr = (*ptr & 0x40) | (dateTime->hours_bcd & 0x3F);
    ptr ++;
    *ptr = (*ptr & 0xF4) | (dateTime->weekday & 0x07);
    ptr ++;
    *ptr++ = dateTime->day_bcd & 0x3F;
    *ptr = (*ptr & 0xE0) | (dateTime->month_bcd & 0x1F);
    ptr ++;
    *ptr = dateTime->year_bcd;
    writeRegs(rtc->twi, MCP79410_TIME_ADDR, 7);
}
Exemplo n.º 8
0
MBOOL
ISP_MGR_SEEE_T::
apply(EIspProfile_T eIspProfile, isp_reg_t* pReg)
{
    MBOOL bSEEE_EN = isEnable();

    ISP_MGR_CTL_EN_P2_T::getInstance(m_eSensorDev).setEnable_SEEE(bSEEE_EN);

    // TOP
    ISP_WRITE_ENABLE_BITS(pReg, CAM_CTL_EN_P2, SEEE_EN, bSEEE_EN);
    
    writeRegs(static_cast<RegInfo_T*>(m_pRegInfo), m_u4RegInfoNum, pReg);

    dumpRegInfo("SEEE");

    return  MTRUE;
}