Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| de8a6e58e4 | |||
| 390da7b004 | |||
| f8e41e9247 | |||
| 1d96f49f63 | |||
| 9ad1f394be | |||
| d3af9e79bc | |||
| 4aa6634f1e |
@@ -889,12 +889,14 @@ class I4V4Z4T4DataDecoder(RecDataDecoder):
|
||||
cycle_number = struct.unpack('>H', data[17:19])[0]
|
||||
finish_mode_falg = data[19]
|
||||
|
||||
mem_wrong_information = struct.unpack('>i', data[40:40+4])[0]
|
||||
|
||||
# print('decode', list(data[20:]))
|
||||
mem_wrong = data[20]
|
||||
mem_retry_cnt = data[21]
|
||||
mem_green_wrong = data[22]
|
||||
mem_green_retry_cnt = data[23]
|
||||
ram_num = data[24]
|
||||
mem_wrong = data[40]
|
||||
mem_retry_cnt = data[41]
|
||||
mem_green_wrong = data[42]
|
||||
mem_green_retry_cnt = data[43]
|
||||
ram_num = data[44]
|
||||
broken_flag = data[-1]
|
||||
|
||||
if (finish_mode_falg & 0b11110000 == 0b10100000):
|
||||
@@ -930,6 +932,7 @@ class I4V4Z4T4DataDecoder(RecDataDecoder):
|
||||
# '|', '{:5}'.format(mem_retry_cnt),
|
||||
# '|', '{:5}'.format(mem_green_wrong),
|
||||
# '|', '{:5}'.format(mem_green_retry_cnt),
|
||||
# '|', '{:5}'.format(mem_wrong_information),
|
||||
# '|', '{:5}'.format(ram_num),
|
||||
# '|', '{:5}'.format(broken_flag),
|
||||
# '@', str(self.device), '|')
|
||||
@@ -952,8 +955,9 @@ class I4V4Z4T4DataDecoder(RecDataDecoder):
|
||||
# ret.append_data(5, mem_retry_cnt)
|
||||
# ret.append_data(6, mem_green_wrong)
|
||||
# ret.append_data(7, mem_green_retry_cnt)
|
||||
# ret.append_data(8, ram_num)
|
||||
# ret.append_data(9, broken_flag)
|
||||
ret.append_data(4, ram_num)
|
||||
ret.append_data(5, broken_flag)
|
||||
ret.append_data(6, mem_wrong_information)
|
||||
# ret.append_data(4, ram_num)
|
||||
|
||||
if cycle_number != self._cycle_number:
|
||||
|
||||
@@ -42,7 +42,7 @@ class MultiExtMemSpiInterface(LowLevelHardwareInterface):
|
||||
self._spi = HardwareImplSpiInterface(device,
|
||||
spi_speed=12_000_000)
|
||||
|
||||
self._elite_data_len = 120
|
||||
self._elite_data_len = 40
|
||||
self._mem_header_len = 3
|
||||
self._mem_tailer_len = 8
|
||||
self._single_data_len = self._elite_data_len + self._mem_header_len + self._mem_tailer_len
|
||||
@@ -215,7 +215,7 @@ class MultiExtMemSpiInterface(LowLevelHardwareInterface):
|
||||
# if (data_second[0] != 255 or data_second[1] != 255 or data_second[2] != 255):
|
||||
# self._head_wrong_cnt[device] = self._head_wrong_cnt[device] + 1
|
||||
# if (self._head_wrong_cnt[device] < 10):
|
||||
# print('data_first[0:3] != [255, 255, 255], device:', device, ',', self._head_wrong_cnt[device], 'times')
|
||||
# print('data_second[0:3] != [255, 255, 255], device:', device, ',', self._head_wrong_cnt[device], 'times')
|
||||
# print(list(data_second[0:7]))
|
||||
|
||||
# if (data_first[3:] == data_second[3:]):
|
||||
|
||||
@@ -361,24 +361,14 @@ class DataBaseProcess(Process):
|
||||
return None
|
||||
|
||||
def data_raw_recording(self, _id_dict, _channel_list, _data_dict):
|
||||
for _channel in _channel_list:
|
||||
compressed_value = _data_dict[_channel] + '"***"'
|
||||
# compressed_value = bytes(_data_dict[_channel],'utf-8')
|
||||
# compressed_value = zlib.compress(compressed_value)
|
||||
# compressed_value = base64.b64encode(compressed_value).decode() + '"***"'
|
||||
# compressed_value = _data + '"***"'
|
||||
sql_str = 'UPDATE "public"."' + str(_channel) + '_recording_data_raws" SET data = concat(data, %s) where id = %s'
|
||||
sql_set = [compressed_value, _id_dict[_channel]]
|
||||
with self._psql_conn as conn:
|
||||
with conn.cursor() as sql_cursor:
|
||||
for _channel in _channel_list:
|
||||
sql_str = 'UPDATE "public"."' + str(_channel) + '_recording_data_raws" SET data = concat(data, %s) where id = %s'
|
||||
sql_set = [_data_dict[_channel] + '"***"', _id_dict[_channel]]
|
||||
sql_cursor.execute(sql_str, sql_set)
|
||||
|
||||
|
||||
sql_cursor = self._psql_conn.cursor()
|
||||
sql_cursor.execute(sql_str, sql_set)
|
||||
self._psql_conn.commit()
|
||||
sql_cursor.close()
|
||||
|
||||
del _data_dict[_channel]
|
||||
del compressed_value
|
||||
gc.collect()
|
||||
# _conn.close()
|
||||
return None
|
||||
|
||||
def data_mini_create(self, _data_dict, _channel_list, _scale, device_id):
|
||||
@@ -415,38 +405,24 @@ class DataBaseProcess(Process):
|
||||
return True
|
||||
|
||||
def data_mini_recording(self, _id_dict, _channel_list, _start_time_dict, _data_mean_dict):
|
||||
for _channel in _channel_list:
|
||||
data = _data_mean_dict.get(_channel)
|
||||
if data is not None:
|
||||
if len(data) != 0:
|
||||
str_mean = [str(int) for int in _data_mean_dict[_channel]]
|
||||
data_mean = _start_time_dict[_channel] + ' ' + ' '.join(str_mean)
|
||||
# data_random = _start_time_dict[_channel] + ' ' + ' '.join(_data_random_dict[_channel])
|
||||
# data_bar = _start_time_dict[_channel] + ' ' + ' '.join(_data_bar_dict[_channel])
|
||||
with self._psql_conn as conn:
|
||||
with self._psql_conn.cursor() as sql_cursor:
|
||||
for _channel in _channel_list:
|
||||
data = _data_mean_dict.get(_channel)
|
||||
if data is not None:
|
||||
if len(data) != 0:
|
||||
str_mean = [str(int) for int in _data_mean_dict[_channel]]
|
||||
data_mean = _start_time_dict[_channel] + ' ' + ' '.join(str_mean)
|
||||
|
||||
compressed_mean = data_mean + '"***"'
|
||||
|
||||
# compressed_mean = bytes(data_mean,'utf-8')
|
||||
# compressed_mean = zlib.compress(compressed_mean)
|
||||
# compressed_mean = base64.b64encode(compressed_mean).decode() + '"***"'
|
||||
|
||||
# compressed_random = bytes(data_bar,'utf-8')
|
||||
# compressed_random = zlib.compress(compressed_random)
|
||||
# compressed_random = base64.b64encode(compressed_random).decode() + '"***"'
|
||||
|
||||
# compressed_random = bytes(data_random,'utf-8')
|
||||
# compressed_random = zlib.compress(compressed_random)
|
||||
# compressed_random = base64.b64encode(compressed_random).decode() + '"***"'
|
||||
sql_str = 'UPDATE "public"."' + str(_channel) + '_recording_data_minis" SET data_mean = concat(data_mean, %s) where id = %s'
|
||||
sql_set = [compressed_mean, _id_dict[_channel]]
|
||||
|
||||
sql_cursor = self._psql_conn.cursor()
|
||||
sql_set = [data_mean + '"***"', _id_dict[_channel]]
|
||||
sql_cursor.execute(sql_str, sql_set)
|
||||
self._psql_conn.commit()
|
||||
sql_cursor.close()
|
||||
|
||||
del str_mean, _start_time_dict[_channel], _data_mean_dict[_channel], data_mean, compressed_mean
|
||||
gc.collect()
|
||||
del str_mean, data_mean
|
||||
|
||||
for _channel in _channel_list:
|
||||
del _start_time_dict[_channel], _data_mean_dict[_channel]
|
||||
gc.collect()
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -363,13 +363,13 @@ class RecordingProcess(Process):
|
||||
if (device == 7):
|
||||
print('self._last_cnt[7]:', self._last_cnt[7], ', last_data_cnt:', last_data_cnt)
|
||||
|
||||
print('skip RAM, but data is right, solve data', list(raw_data[i]), 'skip Ram', self._skip_ram_cnt, 'times')
|
||||
print('data:')
|
||||
print('|', list(raw_data[0]))
|
||||
print('|', list(raw_data[1]))
|
||||
print('| ... ... ...')
|
||||
print('| ... ... ...')
|
||||
print('|', list(raw_data[colum_total-1]))
|
||||
print('skip RAM, but data is right, solve data', list(raw_data[i][0:3]), 'skip Ram', self._skip_ram_cnt, 'times')
|
||||
# print('data:')
|
||||
# print('|', list(raw_data[0]))
|
||||
# print('|', list(raw_data[1]))
|
||||
# print('| ... ... ...')
|
||||
# print('| ... ... ...')
|
||||
# print('|', list(raw_data[colum_total-1]))
|
||||
print()
|
||||
|
||||
if (device == 4):
|
||||
@@ -498,7 +498,7 @@ class RecordingProcess(Process):
|
||||
"""
|
||||
raw_data = []
|
||||
index = 0
|
||||
elite_data_len = 120
|
||||
elite_data_len = 40
|
||||
mem_header_len = 3
|
||||
mem_tailer_len = 8
|
||||
single_data_len = elite_data_len + mem_header_len + mem_tailer_len
|
||||
@@ -542,11 +542,11 @@ class RecordingProcess(Process):
|
||||
print_flag = True
|
||||
print('delete data:', list(raw_data[i]))
|
||||
|
||||
if print_flag:
|
||||
print('delete data context:')
|
||||
for i in range(0, len(data), single_data_len):
|
||||
print(list(data[i:i+single_data_len]))
|
||||
print()
|
||||
# if print_flag:
|
||||
# print('delete data context:')
|
||||
# for i in range(0, len(data), single_data_len):
|
||||
# print(list(data[i:i+single_data_len]))
|
||||
# print()
|
||||
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user