int generate_frag_data(void){ #if !defined JF return 0; #else int index=0; int data_len=PDU_FRAG_DATA_LEN; memset(frag_data_buf,0,sizeof(frag_data_buf)); MN_printf(0, "generate_frag_data frag_num=%d\r\n",frag_num); #ifdef FIRST_FRAG_ADD_EXTRA_DATA if(FRAG_NUM_START==frag_num){ uint8_t max_min_value[2]; get_sample_data_max_min_value(max_min_value); float v_min=computeMvScale_f(max_min_value[1]); float v_max=1600;//computeMvScale_f(max_min_value[0]); uint8_t * v_max_fp=(uint8_t *)&v_max; uint8_t * v_min_fp=(uint8_t *)&v_min; index=first_frag_add_extra_data((uint8_t *)frag_data_buf,v_min_fp,v_max_fp); data_len+=FIRST_FRAG_EXTRA_DATA_LEN; } #endif int frag_src_data_num= MAX_SAMP_DATA_LEN * MAX_SAMP_BUF_NUM / FRAG_TOTAL_NUM; for(int i=0;i<frag_src_data_num;i++){ int frag_src_data_index= frag_src_data_num*(frag_num-1)+i; int sdata_item_index= frag_src_data_index/MAX_SAMP_DATA_LEN; int sdata_index=frag_src_data_index % MAX_SAMP_DATA_LEN; uint8_t data=sample_jufang_buf.sdata_item[sdata_item_index].sdata[sdata_index]; float data_f=computeMvScale_f(data); memcpy(&frag_data_buf[index+i*4],(uint8_t *)&data_f,4); /*if(i%250==0){ MN_printf(0, "generate_frag_data i=%d\r\n",i); MN_printf(0, "generate_frag_data frag_src_data_num=%d\r\n",frag_src_data_num); MN_printf(0, "generate_frag_data frag_src_data_index=%d\r\n",frag_src_data_index); MN_printf(0, "generate_frag_data sdata_item_index=%d\r\n",sdata_item_index); MN_printf(0, "generate_frag_data sdata_index=%d\r\n",sdata_index); MN_printf(0, "generate_frag_data index+i*4=%d\r\n",index+i*4); MN_printf(0, "generate_frag_data data=%2x\r\n",data); MN_printf(0, "generate_frag_data frag_data_buf[index+i*4]=%2x\r\n",frag_data_buf[index+i*4]); MN_printf(0, "generate_frag_data frag_data_buf[index+i*4+1]=%2x\r\n",frag_data_buf[index+i*4+1]); MN_printf(0, "generate_frag_data frag_data_buf[index+i*4+2]=%2x\r\n",frag_data_buf[index+i*4+2]); MN_printf(0, "generate_frag_data frag_data_buf[index+i*4+3]=%2x\r\n",frag_data_buf[index+i*4+3]); #if defined SAMPLE_DATA_FLOAT_VALUE_UPLOAD float fReceive; *((char *)(&fReceive)) = frag_data_buf[index+i*4]; *((char *)(&fReceive) + 1) = frag_data_buf[index+i*4+1]; *((char *)(&fReceive) + 2) = frag_data_buf[index+i*4+2]; *((char *)(&fReceive) + 3) = frag_data_buf[index+i*4+3]; uint32_t a = (uint32_t)(fReceive*1000); MN_printf(0, "sample_data_float_value=%ld\r\n",a); #endif }*/ } return data_len; #endif }
时间: 2024-04-06 12:32:51 浏览: 23
这段代码是用于生成分段数据的,它会根据不同的条件生成不同的数据。其中,宏定义 JF 的值决定了函数的返回值,如果 JF 未定义,则返回 0,否则执行后续操作。变量 frag_num 表示分段数据的编号,变量 frag_src_data_num 表示每个分段数据包含的原始数据个数。函数先清空了一个名为 frag_data_buf 的缓冲区,然后逐个读取原始数据,将其转换为浮点数并存储到缓冲区中,最终返回生成的数据长度。其中,还有一些条件编译的代码块,用于在特定情况下添加额外的数据。
相关问题
AttributeError: 'int' object has no attribute 'generate_pop‘
在Python中,当你尝试访问一个对象的属性或方法,但该对象并没有该属性或方法时,就会引发AttributeError异常。在你提供的引用中,出现了一个AttributeError异常,错误消息为"‘NoneType’ object has no attribute ‘headers’"。这意味着你尝试访问一个NoneType对象的headers属性,但是该对象并没有这个属性。
下面是一个演示AttributeError异常的例子:
```python
class MyClass:
pass
obj = MyClass()
print(obj.attribute) # 这里会引发AttributeError异常,因为MyClass对象没有attribute属性
```
在你提供的引用中,是一个关于如何引发自定义异常的例子。在Python中,你可以通过raise语句来引发异常。你可以自定义一个异常类,并在适当的时候使用raise语句来引发该异常。
下面是一个演示如何引发自定义异常的例子:
```python
class ShortInputException(Exception):
def __init__(self, length, min_length):
self.length = length
self.min_length = min_length
try:
text = input("Enter something --> ")
if len(text) < 3:
raise ShortInputException(len(text), 3)
except ShortInputException as e:
print(f"ShortInputException: The input was of length {e.length}, was expecting at least {e.min_length}")
else:
print("No exception was raised.")
```
这个例子中,我们定义了一个ShortInputException异常类,它继承自Exception类。当输入的文本长度小于3时,我们使用raise语句引发了这个自定义异常,并传递了输入文本的长度和期望的最小长度作为参数。如果没有引发异常,就会执行else语句块。
这是用于产生数据集的代码:def generate_dataset( data, seq_len, pre_len, time_len=None, split_ratio=0.8, normalize=True ):
好的,我明白了你的问题。关于你的代码,它是用于生成数据集的。其中,data表示原始的数据集,seq_len表示一个序列的长度,pre_len表示预测的长度,time_len表示时间序列的长度(如果是时间序列数据的话),split_ratio表示训练集与测试集的分割比例,normalize表示是否对数据进行归一化处理。在使用该函数生成数据集时,需要传入相应的参数,并指定原始数据集、序列长度、预测长度等参数。该函数的作用是将原始数据集进行预处理,生成可用于训练和测试的数据集。希望这个回答对你有帮助。