1429 lines
64 KiB
Plaintext
1429 lines
64 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "183bac22-bfd1-421a-a8e1-953047fdfe71",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "4bb5bf26-8741-4559-88b0-ea63be55e7d0",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Original pcID: test\n",
|
|
"Converted to uint32: 1952805748\n",
|
|
"Inverted pcID: test\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import struct\n",
|
|
"\n",
|
|
"def id_to_uint32(pcID):\n",
|
|
" # Initialize a 32-bit value to zero\n",
|
|
" val = 0\n",
|
|
"\n",
|
|
" # Calculate the length of the input string\n",
|
|
" n = len(pcID)\n",
|
|
"\n",
|
|
" # Consider only the first 4 characters in the input string\n",
|
|
" if n > 4:\n",
|
|
" n = 4\n",
|
|
"\n",
|
|
" # Copy the first n characters to the output 32-bit integer\n",
|
|
" val_bytes = pcID[:n].encode('utf-8')\n",
|
|
" val = struct.unpack('!I', val_bytes.ljust(4, b'\\0'))[0]\n",
|
|
" \n",
|
|
" return val\n",
|
|
"\n",
|
|
"def uint32_to_id(val):\n",
|
|
" # Pack the 32-bit integer into bytes\n",
|
|
" val_bytes = struct.pack('!I', val)\n",
|
|
" \n",
|
|
" # Decode the bytes to a string\n",
|
|
" pcID = val_bytes.rstrip(b'\\0').decode('utf-8')\n",
|
|
" \n",
|
|
" return pcID\n",
|
|
"\n",
|
|
"\n",
|
|
"# Example usage\n",
|
|
"\n",
|
|
"# Example usage:\n",
|
|
"pcID = 'test'\n",
|
|
"val = id_to_uint32(pcID)\n",
|
|
"print(f\"Original pcID: {pcID}\")\n",
|
|
"print(f\"Converted to uint32: {val}\")\n",
|
|
"\n",
|
|
"# Invert the conversion\n",
|
|
"inverted_pcID = uint32_to_id(val)\n",
|
|
"print(f\"Inverted pcID: {inverted_pcID}\")\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "8af49e76-07b3-4784-9db1-c090a4ed6b98",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import struct\n",
|
|
"def read_nbo(pCh):\n",
|
|
" return struct.unpack('!I', pCh[:4])[0]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "70974559-8a9b-47d1-bbeb-0dbe9408d2d4",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 330,
|
|
"id": "2f83e6e6-5137-4514-a56c-10d4810c07be",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def bmms_bin_entry_genericparser(pcDataBuf):\n",
|
|
" \n",
|
|
" st_ReadedBytes = 0\n",
|
|
" # Read the Entry ID\n",
|
|
" uiID = struct.unpack('!I', pcDataBuf[:4])[0]\n",
|
|
" st_ReadedBytes += 4\n",
|
|
"\n",
|
|
" # Read length and type\n",
|
|
" uiLengthAndType = read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4])\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" # Save entry size and type\n",
|
|
" uiSize = uiLengthAndType & 0x00FFFFFF\n",
|
|
" uiType = uiLengthAndType & 0xFF000000\n",
|
|
" \n",
|
|
" mEntry = {'Type':0,'Val':0}\n",
|
|
" mEntry['Type'] = uint32_to_id(uiID)\n",
|
|
" mList = []\n",
|
|
" \n",
|
|
" match uiType:\n",
|
|
" \n",
|
|
" case 0x01000000 | 0x02000000 | 0x03000000 | 0xa1000000 | 0xa2000000 | 0xa3000000 :\n",
|
|
" \n",
|
|
" if (uiSize - st_ReadedBytes) % 4 != 0:\n",
|
|
" mEntry['Val'] = []\n",
|
|
" return mEntry\n",
|
|
"\n",
|
|
" nIntValues = int((uiSize - st_ReadedBytes) / 4)\n",
|
|
"\n",
|
|
" for i in range(nIntValues):\n",
|
|
" mList.append(read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4]))\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" \n",
|
|
" mEntry['Val'] = mList\n",
|
|
" \n",
|
|
" case 0x05000000:\n",
|
|
" mEntry['Val'] = pcDataBuf[st_ReadedBytes:st_ReadedBytes + uiSize-8].rstrip(b'\\0').decode('utf-8')\n",
|
|
" \n",
|
|
" case other:\n",
|
|
" return mEntry\n",
|
|
" \n",
|
|
" return mEntry\n",
|
|
"\n",
|
|
"\n",
|
|
"def bmms_bin_entry_parse_ui32Array(pcDataBuf):\n",
|
|
" st_ReadedBytes = 0\n",
|
|
" # Read the Entry ID\n",
|
|
" #uiID = struct.unpack('!I', pcDataBuf[:4])[0]\n",
|
|
" st_ReadedBytes += 4\n",
|
|
"\n",
|
|
" # Read length and type\n",
|
|
" uiLengthAndType = read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4])\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" # Save entry size and type\n",
|
|
" uiSize = uiLengthAndType & 0x00FFFFFF\n",
|
|
" uiType = uiLengthAndType & 0xFF000000\n",
|
|
" \n",
|
|
"\n",
|
|
" if uiType != 0xa2000000:\n",
|
|
" return -1\n",
|
|
" \n",
|
|
" if (uiSize - st_ReadedBytes) % 4 != 0:\n",
|
|
" return -1\n",
|
|
" \n",
|
|
" nIntValues = int((uiSize - st_ReadedBytes) / 4)\n",
|
|
" ui32List = []\n",
|
|
" \n",
|
|
" for i in range(nIntValues):\n",
|
|
" ui32List.append(read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4]))\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" \n",
|
|
" return ui32List\n",
|
|
" \n",
|
|
"def bmms_bin_entry_parse_i32Array(pcDataBuf):\n",
|
|
" st_ReadedBytes = 0\n",
|
|
" # Read the Entry ID\n",
|
|
" #uiID = struct.unpack('!I', pcDataBuf[:4])[0]\n",
|
|
" st_ReadedBytes += 4\n",
|
|
"\n",
|
|
" # Read length and type\n",
|
|
" uiLengthAndType = read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4])\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" # Save entry size and type\n",
|
|
" uiSize = uiLengthAndType & 0x00FFFFFF\n",
|
|
" uiType = uiLengthAndType & 0xFF000000\n",
|
|
" \n",
|
|
"\n",
|
|
" if uiType != 0xa1000000:\n",
|
|
" return -1\n",
|
|
" \n",
|
|
" if (uiSize - st_ReadedBytes) % 4 != 0:\n",
|
|
" return -1\n",
|
|
" \n",
|
|
" nIntValues = int((uiSize - st_ReadedBytes) / 4)\n",
|
|
" ui32List = []\n",
|
|
" \n",
|
|
" for i in range(nIntValues):\n",
|
|
" ui32List.append(read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4]))\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" \n",
|
|
" return ui32List \n",
|
|
" \n",
|
|
"def bmms_bin_entry_parse_f32Array(pcDataBuf):\n",
|
|
" st_ReadedBytes = 0\n",
|
|
" # Read the Entry ID\n",
|
|
" #uiID = struct.unpack('!I', pcDataBuf[:4])[0]\n",
|
|
" st_ReadedBytes += 4\n",
|
|
"\n",
|
|
" # Read length and type\n",
|
|
" uiLengthAndType = read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4])\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" # Save entry size and type\n",
|
|
" uiSize = uiLengthAndType & 0x00FFFFFF\n",
|
|
" uiType = uiLengthAndType & 0xFF000000\n",
|
|
" \n",
|
|
"\n",
|
|
" if uiType != 0xa3000000:\n",
|
|
" return -1\n",
|
|
" \n",
|
|
" if (uiSize - st_ReadedBytes) % 4 != 0:\n",
|
|
" return -1\n",
|
|
" \n",
|
|
" nIntValues = int((uiSize - st_ReadedBytes) / 4)\n",
|
|
" ui32List = []\n",
|
|
" \n",
|
|
" for i in range(nIntValues):\n",
|
|
" ui32List.append(read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4]))\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" \n",
|
|
" return ui32List \n",
|
|
"\n",
|
|
"def bmms_bin_entry_parse_ui32(pcDataBuf):\n",
|
|
" st_ReadedBytes = 0\n",
|
|
" # Read the Entry ID\n",
|
|
" #uiID = struct.unpack('!I', pcDataBuf[:4])[0]\n",
|
|
" st_ReadedBytes += 4\n",
|
|
"\n",
|
|
" # Read length and type\n",
|
|
" uiLengthAndType = read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4])\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" # Save entry size and type\n",
|
|
" uiSize = uiLengthAndType & 0x00FFFFFF\n",
|
|
" uiType = uiLengthAndType & 0xFF000000\n",
|
|
"\n",
|
|
" if uiType != 0x02000000:\n",
|
|
" return -1\n",
|
|
" \n",
|
|
" return read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4])\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "734641cd-2957-4d84-94d3-0fa32cddc530",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 767,
|
|
"id": "7a8d6912-8a55-4654-9740-97f47ef212c5",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import socket\n",
|
|
"\n",
|
|
"BLOCKCRCSIZE = 4 # Example, replace with the actual block CRC size\n",
|
|
"\n",
|
|
"class GenericEntry:\n",
|
|
" def __init__(self):\n",
|
|
" self.uiEntrySize = 0\n",
|
|
" self.uiEntryID = 0\n",
|
|
" #self.uiArraySize = 0\n",
|
|
" self.pEntry = None\n",
|
|
"\n",
|
|
"class GenericBlock:\n",
|
|
" def __init__(self):\n",
|
|
" self.uiBlockSize = 0\n",
|
|
" self.uiBlockID = 0\n",
|
|
" self.pBlock = None\n",
|
|
" self.sBlock = None\n",
|
|
" self.EntryList = []\n",
|
|
" #self.sGenEntry = GenericEntry()\n",
|
|
" self.sCRC = None\n",
|
|
"\n",
|
|
"def bmms_read_bin_entry(sGenEntry, pcDataBuf):\n",
|
|
" ui32Val = 0\n",
|
|
" st_ReadedBytes = 0\n",
|
|
" uiEntryLength = 0\n",
|
|
"\n",
|
|
" # Read the Entry ID\n",
|
|
" uiID = struct.unpack('!I', pcDataBuf[:4])[0]\n",
|
|
" st_ReadedBytes += 4\n",
|
|
" sGenEntry.uiEntryID = uiID\n",
|
|
"\n",
|
|
" # Read length and type\n",
|
|
" uiLengthAndType = read_nbo(pcDataBuf[st_ReadedBytes:st_ReadedBytes + 4])\n",
|
|
" st_ReadedBytes += 4\n",
|
|
"\n",
|
|
" # Save entry size and type\n",
|
|
" sGenEntry.uiEntrySize = uiLengthAndType & 0x00FFFFFF\n",
|
|
" \n",
|
|
" sGenEntry.pEntry = pcDataBuf[:sGenEntry.uiEntrySize]\n",
|
|
" \n",
|
|
" return sGenEntry.uiEntrySize \n",
|
|
"\n",
|
|
"def bmms_index_bin_block_pos(pcDataBuf):\n",
|
|
" \n",
|
|
" GenBlockList = []\n",
|
|
" iMemRunner = 0\n",
|
|
" \n",
|
|
" while iMemRunner < pcDataBuf.size(): \n",
|
|
" \n",
|
|
" blk = {'id': read_nbo(pcDataBuf[iMemRunner:iMemRunner+4]),\n",
|
|
" 'start': iMemRunner, \n",
|
|
" 'len': read_nbo(pcDataBuf[iMemRunner+4:iMemRunner+8])\n",
|
|
" }\n",
|
|
" GenBlockList.append(blk) \n",
|
|
" iMemRunner += blk['len']\n",
|
|
" \n",
|
|
" return GenBlockList\n",
|
|
"\n",
|
|
"def bmms_index_bin_entry_pos(pcDataBuf):\n",
|
|
" \n",
|
|
" GenEntryList = []\n",
|
|
" iMemRunner = 16\n",
|
|
" \n",
|
|
" while iMemRunner < len(pcDataBuf)-16: \n",
|
|
" lenAndTyp = read_nbo(pcDataBuf[iMemRunner+4:iMemRunner+8])\n",
|
|
" etr = {'id': read_nbo(pcDataBuf[iMemRunner:iMemRunner+4]),\n",
|
|
" 'start': iMemRunner, \n",
|
|
" 'len': (lenAndTyp & 0x00FFFFFF),\n",
|
|
" 'typ': hex(lenAndTyp & 0xFF000000)\n",
|
|
"\n",
|
|
" }\n",
|
|
" GenEntryList.append(etr) \n",
|
|
" iMemRunner += etr['len']\n",
|
|
" \n",
|
|
" return GenEntryList\n",
|
|
"\n",
|
|
"def bmms_read_bin_block(sGenBlock, pcDataBuf):\n",
|
|
" ui32Val = 0\n",
|
|
" iOffset = 0\n",
|
|
" uiBlockLength = 0\n",
|
|
" uiBufCRC32 = 0\n",
|
|
"\n",
|
|
" sGenBlock.uiBlockSize = 0\n",
|
|
" sGenBlock.uiBlockID = 0\n",
|
|
" sGenBlock.pBlock = None\n",
|
|
" sGenBlock.sBlock = None\n",
|
|
" sGenBlock.sGenEntry = GenericEntry()\n",
|
|
" sGenBlock.sCRC = None\n",
|
|
"\n",
|
|
" ui32Val, = struct.unpack('!I', pcDataBuf[:4])\n",
|
|
" iOffset += 4\n",
|
|
" #print(\"BlocksIDs val: \",ui32Val, \"b: \", pcDataBuf[:4])\n",
|
|
" ui32CurrBlockID = ui32Val\n",
|
|
" sGenBlock.uiBlockID = ui32Val\n",
|
|
" \n",
|
|
" uiBlockLength = read_nbo(pcDataBuf[iOffset:iOffset+4])\n",
|
|
" iOffset += 4\n",
|
|
" #print(\"uiBlockLength: \",uiBlockLength)\n",
|
|
" sGenBlock.uiBlockSize = uiBlockLength\n",
|
|
" if uiBlockLength == 0:\n",
|
|
" return iOffset\n",
|
|
"\n",
|
|
" ui32Val = read_nbo(pcDataBuf[iOffset:iOffset+4])\n",
|
|
" iOffset += 4\n",
|
|
" #print(\"uiBlockFormatVersion: \",ui32Val)\n",
|
|
"\n",
|
|
" ui32Val = read_nbo(pcDataBuf[iOffset:iOffset+4])\n",
|
|
" iOffset += 4\n",
|
|
" #print(\"uiBlockNumber: \",ui32Val)\n",
|
|
"\n",
|
|
"\n",
|
|
" \n",
|
|
" while (uiBlockLength - BLOCKCRCSIZE - iOffset) > 0:\n",
|
|
" sGenEntry = GenericEntry()\n",
|
|
" iOffset += bmms_read_bin_entry(sGenEntry, pcDataBuf[iOffset:])\n",
|
|
" sGenBlock.EntryList.append(sGenEntry)\n",
|
|
"\n",
|
|
" #ui32Val, = struct.unpack('!I', pcDataBuf[iOffset:iOffset+4])\n",
|
|
" ui32Val, = struct.unpack('=I', pcDataBuf[iOffset:iOffset+4])\n",
|
|
" iOffset += 4\n",
|
|
" uiBufCRC32 = get_crc32(pcDataBuf[:uiBlockLength-BLOCKCRCSIZE])\n",
|
|
" # Assuming sCRC is a dictionary or similar structure\n",
|
|
" sGenBlock.sCRC = {'calculated': uiBufCRC32, 'read': ui32Val}\n",
|
|
"\n",
|
|
" return uiBlockLength\n",
|
|
"\n",
|
|
"def get_crc32(data):\n",
|
|
" import zlib\n",
|
|
" return zlib.crc32(data)\n",
|
|
"\n",
|
|
"## Example usage\n",
|
|
"#sGenBlock = GenericBlock()\n",
|
|
"#pcDataBuf = b'\\x00\\x00\\x00\\x01' * 20 # Example, replace with actual data\n",
|
|
"#offset = bmms_read_bin_block(sGenBlock, pcDataBuf)\n",
|
|
"#print(f'Offset: {offset}')\n",
|
|
"#print(f'GenericBlock: {sGenBlock}')\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 753,
|
|
"id": "39b25e83-9f32-4c59-880a-c438d8439df7",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import os\n",
|
|
"import mmap\n",
|
|
"\n",
|
|
"class BMMSLogReader:\n",
|
|
" def __init__(self):\n",
|
|
" self.eReaderStatus = 'logFileClosed'\n",
|
|
" self.iFd = None\n",
|
|
" self.pcFName = None\n",
|
|
" self.s_file_info = None\n",
|
|
" self.pcMemBlock = None\n",
|
|
"\n",
|
|
"def bmms_bin_log_load(psBMMSLOGREADER, pcc_fName):\n",
|
|
" # Initialize variables\n",
|
|
" iRes = 0\n",
|
|
" iFileDescriptor = 0\n",
|
|
" st_fnamelen = 0\n",
|
|
" st_FileLength = 0\n",
|
|
"\n",
|
|
" # Check if a log is already loaded and unload it if necessary\n",
|
|
" if psBMMSLOGREADER.eReaderStatus != 'logFileClosed':\n",
|
|
" bmms_bin_log_unload(psBMMSLOGREADER)\n",
|
|
" psBMMSLOGREADER.eReaderStatus = 'logFileClosed'\n",
|
|
"\n",
|
|
" # Check if the file exists\n",
|
|
" if not os.path.exists(pcc_fName):\n",
|
|
" print(f\"{fNamePrefix} File not found\")\n",
|
|
" psBMMSLOGREADER.eReaderStatus = 'logFileClosed'\n",
|
|
" return -1\n",
|
|
"\n",
|
|
" try:\n",
|
|
" psBMMSLOGREADER.iFd = open(pcc_fName, \"a+b\")\n",
|
|
" except IOError:\n",
|
|
" print(f\"{fNamePrefix} File error\")\n",
|
|
" return -1\n",
|
|
"\n",
|
|
" # Copy the filename\n",
|
|
" st_fnamelen = len(pcc_fName)\n",
|
|
" psBMMSLOGREADER.pcFName = pcc_fName\n",
|
|
"\n",
|
|
" # Get the file descriptor\n",
|
|
" iFileDescriptor = psBMMSLOGREADER.iFd.fileno()\n",
|
|
"\n",
|
|
" # Get information about the file\n",
|
|
" try:\n",
|
|
" psBMMSLOGREADER.s_file_info = os.fstat(iFileDescriptor)\n",
|
|
" except OSError:\n",
|
|
" print(f\"{fNamePrefix} File error: fStat\")\n",
|
|
" psBMMSLOGREADER.iFd.close()\n",
|
|
" psBMMSLOGREADER.pcFName = None\n",
|
|
" psBMMSLOGREADER.eReaderStatus = 'logFileClosed'\n",
|
|
" return -1\n",
|
|
"\n",
|
|
" print(f\"{fNamePrefix} Size: {psBMMSLOGREADER.s_file_info.st_size}\")\n",
|
|
" st_FileLength = psBMMSLOGREADER.s_file_info.st_size\n",
|
|
"\n",
|
|
" if st_FileLength == 0:\n",
|
|
" print(f\"{fNamePrefix} file size 0: fStat\")\n",
|
|
" psBMMSLOGREADER.iFd.close()\n",
|
|
" psBMMSLOGREADER.pcFName = None\n",
|
|
" psBMMSLOGREADER.eReaderStatus = 'logFileClosed'\n",
|
|
" return -1\n",
|
|
"\n",
|
|
" # Make sure the file is an ordinary file\n",
|
|
" if not os.path.isfile(pcc_fName):\n",
|
|
" print(f\"{fNamePrefix} File error: !S_ISREG.\")\n",
|
|
" psBMMSLOGREADER.iFd.close()\n",
|
|
" psBMMSLOGREADER.pcFName = None\n",
|
|
" return -1\n",
|
|
"\n",
|
|
" # Map the file into memory\n",
|
|
" try:\n",
|
|
" #psBMMSLOGREADER.pcMemBlock = mmap.mmap(iFileDescriptor, 0, mmap.MAP_SHARED, mmap.PROT_READ)\n",
|
|
" psBMMSLOGREADER.pcMemBlock = mmap.mmap(iFileDescriptor, psBMMSLOGREADER.s_file_info.st_size, mmap.MAP_SHARED, mmap.PROT_READ)\n",
|
|
"\n",
|
|
" except Exception as e:\n",
|
|
" print(f\"{fNamePrefix} File error: MAP_FAILED\")\n",
|
|
" psBMMSLOGREADER.iFd.close()\n",
|
|
" psBMMSLOGREADER.pcMemBlock = None\n",
|
|
" psBMMSLOGREADER.pcFName = None\n",
|
|
" return -1\n",
|
|
"\n",
|
|
" print(f\"{fNamePrefix} {pcc_fName} loaded.\")\n",
|
|
" psBMMSLOGREADER.eReaderStatus = 'logFileOpened'\n",
|
|
"\n",
|
|
" # Call BMMSmLogCheckBinLogIntegrity\n",
|
|
" iRes = bmms_m_log_check_bin_log_integrity(psBMMSLOGREADER)\n",
|
|
"\n",
|
|
" print(f\"{fNamePrefix} log file loaded! ;)\")\n",
|
|
" return iRes\n",
|
|
"\n",
|
|
"def bmms_bin_log_unload(psBMMSLOGREADER):\n",
|
|
" # Unmap memory and close the file descriptor\n",
|
|
" if psBMMSLOGREADER.pcMemBlock:\n",
|
|
" psBMMSLOGREADER.pcMemBlock.close()\n",
|
|
" if psBMMSLOGREADER.iFd:\n",
|
|
" psBMMSLOGREADER.iFd.close()\n",
|
|
" psBMMSLOGREADER.pcMemBlock = None\n",
|
|
" psBMMSLOGREADER.iFd = None\n",
|
|
" psBMMSLOGREADER.pcFName = None\n",
|
|
"\n",
|
|
"def bmms_m_log_check_bin_log_integrity(psBMMSLOGREADER):\n",
|
|
" # Placeholder for the actual integrity check logic\n",
|
|
" return 0\n",
|
|
"\n",
|
|
"# Constants\n",
|
|
"fNamePrefix = \"LogReader\"\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 769,
|
|
"id": "20ead55c-ba62-4579-a878-d873d7ab54ab",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def bmms_bin_indexer(pcDataBuf):\n",
|
|
" BlkList = []\n",
|
|
" BlkList = bmms_index_bin_block_pos(pcDataBuf)\n",
|
|
" for mBlk in BlkList:\n",
|
|
" mBlk['Entries'] = bmms_index_bin_entry_pos(pcDataBuf[mBlk['start']: mBlk['start'] + mBlk['len'] ])\n",
|
|
" for mEtr in mBlk['Entries']:\n",
|
|
" mEtr['AbsStart'] = mBlk['start'] + mEtr['start']\n",
|
|
"\n",
|
|
" return BlkList"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "117a7a73-0cb0-4518-a54b-b18a75641ac1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "a9c2eede-971f-4c08-858e-dccaf2bf8772",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 751,
|
|
"id": "3cd84088-0768-4591-bcb2-0a22f6e0d81e",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"LogReader Size: 17150576\n",
|
|
"LogReader Box_15cm_4mmspacing_440nA_slopecorr3perc.taught.F00.20240129-184718.qalogTvs loaded.\n",
|
|
"LogReader log file loaded! ;)\n",
|
|
"Result: 0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"pcc_fName = \"Box_15cm_4mmspacing_440nA_slopecorr3perc.taught.F00.20240129-184718.qalogTvs\"\n",
|
|
"psBMMSLOGREADER = BMMSLogReader()\n",
|
|
"result = bmms_bin_log_load(psBMMSLOGREADER, pcc_fName)\n",
|
|
"print(f\"Result: {result}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 781,
|
|
"id": "c325e46e-4e00-4eba-8997-9b20760608c3",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"BlkIndex = bmms_bin_indexer(psBMMSLOGREADER.pcMemBlock)\n",
|
|
"bSPDV = [d for d in BlkIndex if d['id'] == id_to_uint32('SPDV')] #SPDD for TDS\n",
|
|
"bFRST = [d for d in BlkIndex if d['id'] == id_to_uint32('FRST')]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 709,
|
|
"id": "b5044c8a-6baf-4f18-afcb-3ca7b6d36332",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "bf7f24cb-c321-476c-8581-66b7d44251d3",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "cf5988ca-199d-4e7b-a9cd-392cac266c6f",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 713,
|
|
"id": "4028662c-b2ce-4be4-b154-3cd5ee9f6f97",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def bmms_readData_bin_blockList(pcDataBuf, blkIdx):\n",
|
|
" \n",
|
|
" blkList = []\n",
|
|
" for mBlk in blkIdx:\n",
|
|
" etrList = []\n",
|
|
" for mEtr in mBlk['Entries']:\n",
|
|
" etrList.append(bmms_bin_entry_genericparser(pcDataBuf[mEtr['AbsStart']:mEtr['AbsStart']+mEtr['len']]))\n",
|
|
" \n",
|
|
" blk = {'Type':uint32_to_id(mBlk['id']),'entries':etrList}\n",
|
|
" blkList.append(blk)\n",
|
|
"\n",
|
|
" return blkList"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 730,
|
|
"id": "edb1627c-bb6c-4627-a9e1-eb1fa56c82aa",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"from timeit import default_timer as timer\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 736,
|
|
"id": "8f697ec2-d633-4c61-a1d1-6da48cf9cdc0",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0.9894079589867033\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"20037"
|
|
]
|
|
},
|
|
"execution_count": 736,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"tstart = timer()\n",
|
|
"parsed_all = bmms_readData_bin_blockList(pcDataBuf,BlkList)\n",
|
|
"tend = timer()\n",
|
|
"print(tend - tstart)\n",
|
|
"\n",
|
|
"len(parsed_all)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 738,
|
|
"id": "39a740d3-8afa-4cba-92b2-9d56ffbdc843",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0.9920883330050856\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"19992"
|
|
]
|
|
},
|
|
"execution_count": 738,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"tstart = timer()\n",
|
|
"parsed_SPDV = bmms_readData_bin_blockList(pcDataBuf,bSPDV)\n",
|
|
"tend = timer()\n",
|
|
"print(tend - tstart)\n",
|
|
"len(parsed_SPDV)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 740,
|
|
"id": "64cf8b3b-fa7e-4baf-a790-870fe63cd5d6",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0.00013366597704589367\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"tstart = timer()\n",
|
|
"parsed_FRST = bmms_readData_bin_blockList(pcDataBuf,bFRST)\n",
|
|
"tend = timer()\n",
|
|
"print(tend - tstart)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 705,
|
|
"id": "890cbc6e-d603-406f-8967-73911b184017",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"bmms_bin_log_unload(psBMMSLOGREADER)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "d76da651-c346-4d34-bf4f-eb23c1e411a6",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "7b4f7c81-0854-4a74-9617-57b40df5f855",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"id": "b9f99385-15ae-4b19-8221-0e5d3c03c432",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"{'SBLK': [13, 1397769302, 0], 'CTKS': [47216717, 47219697, 47207675, 47216689, 47216737, 47216738, 47216784, 47216784, 47219643, 47219660, 47219697], 'NSPO': [3230872371, 1084227584, 3265698988, 3265129218, 1050173191, 1048888056], 'TUNE': [4294793595, 173701, 4294967295]}\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"from concurrent.futures import ThreadPoolExecutor\n",
|
|
"\n",
|
|
"# Example function to process each item\n",
|
|
"def process_item(blkIdx):\n",
|
|
" sGenBlock = GenericBlock()\n",
|
|
" bmms_read_bin_block(sGenBlock, pcDataBuf[blkIdx['start']:])\n",
|
|
"\n",
|
|
" SPDVentry = {'SBLK': 0,\n",
|
|
" 'CTKS': 0,\n",
|
|
" 'NSPO': 0}\n",
|
|
" \n",
|
|
" for iEntry in sGenBlock.EntryList:\n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"SBLK\"):\n",
|
|
" SPDVentry['SBLK'] = bmms_bin_entry_parse_ui32Array(iEntry.pEntry)\n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"CTKS\"):\n",
|
|
" SPDVentry['CTKS'] = bmms_bin_entry_parse_ui32Array(iEntry.pEntry)\n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"TUNE\"):\n",
|
|
" SPDVentry['TUNE'] = bmms_bin_entry_parse_i32Array(iEntry.pEntry)\n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"NSPO\"):\n",
|
|
" SPDVentry['NSPO'] = bmms_bin_entry_parse_f32Array(iEntry.pEntry)\n",
|
|
" \n",
|
|
" return SPDVentry\n",
|
|
"\n",
|
|
"# Using ThreadPoolExecutor\n",
|
|
"with ThreadPoolExecutor(max_workers=1) as executor:\n",
|
|
" results = list(executor.map(process_item, bSPDV[:30]))\n",
|
|
"\n",
|
|
"print(results[1])\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "3ac7a8fe-577d-4368-bfb8-206c2d19241f",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 356,
|
|
"id": "fa4e97e0-9b9d-4f03-af0e-3a5c676dd113",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"SBLK [12, 1397769302, 0]\n",
|
|
"CTKS [47207675, 47216689, 47197666, 47207630, 47207689, 47207689, 47213758, 47213758, 47216620, 47216632, 47216688]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3231711232, 1084227584, 3266646114, 3265180991, 1050122859, 1048888056]\n",
|
|
"SBLK [13, 1397769302, 0]\n",
|
|
"CTKS [47216717, 47219697, 47207675, 47216689, 47216737, 47216738, 47216784, 47216784, 47219643, 47219660, 47219697]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230872371, 1084227584, 3265698988, 3265129218, 1050173191, 1048888056]\n",
|
|
"SBLK [14, 1397769302, 0]\n",
|
|
"CTKS [47219726, 47222687, 47216717, 47219697, 47219745, 47219745, 47219799, 47219799, 47222632, 47222650, 47222686]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230033510, 1084227584, 3264752910, 3265086489, 1050223523, 1048891412]\n",
|
|
"SBLK [15, 1397769302, 0]\n",
|
|
"CTKS [47222706, 47225680, 47219726, 47222687, 47222726, 47222726, 47222789, 47222789, 47225630, 47225641, 47225679]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3228775219, 1084227584, 3263810109, 3265050051, 1050240300, 1048958521]\n",
|
|
"SBLK [16, 1397769302, 0]\n",
|
|
"CTKS [47225700, 47228656, 47222706, 47225680, 47225719, 47225719, 47225786, 47225787, 47228614, 47228620, 47228656]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3227097498, 1084227584, 3262563222, 3265014530, 1050267143, 1048955165]\n",
|
|
"SBLK [17, 1397769302, 0]\n",
|
|
"CTKS [47228685, 47231633, 47225700, 47228656, 47228695, 47228696, 47228764, 47228764, 47231591, 47231605, 47231633]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3225419776, 1084227584, 3260680503, 3264987005, 1050297342, 1048951810]\n",
|
|
"SBLK [18, 1397769302, 0]\n",
|
|
"CTKS [47231661, 47234617, 47228685, 47231633, 47231680, 47231680, 47231751, 47231751, 47234569, 47234581, 47234617]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3223742054, 1084227584, 3258797261, 3264959349, 1050324186, 1048945099]\n",
|
|
"SBLK [19, 1397769302, 0]\n",
|
|
"CTKS [47234645, 47237571, 47231661, 47234617, 47234656, 47234656, 47234723, 47234723, 47237537, 47237542, 47237570]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3222064333, 1084227584, 3256920310, 3264937460, 1050351029, 1048941743]\n",
|
|
"SBLK [20, 1397769302, 0]\n",
|
|
"CTKS [47237599, 47240542, 47234645, 47237571, 47237609, 47237610, 47237687, 47237687, 47240487, 47240506, 47240541]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3219547750, 1084227584, 3255040999, 3264919372, 1050377873, 1048978653]\n",
|
|
"SBLK [21, 1397769302, 0]\n",
|
|
"CTKS [47240561, 47243473, 47237599, 47240542, 47240572, 47240572, 47240641, 47240641, 47243429, 47243441, 47243473]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3216192307, 1084227584, 3251547144, 3264904692, 1050391295, 1048975298]\n",
|
|
"SBLK [22, 1397769302, 0]\n",
|
|
"CTKS [47243493, 47246457, 47240561, 47243473, 47243512, 47243512, 47243611, 47243611, 47246402, 47246418, 47246456]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3212836864, 1084227584, 3247788524, 3264894730, 1050408072, 1048968587]\n",
|
|
"SBLK [23, 1397769302, 0]\n",
|
|
"CTKS [47246476, 47249361, 47243493, 47246457, 47246487, 47246488, 47246540, 47246540, 47249328, 47249331, 47249361]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3206125978, 1084227584, 3241737716, 3264889881, 1050421494, 1048965231]\n",
|
|
"SBLK [24, 1397769302, 0]\n",
|
|
"CTKS [47249381, 47252280, 47246476, 47249361, 47249400, 47249400, 47249460, 47249460, 47252233, 47252243, 47252279]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3192704205, 1084227584, 3230528438, 3264886211, 1050434916, 1048958521]\n",
|
|
"SBLK [25, 1397769302, 0]\n",
|
|
"CTKS [47252308, 47255256, 47249381, 47252280, 47252319, 47252319, 47252416, 47252416, 47255200, 47255217, 47255255]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1045220557, 1084227584, 1077025964, 3264887914, 1050438271, 1048982009]\n",
|
|
"SBLK [26, 1397769302, 0]\n",
|
|
"CTKS [47255348, 47258250, 47252308, 47255256, 47255360, 47255360, 47255408, 47255408, 47258203, 47258203, 47258249]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1058642330, 1084227584, 1092521820, 3264894599, 1050424849, 1048971942]\n",
|
|
"SBLK [27, 1397769302, 0]\n",
|
|
"CTKS [47258269, 47261183, 47255348, 47258250, 47258289, 47258289, 47258339, 47258339, 47261134, 47261146, 47261182]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1065353216, 1084227584, 1099434557, 3264901677, 1050411427, 1048961876]\n",
|
|
"SBLK [28, 1397769302, 0]\n",
|
|
"CTKS [47261211, 47264117, 47258269, 47261183, 47261230, 47261230, 47261284, 47261284, 47264061, 47264073, 47264117]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1068708659, 1084227584, 1103193702, 3264916619, 1050394650, 1048951810]\n",
|
|
"SBLK [29, 1397769302, 0]\n",
|
|
"CTKS [47264145, 47267056, 47261211, 47264117, 47264156, 47264156, 47264222, 47264222, 47267013, 47267025, 47267055]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1072064102, 1084227584, 1106943934, 3264932348, 1050381228, 1048938388]\n",
|
|
"SBLK [30, 1397769302, 0]\n",
|
|
"CTKS [47267075, 47270017, 47264145, 47267056, 47267094, 47267095, 47267167, 47267167, 47269958, 47269971, 47270016]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1074580685, 1084227584, 1108994163, 3264952664, 1050404717, 1048985364]\n",
|
|
"SBLK [31, 1397769302, 0]\n",
|
|
"CTKS [47270036, 47272949, 47267075, 47270017, 47270047, 47270047, 47270114, 47270115, 47272896, 47272913, 47272948]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1076258406, 1084227584, 1110873997, 3264976519, 1050387939, 1048978653]\n",
|
|
"SBLK [32, 1397769302, 0]\n",
|
|
"CTKS [47272969, 47275882, 47270036, 47272949, 47272988, 47272988, 47273046, 47273046, 47275833, 47275845, 47275882]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1077936128, 1084227584, 1112747016, 3265003782, 1050371162, 1048968587]\n",
|
|
"SBLK [33, 1397769302, 0]\n",
|
|
"CTKS [47275918, 47278822, 47272969, 47275882, 47275930, 47275930, 47275987, 47275988, 47278764, 47278777, 47278821]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1079613850, 1084227584, 1114625278, 3265035108, 1050354385, 1048958521]\n",
|
|
"SBLK [34, 1397769302, 0]\n",
|
|
"CTKS [47278850, 47281758, 47275918, 47278822, 47278869, 47278869, 47278927, 47278927, 47281707, 47281719, 47281757]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1081291571, 1084227584, 1116095119, 3265070105, 1050337608, 1048951810]\n",
|
|
"SBLK [35, 1397769302, 0]\n",
|
|
"CTKS [47281786, 47284700, 47278850, 47281758, 47281805, 47281805, 47281868, 47281868, 47284650, 47284661, 47284699]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1082549862, 1084227584, 1117035168, 3265109819, 1050300698, 1048961876]\n",
|
|
"SBLK [36, 1397769302, 0]\n",
|
|
"CTKS [47284728, 47287629, 47281786, 47284700, 47284746, 47284747, 47284803, 47284803, 47287581, 47287593, 47287628]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1083388723, 1084227584, 1117975216, 3265153204, 1050277210, 1048924966]\n",
|
|
"SBLK [37, 1397769302, 0]\n",
|
|
"CTKS [47287648, 47290549, 47284728, 47287629, 47287659, 47287659, 47287729, 47287729, 47290506, 47290511, 47290549]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1084227584, 1084227584, 1118919459, 3265200783, 1050253722, 1048888056]\n",
|
|
"SBLK [38, 1397769302, 0]\n",
|
|
"CTKS [47290577, 47293518, 47287648, 47290549, 47290596, 47290596, 47290694, 47290694, 47293462, 47293473, 47293517]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1084227584, 1083388723, 1118893375, 3264348553, 1050310764, 1048847791]\n",
|
|
"SBLK [39, 1397769302, 0]\n",
|
|
"CTKS [47293537, 47296428, 47290577, 47293518, 47293556, 47293556, 47293618, 47293618, 47296392, 47296399, 47296428]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1083388723, 1083388723, 1117948084, 3264294945, 1050334252, 1048884701]\n",
|
|
"SBLK [40, 1397769302, 0]\n",
|
|
"CTKS [47296448, 47299377, 47293537, 47296428, 47296459, 47296459, 47296534, 47296534, 47299319, 47299330, 47299376]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1082549862, 1083388723, 1117005152, 3264247497, 1050357740, 1048918255]\n",
|
|
"SBLK [41, 1397769302, 0]\n",
|
|
"CTKS [47299405, 47302292, 47296448, 47299377, 47299416, 47299416, 47299472, 47299472, 47302230, 47302251, 47302291]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1081291571, 1083388723, 1116063400, 3264203588, 1050387939, 1048908189]\n",
|
|
"SBLK [42, 1397769302, 0]\n",
|
|
"CTKS [47302320, 47305200, 47299405, 47302292, 47302330, 47302331, 47302387, 47302388, 47305140, 47305152, 47305199]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1079613850, 1083388723, 1114559218, 3264161907, 1050404717, 1048918255]\n",
|
|
"SBLK [43, 1397769302, 0]\n",
|
|
"CTKS [47305236, 47308079, 47302320, 47305200, 47305246, 47305247, 47305293, 47305293, 47308022, 47308035, 47308079]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1077936128, 1083388723, 1112678334, 3264124813, 1050421494, 1048924966]\n",
|
|
"SBLK [44, 1397769302, 0]\n",
|
|
"CTKS [47308099, 47310962, 47305236, 47308079, 47308110, 47308110, 47308182, 47308182, 47310915, 47310925, 47310961]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1076258406, 1083388723, 1110803743, 3264092963, 1050438271, 1048935032]\n",
|
|
"SBLK [45, 1397769302, 0]\n",
|
|
"CTKS [47310997, 47313842, 47308099, 47310962, 47311008, 47311008, 47311071, 47311071, 47313798, 47313806, 47313842]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1074580685, 1083388723, 1108926267, 3264062423, 1050455048, 1048945099]\n",
|
|
"SBLK [46, 1397769302, 0]\n",
|
|
"CTKS [47313958, 47316791, 47310997, 47313842, 47313978, 47313978, 47314017, 47314017, 47316743, 47316746, 47316791]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1072064102, 1083388723, 1106802377, 3264035684, 1050438271, 1048898123]\n",
|
|
"SBLK [47, 1397769302, 0]\n",
|
|
"CTKS [47316820, 47319670, 47313958, 47316791, 47316839, 47316840, 47316894, 47316895, 47319624, 47319633, 47319669]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1068708659, 1083388723, 1103060533, 3264014451, 1050455048, 1048911544]\n",
|
|
"SBLK [48, 1397769302, 0]\n",
|
|
"CTKS [47319690, 47322570, 47316820, 47319670, 47319701, 47319701, 47319783, 47319783, 47322516, 47322522, 47322570]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1065353216, 1083388723, 1099310301, 3263995314, 1050468470, 1048921611]\n",
|
|
"SBLK [49, 1397769302, 0]\n",
|
|
"CTKS [47322599, 47325430, 47319690, 47322570, 47322617, 47322618, 47322655, 47322655, 47325387, 47325399, 47325429]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1058642330, 1083388723, 1092283793, 3263979586, 1050481892, 1048931677]\n",
|
|
"SBLK [50, 1397769302, 0]\n",
|
|
"CTKS [47325458, 47328302, 47322599, 47325430, 47325469, 47325469, 47325523, 47325523, 47328245, 47328262, 47328302]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1045220557, 1083388723, 1076115800, 3263968707, 1050495314, 1048941743]\n",
|
|
"SBLK [51, 1397769302, 0]\n",
|
|
"CTKS [47328330, 47331222, 47325458, 47328302, 47328349, 47328349, 47328442, 47328443, 47331175, 47331192, 47331222]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3192704205, 1083388723, 3230952063, 3263959400, 1050488603, 1048914900]\n",
|
|
"SBLK [52, 1397769302, 0]\n",
|
|
"CTKS [47331250, 47334073, 47328330, 47331222, 47331269, 47331269, 47331318, 47331318, 47334042, 47334045, 47334073]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3206125978, 1083388723, 3241931702, 3263956648, 1050471825, 1048921611]\n",
|
|
"SBLK [53, 1397769302, 0]\n",
|
|
"CTKS [47334093, 47336940, 47331250, 47334073, 47334104, 47334104, 47334176, 47334176, 47336899, 47336910, 47336939]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3212836864, 1083388723, 3247875555, 3263955599, 1050458404, 1048924966]\n",
|
|
"SBLK [54, 1397769302, 0]\n",
|
|
"CTKS [47336976, 47339808, 47334093, 47336940, 47336995, 47336995, 47337040, 47337041, 47339757, 47339762, 47339808]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3216192307, 1083388723, 3251635749, 3263960449, 1050444982, 1048931677]\n",
|
|
"SBLK [55, 1397769302, 0]\n",
|
|
"CTKS [47339844, 47342660, 47336976, 47339808, 47339855, 47339855, 47339905, 47339905, 47342613, 47342622, 47342660]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3219547750, 1083388723, 3255081894, 3263966609, 1050431560, 1048935032]\n",
|
|
"SBLK [56, 1397769302, 0]\n",
|
|
"CTKS [47342688, 47345519, 47339844, 47342660, 47342699, 47342699, 47342770, 47342770, 47345480, 47345489, 47345518]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3222064333, 1083388723, 3256961991, 3263979454, 1050401361, 1048901478]\n",
|
|
"SBLK [57, 1397769302, 0]\n",
|
|
"CTKS [47345555, 47348400, 47342688, 47345519, 47345573, 47345574, 47345639, 47345639, 47348337, 47348354, 47348399]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3223742054, 1083388723, 3258837369, 3263993479, 1050374518, 1048908189]\n",
|
|
"SBLK [58, 1397769302, 0]\n",
|
|
"CTKS [47348428, 47351246, 47345555, 47348400, 47348438, 47348447, 47348487, 47348487, 47351198, 47351209, 47351245]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3225419776, 1083388723, 3260717466, 3264011305, 1050347674, 1048911544]\n",
|
|
"SBLK [59, 1397769302, 0]\n",
|
|
"CTKS [47351274, 47354128, 47348428, 47351246, 47351285, 47351285, 47351359, 47351359, 47354078, 47354090, 47354128]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3227097498, 1083388723, 3262597562, 3264033456, 1050317475, 1048914900]\n",
|
|
"SBLK [60, 1397769302, 0]\n",
|
|
"CTKS [47354156, 47357043, 47351274, 47354128, 47354167, 47354167, 47354268, 47354269, 47356999, 47357007, 47357043]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3228775219, 1083388723, 3263825183, 3264058229, 1050290631, 1048918255]\n",
|
|
"SBLK [61, 1397769302, 0]\n",
|
|
"CTKS [47357072, 47359947, 47354156, 47357043, 47357082, 47357083, 47357150, 47357150, 47359887, 47359903, 47359946]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230033510, 1083388723, 3264765624, 3264086278, 1050260432, 1048877990]\n",
|
|
"SBLK [62, 1397769302, 0]\n",
|
|
"CTKS [47359983, 47362818, 47357072, 47359947, 47359993, 47359994, 47360039, 47360039, 47362768, 47362781, 47362817]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230872371, 1083388723, 3265710260, 3264116556, 1050210101, 1048877990]\n",
|
|
"SBLK [63, 1397769302, 0]\n",
|
|
"CTKS [47362854, 47365718, 47359983, 47362818, 47362864, 47362865, 47362925, 47362925, 47365669, 47365680, 47365718]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3231711232, 1083388723, 3266654241, 3264151028, 1050159769, 1048874634]\n",
|
|
"SBLK [64, 1397769302, 0]\n",
|
|
"CTKS [47365746, 47368652, 47362854, 47365718, 47365765, 47365765, 47365865, 47365865, 47368616, 47368621, 47368651]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3231711232, 1082549862, 3266655551, 3263312167, 1050196679, 1048861213]\n",
|
|
"SBLK [65, 1397769302, 0]\n",
|
|
"CTKS [47368753, 47371610, 47365746, 47368652, 47368773, 47368773, 47368819, 47368819, 47371568, 47371579, 47371609]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230872371, 1082549862, 3265710260, 3263273107, 1050247011, 1048864568]\n",
|
|
"SBLK [66, 1397769302, 0]\n",
|
|
"CTKS [47371639, 47374511, 47368753, 47371610, 47371650, 47371650, 47371717, 47371717, 47374465, 47374472, 47374510]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230033510, 1082549862, 3264764838, 3263239160, 1050297342, 1048867924]\n",
|
|
"SBLK [67, 1397769302, 0]\n",
|
|
"CTKS [47374530, 47377427, 47371639, 47374511, 47374549, 47374550, 47374616, 47374616, 47377370, 47377383, 47377427]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3228775219, 1082549862, 3263822692, 3263207834, 1050340963, 1048881345]\n",
|
|
"SBLK [68, 1397769302, 0]\n",
|
|
"CTKS [47377447, 47380328, 47374530, 47377427, 47377466, 47377466, 47377523, 47377523, 47380271, 47380283, 47380327]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3227097498, 1082549862, 3262589436, 3263179260, 1050367807, 1048874634]\n",
|
|
"SBLK [69, 1397769302, 0]\n",
|
|
"CTKS [47380355, 47383236, 47377447, 47380328, 47380374, 47380375, 47380433, 47380433, 47383180, 47383198, 47383236]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3225419776, 1082549862, 3260708815, 3263138365, 1050398006, 1048871279]\n",
|
|
"SBLK [70, 1397769302, 0]\n",
|
|
"CTKS [47383256, 47386118, 47380355, 47383236, 47383266, 47383267, 47383329, 47383329, 47386071, 47386082, 47386118]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3223742054, 1082549862, 3258830291, 3263094850, 1050424849, 1048867924]\n",
|
|
"SBLK [71, 1397769302, 0]\n",
|
|
"CTKS [47386146, 47389003, 47383256, 47386118, 47386165, 47386165, 47386225, 47386225, 47388958, 47388964, 47389002]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3222064333, 1082549862, 3256956223, 3263057887, 1050451693, 1048864568]\n",
|
|
"SBLK [72, 1397769302, 0]\n",
|
|
"CTKS [47389030, 47391894, 47386146, 47389003, 47389041, 47389041, 47389109, 47389109, 47391837, 47391850, 47391893]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3219547750, 1082549862, 3255078748, 3263025381, 1050485247, 1048891412]\n",
|
|
"SBLK [73, 1397769302, 0]\n",
|
|
"CTKS [47391922, 47394753, 47389030, 47391894, 47391941, 47391941, 47391989, 47391989, 47394703, 47394714, 47394752]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3216192307, 1082549862, 3251629982, 3262997332, 1050498669, 1048888056]\n",
|
|
"SBLK [74, 1397769302, 0]\n",
|
|
"CTKS [47394773, 47397647, 47391922, 47394753, 47394784, 47394784, 47394866, 47394866, 47397611, 47397615, 47397647]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3212836864, 1082549862, 3247869788, 3262982652, 1050512091, 1048881345]\n",
|
|
"SBLK [75, 1397769302, 0]\n",
|
|
"CTKS [47397667, 47400531, 47394773, 47397647, 47397686, 47397687, 47397743, 47397743, 47400481, 47400487, 47400531]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3206125978, 1082549862, 3241915974, 3262969545, 1050525512, 1048877990]\n",
|
|
"SBLK [76, 1397769302, 0]\n",
|
|
"CTKS [47400559, 47403388, 47397667, 47400531, 47400569, 47400570, 47400618, 47400618, 47403345, 47403359, 47403388]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3192704205, 1082549862, 3230947869, 3262966399, 1050538934, 1048871279]\n",
|
|
"SBLK [77, 1397769302, 0]\n",
|
|
"CTKS [47403424, 47406309, 47400559, 47403388, 47403435, 47403435, 47403527, 47403528, 47406253, 47406265, 47406309]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1045220557, 1082549862, 1076107411, 3262971380, 1050555711, 1048901478]\n",
|
|
"SBLK [78, 1397769302, 0]\n",
|
|
"CTKS [47406338, 47409175, 47403424, 47406309, 47406356, 47406357, 47406411, 47406411, 47409136, 47409147, 47409174]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1058642330, 1082549862, 1092296376, 3262982914, 1050538934, 1048891412]\n",
|
|
"SBLK [79, 1397769302, 0]\n",
|
|
"CTKS [47409203, 47412034, 47406338, 47409175, 47409222, 47409222, 47409268, 47409268, 47411993, 47411997, 47412033]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1065353216, 1082549862, 1099308204, 3263004934, 1050525512, 1048881345]\n",
|
|
"SBLK [80, 1397769302, 0]\n",
|
|
"CTKS [47412054, 47414895, 47409203, 47412034, 47412065, 47412066, 47412126, 47412126, 47414855, 47414858, 47414894]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1068708659, 1082549862, 1103057912, 3263036654, 1050512091, 1048867924]\n",
|
|
"SBLK [81, 1397769302, 0]\n",
|
|
"CTKS [47414922, 47417768, 47412054, 47414895, 47414933, 47414933, 47415000, 47415008, 47417720, 47417732, 47417768]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1072064102, 1082549862, 1106796610, 3263069946, 1050498669, 1048857857]\n",
|
|
"SBLK [82, 1397769302, 0]\n",
|
|
"CTKS [47417796, 47420637, 47414922, 47417768, 47417814, 47417815, 47417872, 47417873, 47420590, 47420607, 47420637]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1074580685, 1082549862, 1108916568, 3263115035, 1050505380, 1048901478]\n",
|
|
"SBLK [83, 1397769302, 0]\n",
|
|
"CTKS [47420665, 47423534, 47417796, 47420637, 47420684, 47420685, 47420748, 47420748, 47423482, 47423494, 47423533]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1076258406, 1082549862, 1110793781, 3263164580, 1050488603, 1048894767]\n",
|
|
"SBLK [84, 1397769302, 0]\n",
|
|
"CTKS [47423647, 47426484, 47420665, 47423534, 47423667, 47423668, 47423715, 47423715, 47426442, 47426455, 47426483]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1077936128, 1082549862, 1112666800, 3263194726, 1050471825, 1048884701]\n",
|
|
"SBLK [85, 1397769302, 0]\n",
|
|
"CTKS [47426513, 47429387, 47423647, 47426484, 47426524, 47426524, 47426593, 47426593, 47429332, 47429349, 47429387]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1079613850, 1082549862, 1114542703, 3263229329, 1050455048, 1048874634]\n",
|
|
"SBLK [86, 1397769302, 0]\n",
|
|
"CTKS [47429415, 47432257, 47426513, 47429387, 47429434, 47429434, 47429479, 47429479, 47432208, 47432211, 47432257]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1081291571, 1082549862, 1116053832, 3263263146, 1050438271, 1048867924]\n",
|
|
"SBLK [87, 1397769302, 0]\n",
|
|
"CTKS [47432277, 47435132, 47429415, 47432257, 47432288, 47432288, 47432355, 47432355, 47435089, 47435103, 47435131]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1082549862, 1082549862, 1116993618, 3263303123, 1050414783, 1048877990]\n",
|
|
"SBLK [88, 1397769302, 0]\n",
|
|
"CTKS [47435151, 47437991, 47432277, 47435132, 47435170, 47435170, 47435237, 47435237, 47437945, 47437963, 47437991]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1083388723, 1082549862, 1117932749, 3263345328, 1050391295, 1048841080]\n",
|
|
"SBLK [89, 1397769302, 0]\n",
|
|
"CTKS [47438019, 47440886, 47435151, 47437991, 47438038, 47438038, 47438104, 47438104, 47440825, 47440839, 47440885]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1084227584, 1082549862, 1118876205, 3263390679, 1050367807, 1048804170]\n",
|
|
"SBLK [90, 1397769302, 0]\n",
|
|
"CTKS [47440914, 47443789, 47438019, 47440886, 47440924, 47440924, 47441025, 47441025, 47443748, 47443761, 47443789]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1084227584, 1081291571, 1118856544, 3261938270, 1050408072, 1048857857]\n",
|
|
"SBLK [91, 1397769302, 0]\n",
|
|
"CTKS [47443809, 47446664, 47440914, 47443789, 47443828, 47443828, 47443900, 47443901, 47446614, 47446625, 47446664]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1083388723, 1081291571, 1117912433, 3261844947, 1050448337, 1048861213]\n",
|
|
"SBLK [92, 1397769302, 0]\n",
|
|
"CTKS [47446692, 47449526, 47443809, 47446664, 47446703, 47446703, 47446767, 47446767, 47449477, 47449488, 47449526]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1082549862, 1081291571, 1116972515, 3261758177, 1050488603, 1048861213]\n",
|
|
"SBLK [93, 1397769302, 0]\n",
|
|
"CTKS [47449554, 47452395, 47446692, 47449526, 47449565, 47449566, 47449630, 47449630, 47452331, 47452350, 47452394]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1081291571, 1081291571, 1116031812, 3261675864, 1050515446, 1048834369]\n",
|
|
"SBLK [94, 1397769302, 0]\n",
|
|
"CTKS [47452422, 47455239, 47449554, 47452395, 47452441, 47452441, 47452480, 47452480, 47455181, 47455193, 47455239]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1079613850, 1081291571, 1114497090, 3261607182, 1050532223, 1048837725]\n",
|
|
"SBLK [95, 1397769302, 0]\n",
|
|
"CTKS [47455259, 47458088, 47452422, 47455239, 47455270, 47455270, 47455332, 47455333, 47458035, 47458048, 47458088]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1077936128, 1081291571, 1112619614, 3261535355, 1050552356, 1048844435]\n",
|
|
"SBLK [96, 1397769302, 0]\n",
|
|
"CTKS [47458116, 47460968, 47455259, 47458088, 47458135, 47458135, 47458191, 47458191, 47460909, 47460924, 47460967]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1076258406, 1081291571, 1110746857, 3261476372, 1050569133, 1048847791]\n",
|
|
"SBLK [97, 1397769302, 0]\n",
|
|
"CTKS [47460988, 47463897, 47458116, 47460968, 47460998, 47460999, 47461110, 47461111, 47463836, 47463843, 47463896]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1074580685, 1081291571, 1108869382, 3261423682, 1050589266, 1048851146]\n",
|
|
"SBLK [98, 1397769302, 0]\n",
|
|
"CTKS [47463925, 47466734, 47460988, 47463897, 47463944, 47463944, 47463985, 47463985, 47466691, 47466703, 47466734]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1072064102, 1081291571, 1106700141, 3261374398, 1050592621, 1048867924]\n",
|
|
"SBLK [99, 1397769302, 0]\n",
|
|
"CTKS [47466763, 47469601, 47463925, 47466734, 47466773, 47466774, 47466852, 47466852, 47469559, 47469571, 47469601]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1068708659, 1081291571, 1102961967, 3261336650, 1050606043, 1048871279]\n",
|
|
"100 96192 17150576\n",
|
|
"SBLK [100, 1397769302, 0]\n",
|
|
"CTKS [47469637, 47472468, 47466763, 47469601, 47469656, 47469656, 47469718, 47469719, 47472427, 47472438, 47472467]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1065353216, 1081291571, 1099215405, 3261300212, 1050616109, 1048874634]\n",
|
|
"SBLK [101, 1397769302, 0]\n",
|
|
"CTKS [47472496, 47475312, 47469637, 47472468, 47472515, 47472515, 47472560, 47472560, 47475266, 47475276, 47475312]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1058642330, 1081291571, 1092114973, 3261272949, 1050626176, 1048877990]\n",
|
|
"SBLK [102, 1397769302, 0]\n",
|
|
"CTKS [47475340, 47478161, 47472496, 47475312, 47475351, 47475351, 47475407, 47475407, 47478114, 47478125, 47478160]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [1045220557, 1081291571, 1075448906, 3261255647, 1050639598, 1048881345]\n",
|
|
"SBLK [103, 1397769302, 0]\n",
|
|
"CTKS [47478272, 47481106, 47475340, 47478161, 47478293, 47478294, 47478340, 47478341, 47481045, 47481058, 47481106]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3192704205, 1081291571, 3231254053, 3261245424, 1050636242, 1048837725]\n",
|
|
"SBLK [104, 1397769302, 0]\n",
|
|
"CTKS [47481135, 47483966, 47478272, 47481106, 47481146, 47481147, 47481186, 47481186, 47483901, 47483920, 47483965]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3206125978, 1081291571, 3242064871, 3261242016, 1050619465, 1048847791]\n",
|
|
"SBLK [105, 1397769302, 0]\n",
|
|
"CTKS [47483986, 47486786, 47481135, 47483966, 47483997, 47483997, 47484042, 47484042, 47486747, 47486758, 47486786]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3212836864, 1081291571, 3247937946, 3261249356, 1050602688, 1048857857]\n",
|
|
"SBLK [106, 1397769302, 0]\n",
|
|
"CTKS [47486806, 47489655, 47483986, 47486786, 47486824, 47486825, 47486892, 47486892, 47489601, 47489618, 47489654]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3216192307, 1081291571, 3251690275, 3261259317, 1050585910, 1048867924]\n",
|
|
"SBLK [107, 1397769302, 0]\n",
|
|
"CTKS [47489674, 47492511, 47486806, 47489655, 47489693, 47489694, 47489750, 47489751, 47492462, 47492474, 47492510]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3219547750, 1081291571, 3255106011, 3261282648, 1050569133, 1048874634]\n",
|
|
"SBLK [108, 1397769302, 0]\n",
|
|
"CTKS [47492539, 47495386, 47489674, 47492511, 47492558, 47492558, 47492623, 47492623, 47495339, 47495349, 47495385]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3222064333, 1081291571, 3256981651, 3261310697, 1050535579, 1048827658]\n",
|
|
"SBLK [109, 1397769302, 0]\n",
|
|
"CTKS [47495422, 47498248, 47492539, 47495386, 47495441, 47495441, 47495491, 47495491, 47498200, 47498212, 47498248]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3223742054, 1081291571, 3258853097, 3261343203, 1050505380, 1048834369]\n",
|
|
"SBLK [110, 1397769302, 0]\n",
|
|
"CTKS [47498268, 47501132, 47495422, 47498248, 47498287, 47498288, 47498354, 47498355, 47501083, 47501094, 47501132]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3225419776, 1081291571, 3260728476, 3261381738, 1050475181, 1048841080]\n",
|
|
"SBLK [111, 1397769302, 0]\n",
|
|
"CTKS [47501152, 47504038, 47498268, 47501132, 47501163, 47501163, 47501243, 47501244, 47503990, 47503994, 47504038]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3227097498, 1081291571, 3262605689, 3261427614, 1050444982, 1048851146]\n",
|
|
"SBLK [112, 1397769302, 0]\n",
|
|
"CTKS [47504074, 47506942, 47501152, 47504038, 47504092, 47504093, 47504134, 47504135, 47506879, 47506894, 47506941]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3228775219, 1081291571, 3263829246, 3261477945, 1050414783, 1048857857]\n",
|
|
"SBLK [113, 1397769302, 0]\n",
|
|
"CTKS [47506970, 47509850, 47504074, 47506942, 47506989, 47506989, 47507036, 47507036, 47509793, 47509806, 47509849]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230033510, 1081291571, 3264769294, 3261532996, 1050304053, 1048931677]\n",
|
|
"SBLK [114, 1397769302, 0]\n",
|
|
"CTKS [47509878, 47512755, 47506970, 47509850, 47509896, 47509897, 47509943, 47509944, 47512708, 47512724, 47512754]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230872371, 1081291571, 3265712488, 3261592502, 1050260432, 1048911544]\n",
|
|
"SBLK [115, 1397769302, 0]\n",
|
|
"CTKS [47512782, 47515752, 47509878, 47512755, 47512793, 47512794, 47512861, 47512861, 47515713, 47515714, 47515751]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3231711232, 1081291571, 3266655027, 3261660398, 1050213456, 1048891412]\n",
|
|
"SBLK [116, 1397769302, 0]\n",
|
|
"CTKS [47515792, 47518734, 47512782, 47515752, 47515804, 47515804, 47515903, 47515903, 47518691, 47518697, 47518733]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3231711232, 1079613850, 3266652799, 3260007580, 1050250366, 1048841080]\n",
|
|
"SBLK [117, 1397769302, 0]\n",
|
|
"CTKS [47518755, 47521667, 47515792, 47518734, 47518774, 47518774, 47518837, 47518837, 47521618, 47521629, 47521667]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230872371, 1079613850, 3265707114, 3259935490, 1050293987, 1048861213]\n",
|
|
"SBLK [118, 1397769302, 0]\n",
|
|
"CTKS [47521703, 47524599, 47518755, 47521667, 47521722, 47521722, 47521777, 47521777, 47524567, 47524570, 47524598]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3230033510, 1079613850, 3264762085, 3259867070, 1050340963, 1048881345]\n",
|
|
"SBLK [119, 1397769302, 0]\n",
|
|
"CTKS [47524618, 47527536, 47521703, 47524599, 47524629, 47524630, 47524715, 47524715, 47527488, 47527492, 47527536]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3228775219, 1079613850, 3263820988, 3259809399, 1050444982, 1048824303]\n",
|
|
"SBLK [120, 1397769302, 0]\n",
|
|
"CTKS [47527556, 47530444, 47524618, 47527536, 47527567, 47527567, 47527633, 47527633, 47530385, 47530397, 47530443]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3227097498, 1079613850, 3262586290, 3259755659, 1050475181, 1048817592]\n",
|
|
"SBLK [121, 1397769302, 0]\n",
|
|
"CTKS [47530472, 47533345, 47527556, 47530444, 47530491, 47530491, 47530538, 47530539, 47533308, 47533313, 47533345]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3225419776, 1079613850, 3260709077, 3259705852, 1050505380, 1048810881]\n",
|
|
"SBLK [122, 1397769302, 0]\n",
|
|
"CTKS [47533463, 47536327, 47530472, 47533345, 47533483, 47533483, 47533529, 47533529, 47536287, 47536290, 47536326]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3223742054, 1079613850, 3258831864, 3259667841, 1050535579, 1048800815]\n",
|
|
"SBLK [123, 1397769302, 0]\n",
|
|
"CTKS [47536355, 47539241, 47533463, 47536327, 47536366, 47536366, 47536441, 47536441, 47539201, 47539212, 47539240]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3222064333, 1079613850, 3256960680, 3259632976, 1050565778, 1048794104]\n",
|
|
"SBLK [124, 1397769302, 0]\n",
|
|
"CTKS [47539276, 47542161, 47536355, 47539241, 47539295, 47539295, 47539362, 47539362, 47542108, 47542121, 47542161]\n",
|
|
"TUNE [4294793595, 173701, 4294967295]\n",
|
|
"NSPO [3219547750, 1079613850, 3255085564, 3259603091, 1050599332, 1048837725]\n"
|
|
]
|
|
},
|
|
{
|
|
"ename": "KeyboardInterrupt",
|
|
"evalue": "",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
|
|
"Cell \u001b[0;32mIn[356], line 9\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m iMemRunner \u001b[38;5;241m<\u001b[39m pcDataBuf\u001b[38;5;241m.\u001b[39msize(): \n\u001b[1;32m 8\u001b[0m sGenBlock \u001b[38;5;241m=\u001b[39m GenericBlock()\n\u001b[0;32m----> 9\u001b[0m bLen \u001b[38;5;241m=\u001b[39m bmms_read_bin_block(sGenBlock, pcDataBuf[iMemRunner:])\n\u001b[1;32m 10\u001b[0m iMemRunner \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m bLen\n\u001b[1;32m 11\u001b[0m \u001b[38;5;66;03m#print(\"Block:\",uint32_to_id(sGenBlock.uiBlockID), \"with\", len(sGenBlock.EntryList), \"entries\")\u001b[39;00m\n",
|
|
"Cell \u001b[0;32mIn[329], line 97\u001b[0m, in \u001b[0;36mbmms_read_bin_block\u001b[0;34m(sGenBlock, pcDataBuf)\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m (uiBlockLength \u001b[38;5;241m-\u001b[39m BLOCKCRCSIZE \u001b[38;5;241m-\u001b[39m iOffset) \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 96\u001b[0m sGenEntry \u001b[38;5;241m=\u001b[39m GenericEntry()\n\u001b[0;32m---> 97\u001b[0m iOffset \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m bmms_read_bin_entry(sGenEntry, pcDataBuf[iOffset:])\n\u001b[1;32m 98\u001b[0m sGenBlock\u001b[38;5;241m.\u001b[39mEntryList\u001b[38;5;241m.\u001b[39mappend(sGenEntry)\n\u001b[1;32m 100\u001b[0m \u001b[38;5;66;03m#ui32Val, = struct.unpack('!I', pcDataBuf[iOffset:iOffset+4])\u001b[39;00m\n",
|
|
"Cell \u001b[0;32mIn[329], line 22\u001b[0m, in \u001b[0;36mbmms_read_bin_entry\u001b[0;34m(sGenEntry, pcDataBuf)\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;66;03m#self.sGenEntry = GenericEntry()\u001b[39;00m\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msCRC \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m---> 22\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mbmms_read_bin_entry\u001b[39m(sGenEntry, pcDataBuf):\n\u001b[1;32m 23\u001b[0m ui32Val \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[1;32m 24\u001b[0m st_ReadedBytes \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n",
|
|
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"iMemRunner = 0;\n",
|
|
"MAX_BLK = 20\n",
|
|
"iMaxBlk = 0\n",
|
|
"\n",
|
|
"pcDataBuf = psBMMSLOGREADER.pcMemBlock\n",
|
|
"\n",
|
|
"while iMemRunner < pcDataBuf.size(): \n",
|
|
" sGenBlock = GenericBlock()\n",
|
|
" bLen = bmms_read_bin_block(sGenBlock, pcDataBuf[iMemRunner:])\n",
|
|
" iMemRunner += bLen\n",
|
|
" #print(\"Block:\",uint32_to_id(sGenBlock.uiBlockID), \"with\", len(sGenBlock.EntryList), \"entries\")\n",
|
|
"\n",
|
|
" if sGenBlock.uiBlockID == id_to_uint32(\"SPDV\"):\n",
|
|
" for iEntry in sGenBlock.EntryList:\n",
|
|
" #print(uint32_to_id(iEntry.uiEntryID))\n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"SBLK\"):\n",
|
|
" uiArray = bmms_bin_entry_parse_ui32Array(iEntry.pEntry)\n",
|
|
" print(\"SBLK\",uiArray)\n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"CTKS\"):\n",
|
|
" uiArray = bmms_bin_entry_parse_ui32Array(iEntry.pEntry)\n",
|
|
" print(\"CTKS\",uiArray)\n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"TUNE\"):\n",
|
|
" uiArray = bmms_bin_entry_parse_i32Array(iEntry.pEntry)\n",
|
|
" print(\"TUNE\",uiArray) \n",
|
|
" if iEntry.uiEntryID == id_to_uint32(\"NSPO\"):\n",
|
|
" uiArray = bmms_bin_entry_parse_f32Array(iEntry.pEntry)\n",
|
|
" print(\"NSPO\",uiArray) \n",
|
|
"\n",
|
|
" iMaxBlk +=1\n",
|
|
" if iMaxBlk % 100 == 0:\n",
|
|
" print(iMaxBlk,iMemRunner, pcDataBuf.size())\n",
|
|
" # if iMaxBlk >= MAX_BLK:\n",
|
|
" # break"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 178,
|
|
"id": "1739a0fb-aa24-4f26-84fd-910c5c4af2eb",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"bmms_bin_log_unload(psBMMSLOGREADER)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "fbd6d2f4-3ace-4d00-b11a-1c5f625841f7",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"pcDataBuf = psBMMSLOGREADER.pcMemBlock\n",
|
|
"BlkList = bmms_index_bin_block_pos(pcDataBuf)\n",
|
|
"for mBlk in BlkList:\n",
|
|
" mBlk['Entries'] = bmms_index_bin_entry_pos(pcDataBuf[mBlk['start']: mBlk['start'] + mBlk['len'] ])\n",
|
|
" for mEtr in mBlk['Entries']:\n",
|
|
" mEtr['AbsStart'] = mBlk['start'] + mEtr['start']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "d89a2545-a3d0-48f3-97e3-ddfe63a55050",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.0"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|