12345678910111213141516171819202122232425262728 |
- import math
- 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()
|