SCF_STATE CAM_SM::PowerUp_STC_ReadId(s_scf_event const *e) { switch (e->sig) { case SCF_STATE_ENTRY_SIG: { ENTRY; MSG0("PowerUp_STC_ReadId-SCF_STATE_ENTRY_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_ReadId-SCF_STATE_ENTRY_SIG", (&mENSComponent)); pIspctlCom->queuePE(Sensor_Tuning_Status_u16_CurrentSubBlockIdValue_Byte0,0); pIspctlCom->readQueue(); return 0; } case EVT_ISPCTL_LIST_INFO_SIG: { MSG0("PowerUp_STC_ReadId-EVT_ISPCTL_LIST_INFO_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_ReadId-EVT_ISPCTL_LIST_INFO_SIG", (&mENSComponent)); if (e->type.ispctlInfo.info_id != ISP_READLIST_DONE) break; //#if defined (OSI_DEBUG) for(t_uint16 i=0; i < e->type.ispctlInfo.number_of_pe; i++) { MSG3(" PE[%d] %s = 0x%lX\n", i, pSensor->GetPeName(e->type.ispctlInfo.Listvalue[i].pe_addr), e->type.ispctlInfo.Listvalue[i].pe_data ); //OstTraceFiltStatic3(TRACE_DEBUG, "PE[%d] %s = 0x%lX", (&mENSComponent), i, CXp70::GetPeName(e->type.ispctlInfo.Listvalue[i].pe_addr), e->type.ispctlInfo.Listvalue[i].pe_data ); } //#endif // Store tuning BlockId value pFwSubBlockId[iCurrentFwSubBlockIndex] = (t_uint16)e->type.ispctlInfo.Listvalue[0].pe_data; MSG2(" FwSubBlockId[%d] = ID%d\n", iCurrentFwSubBlockIndex, pFwSubBlockId[iCurrentFwSubBlockIndex]); OstTraceFiltStatic2(TRACE_DEBUG, "FwSubBlockId[%d] = ID%d", (&mENSComponent), iCurrentFwSubBlockIndex, pFwSubBlockId[iCurrentFwSubBlockIndex]); // Another block to be fetched ? iCurrentFwSubBlockIndex++; if(iCurrentFwSubBlockIndex<iFwSubBlockIdsCount) { // Still some tuning blocks IDs are to be fetched MSG0(" Some blocks ID are to be fetched\n"); OstTraceFiltStatic0(TRACE_DEBUG, "Some blocks ID are to be fetched", (&mENSComponent)); SCF_TRANSIT_TO(&CAM_SM::PowerUp_STC_QueryId); } else { // All tuning blocks IDs were fetched MSG1(" All block IDs were fetched: total %d\n", iFwSubBlockIdsCount); OstTraceFiltStatic1(TRACE_DEBUG, "All block IDs were fetched: total %d", (&mENSComponent), iFwSubBlockIdsCount); //#if defined (OSI_DEBUG) for(t_uint16 i=0; i<iFwSubBlockIdsCount; i++) { MSG2(" FwSubBlockId[%d] = ID%d\n", i, pFwSubBlockId[i]); OstTraceFiltStatic2(TRACE_DEBUG, "FwSubBlockId[%d] = ID%d", (&mENSComponent), i, pFwSubBlockId[i]); } //#endif SCF_TRANSIT_TO(&CAM_SM::PowerUp_STC_LoadData); } return 0; } case SCF_STATE_EXIT_SIG: { EXIT; return 0; } default: break; } return SCF_STATE_PTR(&COM_SM::SHARED_ControlingISPState_Boot); }
/* * This function sets the DefCor dampers */ t_damper_error_code CDefCorDamper::SetDamper( const t_defcor_damper_id aDamperId, const float* pValues, const int aNumRows, const int aNumCols) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CDefCorDamper::SetDamper", (mTraceObject)); t_damper_error_code err = DAMPER_OK; if(aDamperId<0 || aDamperId>=DEFCOR_DAMPERS_NUM) { DBGT_ERROR("Invalid damper Id: %d\n", aDamperId); OstTraceFiltStatic1(TRACE_ERROR, "Invalid damper Id: %d", (mTraceObject), aDamperId); OUTR(" ",DAMPER_INVALID_ARGUMENT); OstTraceFiltStatic1(TRACE_FLOW, "Exit CDefCorDamper::SetDamper (%d)", (mTraceObject), DAMPER_INVALID_ARGUMENT); return DAMPER_INVALID_ARGUMENT; } MSG3("[%s] NumRows=%d, NumCols=%d\n", KDefCorDamperInfo[aDamperId].name, aNumRows, aNumCols); OstTraceFiltStatic3(TRACE_DEBUG, "[KDefCorDamperInfo[%d].name] NumRows=%d, NumCols=%d", (mTraceObject), aDamperId, aNumRows, aNumCols); err = DoSetDamper( aDamperId, pValues, aNumRows, aNumCols); if(err!=DAMPER_OK) { DBGT_ERROR("[%s] failed to set damper: err=%d\n", KDefCorDamperInfo[aDamperId].name, err); OstTraceFiltStatic2(TRACE_ERROR, "[KDefCorDamperInfo[%d].name] failed to set damper: err=%d", (mTraceObject), aDamperId, err); OUTR(" ",err); OstTraceFiltStatic1(TRACE_FLOW, "Exit CDefCorDamper::SetDamper (%d)", (mTraceObject), err); return err; } OUTR(" ",DAMPER_OK); OstTraceFiltStatic1(TRACE_FLOW, "Exit CDefCorDamper::SetDamper (%d)", (mTraceObject), DAMPER_OK); return DAMPER_OK; }
/* * This function sets the sharpening damper */ t_damper_error_code CSharpeningDamperLR::SetDamper( const t_sharpening_damper_lr_id aDamperId, const float* pValues, const int aNumRows, const int aNumCols) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CSharpeningDamperLR::SetDamper", (mTraceObject)); t_damper_error_code err = DAMPER_OK; if(aDamperId<0 || aDamperId>=SHARPENING_DAMPERS_LR_NUM) { DBGT_ERROR("Invalid damper Id: %d\n", aDamperId); OstTraceFiltStatic1(TRACE_ERROR, "Invalid damper Id: %d", (mTraceObject), aDamperId); OUTR(" ",DAMPER_INVALID_ARGUMENT); OstTraceFiltStatic1(TRACE_FLOW, "Exit CSharpeningDamperLR::SetDamper (%d)", (mTraceObject), DAMPER_INVALID_ARGUMENT); return DAMPER_INVALID_ARGUMENT; } MSG3("[%s] NumRows=%d, NumCols=%d\n", SHARPENING_DAMPER_LR_NAME(aDamperId), aNumRows, aNumCols); OstTraceFiltStatic3(TRACE_DEBUG, "SHARPENING_DAMPER_LR_NAME(%d) NumRows=%d, NumCols=%d", (mTraceObject), aDamperId, aNumRows, aNumCols); err = DoSetDamper( aDamperId, pValues, aNumRows, aNumCols); if(err!=DAMPER_OK) { DBGT_ERROR("[%s] failed to set damper: err=%d\n", SHARPENING_DAMPER_LR_NAME(aDamperId), err); OstTraceFiltStatic2(TRACE_ERROR, "SHARPENING_DAMPER_LR_NAME(%d) failed to set damper: err=%d", (mTraceObject), aDamperId, err); OUTR(" ",err); OstTraceFiltStatic1(TRACE_FLOW, "Exit CSharpeningDamperLR::SetDamper (%d)", (mTraceObject), err); return err; } OUTR(" ",DAMPER_OK); OstTraceFiltStatic1(TRACE_FLOW, "Exit CSharpeningDamperLR::SetDamper (%d)", (mTraceObject), DAMPER_OK); return DAMPER_OK; }
SCF_STATE CAM_SM::PowerUp_STC_QueryId(s_scf_event const *e) { switch (e->sig) { case SCF_STATE_ENTRY_SIG: { ENTRY; // Ask the next block ID and toggle the coin MSG2(" Query Block[%d], coin state=%d\n", iCurrentFwSubBlockIndex, (int)iStatusCoin); OstTraceFiltStatic2(TRACE_DEBUG, " Query Block[%d], coin state=%d", (&mENSComponent), iCurrentFwSubBlockIndex, (int)iStatusCoin); pIspctlCom->queuePE(Sensor_Tuning_Control_u16_SelectedSubBlockIdIndex_Byte0,(t_uint32)iCurrentFwSubBlockIndex); pIspctlCom->queuePE(Sensor_Tuning_Control_e_Coin_SubBlock_Control_Byte0,(t_uint32)(iStatusCoin==Coin_e_Heads ? Coin_e_Tails : Coin_e_Heads)); pIspctlCom->processQueue(); return 0; } case EVT_ISPCTL_LIST_INFO_SIG: { MSG0("PowerUp_STC_QueryId-EVT_ISPCTL_LIST_INFO_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_QueryId-EVT_ISPCTL_LIST_INFO_SIG", (&mENSComponent)); if (e->type.ispctlInfo.info_id != ISP_WRITELIST_DONE) break; SCF_TRANSIT_TO(&CAM_SM::PowerUp_STC_CheckCoin); return 0; } case SCF_STATE_EXIT_SIG: { EXIT; return 0; } default: break; } return SCF_STATE_PTR(&COM_SM::SHARED_ControlingISPState_Boot); }
/* * This function sets the OMX setting value */ void CSharpeningDamperLR::SetOmxMapping(float aGain, float aOffset) { iScaleFactorGain = aGain; iScaleFactorOffset = aOffset; MSG2("OMX Mapping: gain=%f, offset=%f\n", iScaleFactorGain, iScaleFactorOffset); OstTraceFiltStatic2(TRACE_DEBUG, "OMX Mapping: gain=%f, offset=%f", (mTraceObject), iScaleFactorGain, iScaleFactorOffset); }
/* * This function launches the loading of the firmware tuning data */ TuningLoaderMgrError_t CTuningLoaderManager::loadFirmwareTuningData(const t_camera_info* pCamInfo, const t_fw_blocks_info* pFwBlocksInfo) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CTuningLoaderManager::loadFirmwareTuningData", (mTraceObject)); // Check if constructed if(iNmfInstance == NULL) { MSG0("Instance not constructed\n"); OstTraceFiltStatic0(TRACE_DEBUG, "Instance not constructed", (mTraceObject)); OUTR(" ",TUNING_LOADER_MGR_NOT_CONSTRUCTED); OstTraceFiltStatic1(TRACE_FLOW, "Exit CTuningLoaderManager::loadFirmwareTuningData (%d)", (mTraceObject), TUNING_LOADER_MGR_NOT_CONSTRUCTED); return TUNING_LOADER_MGR_NOT_CONSTRUCTED; } // Aguments sanity check if( pCamInfo == NULL || pFwBlocksInfo == NULL) { MSG2("Bad argument: pCamInfo=%p, pFwBlocksInfo=%p\n", pCamInfo, pFwBlocksInfo); OstTraceFiltStatic2(TRACE_ERROR, "Bad argument: pCamInfo=0x%x, pFwBlocksInfo=0x%x", (mTraceObject), (t_uint32)pCamInfo, (t_uint32)pFwBlocksInfo); OUTR(" ",TUNING_LOADER_MGR_BAD_ARGUMENT); OstTraceFiltStatic1(TRACE_FLOW, "Exit CTuningLoaderManager::loadFirmwareTuningData (%d)", (mTraceObject), TUNING_LOADER_MGR_BAD_ARGUMENT); return TUNING_LOADER_MGR_BAD_ARGUMENT; } // Send command to NMF MSG0("Send 'loadFirmwareTuning' command to NMF\n"); OstTraceFiltStatic0(TRACE_DEBUG, "Send 'loadFirmwareTuning' command to NMF", (mTraceObject)); iNmfQueryIntf.loadFirmwareTuning(*pCamInfo, *pFwBlocksInfo); OUTR(" ",TUNING_LOADER_MGR_OK); OstTraceFiltStatic1(TRACE_FLOW, "Exit CTuningLoaderManager::loadFirmwareTuningData (%d)", (mTraceObject), TUNING_LOADER_MGR_OK); return TUNING_LOADER_MGR_OK; }
void main(void) { // Test All GROUPS OstTraceInt0 (TRACE_ERROR, "ST_OSTTC_TEST2 TRACE_ERROR: OstTraceInt0"); OstTraceInt0 (TRACE_WARNING, "ST_OSTTC_TEST2 TRACE_WARNING: OstTraceInt0"); OstTraceInt0 (TRACE_FLOW, "ST_OSTTC_TEST2 TRACE_FLOW: OstTraceInt0"); OstTraceInt0 (TRACE_DEBUG, "ST_OSTTC_TEST2 TRACE_DEBUG: OstTraceInt0"); OstTraceInt0 (TRACE_API, "ST_OSTTC_TEST2 TRACE_API: OstTraceInt0"); OstTraceInt0 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceInt0"); OstTraceInt0 (TRACE_OMX_BUFFER, "ST_OSTTC_TEST2 TRACE_OMX_BUFFER: OstTraceInt0"); OstTraceInt0 (TRACE_RESERVED, "ST_OSTTC_TEST2 TRACE_OMX_RESERVED: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_0, "ST_OSTTC_TEST2 TRACE_MY_GROUP_0: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_1, "ST_OSTTC_TEST2 TRACE_MY_GROUP_1: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_2, "ST_OSTTC_TEST2 TRACE_MY_GROUP_2: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_3, "ST_OSTTC_TEST2 TRACE_MY_GROUP_3: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_4, "ST_OSTTC_TEST2 TRACE_MY_GROUP_4: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_5, "ST_OSTTC_TEST2 TRACE_MY_GROUP_5: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_6, "ST_OSTTC_TEST2 TRACE_MY_GROUP_6: OstTraceInt0"); OstTraceInt0 (TRACE_MY_GROUP_7, "ST_OSTTC_TEST2 TRACE_MY_GROUP_7: OstTraceInt0"); // Test OstTraceIntx API OstTraceInt1 (TRACE_ERROR, "ST_OSTTC_TEST2 TRACE_ERROR: OstTraceInt1: %d", test); OstTraceInt2 (TRACE_WARNING, "ST_OSTTC_TEST2 TRACE_WARNING: OstTraceInt2: %d %d", test, test); OstTraceInt3 (TRACE_MY_GROUP_6, "ST_OSTTC_TEST2 TRACE_MY_GROUP_6: OstTraceInt3: %d %d %d", test, test, test); OstTraceInt4 (TRACE_MY_GROUP_7, "ST_OSTTC_TEST2 TRACE_MY_GROUP_7: OstTraceInt4: %d %d %d %d", test, test, test, test); // Test OstTraceFiltStaticx API OstTraceFiltInst0 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic0:"); OstTraceFiltInst1 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic1 : %d", test); OstTraceFiltInst2 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic2 : %d %d", test, test); OstTraceFiltInst3 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic3 : %d %d %d", test, test, test); OstTraceFiltInst4 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic4 : %d %d %d %d", test, test, test, test); // Test OstTraceFiltStaticx API OstTraceFiltStatic0 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic0:"); OstTraceFiltStatic1 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic1 : %d", test); OstTraceFiltStatic2 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic2 : %d %d", test, test); OstTraceFiltStatic3 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic3 : %d %d %d", test, test, test); OstTraceFiltStatic4 (TRACE_OMX_API, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltStatic4 : %d %d %d %d", test, test, test, test); // Test trace Buffer API OstTraceArray (TRACE_RESERVED, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceArray %{int8[]}", ptr, size); OstTraceFiltInstData(TRACE_RESERVED, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltInstData %{int8[]}", ptr, size); OstTraceFiltStaticData(TRACE_RESERVED, "ST_OSTTC_TEST2 TRACE_OMX_API: OstTraceFiltInstData %{int8[]}",aInstPtr, ptr, size); // Check Syntax ALL below syntax shall be parsed OstTraceInt0 (TRACE_ERROR, "ST_OSTTC_TEST2 TRACE_ERROR: OstTraceInt0"); OstTraceInt0 ( TRACE_ERROR , "ST_OSTTC_TEST2 TRACE_ERROR: OstTraceInt0"); }
camSharedMemError_t CCamSharedMemory::cacheClean(camSharedMemChunkId_t chunkId) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CCamSharedMemory::cacheClean", (mTraceObject)); if (state != CCamSharedMemory::CAM_SHARED_MEM_STATE_OPEN) { OUT0("\n"); OstTraceFiltStatic1(TRACE_FLOW, "Exit CCamSharedMemory::cacheClean (%d)", (mTraceObject), CAM_SHARED_MEM_ERR_BAD_STATE); return CAM_SHARED_MEM_ERR_BAD_STATE; } if (chunkId >= CAM_SHARED_MEM_CHUNK_MAX) { OUT0("\n"); OstTraceFiltStatic1(TRACE_FLOW, "Exit CCamSharedMemory::cacheClean (%d)", (mTraceObject), CAM_SHARED_MEM_ERR_BAD_PARAMETER); return CAM_SHARED_MEM_ERR_BAD_PARAMETER; } #ifndef CAM_SHARED_MEM_DEBUG /* Exceptionally allow cleaning before the chunk has been requested. For memory debug purpose. */ if (! abBusyChunks[chunkId]) { OUT0("\n"); OstTraceFiltStatic1(TRACE_FLOW, "Exit CCamSharedMemory::cacheClean (%d)", (mTraceObject), CAM_SHARED_MEM_ERR_BAD_PRECONDITION); return CAM_SHARED_MEM_ERR_BAD_PRECONDITION; } #endif /* CAM_SHARED_MEM_DEBUG */ OMX_U32 aPhysAddr; // out /* OMX_ERRORTYPE e_ret = sharedBufferPoolId->CacheSync(MMHwBuffer::ESyncBeforeReadHwOperation, * After the switch to the 2.6.35 kernel version, MMHwBuffer cache synchronization has changed * (switch from pmem to hwmem driver), with an impact on the API => sync before read AND before write are mandatory. */ OMX_ERRORTYPE e_ret1 = sharedBufferPoolId->CacheSync(MMHwBuffer::ESyncBeforeReadHwOperation, (OMX_U32) aChunks[chunkId].armLogicalAddress, aChunks[chunkId].size, aPhysAddr); OMX_ERRORTYPE e_ret2 = sharedBufferPoolId->CacheSync(MMHwBuffer::ESyncBeforeWriteHwOperation, (OMX_U32) aChunks[chunkId].armLogicalAddress, aChunks[chunkId].size, aPhysAddr); if ((e_ret1 != OMX_ErrorNone) || (e_ret2 != OMX_ErrorNone)){ MSG2("Problem cleaning data cache (err=%d);%d\n", e_ret1, e_ret2); OstTraceFiltStatic2(TRACE_DEBUG, "Problem cleaning data cache (err=%d);%d", (mTraceObject), e_ret1, e_ret2); OUT0(""); OstTraceFiltStatic1(TRACE_FLOW, "Exit CCamSharedMemory::cacheClean (%d)", (mTraceObject), CAM_SHARED_MEM_ERR_NO_RESOURCE); return CAM_SHARED_MEM_ERR_NO_RESOURCE; } OUT0("\n"); OstTraceFiltStatic1(TRACE_FLOW, "Exit CCamSharedMemory::cacheClean (%d)", (mTraceObject), CAM_SHARED_MEM_ERR_NONE); return CAM_SHARED_MEM_ERR_NONE; }
/* * This function computes the dampers and queues the Page Elements */ t_damper_error_code CNoiseModelDamper::ComputeAndQueuePEs( CIspctlCom* pIspctlCom, const t_damper_base_values* pBaseValues, const float aAverageDigitalGain) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CNoiseModelDamper::ComputeAndQueuePEs", (mTraceObject)); float pDampedValues[1] = { 0.0 }; float fUserFrameSigma = 0.0; t_damper_error_code err = DAMPER_OK; // Evaluate Noise Model dampers err = DoEvaluate( pBaseValues, pDampedValues); if(err!=DAMPER_OK) { MSG1("Evaluation failed: err=%d\n", err); OstTraceFiltStatic1(TRACE_DEBUG, "Evaluation failed: err=%d", (mTraceObject), err); OUTR(" ",err); OstTraceFiltStatic1(TRACE_FLOW, "Exit CNoiseModelDamper::ComputeAndQueuePEs (%d)", (mTraceObject), err); return err; } // Scale the damper output by the reference Shading Correction Gain, Average Digital Gain and pipeline dynamic range // NOTE: the damper output is now the noise sigma at pipeline input, normalized to pipeline dynamic range MSG2("iShadingCorrectionGain=%f, aAverageDigitalGain=%f\n", iShadingCorrectionGain, aAverageDigitalGain); OstTraceFiltStatic2(TRACE_DEBUG, "iShadingCorrectionGain=%f, aAverageDigitalGain=%f", (mTraceObject), iShadingCorrectionGain, aAverageDigitalGain); fUserFrameSigma = pDampedValues[0] * iShadingCorrectionGain * aAverageDigitalGain * 4095.0; // Clip against hardware limit if(fUserFrameSigma >= 1024) { fUserFrameSigma = 1024; } // Queue the Page Elements MSG2("%s = %f\n", CIspctlCom::pIspctlSensor->GetPeName(DusterControl_u16_FrameSigma_Byte0), fUserFrameSigma); OstTraceFiltStatic1(TRACE_DEBUG, "DusterControl_u16_FrameSigma = %f", (mTraceObject), fUserFrameSigma); pIspctlCom->queuePE( DusterControl_u16_FrameSigma_Byte0, (t_uint32)fUserFrameSigma); // Done OUTR(" ",DAMPER_OK); OstTraceFiltStatic1(TRACE_FLOW, "Exit CNoiseModelDamper::ComputeAndQueuePEs (%d)", (mTraceObject), DAMPER_OK); return DAMPER_OK; }
/* * This function sets the Gaussian Weight damper */ t_damper_error_code CNoiseFilterDamper::SetDusterGaussianWeightDamper( const float* pValues, const int aNumRows, const int aNumCols) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CNoiseFilterDamper::SetDusterGaussianWeightDamper", (mTraceObject)); t_damper_error_code err = DAMPER_OK; MSG2("[Gaussian Weight] NumRows=%d, NumCols=%d\n", aNumRows, aNumCols); OstTraceFiltStatic2(TRACE_DEBUG, "[Gaussian Weight] NumRows=%d, NumCols=%d", (mTraceObject), aNumRows, aNumCols); err = DoSetDamper( pValues, aNumRows, aNumCols); if(err!=DAMPER_OK) { DBGT_ERROR("[Gaussian Weight] failed to set damper: err=%d\n", err); OstTraceFiltStatic1(TRACE_ERROR, "[Gaussian Weight] failed to set damper: err=%d", (mTraceObject), err); OUTR(" ",err); OstTraceFiltStatic1(TRACE_FLOW, "Exit CDefCorDamper::SetDamper (%d)", (mTraceObject), err); return err; } OUTR(" ",DAMPER_OK); OstTraceFiltStatic1(TRACE_FLOW, "Exit CDefCorDamper::SetDamper (%d)", (mTraceObject), DAMPER_OK); return DAMPER_OK; }
/* * This function sets the Noise Model damper */ t_damper_error_code CNoiseModelDamper::SetFrameSigmaDamper( const float* pValues, const int aNumRows, const int aNumCols) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CNoiseModelDamper::SetFrameSigmaDamper", (mTraceObject)); t_damper_error_code err = DAMPER_OK; MSG2("[Frame Sigma] NumRows=%d, NumCols=%d\n", aNumRows, aNumCols); OstTraceFiltStatic2(TRACE_DEBUG, "[Frame Sigma] NumRows=%d, NumCols=%d", (mTraceObject), aNumRows, aNumCols); err = DoSetDamper( pValues, aNumRows, aNumCols); if(err!=DAMPER_OK) { MSG1("[Frame Sigma] failed to set damper: err=%d\n", err); OstTraceFiltStatic1(TRACE_DEBUG, "[Frame Sigma] failed to set damper: err=%d", (mTraceObject), err); OUTR(" ",err); OstTraceFiltStatic1(TRACE_FLOW, "Exit CNoiseModelDamper::SetFrameSigmaDamper (%d)", (mTraceObject), err); return err; } OUTR(" ",DAMPER_OK); OstTraceFiltStatic1(TRACE_FLOW, "Exit CNoiseModelDamper::SetFrameSigmaDamper (%d)", (mTraceObject), DAMPER_OK); return DAMPER_OK; }
/* * This function sets the Coring Level damper */ t_damper_error_code CScorpioDamper::SetCoringLevelDamper( const float* pValues, const int aNumRows, const int aNumCols) { IN0("\n"); OstTraceFiltStatic0(TRACE_FLOW, "Entry CScorpioDamper::SetCoringLevelDamper", (mTraceObject)); t_damper_error_code err = DAMPER_OK; MSG2("[Coring Level] NumRows=%d, NumCols=%d\n", aNumRows, aNumCols); OstTraceFiltStatic2(TRACE_DEBUG, "[Coring Level] NumRows=%d, NumCols=%d", (mTraceObject), aNumRows, aNumCols); err = DoSetDamper( pValues, aNumRows, aNumCols); if(err!=DAMPER_OK) { DBGT_ERROR("[Coring Level] failed to set damper: err=%d\n", err); OstTraceFiltStatic1(TRACE_ERROR, "[Coring Level] failed to set damper: err=%d", (mTraceObject), err); OUTR(" ",err); OstTraceFiltStatic1(TRACE_FLOW, "Exit CScorpioDamper::SetCoringLevelDamper (%d)", (mTraceObject), err); return err; } OUTR(" ",DAMPER_OK); OstTraceFiltStatic1(TRACE_FLOW, "Exit CScorpioDamper::SetCoringLevelDamper (%d)", (mTraceObject), DAMPER_OK); return DAMPER_OK; }
SCF_STATE CAM_SM::PowerUp_STC_LoadData(s_scf_event const *e) { switch (e->sig) { case SCF_STATE_ENTRY_SIG: { MSG0("PowerUp_STC_LoadData-SCF_STATE_ENTRY_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_LoadData-SCF_STATE_ENTRY_SIG", (&mENSComponent)); TuningLoaderMgrError_t tlmErr = TUNING_LOADER_MGR_OK; t_camera_info camInfo; // Initialisation to remove Coverity Warning camInfo.manufId = 0; camInfo.modelId = 0; camInfo.revNum = 0; camInfo.Fuse_Id[0] = 0; camInfo.Fuse_Id[1] = 0; camInfo.Fuse_Id[2] = 0; camInfo.Fuse_Id4 = 0; camInfo.manufId = pSensor->GetSensorManufacturer(); camInfo.modelId = pSensor->GetSensorModel(); camInfo.revNum = pSensor->GetSensorRevNumber(); t_fw_blocks_info fwBlocks; fwBlocks.subBlockCount = iFwSubBlockIdsCount; fwBlocks.pSubBlockId = pFwSubBlockId; MSG0("PowerUp_STC_LoadData: loading firmware tuning data\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_LoadData: loading firmware tuning data", (&mENSComponent)); tlmErr = pTuningLoaderManager->loadFirmwareTuningData(&camInfo, &fwBlocks); if(tlmErr != TUNING_LOADER_MGR_OK) { DBGT_ERROR("PowerUp_STC_LoadData: firmware tuning data loading failed err=%d (%s)\n", tlmErr, CTuningLoaderManager::errorCode2String(tlmErr)); OstTraceFiltStatic1(TRACE_ERROR, "PowerUp_STC_LoadData: firmware tuning data loading failed err=%d", (&mENSComponent), tlmErr); DBC_ASSERT(0); return 0; } return 0; } case TUNING_LOADER_OPERATION_DONE_SIG: { MSG0("PowerUp_STC_LoadData-TUNING_LOADER_OPERATION_DONE_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_LoadData-TUNING_LOADER_OPERATION_DONE_SIG", (&mENSComponent)); MSG2("Deleting pFwSubBlockId=%p (%d entries)\n", pFwSubBlockId, iFwSubBlockIdsCount); OstTraceFiltStatic2(TRACE_DEBUG, "Deleting pFwSubBlockId=%0x%x (%d entries)", (&mENSComponent), (t_uint32)pFwSubBlockId, iFwSubBlockIdsCount); delete [] pFwSubBlockId; pFwSubBlockId = NULL; SCF_TRANSIT_TO(&CAM_SM::PowerUp_STC_SendDataToFirmware); return 0; } case TUNING_LOADER_OPERATION_FAILED_SIG: { MSG0("PowerUp_STC_LoadData-TUNING_LOADER_OPERATION_FAILED_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_LoadData-TUNING_LOADER_OPERATION_FAILED_SIG", (&mENSComponent)); DBGT_ERROR("PowerUp_STC_LoadData: failed to load firmware tuning data err=%ld (%s)\n", e->type.tuningLoaderEvent.error, pTuningLoaderManager->loaderErrorCode2String(e->type.tuningLoaderEvent.error)); OstTraceFiltStatic1(TRACE_ERROR, "PowerUp_STC_LoadData: failed to load firmware tuning data err=%ld", (&mENSComponent), e->type.tuningLoaderEvent.error); DBC_ASSERT(0); return 0; } case SCF_STATE_EXIT_SIG: { EXIT; return 0; } default: break; } return SCF_STATE_PTR(&COM_SM::SHARED_ControlingISPState_Boot); }
SCF_STATE CAM_SM::PowerUp_STC_GetNbBlockIds(s_scf_event const *e) { switch (e->sig) { case SCF_STATE_ENTRY_SIG: { ENTRY; MSG0("PowerUp_STC_GetNbBlockIds-SCF_STATE_ENTRY_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_GetNbBlockIds-SCF_STATE_ENTRY_SIG", (&mENSComponent)); // Ask to firmware how many tuning blocks are supported and get current coin value pIspctlCom->queuePE(Sensor_Tuning_Status_u16_TotalSubBlockIdsCount_Byte0,0); pIspctlCom->queuePE(Sensor_Tuning_Status_e_Coin_SubBlock_Status_Byte0,0); pIspctlCom->readQueue(); return 0; } case EVT_ISPCTL_LIST_INFO_SIG: { MSG0("PowerUp_STC_GetNbBlockIds-EVT_ISPCTL_LIST_INFO_SIG\n"); OstTraceFiltStatic0(TRACE_DEBUG, "PowerUp_STC_GetNbBlockIds-EVT_ISPCTL_LIST_INFO_SIG", (&mENSComponent)); if(e->type.ispctlInfo.info_id != ISP_READLIST_DONE) break; // Store the Firmware tuning info related data iFwSubBlockIdsCount = (t_uint16)e->type.ispctlInfo.Listvalue[0].pe_data; iStatusCoin = (Coin_te) e->type.ispctlInfo.Listvalue[1].pe_data; if(iFwSubBlockIdsCount==0) { // Firmware does not support tuning MSG0(" Tuning not supported by the firmware\n"); OstTraceFiltStatic0(TRACE_DEBUG, "Tuning not supported by the firmware", (&mENSComponent)); pFwSubBlockId = NULL; SCF_TRANSIT_TO(&COM_SM::SHARED_ControlingISPState); return 0; } else { // Firmware supports tuning: retrieve the supported IDs MSG1(" Tuning supported by the firmware: %d FwSubBlocks supported\n", iFwSubBlockIdsCount); OstTraceFiltStatic1(TRACE_DEBUG, "Tuning supported by the firmware: %d FwSubBlocks supported", (&mENSComponent), iFwSubBlockIdsCount); iStatusCoinRetriesCount = 0; iCurrentFwSubBlockIndex = 0; pFwSubBlockId = new t_uint16[iFwSubBlockIdsCount]; if(pFwSubBlockId==NULL) { DBGT_ERROR(" Failed to allocate %d entries for FwSubBlock IDs\n", iFwSubBlockIdsCount); OstTraceFiltStatic1(TRACE_ERROR, "Failed to allocate %d entries for FwSubBlock IDs", (&mENSComponent), iFwSubBlockIdsCount); DBC_ASSERT(0); return 0; } MSG2(" Allocated pFwSubBlockId=%p (%d entries)\n", pFwSubBlockId, iFwSubBlockIdsCount); OstTraceFiltStatic2(TRACE_DEBUG, "Allocated pFwSubBlockId=0x%x (%d entries)", (&mENSComponent), (t_uint32)pFwSubBlockId, iFwSubBlockIdsCount); SCF_TRANSIT_TO(&CAM_SM::PowerUp_STC_QueryId); } return 0; } case SCF_STATE_EXIT_SIG: { EXIT; return 0; } default: break; } return SCF_STATE_PTR(&COM_SM::SHARED_ControlingISPState_Boot); }