modify table name
This commit is contained in:
parent
8b4e208e4a
commit
fad8c2928c
@ -349,7 +349,6 @@ int Uart::DealAskTask(uint16_t ushortAdd){
|
|||||||
int taskID = scheduler::instance().StartSchedule(ushortAdd,next_duration);
|
int taskID = scheduler::instance().StartSchedule(ushortAdd,next_duration);
|
||||||
ScheduleTask scheduleTask;
|
ScheduleTask scheduleTask;
|
||||||
zlog_info(zct, "taskID = %d ", taskID);
|
zlog_info(zct, "taskID = %d ", taskID);
|
||||||
taskID = 5;
|
|
||||||
if (taskID == kScheduleEigenValue) //1.特征值
|
if (taskID == kScheduleEigenValue) //1.特征值
|
||||||
{
|
{
|
||||||
char localtimestamp[32] = {0x00};
|
char localtimestamp[32] = {0x00};
|
||||||
@ -641,7 +640,6 @@ void Uart::DealDataNodeName(const char *pData) {
|
|||||||
data_publish(strData.c_str(), GlobalConfig::Topic_G.mPubConfig.c_str());
|
data_publish(strData.c_str(), GlobalConfig::Topic_G.mPubConfig.c_str());
|
||||||
|
|
||||||
char szTableName[50] = {0x00};
|
char szTableName[50] = {0x00};
|
||||||
char sql_table_exist[50] = {0};
|
|
||||||
sprintf(szTableName, "t_data_%s", MeasurementID);
|
sprintf(szTableName, "t_data_%s", MeasurementID);
|
||||||
memset(whereCon,0,sizeof(whereCon));
|
memset(whereCon,0,sizeof(whereCon));
|
||||||
sprintf(whereCon,"type='table' and name = '%s'",szTableName);
|
sprintf(whereCon,"type='table' and name = '%s'",szTableName);
|
||||||
@ -650,7 +648,6 @@ void Uart::DealDataNodeName(const char *pData) {
|
|||||||
if (ret == 0){
|
if (ret == 0){
|
||||||
sqlite_db_ctrl::instance().Createtable(szTableName);
|
sqlite_db_ctrl::instance().Createtable(szTableName);
|
||||||
}
|
}
|
||||||
memset(sql_table_exist, 0x00, sizeof(sql_table_exist));
|
|
||||||
memset(szTableName, 0x00, sizeof(szTableName));
|
memset(szTableName, 0x00, sizeof(szTableName));
|
||||||
sprintf(szTableName, "t_dataStatic_%s", MeasurementID);
|
sprintf(szTableName, "t_dataStatic_%s", MeasurementID);
|
||||||
memset(whereCon,0,sizeof(whereCon));
|
memset(whereCon,0,sizeof(whereCon));
|
||||||
@ -1083,8 +1080,6 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
|
|||||||
sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql);
|
sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql);
|
||||||
JsonData jd;
|
JsonData jd;
|
||||||
jd.JsonCmd_32(strMeasurementID,1,1,strChannelID,error_msg);
|
jd.JsonCmd_32(strMeasurementID,1,1,strChannelID,error_msg);
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -810,6 +810,8 @@ void Uart::DealWave() {
|
|||||||
g_VecWaveDataZ.clear();
|
g_VecWaveDataZ.clear();
|
||||||
VecWaveDataZ.clear();
|
VecWaveDataZ.clear();
|
||||||
}
|
}
|
||||||
|
if (m_waveCountX > 0 || m_waveCountY > 0 || m_waveCountZ > 0)
|
||||||
|
{
|
||||||
char localtimestamp[32] = {0};
|
char localtimestamp[32] = {0};
|
||||||
GetTimeNet(localtimestamp, 1);
|
GetTimeNet(localtimestamp, 1);
|
||||||
char insertSql[100] = {0x00};
|
char insertSql[100] = {0x00};
|
||||||
@ -818,6 +820,9 @@ void Uart::DealWave() {
|
|||||||
memset(whereCon, 0x00, sizeof(whereCon));
|
memset(whereCon, 0x00, sizeof(whereCon));
|
||||||
sprintf(insertSql, "'%s','%02x%02x','%s',0,'1','%s' ", strMeasurementID.c_str(),(wave_shortAddr >> 8) & 0xFF,wave_shortAddr & 0xFF,localtimestamp,"");
|
sprintf(insertSql, "'%s','%02x%02x','%s',0,'1','%s' ", strMeasurementID.c_str(),(wave_shortAddr >> 8) & 0xFF,wave_shortAddr & 0xFF,localtimestamp,"");
|
||||||
sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql);
|
sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
wave_trans_ = false;
|
wave_trans_ = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,7 +49,7 @@ void Uart::UpdateWirelessNode(uint16_t shortAdd) {
|
|||||||
char localtimestamp[32] = {0};
|
char localtimestamp[32] = {0};
|
||||||
GetTimeNet(localtimestamp, 1);
|
GetTimeNet(localtimestamp, 1);
|
||||||
char insertSql[100] = {0};
|
char insertSql[100] = {0};
|
||||||
char wherecon[50] = {0};
|
char wherecon[64] = {0};
|
||||||
sprintf(wherecon," short_Addr = '%02x%02x' and status = 3 order by start_timestamp DESC",UINT16_HIGH(shortAdd), UINT16_LOW(shortAdd));
|
sprintf(wherecon," short_Addr = '%02x%02x' and status = 3 order by start_timestamp DESC",UINT16_HIGH(shortAdd), UINT16_LOW(shortAdd));
|
||||||
std::string spend_count = sqlite_db_ctrl::instance().GetData(" firmware_upgrade ","spend_count",wherecon);
|
std::string spend_count = sqlite_db_ctrl::instance().GetData(" firmware_upgrade ","spend_count",wherecon);
|
||||||
if (atoi(spend_count.c_str()) >= 10){
|
if (atoi(spend_count.c_str()) >= 10){
|
||||||
|
|||||||
@ -295,3 +295,49 @@ void Calculation::Integration(std::vector<float> &vecData, std::vector<float> &r
|
|||||||
|
|
||||||
_iFFT(realvalue, imagevalue, retData);
|
_iFFT(realvalue, imagevalue, retData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::vector<double> fftInterpolate(const std::vector<double>& input, size_t outputSize) {
|
||||||
|
size_t inputSize = input.size();
|
||||||
|
|
||||||
|
// 1. FFTW 初始化
|
||||||
|
fftw_complex *freqDomain = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * inputSize);
|
||||||
|
fftw_complex *paddedFreqDomain = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * outputSize);
|
||||||
|
fftw_plan forwardPlan = fftw_plan_dft_r2c_1d(inputSize, const_cast<double*>(input.data()), freqDomain, FFTW_ESTIMATE);
|
||||||
|
|
||||||
|
// 2. 执行 FFT
|
||||||
|
fftw_execute(forwardPlan);
|
||||||
|
|
||||||
|
// 3. 频域插值:扩展频谱
|
||||||
|
size_t halfSize = inputSize / 2 + 1; // 实数FFT的对称部分
|
||||||
|
for (size_t i = 0; i < halfSize; ++i) {
|
||||||
|
paddedFreqDomain[i][0] = freqDomain[i][0]; // 实部
|
||||||
|
paddedFreqDomain[i][1] = freqDomain[i][1]; // 虚部
|
||||||
|
}
|
||||||
|
for (size_t i = halfSize; i < outputSize - halfSize; ++i) {
|
||||||
|
paddedFreqDomain[i][0] = 0.0; // 实部填零
|
||||||
|
paddedFreqDomain[i][1] = 0.0; // 虚部填零
|
||||||
|
}
|
||||||
|
for (size_t i = outputSize - halfSize; i < outputSize; ++i) {
|
||||||
|
paddedFreqDomain[i][0] = freqDomain[inputSize - (outputSize - i)][0];
|
||||||
|
paddedFreqDomain[i][1] = freqDomain[inputSize - (outputSize - i)][1];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. IFFT 变换回时域
|
||||||
|
std::vector<double> output(outputSize);
|
||||||
|
fftw_plan inversePlan = fftw_plan_dft_c2r_1d(outputSize, paddedFreqDomain, output.data(), FFTW_ESTIMATE);
|
||||||
|
fftw_execute(inversePlan);
|
||||||
|
|
||||||
|
// 5. 缩放输出结果
|
||||||
|
for (double& val : output) {
|
||||||
|
val /= outputSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清理 FFTW
|
||||||
|
fftw_destroy_plan(forwardPlan);
|
||||||
|
fftw_destroy_plan(inversePlan);
|
||||||
|
fftw_free(freqDomain);
|
||||||
|
fftw_free(paddedFreqDomain);
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
@ -55,6 +55,8 @@ public:
|
|||||||
static void envSpec(std::vector<float>& vecData, std::vector<float>& vecEnvSpecData, int StartFrequency, int EndFrequency);
|
static void envSpec(std::vector<float>& vecData, std::vector<float>& vecEnvSpecData, int StartFrequency, int EndFrequency);
|
||||||
|
|
||||||
static void Integration(std::vector<float>& vecData, std::vector<float>& retData, double& resolution);
|
static void Integration(std::vector<float>& vecData, std::vector<float>& retData, double& resolution);
|
||||||
|
|
||||||
|
std::vector<double> fftInterpolate(const std::vector<double>& input, size_t outputSize)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CALCULATION_HPP_
|
#endif // CALCULATION_HPP_
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user