quickdev16/scripts/sinegen.py
2009-09-23 18:55:31 +02:00

39 lines
565 B
Python

import string
import math
import sys
M_PI = 3.14159265358979323846
def sine(val,r,scale,stepping):
global M_PI,flip
re = int(math.sin(val*(M_PI*scale)/r)*r) + r
re = re & 0xff
re = re * stepping
return re
def main():
cnt = 64
stepping = 1
upper = 0xff
s = "#define PWM_SINE_MAX %i\nuint8_t pwm_sine_table[] = {\n" % cnt
for i in range(0,cnt):
if i > 0 and i%16==0:
s+="\n"
s +="0x%02x," % sine(i,upper/2,(float(upper)/cnt),stepping)
s=s[:-1]
s+="\n};\n"
print s
main()