PEP Cleanup and remove abs paths
This commit is contained in:
parent
69616740eb
commit
ce8042c926
@ -4,15 +4,15 @@ import sys
|
|||||||
import time
|
import time
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
LEN = 2**16
|
LEN = 2 ** 16
|
||||||
huffman = False
|
huffman = False
|
||||||
TARGET=os.getcwd()
|
TARGET = os.getcwd()
|
||||||
SOURCE=sys.argv[1]
|
SOURCE = sys.argv[1]
|
||||||
|
LOC = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
HUFFMAN_ENCODER = os.path.join(LOC, "..", "tools", "huffman", "huffman-encode")
|
||||||
|
|
||||||
HUFFMAN_ENCODER="/Users/david/Devel/arch/avr/code/quickdev16/packages/huffman/huffman-encode"
|
data = open(SOURCE, "r").read()
|
||||||
|
print "Load %s, %i bytes" % (SOURCE, len(data))
|
||||||
data = open(SOURCE,"r").read()
|
|
||||||
print "Load %s, %i bytes" % (SOURCE,len(data))
|
|
||||||
data = data[:LEN]
|
data = data[:LEN]
|
||||||
print "Use %i bytes" % (len(data))
|
print "Use %i bytes" % (len(data))
|
||||||
data = binascii.rlecode_hqx(data)
|
data = binascii.rlecode_hqx(data)
|
||||||
@ -21,33 +21,30 @@ print "RLE crunch (%i) bytes" % (len(data))
|
|||||||
rle_size = len(data)
|
rle_size = len(data)
|
||||||
huffman_size = 0
|
huffman_size = 0
|
||||||
|
|
||||||
if huffman == True:
|
if huffman:
|
||||||
binfile = open("/tmp/loader.rle","w")
|
binfile = open("/tmp/loader.rle", "w")
|
||||||
binfile.write(data)
|
binfile.write(data)
|
||||||
binfile.close()
|
binfile.close()
|
||||||
|
|
||||||
cmd = "%s /tmp/loader.rle" % HUFFMAN_ENCODER
|
cmd = "%s /tmp/loader.rle" % HUFFMAN_ENCODER
|
||||||
print cmd
|
print cmd
|
||||||
os.system(cmd)
|
os.system(cmd)
|
||||||
data = open("/tmp/loader.rle.hfm","r").read()
|
data = open("/tmp/loader.rle.hfm", "r").read()
|
||||||
print "HUFFMAN crunch (%i) bytes" % (len(data))
|
print "HUFFMAN crunch (%i) bytes" % (len(data))
|
||||||
huffman_size = len(data)
|
huffman_size = len(data)
|
||||||
os.unlink("/tmp/loader.rle")
|
os.unlink("/tmp/loader.rle")
|
||||||
os.unlink("/tmp/loader.rle.hfm")
|
os.unlink("/tmp/loader.rle.hfm")
|
||||||
|
|
||||||
|
cfile = open("/tmp/loader.c", "w")
|
||||||
cfile = open("/tmp/loader.c","w")
|
hfile = open("/tmp/loader.h", "w")
|
||||||
hfile = open("/tmp/loader.h","w")
|
|
||||||
|
|
||||||
parts = []
|
parts = []
|
||||||
cnt = len(data) / ((2**15) -1 )
|
cnt = len(data) / ((2 ** 15) - 1)
|
||||||
r = len(data) - (cnt * ((2**15) -1))
|
r = len(data) - (cnt * ((2 ** 15) - 1))
|
||||||
for i in range(0, cnt):
|
for i in range(0, cnt):
|
||||||
parts.append(((2**15) -1 ))
|
parts.append(((2 ** 15) - 1))
|
||||||
parts.append(r)
|
parts.append(r)
|
||||||
|
|
||||||
hfile.write('''/*
|
hfile.write('''/*
|
||||||
File: %s
|
File: %s
|
||||||
Time: %s
|
Time: %s
|
||||||
*/
|
*/
|
||||||
#ifndef __FIFO_H__
|
#ifndef __FIFO_H__
|
||||||
@ -57,65 +54,63 @@ Time: %s
|
|||||||
#define ROM_RLE_SIZE %i
|
#define ROM_RLE_SIZE %i
|
||||||
#define ROM_BUFFER_CNT %i
|
#define ROM_BUFFER_CNT %i
|
||||||
|
|
||||||
''' % (os.path.basename(SOURCE),time.strftime("%a, %d %b %Y %H:%M:%S",
|
''' % (
|
||||||
time.localtime()), huffman_size, rle_size,len(parts)))
|
os.path.basename(SOURCE),
|
||||||
|
time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime()),
|
||||||
|
huffman_size,
|
||||||
for idx,val in enumerate(parts):
|
rle_size,
|
||||||
hfile.write('#define ROM_BUFFER_SIZE%02i %i\n' % (idx+1,val))
|
len(parts)
|
||||||
|
))
|
||||||
|
|
||||||
|
for idx, val in enumerate(parts):
|
||||||
|
hfile.write('#define ROM_BUFFER_SIZE%02i %i\n' % (idx + 1, val))
|
||||||
hfile.write('\n#endif\n')
|
hfile.write('\n#endif\n')
|
||||||
hfile.close()
|
hfile.close()
|
||||||
cfile.write('''/*
|
cfile.write('''/*
|
||||||
File: %s
|
File: %s
|
||||||
Time: %s
|
Time: %s
|
||||||
*/
|
*/
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
#include <loader.h>
|
#include <loader.h>
|
||||||
''')
|
''')
|
||||||
|
|
||||||
|
|
||||||
addr = 0
|
addr = 0
|
||||||
for idx,val in enumerate(parts):
|
for idx, val in enumerate(parts):
|
||||||
cfile.write('''
|
cfile.write('''
|
||||||
const char _rom%02i[ROM_BUFFER_SIZE%02i] PROGMEM = {
|
const char _rom%02i[ROM_BUFFER_SIZE%02i] PROGMEM = {
|
||||||
''' % (idx+1,idx+1))
|
''' % (idx + 1, idx + 1))
|
||||||
l = addr
|
l = addr
|
||||||
h = addr + parts[idx]
|
h = addr + parts[idx]
|
||||||
addr+= parts[idx]
|
addr += parts[idx]
|
||||||
for idx,c in enumerate(data[l:h]):
|
for idx, c in enumerate(data[l:h]):
|
||||||
c = ord(c)
|
c = ord(c)
|
||||||
if idx<len(data)-1:
|
if idx < len(data) - 1:
|
||||||
cfile.write("0x%02x," % c)
|
cfile.write("0x%02x," % c)
|
||||||
else:
|
else:
|
||||||
cfile.write("0x%02x" % c)
|
cfile.write("0x%02x" % c)
|
||||||
if idx and idx%16==0:
|
if idx and idx % 16 == 0:
|
||||||
cfile.write("\n")
|
cfile.write("\n")
|
||||||
cfile.write('''
|
cfile.write('''
|
||||||
};
|
};
|
||||||
''')
|
''')
|
||||||
|
|
||||||
cfile.write('PGM_VOID_P _rom[ROM_BUFFER_CNT]= {')
|
cfile.write('PGM_VOID_P _rom[ROM_BUFFER_CNT]= {')
|
||||||
for idx,val in enumerate(parts):
|
for idx, val in enumerate(parts):
|
||||||
if idx<len(parts)-1:
|
if idx < len(parts) - 1:
|
||||||
cfile.write('''&_rom%02i,''' % (idx+1))
|
cfile.write('''&_rom%02i,''' % (idx + 1))
|
||||||
else:
|
else:
|
||||||
cfile.write('''&_rom%02i''' % (idx+1))
|
cfile.write('''&_rom%02i''' % (idx + 1))
|
||||||
cfile.write('''};
|
cfile.write('''};
|
||||||
''')
|
''')
|
||||||
|
|
||||||
cfile.write('const int _rom_size[ROM_BUFFER_CNT] = {')
|
cfile.write('const int _rom_size[ROM_BUFFER_CNT] = {')
|
||||||
for idx,val in enumerate(parts):
|
for idx, val in enumerate(parts):
|
||||||
if idx<len(parts)-1:
|
if idx < len(parts) - 1:
|
||||||
cfile.write('''%i,''' % (val))
|
cfile.write('''%i,''' % (val))
|
||||||
else:
|
else:
|
||||||
cfile.write('''%i''' % (val))
|
cfile.write('''%i''' % (val))
|
||||||
cfile.write('''};
|
cfile.write('''};
|
||||||
''')
|
''')
|
||||||
|
|
||||||
cfile.close()
|
cfile.close()
|
||||||
|
shutil.copy("/tmp/loader.c", os.path.join(TARGET, "loader.c"))
|
||||||
shutil.copy("/tmp/loader.c", os.path.join(TARGET,"loader.c"))
|
shutil.copy("/tmp/loader.h", os.path.join(TARGET, "loader.h"))
|
||||||
shutil.copy("/tmp/loader.h", os.path.join(TARGET,"loader.h"))
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user