9 def generate(outfile, tablename, tablelength, samplerate):
10 fout = open(os.path.expanduser(outfile),
"w")
11 fout.write(
'#ifndef ' + tablename +
'_H_' +
'\n')
12 fout.write(
'#define ' + tablename +
'_H_' +
'\n \n')
13 fout.write(
'#if ARDUINO >= 100'+
'\n')
14 fout.write(
'#include "Arduino.h"'+
'\n')
15 fout.write(
'#else'+
'\n')
16 fout.write(
'#include "WProgram.h"'+
'\n')
17 fout.write(
'#endif'+
'\n')
18 fout.write(
'#include "mozzi_pgmspace.h"'+
'\n \n')
19 fout.write(
'#define ' + tablename +
'_NUM_CELLS '+ str(tablelength)+
'\n')
20 fout.write(
'#define ' + tablename +
'_SAMPLERATE '+ str(samplerate)+
'\n \n')
21 outstring =
'CONSTTABLE_STORAGE(int8_t) ' + tablename +
'_DATA [] = {' 24 for num
in range(tablelength):
26 x = float(num)/tablelength
28 t_x = (math.cos(2*math.pi*x-math.pi)+1)/2
30 scaled = int(math.floor(t_x*255.999))-128
32 outstring += str(scaled) +
', ' 34 outstring = textwrap.fill(outstring, 80)
35 outstring +=
'\n }; \n \n #endif /* ' + tablename +
'_H_ */\n' 38 print "wrote " + outfile
40 generate(
"~/Desktop/sin1024_int8.h",
"SIN1024", 1024,
"1024")