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; }
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)); }
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; }
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); }
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); }
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); }
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; }