sine.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // #!/usr/bin/env python3.9
  2. // import math
  3. // N,r,s = 256,3276.8*2,""
  4. // for i in range(N):
  5. // v = int(math.sin(i*math.tau/N)*r)
  6. // if v < 0: v = 65536+v
  7. // s += "0x{:04X}, ".format(v)
  8. // print (s)
  9. #define SINESIZE (256)
  10. const PROGMEM uint16_t sine[SINESIZE] =
  11. {
  12. 0x0000, 0x00A0, 0x0141, 0x01E2, 0x0282, 0x0322, 0x03C1, 0x0460, 0x04FE,
  13. 0x059B, 0x0638, 0x06D3, 0x076E, 0x0807, 0x089F, 0x0936, 0x09CB, 0x0A5F,
  14. 0x0AF2, 0x0B82, 0x0C11, 0x0C9E, 0x0D29, 0x0DB2, 0x0E38, 0x0EBD, 0x0F3F,
  15. 0x0FBF, 0x103D, 0x10B8, 0x1131, 0x11A6, 0x121A, 0x128A, 0x12F7, 0x1362,
  16. 0x13CA, 0x142E, 0x148F, 0x14EE, 0x1549, 0x15A0, 0x15F5, 0x1646, 0x1693,
  17. 0x16DD, 0x1724, 0x1767, 0x17A6, 0x17E2, 0x181A, 0x184E, 0x187F, 0x18AC,
  18. 0x18D5, 0x18FA, 0x191B, 0x1939, 0x1952, 0x1968, 0x197A, 0x1987, 0x1991,
  19. 0x1997, 0x1999, 0x1997, 0x1991, 0x1987, 0x197A, 0x1968, 0x1952, 0x1939,
  20. 0x191B, 0x18FA, 0x18D5, 0x18AC, 0x187F, 0x184E, 0x181A, 0x17E2, 0x17A6,
  21. 0x1767, 0x1724, 0x16DD, 0x1693, 0x1646, 0x15F5, 0x15A0, 0x1549, 0x14EE,
  22. 0x148F, 0x142E, 0x13CA, 0x1362, 0x12F7, 0x128A, 0x121A, 0x11A6, 0x1131,
  23. 0x10B8, 0x103D, 0x0FBF, 0x0F3F, 0x0EBD, 0x0E38, 0x0DB2, 0x0D29, 0x0C9E,
  24. 0x0C11, 0x0B82, 0x0AF2, 0x0A5F, 0x09CB, 0x0936, 0x089F, 0x0807, 0x076E,
  25. 0x06D3, 0x0638, 0x059B, 0x04FE, 0x0460, 0x03C1, 0x0322, 0x0282, 0x01E2,
  26. 0x0141, 0x00A0, 0x0000, 0xFF60, 0xFEBF, 0xFE1E, 0xFD7E, 0xFCDE, 0xFC3F,
  27. 0xFBA0, 0xFB02, 0xFA65, 0xF9C8, 0xF92D, 0xF892, 0xF7F9, 0xF761, 0xF6CA,
  28. 0xF635, 0xF5A1, 0xF50E, 0xF47E, 0xF3EF, 0xF362, 0xF2D7, 0xF24E, 0xF1C8,
  29. 0xF143, 0xF0C1, 0xF041, 0xEFC3, 0xEF48, 0xEECF, 0xEE5A, 0xEDE6, 0xED76,
  30. 0xED09, 0xEC9E, 0xEC36, 0xEBD2, 0xEB71, 0xEB12, 0xEAB7, 0xEA60, 0xEA0B,
  31. 0xE9BA, 0xE96D, 0xE923, 0xE8DC, 0xE899, 0xE85A, 0xE81E, 0xE7E6, 0xE7B2,
  32. 0xE781, 0xE754, 0xE72B, 0xE706, 0xE6E5, 0xE6C7, 0xE6AE, 0xE698, 0xE686,
  33. 0xE679, 0xE66F, 0xE669, 0xE667, 0xE669, 0xE66F, 0xE679, 0xE686, 0xE698,
  34. 0xE6AE, 0xE6C7, 0xE6E5, 0xE706, 0xE72B, 0xE754, 0xE781, 0xE7B2, 0xE7E6,
  35. 0xE81E, 0xE85A, 0xE899, 0xE8DC, 0xE923, 0xE96D, 0xE9BA, 0xEA0B, 0xEA60,
  36. 0xEAB7, 0xEB12, 0xEB71, 0xEBD2, 0xEC36, 0xEC9E, 0xED09, 0xED76, 0xEDE6,
  37. 0xEE5A, 0xEECF, 0xEF48, 0xEFC3, 0xF041, 0xF0C1, 0xF143, 0xF1C8, 0xF24E,
  38. 0xF2D7, 0xF362, 0xF3EF, 0xF47E, 0xF50E, 0xF5A1, 0xF635, 0xF6CA, 0xF761,
  39. 0xF7F9, 0xF892, 0xF92D, 0xF9C8, 0xFA65, 0xFB02, 0xFBA0, 0xFC3F, 0xFCDE,
  40. 0xFD7E, 0xFE1E, 0xFEBF, 0xFF60
  41. };