Last active
May 2, 2020 06:52
-
-
Save risgk/86b180e2764ef433863f68764483e8ab to your computer and use it in GitHub Desktop.
Digital Synth VRA8-N pSAW-16: VRA8-N v2.4 Special Edition with 16-step Pseudo-SAW Wave (LICENSE: CC0 1.0 Universal) https://risgk.github.io/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require_relative 'constants' | |
PSEUDO_SAW_STEPS = 16 | |
REDUCE_OSC_TABLE_SIZE_1 = false | |
$file = File.open("osc-table.h", "w") | |
$file.printf("#pragma once\n\n") | |
def freq_from_note_number(note_number) | |
cent = (note_number * 100.0) - 6900.0 | |
hz = A4_PITCH * (2.0 ** (cent / 1200.0)) | |
freq = (hz * (1 << OSC_PHASE_RESOLUTION_BITS) / SAMPLING_RATE / 2).floor.to_i | |
freq = freq + 1 if freq.even? | |
freq | |
end | |
$file.printf("const __uint24 g_osc_freq_table[] = {\n ") | |
(NOTE_NUMBER_MIN..NOTE_NUMBER_MAX).each do |note_number| | |
freq = freq_from_note_number(note_number) | |
$file.printf("0x%06X,", freq) | |
if note_number == DATA_BYTE_MAX | |
$file.printf("\n") | |
elsif note_number % 6 == (6 - 1) | |
$file.printf("\n ") | |
else | |
$file.printf(" ") | |
end | |
end | |
$file.printf("};\n\n") | |
$file.printf("const int8_t g_osc_tune_table[] = {\n ") | |
(0..(1 << OSC_TUNE_TABLE_STEPS_BITS) - 1).each do |i| | |
tune_rate = ((2.0 ** ((i - (1 << (OSC_TUNE_TABLE_STEPS_BITS - 1))) / (12.0 * (1 << OSC_TUNE_TABLE_STEPS_BITS)))) * | |
(1 << OSC_TUNE_DENOMINATOR_BITS) / 1.0).round - | |
(1 << OSC_TUNE_DENOMINATOR_BITS) / 1.0 | |
$file.printf("%5d,", tune_rate) | |
if i == (1 << OSC_TUNE_TABLE_STEPS_BITS) - 1 | |
$file.printf("\n") | |
elsif i % 8 == 7 | |
$file.printf("\n ") | |
else | |
$file.printf(" ") | |
end | |
end | |
$file.printf("};\n\n") | |
def generate_osc_wave_table(name, last, amp, organ = false) | |
$file.printf("const uint8_t g_osc_#{name}_wave_table_h%d[] PROGMEM = {\n ", last) | |
prev_level = 0 | |
(0..(1 << OSC_WAVE_TABLE_SAMPLES_BITS)).each do |n| | |
level = 0 | |
max = organ ? last * 2 : last | |
(1..max).each do |k| | |
level += yield(n, k) | |
end | |
level *= amp | |
level = (level * OSC_WAVE_TABLE_AMPLITUDE).floor.to_i | |
level_valid = (-127 <= level) && (level <= +127) | |
delta = level - prev_level | |
delta_valid = (-127 <= delta) && (delta <= +127) | |
prev_level = level | |
level += 0x100 if level < 0 | |
$file.printf("0x%02X,", level) | |
if n == (1 << OSC_WAVE_TABLE_SAMPLES_BITS) | |
$file.printf("\n") | |
elsif n % 16 == 15 | |
$file.printf("\n ") | |
else | |
$file.printf(" ") | |
end | |
raise Exception.new("Invalid level!") if level_valid == false | |
raise Exception.new("Invalid delta!") if delta_valid == false | |
end | |
$file.printf("};\n\n") | |
end | |
$osc_harmonics_restriction_table = [] | |
(NOTE_NUMBER_MIN..NOTE_NUMBER_MAX).each do |note_number| | |
freq = freq_from_note_number(((note_number + 2) / 3) * 3 + 1) | |
$osc_harmonics_restriction_table << freq | |
end | |
def last_harmonic(freq, organ = false, organ_last) | |
last = (freq != 0) ? ((FREQUENCY_MAX * (1 << OSC_PHASE_RESOLUTION_BITS)) / | |
((freq + OSC_DETUNE_FREQ_MAX) * 2 * SAMPLING_RATE)) : 0 | |
last = organ_last if organ && last > organ_last | |
last = [last, 127].min | |
if REDUCE_OSC_TABLE_SIZE_1 == true | |
last = 7 if last == 8 | |
last = 5 if last == 6 | |
last = 3 if last == 4 | |
last = 1 if last == 2 | |
end | |
last | |
end | |
def generate_osc_wave_table_arrays(organ = false, organ_last = 8) | |
$osc_harmonics_restriction_table. | |
map { |freq| last_harmonic(freq, organ, organ_last) }.uniq.sort.reverse.each do |i| | |
yield(i) | |
end | |
end | |
def sq_harm(n, k) | |
if k % 2 == 1 | |
(4.0 / Math::PI) * Math.sin((2.0 * Math::PI) * | |
(n.to_f / (1 << OSC_WAVE_TABLE_SAMPLES_BITS)) * k) / k | |
else | |
0.0 | |
end | |
end | |
generate_osc_wave_table_arrays do |last| | |
generate_osc_wave_table("saw", last, 6.0 / 6.0) do |n, k| | |
case PSEUDO_SAW_STEPS | |
when 8 | |
(1.0 / 2.0) * (sq_harm(n, k) + sq_harm(2 * n, k) / 2 + sq_harm(4 * n, k) / 4) | |
when 16 | |
(1.0 / 2.0) * (sq_harm(n, k) + sq_harm(2 * n, k) / 2 + sq_harm(4 * n, k) / 4 + sq_harm(8 * n, k) / 8) | |
when 32 | |
(1.0 / 2.0) * (sq_harm(n, k) + sq_harm(2 * n, k) / 2 + sq_harm(4 * n, k) / 4 + sq_harm(8 * n, k) / 8 + sq_harm(16 * n, k) / 16) | |
else | |
raise Exception.new("Invalid PSEUDO_SAW_STEPS!") | |
end | |
end | |
end | |
generate_osc_wave_table_arrays do |last| | |
generate_osc_wave_table("sq", last, 4.0 / 6.0) do |n, k| | |
sq_harm(n, k) | |
end | |
end | |
generate_osc_wave_table("sin", 1, ((8.0 * 127.0) / (6.0 * 128.0))) do |n, k| | |
Math.sin((2.0 * Math::PI) * (n.to_f / (1 << OSC_WAVE_TABLE_SAMPLES_BITS)) * k) | |
end | |
def generate_osc_wave_tables_array(name, organ = false, organ_last = 8) | |
$file.printf("const uint8_t* g_osc_#{name}_wave_tables[] = {\n ") | |
$osc_harmonics_restriction_table.each_with_index do |freq, idx| | |
$file.printf("g_osc_#{name}_wave_table_h%-3d,", last_harmonic(freq, organ, organ_last)) | |
if idx == DATA_BYTE_MAX | |
$file.printf("\n") | |
elsif (idx + 3) % 3 == (3 - 1) | |
$file.printf("\n ") | |
else | |
$file.printf(" ") | |
end | |
end | |
$file.printf("};\n\n") | |
end | |
generate_osc_wave_tables_array("saw") | |
generate_osc_wave_tables_array("sq") | |
$file.close |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
const __uint24 g_osc_freq_table[] = { | |
0x000893, 0x000915, 0x00099F, 0x000A31, 0x000ACD, 0x000B71, | |
0x000C1F, 0x000CD9, 0x000D9B, 0x000E6B, 0x000F47, 0x00102F, | |
0x001125, 0x00122B, 0x00133F, 0x001463, 0x00159B, 0x0016E3, | |
0x00183F, 0x0019B1, 0x001B37, 0x001CD5, 0x001E8D, 0x00205D, | |
0x00224B, 0x002455, 0x00267D, 0x0028C7, 0x002B35, 0x002DC7, | |
0x00307F, 0x003361, 0x00366F, 0x0039AB, 0x003D19, 0x0040BB, | |
0x004495, 0x0048A9, 0x004CFB, 0x00518F, 0x005669, 0x005B8D, | |
0x0060FD, 0x0066C3, 0x006CDF, 0x007357, 0x007A33, 0x008177, | |
0x00892B, 0x009153, 0x0099F7, 0x00A31F, 0x00ACD1, 0x00B719, | |
0x00C1FB, 0x00CD85, 0x00D9BD, 0x00E6AF, 0x00F467, 0x0102EF, | |
0x011255, 0x0122A5, 0x0133EF, 0x01463D, 0x0159A3, 0x016E31, | |
0x0183F7, 0x019B09, 0x01B37B, 0x01CD5F, 0x01E8CF, 0x0205DF, | |
0x0224AB, 0x02454B, 0x0267DD, 0x028C7B, 0x02B347, 0x02DC63, | |
0x0307EF, 0x033613, 0x0366F5, 0x039ABF, 0x03D19D, 0x040BBF, | |
0x044957, 0x048A97, 0x04CFB9, 0x0518F7, 0x05668F, 0x05B8C5, | |
0x060FDF, 0x066C25, 0x06CDEB, 0x07357F, 0x07A33B, 0x08177F, | |
0x0892AD, 0x09152D, 0x099F71, 0x0A31ED, 0x0ACD1D, 0x0B7189, | |
0x0C1FBD, 0x0CD84B, 0x0D9BD5, 0x0E6AFD, 0x0F4677, 0x102EFF, | |
0x112559, 0x122A5B, 0x133EE1, 0x1463D9, 0x159A3B, 0x16E313, | |
0x183F79, 0x19B097, 0x1B37A9, 0x1CD5F9, 0x1E8CEF, 0x205DFD, | |
0x224AB3, }; | |
const int8_t g_osc_tune_table[] = { | |
-15, -14, -14, -14, -14, -14, -14, -14, | |
-14, -14, -13, -13, -13, -13, -13, -13, | |
-13, -13, -13, -12, -12, -12, -12, -12, | |
-12, -12, -12, -12, -11, -11, -11, -11, | |
-11, -11, -11, -11, -11, -10, -10, -10, | |
-10, -10, -10, -10, -10, -9, -9, -9, | |
-9, -9, -9, -9, -9, -9, -8, -8, | |
-8, -8, -8, -8, -8, -8, -8, -7, | |
-7, -7, -7, -7, -7, -7, -7, -7, | |
-6, -6, -6, -6, -6, -6, -6, -6, | |
-6, -5, -5, -5, -5, -5, -5, -5, | |
-5, -4, -4, -4, -4, -4, -4, -4, | |
-4, -4, -3, -3, -3, -3, -3, -3, | |
-3, -3, -3, -2, -2, -2, -2, -2, | |
-2, -2, -2, -1, -1, -1, -1, -1, | |
-1, -1, -1, -1, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 1, 1, 1, | |
1, 1, 1, 1, 1, 2, 2, 2, | |
2, 2, 2, 2, 2, 2, 3, 3, | |
3, 3, 3, 3, 3, 3, 3, 4, | |
4, 4, 4, 4, 4, 4, 4, 5, | |
5, 5, 5, 5, 5, 5, 5, 5, | |
6, 6, 6, 6, 6, 6, 6, 6, | |
7, 7, 7, 7, 7, 7, 7, 7, | |
7, 8, 8, 8, 8, 8, 8, 8, | |
8, 9, 9, 9, 9, 9, 9, 9, | |
9, 9, 10, 10, 10, 10, 10, 10, | |
10, 10, 11, 11, 11, 11, 11, 11, | |
11, 11, 11, 12, 12, 12, 12, 12, | |
12, 12, 12, 13, 13, 13, 13, 13, | |
13, 13, 13, 13, 14, 14, 14, 14, | |
14, 14, 14, 14, 15, 15, 15, 15, | |
}; | |
const uint8_t g_osc_saw_wave_table_h127[] PROGMEM = { | |
0x00, 0x5F, 0x53, 0x5C, 0x56, 0x5B, 0x57, 0x5A, 0x58, 0x5A, 0x58, 0x5A, 0x58, 0x5A, 0x58, 0x5A, | |
0x53, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4D, | |
0x47, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, | |
0x3B, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x35, 0x35, 0x35, 0x34, 0x34, | |
0x2F, 0x2B, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x29, 0x2A, 0x29, 0x2A, 0x29, 0x2A, 0x29, 0x2A, | |
0x23, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1D, | |
0x17, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, | |
0x0B, 0x07, 0x05, 0x07, 0x05, 0x07, 0x05, 0x07, 0x05, 0x07, 0x04, 0x08, 0x04, 0x0A, 0x02, 0x11, | |
0xFF, 0xEE, 0xFD, 0xF5, 0xFB, 0xF7, 0xFB, 0xF8, 0xFA, 0xF8, 0xFA, 0xF8, 0xFA, 0xF8, 0xFA, 0xF8, | |
0xF4, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, | |
0xE8, 0xE2, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, | |
0xDC, 0xD5, 0xD6, 0xD5, 0xD6, 0xD5, 0xD6, 0xD5, 0xD6, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD4, | |
0xD0, 0xCB, 0xCB, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, | |
0xC4, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, | |
0xB8, 0xB2, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, | |
0xAC, 0xA5, 0xA7, 0xA5, 0xA7, 0xA5, 0xA7, 0xA5, 0xA7, 0xA5, 0xA8, 0xA4, 0xA9, 0xA3, 0xAC, 0xA0, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h112[] PROGMEM = { | |
0x00, 0x60, 0x57, 0x5B, 0x5A, 0x59, 0x5B, 0x58, 0x5A, 0x58, 0x5A, 0x59, 0x5A, 0x5A, 0x59, 0x5A, | |
0x53, 0x4E, 0x4D, 0x4E, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, | |
0x47, 0x42, 0x41, 0x42, 0x42, 0x42, 0x42, 0x41, 0x42, 0x41, 0x42, 0x42, 0x42, 0x42, 0x41, 0x42, | |
0x3B, 0x35, 0x35, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x35, 0x36, 0x36, 0x36, 0x36, 0x35, 0x34, | |
0x2F, 0x2C, 0x29, 0x29, 0x29, 0x29, 0x2A, 0x2A, 0x2A, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x2A, | |
0x23, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, | |
0x17, 0x12, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x12, | |
0x0B, 0x06, 0x05, 0x06, 0x05, 0x05, 0x06, 0x05, 0x07, 0x04, 0x07, 0x04, 0x05, 0x06, 0x02, 0x0F, | |
0xFF, 0xF0, 0xFD, 0xF9, 0xFA, 0xFB, 0xF8, 0xFB, 0xF8, 0xFA, 0xF9, 0xFA, 0xFA, 0xF9, 0xFA, 0xF9, | |
0xF4, 0xED, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xED, | |
0xE8, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, | |
0xDC, 0xD5, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD5, 0xD5, 0xD5, 0xD6, 0xD6, 0xD6, 0xD6, 0xD3, | |
0xD0, 0xCB, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xCA, 0xCA, | |
0xC4, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, | |
0xB8, 0xB1, 0xB1, 0xB1, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB1, 0xB2, 0xB1, | |
0xAC, 0xA5, 0xA6, 0xA5, 0xA5, 0xA6, 0xA5, 0xA7, 0xA5, 0xA7, 0xA4, 0xA6, 0xA5, 0xA4, 0xA8, 0x9F, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h94[] PROGMEM = { | |
0x00, 0x60, 0x5C, 0x56, 0x5C, 0x59, 0x59, 0x5B, 0x58, 0x5A, 0x5A, 0x58, 0x5A, 0x5A, 0x59, 0x5A, | |
0x53, 0x4E, 0x4E, 0x4D, 0x4E, 0x4E, 0x4D, 0x4E, 0x4D, 0x4D, 0x4E, 0x4D, 0x4E, 0x4E, 0x4D, 0x4F, | |
0x48, 0x40, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x41, 0x42, | |
0x3C, 0x35, 0x36, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x35, 0x36, 0x36, 0x35, 0x35, 0x37, 0x36, | |
0x30, 0x29, 0x27, 0x2A, 0x2A, 0x29, 0x29, 0x2A, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x29, | |
0x24, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1E, | |
0x17, 0x11, 0x11, 0x12, 0x12, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x12, 0x12, 0x11, 0x12, 0x11, | |
0x0B, 0x07, 0x05, 0x05, 0x06, 0x05, 0x06, 0x06, 0x04, 0x08, 0x04, 0x04, 0x0A, 0x02, 0x06, 0x09, | |
0xFF, 0xF6, 0xF9, 0xFD, 0xF5, 0xFB, 0xFB, 0xF7, 0xFB, 0xF9, 0xF9, 0xFA, 0xF9, 0xFA, 0xFA, 0xF8, | |
0xF4, 0xEE, 0xED, 0xEE, 0xED, 0xED, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xED, 0xED, 0xEE, 0xEE, | |
0xE8, 0xE1, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, | |
0xDB, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD5, 0xD6, 0xD6, 0xD5, 0xD5, 0xD8, 0xD6, | |
0xCF, 0xC9, 0xC8, 0xCA, 0xCA, 0xC9, 0xC9, 0xCA, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xC9, 0xCA, | |
0xC3, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBF, | |
0xB7, 0xB0, 0xB2, 0xB1, 0xB1, 0xB2, 0xB1, 0xB2, 0xB2, 0xB1, 0xB2, 0xB1, 0xB1, 0xB2, 0xB1, 0xB1, | |
0xAC, 0xA5, 0xA6, 0xA5, 0xA5, 0xA7, 0xA5, 0xA5, 0xA7, 0xA4, 0xA6, 0xA6, 0xA3, 0xA9, 0xA3, 0x9F, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h79[] PROGMEM = { | |
0x00, 0x5D, 0x60, 0x54, 0x5A, 0x5C, 0x58, 0x59, 0x5B, 0x59, 0x58, 0x5B, 0x5A, 0x58, 0x5A, 0x5A, | |
0x52, 0x4E, 0x4E, 0x4C, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4D, 0x4F, 0x4D, | |
0x47, 0x42, 0x41, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, | |
0x3B, 0x36, 0x36, 0x35, 0x36, 0x36, 0x35, 0x36, 0x36, 0x36, 0x35, 0x35, 0x37, 0x34, 0x35, 0x39, | |
0x2F, 0x27, 0x2A, 0x2A, 0x28, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x2A, | |
0x23, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, | |
0x17, 0x12, 0x11, 0x11, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x11, 0x12, 0x12, | |
0x0B, 0x05, 0x06, 0x05, 0x05, 0x07, 0x04, 0x05, 0x08, 0x04, 0x04, 0x09, 0x04, 0x02, 0x0C, 0x03, | |
0xFF, 0xFC, 0xF3, 0xFD, 0xFB, 0xF6, 0xFB, 0xFB, 0xF7, 0xFA, 0xFB, 0xF8, 0xFA, 0xFA, 0xF9, 0xFA, | |
0xF4, 0xED, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xEE, 0xEE, 0xED, | |
0xE8, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, | |
0xDC, 0xD5, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD7, 0xD5, 0xD5, 0xD8, | |
0xD0, 0xC6, 0xCA, 0xCB, 0xC8, 0xCA, 0xCA, 0xC9, 0xC9, 0xC9, 0xCA, 0xC9, 0xC9, 0xCA, 0xC9, 0xC9, | |
0xC4, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, | |
0xB8, 0xB2, 0xB0, 0xB2, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB3, 0xB1, 0xB1, | |
0xAD, 0xA5, 0xA5, 0xA7, 0xA5, 0xA4, 0xA7, 0xA6, 0xA4, 0xA6, 0xA7, 0xA3, 0xA5, 0xAB, 0x9F, 0xA2, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h67[] PROGMEM = { | |
0x00, 0x58, 0x5F, 0x5A, 0x54, 0x5C, 0x5C, 0x58, 0x58, 0x5B, 0x5B, 0x58, 0x59, 0x5B, 0x5A, 0x58, | |
0x54, 0x4E, 0x4E, 0x4C, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4C, 0x4D, | |
0x48, 0x43, 0x41, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, | |
0x3C, 0x35, 0x36, 0x36, 0x36, 0x35, 0x36, 0x36, 0x35, 0x35, 0x35, 0x36, 0x34, 0x37, 0x34, 0x3B, | |
0x2F, 0x24, 0x2C, 0x28, 0x2A, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, | |
0x23, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1C, | |
0x18, 0x12, 0x11, 0x12, 0x12, 0x11, 0x11, 0x12, 0x12, 0x11, 0x11, 0x12, 0x12, 0x11, 0x11, 0x13, | |
0x0B, 0x05, 0x06, 0x07, 0x04, 0x04, 0x06, 0x07, 0x04, 0x04, 0x08, 0x06, 0x02, 0x04, 0x11, 0xFE, | |
0xFF, 0x01, 0xEE, 0xFB, 0xFD, 0xF9, 0xF7, 0xFB, 0xFB, 0xF8, 0xF9, 0xFB, 0xFB, 0xF8, 0xF9, 0xFA, | |
0xF4, 0xEC, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xED, | |
0xE7, 0xE3, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, | |
0xDC, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD5, 0xD7, 0xD3, 0xDB, | |
0xD0, 0xC4, 0xCB, 0xC8, 0xCB, 0xC9, 0xCA, 0xCA, 0xCA, 0xC9, 0xC9, 0xCA, 0xC9, 0xC9, 0xC9, 0xCA, | |
0xC3, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBC, | |
0xB7, 0xB2, 0xB3, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB3, 0xB1, 0xB1, | |
0xAB, 0xA7, 0xA5, 0xA4, 0xA6, 0xA7, 0xA4, 0xA4, 0xA7, 0xA7, 0xA3, 0xA3, 0xAB, 0xA5, 0xA0, 0xA7, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h56[] PROGMEM = { | |
0x00, 0x52, 0x60, 0x5F, 0x57, 0x55, 0x5B, 0x5C, 0x5A, 0x56, 0x59, 0x5B, 0x5B, 0x59, 0x58, 0x5A, | |
0x54, 0x4E, 0x4C, 0x4D, 0x4F, 0x4E, 0x4D, 0x4C, 0x4E, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4D, | |
0x46, 0x42, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x42, 0x41, 0x42, 0x42, 0x42, 0x41, 0x41, 0x42, | |
0x3C, 0x36, 0x34, 0x35, 0x36, 0x36, 0x36, 0x34, 0x36, 0x35, 0x36, 0x34, 0x35, 0x36, 0x34, 0x3A, | |
0x2F, 0x25, 0x2C, 0x2A, 0x29, 0x2A, 0x29, 0x2B, 0x29, 0x29, 0x29, 0x2A, 0x2A, 0x29, 0x29, 0x29, | |
0x24, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1C, | |
0x17, 0x12, 0x13, 0x11, 0x10, 0x11, 0x12, 0x13, 0x11, 0x11, 0x11, 0x12, 0x12, 0x11, 0x11, 0x12, | |
0x0D, 0x05, 0x04, 0x04, 0x07, 0x07, 0x04, 0x04, 0x05, 0x0A, 0x06, 0x02, 0x02, 0x0A, 0x0F, 0xF8, | |
0xFF, 0x07, 0xF0, 0xF5, 0xFD, 0xFD, 0xF9, 0xF5, 0xFA, 0xFB, 0xFB, 0xF8, 0xF8, 0xFB, 0xFB, 0xFA, | |
0xF2, 0xED, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEC, 0xED, 0xEE, 0xEF, 0xEE, 0xEC, 0xED, | |
0xE8, 0xE3, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, | |
0xDB, 0xD6, 0xD6, 0xD6, 0xD5, 0xD5, 0xD6, 0xD6, 0xD6, 0xD4, 0xD6, 0xD5, 0xD6, 0xD5, 0xD3, 0xDA, | |
0xD0, 0xC5, 0xCB, 0xC9, 0xCA, 0xCB, 0xC9, 0xCA, 0xC9, 0xCB, 0xC9, 0xC9, 0xC9, 0xCA, 0xCB, 0xC9, | |
0xC3, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, | |
0xB9, 0xB2, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB1, 0xB3, 0xB2, 0xB1, 0xB0, 0xB2, 0xB3, 0xB1, | |
0xAB, 0xA5, 0xA7, 0xA6, 0xA4, 0xA4, 0xA6, 0xA9, 0xA5, 0xA3, 0xA4, 0xAA, 0xA8, 0xA0, 0x9F, 0xAD, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h47[] PROGMEM = { | |
0x00, 0x4E, 0x60, 0x60, 0x5C, 0x54, 0x56, 0x5B, 0x5C, 0x5B, 0x58, 0x57, 0x5A, 0x5B, 0x5B, 0x5A, | |
0x51, 0x4D, 0x4F, 0x4E, 0x4E, 0x4C, 0x4D, 0x4E, 0x4E, 0x4E, 0x4D, 0x4C, 0x4D, 0x4E, 0x4F, 0x4D, | |
0x46, 0x41, 0x41, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, | |
0x3B, 0x35, 0x36, 0x36, 0x36, 0x34, 0x35, 0x36, 0x36, 0x36, 0x35, 0x34, 0x38, 0x34, 0x36, 0x37, | |
0x2F, 0x27, 0x2A, 0x2C, 0x27, 0x2A, 0x29, 0x29, 0x2B, 0x29, 0x29, 0x29, 0x29, 0x2B, 0x2A, 0x29, | |
0x23, 0x1D, 0x1E, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1F, 0x1D, | |
0x17, 0x11, 0x11, 0x13, 0x11, 0x11, 0x10, 0x12, 0x13, 0x12, 0x10, 0x11, 0x11, 0x13, 0x12, 0x11, | |
0x0A, 0x04, 0x07, 0x08, 0x05, 0x04, 0x04, 0x06, 0x0A, 0x06, 0x02, 0x02, 0x06, 0x0F, 0x0A, 0xF4, | |
0xFF, 0x0B, 0xF5, 0xF0, 0xF9, 0xFD, 0xFD, 0xF9, 0xF5, 0xF9, 0xFB, 0xFB, 0xFA, 0xF7, 0xF8, 0xFB, | |
0xF5, 0xEE, 0xED, 0xEC, 0xEE, 0xEE, 0xEF, 0xED, 0xEC, 0xED, 0xEF, 0xEE, 0xEE, 0xEC, 0xEE, 0xEE, | |
0xE8, 0xE2, 0xE0, 0xE1, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE2, | |
0xDC, 0xD6, 0xD5, 0xD4, 0xD6, 0xD6, 0xD6, 0xD6, 0xD4, 0xD6, 0xD6, 0xD5, 0xD8, 0xD3, 0xD5, 0xD8, | |
0xD0, 0xC8, 0xC9, 0xCB, 0xC7, 0xCB, 0xCA, 0xC9, 0xC9, 0xC9, 0xCA, 0xCB, 0xC9, 0xC9, 0xC9, 0xCA, | |
0xC4, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, | |
0xB9, 0xB2, 0xB0, 0xB1, 0xB2, 0xB3, 0xB2, 0xB1, 0xB1, 0xB1, 0xB2, 0xB3, 0xB1, 0xB1, 0xB0, 0xB2, | |
0xAE, 0xA5, 0xA4, 0xA4, 0xA5, 0xA8, 0xA7, 0xA4, 0xA3, 0xA4, 0xA9, 0xAB, 0xA3, 0x9F, 0x9F, 0xB1, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h39[] PROGMEM = { | |
0x00, 0x48, 0x5D, 0x5F, 0x60, 0x5B, 0x54, 0x55, 0x5A, 0x5C, 0x5C, 0x5B, 0x58, 0x56, 0x59, 0x5B, | |
0x55, 0x4F, 0x4D, 0x4B, 0x4D, 0x4E, 0x4E, 0x4F, 0x4E, 0x4C, 0x4C, 0x4D, 0x4F, 0x4E, 0x4E, 0x4F, | |
0x46, 0x3F, 0x43, 0x43, 0x42, 0x42, 0x40, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x42, 0x42, | |
0x3C, 0x36, 0x35, 0x34, 0x35, 0x36, 0x36, 0x36, 0x37, 0x34, 0x34, 0x37, 0x35, 0x35, 0x39, 0x34, | |
0x2F, 0x2A, 0x27, 0x2C, 0x2B, 0x28, 0x2A, 0x2A, 0x28, 0x2B, 0x2B, 0x29, 0x29, 0x29, 0x29, 0x2A, | |
0x25, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1E, 0x1D, 0x1E, | |
0x17, 0x0F, 0x12, 0x13, 0x12, 0x11, 0x11, 0x10, 0x11, 0x13, 0x13, 0x11, 0x10, 0x10, 0x11, 0x12, | |
0x0E, 0x06, 0x04, 0x04, 0x04, 0x06, 0x09, 0x08, 0x04, 0x02, 0x02, 0x04, 0x0C, 0x10, 0x03, 0xF0, | |
0xFF, 0x0F, 0xFC, 0xEF, 0xF3, 0xFB, 0xFD, 0xFD, 0xFB, 0xF7, 0xF6, 0xF9, 0xFB, 0xFB, 0xFB, 0xF9, | |
0xF1, 0xED, 0xEE, 0xEF, 0xEF, 0xEE, 0xEC, 0xEC, 0xEE, 0xEF, 0xEE, 0xEE, 0xED, 0xEC, 0xED, 0xF0, | |
0xE8, 0xE1, 0xE2, 0xE1, 0xE0, 0xE2, 0xE2, 0xE2, 0xE2, 0xE0, 0xE0, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, | |
0xDA, 0xD5, 0xD6, 0xD6, 0xD6, 0xD6, 0xD4, 0xD4, 0xD7, 0xD5, 0xD5, 0xD7, 0xD4, 0xD3, 0xD8, 0xD5, | |
0xD0, 0xCB, 0xC6, 0xCA, 0xCA, 0xC8, 0xCB, 0xCB, 0xC8, 0xC9, 0xC9, 0xC9, 0xCA, 0xCB, 0xCA, 0xC9, | |
0xC3, 0xBD, 0xBD, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBF, 0xBF, 0xBD, 0xBD, 0xBC, 0xBC, 0xC0, | |
0xB9, 0xB0, 0xB1, 0xB1, 0xB0, 0xB2, 0xB3, 0xB3, 0xB1, 0xB0, 0xB1, 0xB1, 0xB2, 0xB4, 0xB2, 0xB0, | |
0xAA, 0xA4, 0xA6, 0xA9, 0xA7, 0xA4, 0xA3, 0xA3, 0xA5, 0xAA, 0xAB, 0xA4, 0x9F, 0xA0, 0xA2, 0xB7, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h33[] PROGMEM = { | |
0x00, 0x41, 0x58, 0x60, 0x5F, 0x5F, 0x5A, 0x55, 0x54, 0x59, 0x5C, 0x5C, 0x5C, 0x5B, 0x58, 0x56, | |
0x52, 0x4E, 0x4F, 0x4F, 0x4F, 0x4D, 0x4C, 0x4B, 0x4D, 0x4E, 0x4E, 0x4F, 0x4E, 0x4E, 0x4B, 0x4F, | |
0x48, 0x40, 0x43, 0x42, 0x42, 0x40, 0x40, 0x41, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x40, 0x42, | |
0x3C, 0x37, 0x36, 0x36, 0x34, 0x34, 0x35, 0x37, 0x35, 0x35, 0x37, 0x35, 0x33, 0x34, 0x3B, 0x32, | |
0x30, 0x2E, 0x24, 0x2A, 0x2A, 0x29, 0x28, 0x2B, 0x2B, 0x29, 0x29, 0x29, 0x29, 0x28, 0x2A, 0x2A, | |
0x24, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x1D, 0x1D, 0x1D, 0x1D, 0x1C, 0x1F, 0x1E, 0x21, | |
0x17, 0x0E, 0x11, 0x10, 0x12, 0x13, 0x14, 0x12, 0x11, 0x10, 0x10, 0x11, 0x12, 0x14, 0x13, 0x11, | |
0x0A, 0x04, 0x04, 0x06, 0x08, 0x09, 0x06, 0x03, 0x02, 0x02, 0x04, 0x09, 0x11, 0x0C, 0xFE, 0xEF, | |
0xFF, 0x10, 0x01, 0xF3, 0xEE, 0xF6, 0xFB, 0xFD, 0xFD, 0xFC, 0xF9, 0xF6, 0xF7, 0xF9, 0xFB, 0xFB, | |
0xF5, 0xEE, 0xEC, 0xEB, 0xED, 0xEE, 0xEF, 0xEF, 0xEE, 0xED, 0xEB, 0xEC, 0xED, 0xEF, 0xEE, 0xF1, | |
0xE8, 0xDE, 0xE1, 0xE0, 0xE3, 0xE2, 0xE2, 0xE2, 0xE2, 0xE0, 0xE0, 0xE2, 0xE2, 0xE2, 0xE2, 0xE2, | |
0xDB, 0xD5, 0xD5, 0xD7, 0xD6, 0xD6, 0xD6, 0xD6, 0xD4, 0xD4, 0xD7, 0xD6, 0xD5, 0xD5, 0xDB, 0xD1, | |
0xCF, 0xCD, 0xC4, 0xCB, 0xCC, 0xCA, 0xC8, 0xCA, 0xCA, 0xC8, 0xCA, 0xCB, 0xCB, 0xC9, 0xC9, 0xC8, | |
0xC3, 0xBD, 0xBF, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xBF, 0xBD, 0xBD, 0xBC, 0xBF, | |
0xB7, 0xB0, 0xB4, 0xB1, 0xB1, 0xB0, 0xB1, 0xB1, 0xB2, 0xB4, 0xB3, 0xB2, 0xB0, 0xB0, 0xB0, 0xB1, | |
0xAD, 0xA9, 0xA7, 0xA4, 0xA3, 0xA3, 0xA3, 0xA6, 0xAB, 0xAA, 0xA5, 0xA0, 0xA0, 0x9F, 0xA7, 0xBE, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h28[] PROGMEM = { | |
0x00, 0x3A, 0x52, 0x5E, 0x60, 0x60, 0x5F, 0x5B, 0x57, 0x53, 0x55, 0x59, 0x5B, 0x5C, 0x5C, 0x5C, | |
0x54, 0x4D, 0x4A, 0x4B, 0x4D, 0x4E, 0x4F, 0x4F, 0x4F, 0x4E, 0x4D, 0x4B, 0x4B, 0x4D, 0x4D, 0x51, | |
0x48, 0x40, 0x43, 0x41, 0x40, 0x40, 0x41, 0x42, 0x42, 0x42, 0x42, 0x43, 0x42, 0x40, 0x40, 0x40, | |
0x3D, 0x36, 0x36, 0x36, 0x36, 0x36, 0x34, 0x34, 0x35, 0x37, 0x36, 0x35, 0x35, 0x38, 0x3A, 0x2E, | |
0x2E, 0x2F, 0x25, 0x28, 0x2C, 0x2C, 0x2A, 0x27, 0x29, 0x29, 0x29, 0x28, 0x29, 0x2B, 0x2B, 0x2A, | |
0x22, 0x1D, 0x1D, 0x1D, 0x1C, 0x1D, 0x1F, 0x1F, 0x1F, 0x1D, 0x1D, 0x1C, 0x1C, 0x1D, 0x1D, 0x21, | |
0x1A, 0x10, 0x12, 0x10, 0x10, 0x11, 0x10, 0x12, 0x12, 0x14, 0x13, 0x12, 0x10, 0x10, 0x10, 0x0F, | |
0x0B, 0x08, 0x0A, 0x09, 0x06, 0x03, 0x02, 0x02, 0x02, 0x05, 0x0A, 0x10, 0x0F, 0x04, 0xF8, 0xED, | |
0xFF, 0x12, 0x07, 0xFB, 0xF0, 0xEF, 0xF5, 0xFA, 0xFD, 0xFD, 0xFD, 0xFC, 0xF9, 0xF6, 0xF5, 0xF7, | |
0xF4, 0xF0, 0xEF, 0xEF, 0xEF, 0xED, 0xEC, 0xEB, 0xED, 0xED, 0xEF, 0xEE, 0xEF, 0xEF, 0xED, 0xEF, | |
0xE5, 0xDE, 0xE2, 0xE2, 0xE3, 0xE3, 0xE2, 0xE2, 0xE0, 0xE0, 0xE0, 0xE2, 0xE3, 0xE2, 0xE2, 0xE2, | |
0xDD, 0xD5, 0xD4, 0xD4, 0xD6, 0xD7, 0xD6, 0xD6, 0xD6, 0xD8, 0xD5, 0xD3, 0xD3, 0xD7, 0xDA, 0xD0, | |
0xD1, 0xD1, 0xC5, 0xC7, 0xCA, 0xCA, 0xC9, 0xC8, 0xCA, 0xCB, 0xCB, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, | |
0xC2, 0xBF, 0xBF, 0xBF, 0xBD, 0xBC, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xBF, 0xBE, 0xBC, 0xBF, | |
0xB7, 0xAE, 0xB2, 0xB2, 0xB4, 0xB4, 0xB2, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB2, 0xB4, 0xB5, 0xB2, | |
0xAB, 0xA3, 0xA3, 0xA3, 0xA4, 0xA6, 0xAA, 0xAC, 0xA8, 0xA4, 0xA0, 0x9F, 0x9F, 0xA1, 0xAD, 0xC5, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h23[] PROGMEM = { | |
0x00, 0x35, 0x4E, 0x5A, 0x60, 0x5F, 0x60, 0x5F, 0x5C, 0x58, 0x54, 0x53, 0x56, 0x59, 0x5C, 0x5C, | |
0x56, 0x50, 0x4F, 0x4E, 0x4C, 0x4A, 0x4A, 0x4D, 0x4E, 0x4F, 0x4F, 0x4E, 0x50, 0x4E, 0x4D, 0x4D, | |
0x45, 0x3F, 0x41, 0x43, 0x42, 0x43, 0x43, 0x42, 0x43, 0x41, 0x40, 0x40, 0x40, 0x42, 0x43, 0x42, | |
0x3C, 0x36, 0x36, 0x36, 0x34, 0x33, 0x33, 0x35, 0x38, 0x36, 0x35, 0x35, 0x36, 0x3B, 0x37, 0x2C, | |
0x2E, 0x31, 0x27, 0x25, 0x2A, 0x2C, 0x2D, 0x2A, 0x27, 0x28, 0x29, 0x29, 0x29, 0x28, 0x2A, 0x2B, | |
0x25, 0x1F, 0x1D, 0x1C, 0x1D, 0x1C, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x1F, 0x20, 0x1C, 0x1C, 0x1D, | |
0x16, 0x0F, 0x11, 0x12, 0x12, 0x15, 0x14, 0x12, 0x11, 0x10, 0x10, 0x10, 0x0F, 0x11, 0x13, 0x14, | |
0x10, 0x08, 0x05, 0x04, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0A, 0x0F, 0x11, 0x0A, 0x00, 0xF4, 0xED, | |
0xFF, 0x12, 0x0B, 0xFF, 0xF5, 0xEE, 0xF0, 0xF5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFB, 0xFA, 0xF7, | |
0xEF, 0xEB, 0xEC, 0xEE, 0xF0, 0xEF, 0xEF, 0xEF, 0xEE, 0xED, 0xEB, 0xEA, 0xED, 0xED, 0xEE, 0xF0, | |
0xE9, 0xE2, 0xE3, 0xE3, 0xDF, 0xE0, 0xE0, 0xE0, 0xE2, 0xE2, 0xE2, 0xE3, 0xE2, 0xE3, 0xE2, 0xE0, | |
0xDA, 0xD4, 0xD5, 0xD7, 0xD6, 0xD6, 0xD6, 0xD7, 0xD8, 0xD5, 0xD2, 0xD3, 0xD5, 0xDA, 0xD8, 0xCE, | |
0xD1, 0xD3, 0xC8, 0xC4, 0xC9, 0xCA, 0xCA, 0xC9, 0xC7, 0xCA, 0xCC, 0xCC, 0xCB, 0xC9, 0xC9, 0xC9, | |
0xC3, 0xBD, 0xBC, 0xBD, 0xBF, 0xBF, 0xBF, 0xBE, 0xBC, 0xBD, 0xBC, 0xBC, 0xBD, 0xBC, 0xBE, 0xC0, | |
0xBA, 0xB2, 0xB2, 0xB1, 0xAF, 0xB1, 0xB0, 0xB0, 0xB1, 0xB2, 0xB5, 0xB5, 0xB3, 0xB1, 0xB0, 0xAF, | |
0xA9, 0xA3, 0xA3, 0xA6, 0xA9, 0xAC, 0xAB, 0xA7, 0xA3, 0xA0, 0x9F, 0xA0, 0x9F, 0xA5, 0xB1, 0xCA, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h19[] PROGMEM = { | |
0x00, 0x2F, 0x48, 0x54, 0x5D, 0x60, 0x5F, 0x60, 0x60, 0x5E, 0x5B, 0x57, 0x55, 0x53, 0x55, 0x59, | |
0x54, 0x4F, 0x50, 0x50, 0x50, 0x50, 0x4F, 0x4D, 0x4C, 0x4A, 0x4A, 0x4C, 0x4D, 0x4D, 0x51, 0x4E, | |
0x49, 0x44, 0x41, 0x43, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, 0x42, 0x43, 0x42, 0x43, 0x42, 0x42, 0x44, | |
0x3D, 0x34, 0x33, 0x33, 0x33, 0x35, 0x37, 0x37, 0x36, 0x35, 0x35, 0x36, 0x39, 0x3B, 0x33, 0x29, | |
0x2E, 0x33, 0x2A, 0x24, 0x27, 0x2B, 0x2D, 0x2D, 0x2B, 0x29, 0x27, 0x28, 0x29, 0x29, 0x29, 0x29, | |
0x22, 0x1D, 0x20, 0x20, 0x1F, 0x1F, 0x1D, 0x1C, 0x1D, 0x1C, 0x1C, 0x1D, 0x1C, 0x1C, 0x20, 0x1F, | |
0x1A, 0x14, 0x11, 0x12, 0x10, 0x0F, 0x10, 0x10, 0x0F, 0x10, 0x12, 0x13, 0x15, 0x16, 0x14, 0x13, | |
0x0A, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x07, 0x0C, 0x10, 0x11, 0x0B, 0x03, 0xFB, 0xF0, 0xED, | |
0xFF, 0x12, 0x0F, 0x04, 0xFC, 0xF4, 0xEE, 0xEF, 0xF3, 0xF8, 0xFB, 0xFD, 0xFD, 0xFC, 0xFD, 0xFD, | |
0xF5, 0xEC, 0xEB, 0xE9, 0xEA, 0xEC, 0xED, 0xEF, 0xF0, 0xEF, 0xEF, 0xF0, 0xEF, 0xED, 0xEE, 0xEB, | |
0xE5, 0xE0, 0xDF, 0xE3, 0xE3, 0xE2, 0xE3, 0xE3, 0xE2, 0xE3, 0xE2, 0xE0, 0xE0, 0xDF, 0xDF, 0xE2, | |
0xDD, 0xD6, 0xD6, 0xD6, 0xD6, 0xD7, 0xD8, 0xD6, 0xD4, 0xD2, 0xD2, 0xD4, 0xD8, 0xDB, 0xD5, 0xCC, | |
0xD1, 0xD6, 0xCC, 0xC4, 0xC6, 0xC9, 0xCA, 0xCA, 0xC9, 0xC8, 0xC8, 0xCA, 0xCC, 0xCC, 0xCC, 0xCB, | |
0xC2, 0xBB, 0xBD, 0xBD, 0xBC, 0xBD, 0xBC, 0xBD, 0xC0, 0xC0, 0xC0, 0xC0, 0xBD, 0xBC, 0xBE, 0xBB, | |
0xB6, 0xB1, 0xAE, 0xB2, 0xB2, 0xB3, 0xB5, 0xB5, 0xB3, 0xB2, 0xB0, 0xAF, 0xAF, 0xAF, 0xAF, 0xB0, | |
0xAB, 0xA6, 0xAA, 0xAC, 0xAA, 0xA8, 0xA4, 0xA1, 0x9F, 0x9F, 0xA0, 0x9F, 0xA2, 0xAB, 0xB7, 0xD0, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h16[] PROGMEM = { | |
0x00, 0x29, 0x3F, 0x4E, 0x56, 0x5D, 0x60, 0x60, 0x5F, 0x60, 0x60, 0x5F, 0x5B, 0x5A, 0x56, 0x55, | |
0x4D, 0x47, 0x4B, 0x4C, 0x4E, 0x4F, 0x51, 0x50, 0x4F, 0x50, 0x51, 0x4F, 0x4E, 0x4D, 0x4E, 0x48, | |
0x44, 0x41, 0x3D, 0x41, 0x43, 0x43, 0x42, 0x43, 0x43, 0x43, 0x42, 0x43, 0x43, 0x42, 0x3F, 0x40, | |
0x39, 0x32, 0x34, 0x35, 0x38, 0x37, 0x36, 0x35, 0x36, 0x35, 0x37, 0x39, 0x3B, 0x37, 0x30, 0x28, | |
0x2E, 0x34, 0x2D, 0x27, 0x24, 0x27, 0x2B, 0x2D, 0x2D, 0x2D, 0x2B, 0x29, 0x27, 0x28, 0x28, 0x2A, | |
0x22, 0x1B, 0x1D, 0x1C, 0x1C, 0x1D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1D, 0x1C, 0x1C, 0x1E, 0x19, | |
0x16, 0x12, 0x0D, 0x10, 0x12, 0x13, 0x13, 0x16, 0x16, 0x16, 0x13, 0x12, 0x10, 0x0F, 0x0D, 0x0F, | |
0x09, 0x01, 0x02, 0x03, 0x06, 0x08, 0x0C, 0x0F, 0x11, 0x0F, 0x0A, 0x03, 0xFD, 0xF4, 0xEE, 0xEE, | |
0xFF, 0x11, 0x11, 0x0B, 0x02, 0xFC, 0xF5, 0xF0, 0xEE, 0xF0, 0xF3, 0xF7, 0xF9, 0xFC, 0xFD, 0xFE, | |
0xF6, 0xF0, 0xF2, 0xF0, 0xEF, 0xED, 0xEC, 0xE9, 0xE9, 0xE9, 0xEC, 0xEC, 0xED, 0xEF, 0xF2, 0xED, | |
0xE9, 0xE6, 0xE1, 0xE3, 0xE3, 0xE2, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xE2, 0xE3, 0xE3, 0xE2, 0xE4, | |
0xDD, 0xD5, 0xD7, 0xD7, 0xD8, 0xD6, 0xD4, 0xD2, 0xD2, 0xD2, 0xD4, 0xD8, 0xDB, 0xD8, 0xD2, 0xCB, | |
0xD1, 0xD7, 0xCF, 0xC8, 0xC4, 0xC6, 0xC8, 0xCA, 0xC9, 0xCA, 0xC9, 0xC8, 0xC7, 0xCA, 0xCB, 0xCD, | |
0xC6, 0xBF, 0xC0, 0xBD, 0xBC, 0xBC, 0xBD, 0xBC, 0xBC, 0xBC, 0xBD, 0xBC, 0xBC, 0xBE, 0xC2, 0xBE, | |
0xBB, 0xB7, 0xB1, 0xB2, 0xB1, 0xB0, 0xAE, 0xAF, 0xB0, 0xAF, 0xAE, 0xB0, 0xB1, 0xB3, 0xB4, 0xB8, | |
0xB2, 0xAA, 0xA9, 0xA5, 0xA4, 0xA0, 0x9F, 0x9F, 0xA0, 0x9F, 0x9F, 0xA2, 0xA9, 0xB1, 0xC0, 0xD6, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h14[] PROGMEM = { | |
0x00, 0x25, 0x3A, 0x4A, 0x53, 0x59, 0x5E, 0x60, 0x60, 0x5F, 0x60, 0x60, 0x60, 0x5E, 0x5B, 0x5A, | |
0x51, 0x47, 0x47, 0x47, 0x49, 0x4B, 0x4C, 0x4E, 0x4F, 0x51, 0x50, 0x4F, 0x4F, 0x51, 0x52, 0x4C, | |
0x49, 0x45, 0x3E, 0x3D, 0x3F, 0x3F, 0x3E, 0x3F, 0x41, 0x43, 0x44, 0x43, 0x43, 0x43, 0x43, 0x44, | |
0x3D, 0x37, 0x38, 0x37, 0x34, 0x33, 0x31, 0x32, 0x32, 0x34, 0x36, 0x3A, 0x3B, 0x36, 0x31, 0x2B, | |
0x32, 0x38, 0x32, 0x2B, 0x25, 0x24, 0x26, 0x28, 0x29, 0x29, 0x29, 0x29, 0x28, 0x27, 0x27, 0x2B, | |
0x26, 0x20, 0x21, 0x21, 0x20, 0x1F, 0x1D, 0x1C, 0x1B, 0x1D, 0x1C, 0x1B, 0x1B, 0x1D, 0x1E, 0x18, | |
0x17, 0x15, 0x11, 0x14, 0x17, 0x17, 0x15, 0x12, 0x12, 0x10, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, | |
0x08, 0x02, 0x05, 0x07, 0x0A, 0x0D, 0x10, 0x11, 0x0F, 0x0A, 0x04, 0xFF, 0xF8, 0xF1, 0xED, 0xEF, | |
0xFF, 0x10, 0x12, 0x0E, 0x07, 0x00, 0xFB, 0xF5, 0xF0, 0xEE, 0xEF, 0xF2, 0xF5, 0xF8, 0xFA, 0xFD, | |
0xF7, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF0, 0xEF, 0xED, 0xED, 0xEA, 0xE8, 0xE8, 0xEB, 0xEE, 0xEA, | |
0xE8, 0xE7, 0xE1, 0xE2, 0xE4, 0xE4, 0xE3, 0xE2, 0xE4, 0xE3, 0xE2, 0xE0, 0xDF, 0xDE, 0xDE, 0xDF, | |
0xD9, 0xD4, 0xD8, 0xD8, 0xD7, 0xD6, 0xD6, 0xD6, 0xD6, 0xD7, 0xD9, 0xDB, 0xDA, 0xD4, 0xCD, 0xC7, | |
0xCD, 0xD4, 0xCE, 0xC9, 0xC4, 0xC5, 0xC9, 0xCB, 0xCD, 0xCD, 0xCE, 0xCC, 0xCB, 0xC8, 0xC7, 0xC8, | |
0xC2, 0xBB, 0xBC, 0xBC, 0xBC, 0xBC, 0xBB, 0xBC, 0xBE, 0xC0, 0xC1, 0xC0, 0xC0, 0xC2, 0xC1, 0xBA, | |
0xB6, 0xB3, 0xAD, 0xAE, 0xB0, 0xB0, 0xAF, 0xAE, 0xB0, 0xB1, 0xB3, 0xB4, 0xB6, 0xB8, 0xB8, 0xB8, | |
0xAE, 0xA5, 0xA4, 0xA1, 0x9F, 0x9F, 0x9F, 0xA0, 0x9F, 0x9F, 0xA1, 0xA6, 0xAC, 0xB5, 0xC5, 0xDA, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h11[] PROGMEM = { | |
0x00, 0x20, 0x35, 0x44, 0x4E, 0x54, 0x5A, 0x5E, 0x60, 0x60, 0x5F, 0x5F, 0x60, 0x60, 0x60, 0x5E, | |
0x56, 0x4D, 0x4C, 0x4B, 0x48, 0x47, 0x47, 0x48, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x52, 0x51, 0x4C, | |
0x4A, 0x48, 0x43, 0x42, 0x44, 0x44, 0x43, 0x41, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x40, 0x43, | |
0x3E, 0x37, 0x37, 0x37, 0x36, 0x37, 0x36, 0x36, 0x37, 0x39, 0x3B, 0x3B, 0x36, 0x31, 0x2B, 0x27, | |
0x2D, 0x33, 0x30, 0x2B, 0x27, 0x24, 0x25, 0x29, 0x2B, 0x2E, 0x2E, 0x2E, 0x2E, 0x2C, 0x2B, 0x29, | |
0x21, 0x1A, 0x1B, 0x1D, 0x1B, 0x1C, 0x1B, 0x1C, 0x1D, 0x1C, 0x1B, 0x1C, 0x1E, 0x22, 0x22, 0x1E, | |
0x1C, 0x1A, 0x14, 0x11, 0x12, 0x11, 0x10, 0x0E, 0x0D, 0x0E, 0x0F, 0x0E, 0x0E, 0x0D, 0x0E, 0x10, | |
0x0B, 0x07, 0x09, 0x0D, 0x0F, 0x11, 0x11, 0x0E, 0x0A, 0x04, 0x00, 0xFB, 0xF4, 0xEF, 0xED, 0xF1, | |
0xFF, 0x0E, 0x12, 0x10, 0x0B, 0x04, 0xFF, 0xFB, 0xF5, 0xF1, 0xEE, 0xEE, 0xF0, 0xF2, 0xF6, 0xF8, | |
0xF4, 0xEF, 0xF1, 0xF2, 0xF1, 0xF1, 0xF0, 0xF1, 0xF2, 0xF1, 0xEF, 0xEE, 0xED, 0xEE, 0xEB, 0xE5, | |
0xE3, 0xE1, 0xDD, 0xDD, 0xE1, 0xE3, 0xE4, 0xE3, 0xE2, 0xE3, 0xE4, 0xE3, 0xE4, 0xE2, 0xE4, 0xE5, | |
0xDE, 0xD6, 0xD4, 0xD3, 0xD1, 0xD1, 0xD1, 0xD1, 0xD4, 0xD6, 0xDA, 0xDB, 0xD8, 0xD4, 0xCF, 0xCC, | |
0xD2, 0xD8, 0xD4, 0xCE, 0xC9, 0xC4, 0xC4, 0xC6, 0xC8, 0xC9, 0xC9, 0xC8, 0xC9, 0xC8, 0xC8, 0xC8, | |
0xC1, 0xBC, 0xBF, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xBE, 0xBC, 0xBB, 0xBB, 0xBD, 0xBC, 0xB7, | |
0xB5, 0xB3, 0xAE, 0xAD, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB7, 0xB8, 0xB8, 0xB7, 0xB4, 0xB3, 0xB2, | |
0xA9, 0xA1, 0x9F, 0x9F, 0x9F, 0xA0, 0xA0, 0x9F, 0x9F, 0xA1, 0xA5, 0xAB, 0xB1, 0xBB, 0xCA, 0xDF, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h9[] PROGMEM = { | |
0x00, 0x1C, 0x2F, 0x3D, 0x48, 0x4F, 0x54, 0x59, 0x5E, 0x5F, 0x60, 0x60, 0x5F, 0x5E, 0x60, 0x60, | |
0x5A, 0x53, 0x51, 0x51, 0x4F, 0x4D, 0x4C, 0x4A, 0x47, 0x46, 0x46, 0x47, 0x4A, 0x4D, 0x4B, 0x48, | |
0x49, 0x48, 0x45, 0x41, 0x42, 0x44, 0x45, 0x45, 0x44, 0x43, 0x43, 0x45, 0x45, 0x44, 0x43, 0x40, | |
0x38, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x35, 0x37, 0x3A, 0x3B, 0x39, 0x36, 0x32, 0x2D, 0x2D, | |
0x33, 0x38, 0x37, 0x31, 0x2C, 0x28, 0x24, 0x24, 0x25, 0x27, 0x28, 0x29, 0x28, 0x27, 0x29, 0x29, | |
0x22, 0x1B, 0x1A, 0x1B, 0x1C, 0x1E, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23, 0x22, 0x1E, 0x18, | |
0x16, 0x14, 0x0F, 0x0B, 0x0C, 0x0F, 0x0F, 0x0F, 0x0E, 0x0D, 0x0D, 0x0F, 0x10, 0x11, 0x14, 0x15, | |
0x11, 0x0E, 0x0F, 0x12, 0x11, 0x0E, 0x0B, 0x07, 0x03, 0xFF, 0xFB, 0xF5, 0xF0, 0xEE, 0xED, 0xF2, | |
0xFF, 0x0D, 0x12, 0x11, 0x0F, 0x0A, 0x04, 0x00, 0xFC, 0xF8, 0xF4, 0xF1, 0xEE, 0xED, 0xF0, 0xF1, | |
0xEE, 0xEA, 0xEB, 0xEE, 0xEF, 0xF0, 0xF2, 0xF2, 0xF1, 0xF0, 0xF0, 0xF0, 0xF3, 0xF4, 0xF0, 0xEB, | |
0xE9, 0xE7, 0xE1, 0xDD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDE, 0xE1, 0xE3, 0xE4, 0xE5, 0xE4, | |
0xDD, 0xD6, 0xD6, 0xD8, 0xD7, 0xD6, 0xD7, 0xD8, 0xDA, 0xDB, 0xDB, 0xD7, 0xD3, 0xCE, 0xC8, 0xC7, | |
0xCC, 0xD2, 0xD2, 0xCD, 0xC9, 0xC6, 0xC4, 0xC5, 0xC8, 0xCA, 0xCD, 0xCE, 0xCE, 0xCE, 0xCF, 0xCE, | |
0xC7, 0xBF, 0xBC, 0xBB, 0xBA, 0xBA, 0xBC, 0xBC, 0xBB, 0xBA, 0xBA, 0xBB, 0xBD, 0xBE, 0xBA, 0xB7, | |
0xB6, 0xB7, 0xB4, 0xB2, 0xB5, 0xB8, 0xB9, 0xB9, 0xB8, 0xB5, 0xB3, 0xB2, 0xB0, 0xAE, 0xAE, 0xAC, | |
0xA5, 0x9F, 0x9F, 0xA1, 0xA0, 0x9F, 0x9F, 0xA0, 0xA1, 0xA6, 0xAB, 0xB0, 0xB7, 0xC2, 0xD0, 0xE3, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h8[] PROGMEM = { | |
0x00, 0x16, 0x29, 0x35, 0x3F, 0x48, 0x4E, 0x53, 0x56, 0x5A, 0x5E, 0x5F, 0x60, 0x61, 0x61, 0x5E, | |
0x59, 0x54, 0x53, 0x54, 0x55, 0x54, 0x52, 0x51, 0x50, 0x4E, 0x4D, 0x4D, 0x4D, 0x4A, 0x45, 0x41, | |
0x40, 0x40, 0x3E, 0x3B, 0x3B, 0x3E, 0x41, 0x43, 0x44, 0x45, 0x45, 0x44, 0x42, 0x43, 0x44, 0x43, | |
0x3E, 0x39, 0x36, 0x37, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3A, 0x36, 0x32, 0x2E, 0x2A, 0x26, 0x27, | |
0x2C, 0x31, 0x32, 0x2F, 0x2B, 0x29, 0x26, 0x24, 0x23, 0x25, 0x28, 0x2B, 0x2C, 0x2E, 0x30, 0x2E, | |
0x29, 0x24, 0x22, 0x22, 0x22, 0x20, 0x1D, 0x1B, 0x1A, 0x19, 0x1A, 0x1B, 0x1D, 0x1B, 0x17, 0x15, | |
0x14, 0x14, 0x11, 0x0D, 0x0B, 0x0D, 0x0F, 0x10, 0x11, 0x13, 0x14, 0x15, 0x16, 0x19, 0x1D, 0x1C, | |
0x18, 0x12, 0x0E, 0x0C, 0x0A, 0x06, 0x03, 0x00, 0xFD, 0xF8, 0xF3, 0xF0, 0xEE, 0xED, 0xEE, 0xF4, | |
0xFF, 0x0B, 0x11, 0x12, 0x11, 0x0F, 0x0C, 0x07, 0x02, 0xFF, 0xFC, 0xF9, 0xF5, 0xF3, 0xF1, 0xED, | |
0xE7, 0xE3, 0xE2, 0xE6, 0xE9, 0xEA, 0xEB, 0xEC, 0xEE, 0xEF, 0xF0, 0xF2, 0xF4, 0xF2, 0xEE, 0xEB, | |
0xEB, 0xEA, 0xE8, 0xE4, 0xE2, 0xE4, 0xE5, 0xE6, 0xE5, 0xE4, 0xE2, 0xDF, 0xDD, 0xDD, 0xDD, 0xDB, | |
0xD6, 0xD1, 0xCF, 0xD1, 0xD3, 0xD4, 0xD7, 0xDA, 0xDC, 0xDB, 0xD9, 0xD6, 0xD4, 0xD0, 0xCD, 0xCE, | |
0xD3, 0xD8, 0xD9, 0xD5, 0xD1, 0xCD, 0xC9, 0xC5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC8, 0xC9, 0xC6, | |
0xC1, 0xBC, 0xBB, 0xBC, 0xBD, 0xBB, 0xBA, 0xBA, 0xBB, 0xBC, 0xBE, 0xC1, 0xC4, 0xC4, 0xC1, 0xBF, | |
0xBF, 0xBE, 0xBA, 0xB5, 0xB2, 0xB2, 0xB2, 0xB1, 0xAF, 0xAE, 0xAD, 0xAB, 0xAA, 0xAB, 0xAC, 0xAB, | |
0xA6, 0xA1, 0x9E, 0x9E, 0x9F, 0xA0, 0xA1, 0xA5, 0xA9, 0xAC, 0xB1, 0xB7, 0xC0, 0xCA, 0xD6, 0xE9, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h7[] PROGMEM = { | |
0x00, 0x16, 0x29, 0x35, 0x3F, 0x48, 0x4E, 0x53, 0x56, 0x5A, 0x5E, 0x5F, 0x60, 0x61, 0x61, 0x5E, | |
0x59, 0x54, 0x53, 0x54, 0x55, 0x54, 0x52, 0x51, 0x50, 0x4E, 0x4D, 0x4D, 0x4D, 0x4A, 0x45, 0x41, | |
0x40, 0x40, 0x3E, 0x3B, 0x3B, 0x3E, 0x41, 0x43, 0x44, 0x45, 0x45, 0x44, 0x42, 0x43, 0x44, 0x43, | |
0x3E, 0x39, 0x36, 0x37, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3A, 0x36, 0x32, 0x2E, 0x2A, 0x26, 0x27, | |
0x2C, 0x31, 0x32, 0x2F, 0x2B, 0x29, 0x26, 0x24, 0x23, 0x25, 0x28, 0x2B, 0x2C, 0x2E, 0x30, 0x2E, | |
0x29, 0x24, 0x22, 0x22, 0x22, 0x20, 0x1D, 0x1B, 0x1A, 0x19, 0x1A, 0x1B, 0x1D, 0x1B, 0x17, 0x15, | |
0x14, 0x14, 0x11, 0x0D, 0x0B, 0x0D, 0x0F, 0x10, 0x11, 0x13, 0x14, 0x15, 0x16, 0x19, 0x1D, 0x1C, | |
0x18, 0x12, 0x0E, 0x0C, 0x0A, 0x06, 0x03, 0x00, 0xFD, 0xF8, 0xF3, 0xF0, 0xEE, 0xED, 0xEE, 0xF4, | |
0xFF, 0x0B, 0x11, 0x12, 0x11, 0x0F, 0x0C, 0x07, 0x02, 0xFF, 0xFC, 0xF9, 0xF5, 0xF3, 0xF1, 0xED, | |
0xE7, 0xE3, 0xE2, 0xE6, 0xE9, 0xEA, 0xEB, 0xEC, 0xEE, 0xEF, 0xF0, 0xF2, 0xF4, 0xF2, 0xEE, 0xEB, | |
0xEB, 0xEA, 0xE8, 0xE4, 0xE2, 0xE4, 0xE5, 0xE6, 0xE5, 0xE4, 0xE2, 0xDF, 0xDD, 0xDD, 0xDD, 0xDB, | |
0xD6, 0xD1, 0xCF, 0xD1, 0xD3, 0xD4, 0xD7, 0xDA, 0xDC, 0xDB, 0xD9, 0xD6, 0xD4, 0xD0, 0xCD, 0xCE, | |
0xD3, 0xD8, 0xD9, 0xD5, 0xD1, 0xCD, 0xC9, 0xC5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC8, 0xC9, 0xC6, | |
0xC1, 0xBC, 0xBB, 0xBC, 0xBD, 0xBB, 0xBA, 0xBA, 0xBB, 0xBC, 0xBE, 0xC1, 0xC4, 0xC4, 0xC1, 0xBF, | |
0xBF, 0xBE, 0xBA, 0xB5, 0xB2, 0xB2, 0xB2, 0xB1, 0xAF, 0xAE, 0xAD, 0xAB, 0xAA, 0xAB, 0xAC, 0xAB, | |
0xA6, 0xA1, 0x9E, 0x9E, 0x9F, 0xA0, 0xA1, 0xA5, 0xA9, 0xAC, 0xB1, 0xB7, 0xC0, 0xCA, 0xD6, 0xE9, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h5[] PROGMEM = { | |
0x00, 0x11, 0x20, 0x2C, 0x35, 0x3D, 0x44, 0x4A, 0x4F, 0x52, 0x54, 0x57, 0x5A, 0x5E, 0x5F, 0x5E, | |
0x5B, 0x57, 0x54, 0x52, 0x53, 0x53, 0x53, 0x53, 0x53, 0x55, 0x56, 0x57, 0x55, 0x52, 0x4E, 0x4C, | |
0x4B, 0x4A, 0x47, 0x43, 0x3E, 0x3B, 0x3A, 0x3A, 0x3B, 0x3A, 0x3A, 0x3A, 0x3A, 0x3B, 0x3B, 0x3A, | |
0x37, 0x34, 0x34, 0x36, 0x39, 0x3C, 0x3C, 0x3B, 0x39, 0x38, 0x36, 0x34, 0x31, 0x2E, 0x2E, 0x30, | |
0x34, 0x39, 0x3A, 0x39, 0x36, 0x33, 0x2F, 0x2C, 0x29, 0x26, 0x24, 0x22, 0x23, 0x25, 0x25, 0x24, | |
0x20, 0x1C, 0x1A, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1C, 0x1D, 0x1B, 0x18, 0x16, 0x15, | |
0x16, 0x17, 0x17, 0x16, 0x15, 0x15, 0x17, 0x1A, 0x1C, 0x1E, 0x1E, 0x1E, 0x1E, 0x1D, 0x1B, 0x16, | |
0x0F, 0x09, 0x04, 0x01, 0x00, 0xFE, 0xFB, 0xF7, 0xF3, 0xF1, 0xEF, 0xEE, 0xED, 0xED, 0xF1, 0xF7, | |
0xFF, 0x08, 0x0E, 0x12, 0x12, 0x11, 0x10, 0x0E, 0x0C, 0x08, 0x04, 0x01, 0xFF, 0xFE, 0xFB, 0xF6, | |
0xF0, 0xE9, 0xE4, 0xE2, 0xE1, 0xE1, 0xE1, 0xE1, 0xE3, 0xE5, 0xE8, 0xEA, 0xEA, 0xE9, 0xE8, 0xE8, | |
0xE9, 0xEA, 0xE9, 0xE7, 0xE4, 0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE5, 0xE3, | |
0xDF, 0xDB, 0xDA, 0xDA, 0xDC, 0xDD, 0xDB, 0xD9, 0xD6, 0xD3, 0xD0, 0xCC, 0xC9, 0xC6, 0xC5, 0xC6, | |
0xCB, 0xCF, 0xD1, 0xD1, 0xCE, 0xCB, 0xC9, 0xC7, 0xC6, 0xC4, 0xC3, 0xC3, 0xC6, 0xC9, 0xCB, 0xCB, | |
0xC8, 0xC5, 0xC4, 0xC4, 0xC5, 0xC5, 0xC5, 0xC5, 0xC4, 0xC5, 0xC5, 0xC4, 0xC1, 0xBC, 0xB8, 0xB5, | |
0xB4, 0xB3, 0xB1, 0xAD, 0xAA, 0xA8, 0xA9, 0xAA, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAD, 0xAB, 0xA8, | |
0xA4, 0xA1, 0xA0, 0xA1, 0xA5, 0xA8, 0xAB, 0xAD, 0xB0, 0xB5, 0xBB, 0xC2, 0xCA, 0xD3, 0xDF, 0xEE, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h4[] PROGMEM = { | |
0x00, 0x0B, 0x17, 0x20, 0x29, 0x30, 0x35, 0x3B, 0x3F, 0x44, 0x48, 0x4C, 0x4F, 0x51, 0x52, 0x52, | |
0x51, 0x50, 0x4F, 0x50, 0x51, 0x53, 0x55, 0x56, 0x57, 0x57, 0x55, 0x53, 0x51, 0x4F, 0x4E, 0x4E, | |
0x4D, 0x4D, 0x4D, 0x4C, 0x4A, 0x49, 0x47, 0x46, 0x45, 0x46, 0x47, 0x49, 0x4A, 0x4A, 0x49, 0x46, | |
0x43, 0x3F, 0x3B, 0x37, 0x35, 0x32, 0x30, 0x2E, 0x2C, 0x29, 0x27, 0x24, 0x23, 0x22, 0x23, 0x25, | |
0x28, 0x2B, 0x2E, 0x2F, 0x2F, 0x2E, 0x2C, 0x2B, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x22, 0x20, | |
0x1E, 0x1C, 0x1B, 0x1B, 0x1D, 0x20, 0x23, 0x25, 0x27, 0x28, 0x28, 0x27, 0x26, 0x25, 0x25, 0x25, | |
0x25, 0x25, 0x24, 0x22, 0x1F, 0x1C, 0x19, 0x16, 0x14, 0x12, 0x12, 0x11, 0x10, 0x0E, 0x0B, 0x07, | |
0x03, 0xFE, 0xF9, 0xF5, 0xF3, 0xF1, 0xF0, 0xEF, 0xEE, 0xED, 0xED, 0xED, 0xEE, 0xF1, 0xF4, 0xFA, | |
0xFF, 0x05, 0x0B, 0x0E, 0x11, 0x12, 0x12, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0C, 0x0A, 0x06, 0x01, | |
0xFC, 0xF8, 0xF4, 0xF1, 0xEF, 0xEE, 0xED, 0xED, 0xEB, 0xE9, 0xE6, 0xE3, 0xE0, 0xDD, 0xDB, 0xDA, | |
0xDA, 0xDA, 0xDA, 0xDA, 0xD9, 0xD8, 0xD7, 0xD7, 0xD8, 0xDA, 0xDC, 0xDF, 0xE2, 0xE4, 0xE4, 0xE3, | |
0xE1, 0xDF, 0xDD, 0xDB, 0xDA, 0xD9, 0xD8, 0xD7, 0xD6, 0xD4, 0xD3, 0xD1, 0xD0, 0xD0, 0xD1, 0xD4, | |
0xD7, 0xDA, 0xDC, 0xDD, 0xDC, 0xDB, 0xD8, 0xD6, 0xD3, 0xD1, 0xCF, 0xCD, 0xCA, 0xC8, 0xC4, 0xC0, | |
0xBC, 0xB9, 0xB6, 0xB5, 0xB5, 0xB6, 0xB8, 0xB9, 0xBA, 0xB9, 0xB8, 0xB6, 0xB5, 0xB3, 0xB2, 0xB2, | |
0xB2, 0xB1, 0xB1, 0xB0, 0xAE, 0xAC, 0xAA, 0xA8, 0xA8, 0xA9, 0xAA, 0xAC, 0xAE, 0xAF, 0xB0, 0xAF, | |
0xAE, 0xAD, 0xAD, 0xAE, 0xB0, 0xB3, 0xB7, 0xBB, 0xC0, 0xC4, 0xCA, 0xCF, 0xD6, 0xDF, 0xE8, 0xF4, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h3[] PROGMEM = { | |
0x00, 0x0B, 0x17, 0x20, 0x29, 0x30, 0x35, 0x3B, 0x3F, 0x44, 0x48, 0x4C, 0x4F, 0x51, 0x52, 0x52, | |
0x51, 0x50, 0x4F, 0x50, 0x51, 0x53, 0x55, 0x56, 0x57, 0x57, 0x55, 0x53, 0x51, 0x4F, 0x4E, 0x4E, | |
0x4D, 0x4D, 0x4D, 0x4C, 0x4A, 0x49, 0x47, 0x46, 0x45, 0x46, 0x47, 0x49, 0x4A, 0x4A, 0x49, 0x46, | |
0x43, 0x3F, 0x3B, 0x37, 0x35, 0x32, 0x30, 0x2E, 0x2C, 0x29, 0x27, 0x24, 0x23, 0x22, 0x23, 0x25, | |
0x28, 0x2B, 0x2E, 0x2F, 0x2F, 0x2E, 0x2C, 0x2B, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x22, 0x20, | |
0x1E, 0x1C, 0x1B, 0x1B, 0x1D, 0x20, 0x23, 0x25, 0x27, 0x28, 0x28, 0x27, 0x26, 0x25, 0x25, 0x25, | |
0x25, 0x25, 0x24, 0x22, 0x1F, 0x1C, 0x19, 0x16, 0x14, 0x12, 0x12, 0x11, 0x10, 0x0E, 0x0B, 0x07, | |
0x03, 0xFE, 0xF9, 0xF5, 0xF3, 0xF1, 0xF0, 0xEF, 0xEE, 0xED, 0xED, 0xED, 0xEE, 0xF1, 0xF4, 0xFA, | |
0xFF, 0x05, 0x0B, 0x0E, 0x11, 0x12, 0x12, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0C, 0x0A, 0x06, 0x01, | |
0xFC, 0xF8, 0xF4, 0xF1, 0xEF, 0xEE, 0xED, 0xED, 0xEB, 0xE9, 0xE6, 0xE3, 0xE0, 0xDD, 0xDB, 0xDA, | |
0xDA, 0xDA, 0xDA, 0xDA, 0xD9, 0xD8, 0xD7, 0xD7, 0xD8, 0xDA, 0xDC, 0xDF, 0xE2, 0xE4, 0xE4, 0xE3, | |
0xE1, 0xDF, 0xDD, 0xDB, 0xDA, 0xD9, 0xD8, 0xD7, 0xD6, 0xD4, 0xD3, 0xD1, 0xD0, 0xD0, 0xD1, 0xD4, | |
0xD7, 0xDA, 0xDC, 0xDD, 0xDC, 0xDB, 0xD8, 0xD6, 0xD3, 0xD1, 0xCF, 0xCD, 0xCA, 0xC8, 0xC4, 0xC0, | |
0xBC, 0xB9, 0xB6, 0xB5, 0xB5, 0xB6, 0xB8, 0xB9, 0xBA, 0xB9, 0xB8, 0xB6, 0xB5, 0xB3, 0xB2, 0xB2, | |
0xB2, 0xB1, 0xB1, 0xB0, 0xAE, 0xAC, 0xAA, 0xA8, 0xA8, 0xA9, 0xAA, 0xAC, 0xAE, 0xAF, 0xB0, 0xAF, | |
0xAE, 0xAD, 0xAD, 0xAE, 0xB0, 0xB3, 0xB7, 0xBB, 0xC0, 0xC4, 0xCA, 0xCF, 0xD6, 0xDF, 0xE8, 0xF4, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h2[] PROGMEM = { | |
0x00, 0x05, 0x0B, 0x11, 0x17, 0x1C, 0x21, 0x25, 0x2A, 0x2D, 0x31, 0x33, 0x36, 0x38, 0x39, 0x3B, | |
0x3C, 0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, | |
0x49, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x44, 0x42, 0x40, | |
0x3E, 0x3C, 0x3B, 0x39, 0x37, 0x36, 0x35, 0x35, 0x35, 0x35, 0x35, 0x36, 0x37, 0x38, 0x3A, 0x3B, | |
0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3D, 0x3A, 0x38, 0x35, | |
0x32, 0x2E, 0x2B, 0x28, 0x25, 0x22, 0x1F, 0x1C, 0x19, 0x17, 0x15, 0x13, 0x11, 0x10, 0x0E, 0x0D, | |
0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x05, 0x04, 0x02, 0x00, 0xFE, 0xFC, 0xFA, 0xF8, 0xF6, 0xF4, | |
0xF2, 0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEC, 0xED, 0xED, 0xEE, 0xF0, 0xF2, 0xF4, 0xF7, 0xFA, 0xFD, | |
0xFF, 0x02, 0x05, 0x08, 0x0B, 0x0D, 0x0F, 0x11, 0x12, 0x12, 0x13, 0x13, 0x12, 0x11, 0x10, 0x0F, | |
0x0D, 0x0B, 0x09, 0x07, 0x05, 0x03, 0x01, 0xFF, 0xFD, 0xFB, 0xFA, 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, | |
0xF3, 0xF2, 0xF1, 0xEF, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE3, 0xE0, 0xDD, 0xDA, 0xD7, 0xD4, 0xD1, | |
0xCD, 0xCA, 0xC7, 0xC5, 0xC2, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, | |
0xC2, 0xC4, 0xC5, 0xC7, 0xC8, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xC8, 0xC6, 0xC4, 0xC3, | |
0xC1, 0xBF, 0xBD, 0xBB, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB5, | |
0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC2, | |
0xC3, 0xC4, 0xC6, 0xC7, 0xC9, 0xCC, 0xCE, 0xD2, 0xD5, 0xDA, 0xDE, 0xE3, 0xE8, 0xEE, 0xF4, 0xFA, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h1[] PROGMEM = { | |
0x00, 0x05, 0x0B, 0x11, 0x17, 0x1C, 0x21, 0x25, 0x2A, 0x2D, 0x31, 0x33, 0x36, 0x38, 0x39, 0x3B, | |
0x3C, 0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, | |
0x49, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x44, 0x42, 0x40, | |
0x3E, 0x3C, 0x3B, 0x39, 0x37, 0x36, 0x35, 0x35, 0x35, 0x35, 0x35, 0x36, 0x37, 0x38, 0x3A, 0x3B, | |
0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3D, 0x3A, 0x38, 0x35, | |
0x32, 0x2E, 0x2B, 0x28, 0x25, 0x22, 0x1F, 0x1C, 0x19, 0x17, 0x15, 0x13, 0x11, 0x10, 0x0E, 0x0D, | |
0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x05, 0x04, 0x02, 0x00, 0xFE, 0xFC, 0xFA, 0xF8, 0xF6, 0xF4, | |
0xF2, 0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEC, 0xED, 0xED, 0xEE, 0xF0, 0xF2, 0xF4, 0xF7, 0xFA, 0xFD, | |
0xFF, 0x02, 0x05, 0x08, 0x0B, 0x0D, 0x0F, 0x11, 0x12, 0x12, 0x13, 0x13, 0x12, 0x11, 0x10, 0x0F, | |
0x0D, 0x0B, 0x09, 0x07, 0x05, 0x03, 0x01, 0xFF, 0xFD, 0xFB, 0xFA, 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, | |
0xF3, 0xF2, 0xF1, 0xEF, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE3, 0xE0, 0xDD, 0xDA, 0xD7, 0xD4, 0xD1, | |
0xCD, 0xCA, 0xC7, 0xC5, 0xC2, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, | |
0xC2, 0xC4, 0xC5, 0xC7, 0xC8, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xC8, 0xC6, 0xC4, 0xC3, | |
0xC1, 0xBF, 0xBD, 0xBB, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB5, | |
0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC2, | |
0xC3, 0xC4, 0xC6, 0xC7, 0xC9, 0xCC, 0xCE, 0xD2, 0xD5, 0xDA, 0xDE, 0xE3, 0xE8, 0xEE, 0xF4, 0xFA, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h127[] PROGMEM = { | |
0x00, 0x4B, 0x39, 0x44, 0x3C, 0x42, 0x3D, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3D, 0x42, 0x3C, 0x44, 0x39, 0x4B, | |
0x00, 0xB4, 0xC6, 0xBB, 0xC3, 0xBD, 0xC2, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC2, 0xBD, 0xC3, 0xBB, 0xC6, 0xB4, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h112[] PROGMEM = { | |
0x00, 0x4A, 0x3B, 0x41, 0x40, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x40, 0x41, 0x3B, 0x4A, | |
0x00, 0xB5, 0xC4, 0xBE, 0xBF, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBF, 0xBE, 0xC4, 0xB5, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h94[] PROGMEM = { | |
0x00, 0x46, 0x42, 0x3A, 0x44, 0x3E, 0x3E, 0x42, 0x3E, 0x40, 0x40, 0x3E, 0x41, 0x3F, 0x3F, 0x41, | |
0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, | |
0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, | |
0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, | |
0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, | |
0x3F, 0x41, 0x3F, 0x3F, 0x41, 0x3E, 0x40, 0x40, 0x3E, 0x42, 0x3E, 0x3E, 0x44, 0x3A, 0x42, 0x46, | |
0x00, 0xB9, 0xBD, 0xC5, 0xBB, 0xC1, 0xC1, 0xBD, 0xC1, 0xBF, 0xBF, 0xC1, 0xBE, 0xC0, 0xC0, 0xBE, | |
0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, | |
0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, | |
0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, | |
0xC0, 0xBE, 0xC0, 0xC0, 0xBE, 0xC1, 0xBF, 0xBF, 0xC1, 0xBD, 0xC1, 0xC1, 0xBB, 0xC5, 0xBD, 0xB9, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h79[] PROGMEM = { | |
0x00, 0x40, 0x48, 0x3A, 0x3F, 0x43, 0x3D, 0x3E, 0x42, 0x3F, 0x3E, 0x41, 0x40, 0x3E, 0x41, 0x40, | |
0x3E, 0x40, 0x40, 0x3E, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3E, 0x40, 0x40, | |
0x3E, 0x40, 0x41, 0x3E, 0x40, 0x41, 0x3E, 0x3F, 0x42, 0x3E, 0x3D, 0x43, 0x3F, 0x3A, 0x48, 0x40, | |
0x00, 0xBF, 0xB7, 0xC5, 0xC0, 0xBC, 0xC2, 0xC1, 0xBD, 0xC0, 0xC1, 0xBE, 0xBF, 0xC1, 0xBE, 0xBF, | |
0xC1, 0xBF, 0xBF, 0xC1, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC1, 0xBF, 0xBF, | |
0xC1, 0xBF, 0xBE, 0xC1, 0xBF, 0xBE, 0xC1, 0xC0, 0xBD, 0xC1, 0xC2, 0xBC, 0xC0, 0xC5, 0xB7, 0xBF, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h67[] PROGMEM = { | |
0x00, 0x3A, 0x4B, 0x3F, 0x3A, 0x41, 0x43, 0x3E, 0x3D, 0x41, 0x41, 0x3E, 0x3F, 0x41, 0x40, 0x3E, | |
0x3F, 0x41, 0x3F, 0x3E, 0x40, 0x41, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, | |
0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, | |
0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, | |
0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x41, 0x40, 0x3E, 0x3F, 0x41, | |
0x3F, 0x3E, 0x40, 0x41, 0x3F, 0x3E, 0x41, 0x41, 0x3D, 0x3E, 0x43, 0x41, 0x3A, 0x3F, 0x4B, 0x3A, | |
0x00, 0xC5, 0xB4, 0xC0, 0xC5, 0xBE, 0xBC, 0xC1, 0xC2, 0xBE, 0xBE, 0xC1, 0xC0, 0xBE, 0xBF, 0xC1, | |
0xC0, 0xBE, 0xC0, 0xC1, 0xBF, 0xBE, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, | |
0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, | |
0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, | |
0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBE, 0xBF, 0xC1, 0xC0, 0xBE, | |
0xC0, 0xC1, 0xBF, 0xBE, 0xC0, 0xC1, 0xBE, 0xBE, 0xC2, 0xC1, 0xBC, 0xBE, 0xC5, 0xC0, 0xB4, 0xC5, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h56[] PROGMEM = { | |
0x00, 0x32, 0x4A, 0x46, 0x3B, 0x3A, 0x41, 0x44, 0x40, 0x3C, 0x3E, 0x42, 0x41, 0x3E, 0x3D, 0x40, | |
0x41, 0x40, 0x3E, 0x3F, 0x41, 0x41, 0x3F, 0x3E, 0x3F, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x3F, | |
0x3E, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, | |
0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, | |
0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3E, 0x3F, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x3F, 0x3E, 0x3F, 0x41, 0x41, 0x3F, 0x3E, 0x40, | |
0x41, 0x40, 0x3D, 0x3E, 0x41, 0x42, 0x3E, 0x3C, 0x40, 0x44, 0x41, 0x3A, 0x3B, 0x46, 0x4A, 0x32, | |
0x00, 0xCD, 0xB5, 0xB9, 0xC4, 0xC5, 0xBE, 0xBB, 0xBF, 0xC3, 0xC1, 0xBD, 0xBE, 0xC1, 0xC2, 0xBF, | |
0xBE, 0xBF, 0xC1, 0xC0, 0xBE, 0xBE, 0xC0, 0xC1, 0xC0, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, | |
0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, | |
0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xC0, 0xC1, 0xC0, 0xBE, 0xBE, 0xC0, 0xC1, 0xBF, | |
0xBE, 0xBF, 0xC2, 0xC1, 0xBE, 0xBD, 0xC1, 0xC3, 0xBF, 0xBB, 0xBE, 0xC5, 0xC4, 0xB9, 0xB5, 0xCD, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h47[] PROGMEM = { | |
0x00, 0x2C, 0x46, 0x4A, 0x41, 0x3A, 0x3B, 0x41, 0x44, 0x41, 0x3D, 0x3D, 0x3F, 0x42, 0x41, 0x3F, | |
0x3D, 0x3F, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x3F, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x3F, | |
0x3D, 0x3F, 0x41, 0x42, 0x3F, 0x3D, 0x3D, 0x41, 0x44, 0x41, 0x3B, 0x3A, 0x41, 0x4A, 0x46, 0x2C, | |
0x00, 0xD3, 0xB9, 0xB5, 0xBE, 0xC5, 0xC4, 0xBE, 0xBB, 0xBE, 0xC2, 0xC2, 0xC0, 0xBD, 0xBE, 0xC0, | |
0xC2, 0xC0, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xC0, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xC0, | |
0xC2, 0xC0, 0xBE, 0xBD, 0xC0, 0xC2, 0xC2, 0xBE, 0xBB, 0xBE, 0xC4, 0xC5, 0xBE, 0xB5, 0xB9, 0xD3, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h39[] PROGMEM = { | |
0x00, 0x25, 0x40, 0x4B, 0x48, 0x3F, 0x3A, 0x3A, 0x3F, 0x43, 0x43, 0x41, 0x3D, 0x3C, 0x3E, 0x41, | |
0x42, 0x41, 0x3F, 0x3D, 0x3E, 0x40, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3F, 0x41, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x40, | |
0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x3F, 0x3E, 0x3F, 0x40, | |
0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x41, 0x3F, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x40, 0x3E, 0x3D, 0x3F, 0x41, | |
0x42, 0x41, 0x3E, 0x3C, 0x3D, 0x41, 0x43, 0x43, 0x3F, 0x3A, 0x3A, 0x3F, 0x48, 0x4B, 0x40, 0x25, | |
0x00, 0xDA, 0xBF, 0xB4, 0xB7, 0xC0, 0xC5, 0xC5, 0xC0, 0xBC, 0xBC, 0xBE, 0xC2, 0xC3, 0xC1, 0xBE, | |
0xBD, 0xBE, 0xC0, 0xC2, 0xC1, 0xBF, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC0, 0xBE, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, | |
0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, | |
0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xC0, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBF, 0xC1, 0xC2, 0xC0, 0xBE, | |
0xBD, 0xBE, 0xC1, 0xC3, 0xC2, 0xBE, 0xBC, 0xBC, 0xC0, 0xC5, 0xC5, 0xC0, 0xB7, 0xB4, 0xBF, 0xDA, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h33[] PROGMEM = { | |
0x00, 0x20, 0x3A, 0x48, 0x4B, 0x46, 0x3F, 0x3A, 0x3A, 0x3D, 0x41, 0x44, 0x43, 0x40, 0x3D, 0x3C, | |
0x3D, 0x3F, 0x42, 0x42, 0x41, 0x3F, 0x3E, 0x3D, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3E, | |
0x3F, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, | |
0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x3F, 0x40, | |
0x41, 0x40, 0x3F, 0x3F, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, | |
0x3F, 0x3E, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x3F, | |
0x3D, 0x3C, 0x3D, 0x40, 0x43, 0x44, 0x41, 0x3D, 0x3A, 0x3A, 0x3F, 0x46, 0x4B, 0x48, 0x3A, 0x20, | |
0x00, 0xDF, 0xC5, 0xB7, 0xB4, 0xB9, 0xC0, 0xC5, 0xC5, 0xC2, 0xBE, 0xBB, 0xBC, 0xBF, 0xC2, 0xC3, | |
0xC2, 0xC0, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, 0xC2, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC1, | |
0xC0, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, | |
0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xC0, 0xBF, | |
0xBE, 0xBF, 0xC0, 0xC0, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, | |
0xC0, 0xC1, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC2, 0xC1, 0xC0, 0xBE, 0xBD, 0xBD, 0xC0, | |
0xC2, 0xC3, 0xC2, 0xBF, 0xBC, 0xBB, 0xBE, 0xC2, 0xC5, 0xC5, 0xC0, 0xB9, 0xB4, 0xB7, 0xC5, 0xDF, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h28[] PROGMEM = { | |
0x00, 0x1B, 0x32, 0x42, 0x4A, 0x4A, 0x46, 0x40, 0x3B, 0x39, 0x3A, 0x3D, 0x41, 0x43, 0x44, 0x42, | |
0x40, 0x3D, 0x3C, 0x3D, 0x3E, 0x40, 0x42, 0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3D, 0x3E, 0x40, 0x41, | |
0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, | |
0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, | |
0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, | |
0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3D, 0x3E, 0x40, 0x41, 0x42, 0x42, 0x40, 0x3E, 0x3D, 0x3C, 0x3D, | |
0x40, 0x42, 0x44, 0x43, 0x41, 0x3D, 0x3A, 0x39, 0x3B, 0x40, 0x46, 0x4A, 0x4A, 0x42, 0x32, 0x1B, | |
0x00, 0xE4, 0xCD, 0xBD, 0xB5, 0xB5, 0xB9, 0xBF, 0xC4, 0xC6, 0xC5, 0xC2, 0xBE, 0xBC, 0xBB, 0xBD, | |
0xBF, 0xC2, 0xC3, 0xC2, 0xC1, 0xBF, 0xBD, 0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC2, 0xC1, 0xBF, 0xBE, | |
0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, | |
0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, | |
0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, 0xBD, 0xBF, 0xC1, 0xC2, 0xC3, 0xC2, | |
0xBF, 0xBD, 0xBB, 0xBC, 0xBE, 0xC2, 0xC5, 0xC6, 0xC4, 0xBF, 0xB9, 0xB5, 0xB5, 0xBD, 0xCD, 0xE4, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h23[] PROGMEM = { | |
0x00, 0x17, 0x2C, 0x3C, 0x46, 0x4B, 0x4A, 0x46, 0x41, 0x3C, 0x3A, 0x39, 0x3B, 0x3E, 0x41, 0x43, | |
0x44, 0x43, 0x41, 0x3F, 0x3D, 0x3C, 0x3C, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, | |
0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x3F, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3F, 0x3E, | |
0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3F, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x42, 0x41, 0x40, 0x3F, 0x3E, | |
0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x41, 0x3F, 0x3E, 0x3C, 0x3C, 0x3D, 0x3F, 0x41, 0x43, | |
0x44, 0x43, 0x41, 0x3E, 0x3B, 0x39, 0x3A, 0x3C, 0x41, 0x46, 0x4A, 0x4B, 0x46, 0x3C, 0x2C, 0x17, | |
0x00, 0xE8, 0xD3, 0xC3, 0xB9, 0xB4, 0xB5, 0xB9, 0xBE, 0xC3, 0xC5, 0xC6, 0xC4, 0xC1, 0xBE, 0xBC, | |
0xBB, 0xBC, 0xBE, 0xC0, 0xC2, 0xC3, 0xC3, 0xC1, 0xC0, 0xBE, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC0, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, 0xC3, 0xC3, 0xC2, 0xC0, 0xBE, 0xBC, | |
0xBB, 0xBC, 0xBE, 0xC1, 0xC4, 0xC6, 0xC5, 0xC3, 0xBE, 0xB9, 0xB5, 0xB4, 0xB9, 0xC3, 0xD3, 0xE8, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h19[] PROGMEM = { | |
0x00, 0x13, 0x25, 0x35, 0x40, 0x48, 0x4B, 0x4A, 0x48, 0x44, 0x3F, 0x3C, 0x3A, 0x39, 0x3A, 0x3C, | |
0x3F, 0x41, 0x43, 0x44, 0x44, 0x42, 0x41, 0x3F, 0x3D, 0x3C, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x42, | |
0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x41, 0x41, | |
0x40, 0x3F, 0x3E, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3E, | |
0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3D, 0x3E, 0x3F, | |
0x40, 0x41, 0x41, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, | |
0x42, 0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3C, 0x3C, 0x3D, 0x3F, 0x41, 0x42, 0x44, 0x44, 0x43, 0x41, | |
0x3F, 0x3C, 0x3A, 0x39, 0x3A, 0x3C, 0x3F, 0x44, 0x48, 0x4A, 0x4B, 0x48, 0x40, 0x35, 0x25, 0x13, | |
0x00, 0xEC, 0xDA, 0xCA, 0xBF, 0xB7, 0xB4, 0xB5, 0xB7, 0xBB, 0xC0, 0xC3, 0xC5, 0xC6, 0xC5, 0xC3, | |
0xC0, 0xBE, 0xBC, 0xBB, 0xBB, 0xBD, 0xBE, 0xC0, 0xC2, 0xC3, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, | |
0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, | |
0xBF, 0xC0, 0xC1, 0xC2, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, | |
0xC2, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC1, 0xC0, | |
0xBF, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, | |
0xBD, 0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, 0xC3, 0xC2, 0xC0, 0xBE, 0xBD, 0xBB, 0xBB, 0xBC, 0xBE, | |
0xC0, 0xC3, 0xC5, 0xC6, 0xC5, 0xC3, 0xC0, 0xBB, 0xB7, 0xB5, 0xB4, 0xB7, 0xBF, 0xCA, 0xDA, 0xEC, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h16[] PROGMEM = { | |
0x00, 0x0F, 0x1E, 0x2C, 0x37, 0x40, 0x46, 0x4A, 0x4B, 0x4A, 0x48, 0x45, 0x41, 0x3E, 0x3B, 0x3A, | |
0x39, 0x3A, 0x3B, 0x3D, 0x3F, 0x41, 0x43, 0x44, 0x44, 0x44, 0x43, 0x41, 0x40, 0x3E, 0x3D, 0x3C, | |
0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x43, 0x42, 0x42, 0x41, 0x40, 0x3E, 0x3E, 0x3D, | |
0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x42, 0x41, 0x40, 0x40, 0x3F, 0x3E, 0x3D, | |
0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x40, 0x41, 0x42, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3D, | |
0x3D, 0x3D, 0x3E, 0x3E, 0x40, 0x41, 0x42, 0x42, 0x43, 0x42, 0x42, 0x41, 0x3F, 0x3E, 0x3D, 0x3C, | |
0x3C, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x43, 0x44, 0x44, 0x44, 0x43, 0x41, 0x3F, 0x3D, 0x3B, 0x3A, | |
0x39, 0x3A, 0x3B, 0x3E, 0x41, 0x45, 0x48, 0x4A, 0x4B, 0x4A, 0x46, 0x40, 0x37, 0x2C, 0x1E, 0x0F, | |
0x00, 0xF0, 0xE1, 0xD3, 0xC8, 0xBF, 0xB9, 0xB5, 0xB4, 0xB5, 0xB7, 0xBA, 0xBE, 0xC1, 0xC4, 0xC5, | |
0xC6, 0xC5, 0xC4, 0xC2, 0xC0, 0xBE, 0xBC, 0xBB, 0xBB, 0xBB, 0xBC, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, | |
0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBE, 0xBD, 0xBD, 0xBC, 0xBD, 0xBD, 0xBE, 0xBF, 0xC1, 0xC1, 0xC2, | |
0xC2, 0xC2, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xBF, 0xC0, 0xC1, 0xC2, | |
0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, | |
0xC2, 0xC2, 0xC1, 0xC1, 0xBF, 0xBE, 0xBD, 0xBD, 0xBC, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, 0xC2, 0xC3, | |
0xC3, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBC, 0xBB, 0xBB, 0xBB, 0xBC, 0xBE, 0xC0, 0xC2, 0xC4, 0xC5, | |
0xC6, 0xC5, 0xC4, 0xC1, 0xBE, 0xBA, 0xB7, 0xB5, 0xB4, 0xB5, 0xB9, 0xBF, 0xC8, 0xD3, 0xE1, 0xF0, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h14[] PROGMEM = { | |
0x00, 0x0D, 0x1B, 0x27, 0x32, 0x3B, 0x42, 0x47, 0x4A, 0x4B, 0x4B, 0x49, 0x46, 0x43, 0x40, 0x3D, | |
0x3B, 0x3A, 0x39, 0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x41, 0x42, 0x44, 0x44, 0x44, 0x43, 0x42, 0x41, | |
0x40, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x42, | |
0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, | |
0x42, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, | |
0x42, 0x42, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, | |
0x40, 0x41, 0x42, 0x43, 0x44, 0x44, 0x44, 0x42, 0x41, 0x3F, 0x3D, 0x3C, 0x3A, 0x39, 0x39, 0x3A, | |
0x3B, 0x3D, 0x40, 0x43, 0x46, 0x49, 0x4B, 0x4B, 0x4A, 0x47, 0x42, 0x3B, 0x32, 0x27, 0x1B, 0x0D, | |
0x00, 0xF2, 0xE4, 0xD8, 0xCD, 0xC4, 0xBD, 0xB8, 0xB5, 0xB4, 0xB4, 0xB6, 0xB9, 0xBC, 0xBF, 0xC2, | |
0xC4, 0xC5, 0xC6, 0xC6, 0xC5, 0xC3, 0xC2, 0xC0, 0xBE, 0xBD, 0xBB, 0xBB, 0xBB, 0xBC, 0xBD, 0xBE, | |
0xBF, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBD, | |
0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, | |
0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBD, 0xBD, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, | |
0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBB, 0xBB, 0xBD, 0xBE, 0xC0, 0xC2, 0xC3, 0xC5, 0xC6, 0xC6, 0xC5, | |
0xC4, 0xC2, 0xBF, 0xBC, 0xB9, 0xB6, 0xB4, 0xB4, 0xB5, 0xB8, 0xBD, 0xC4, 0xCD, 0xD8, 0xE4, 0xF2, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h11[] PROGMEM = { | |
0x00, 0x0B, 0x17, 0x22, 0x2C, 0x35, 0x3C, 0x42, 0x46, 0x49, 0x4B, 0x4B, 0x4A, 0x48, 0x46, 0x44, | |
0x41, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x41, 0x42, 0x43, 0x44, | |
0x44, 0x44, 0x43, 0x43, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, | |
0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3C, | |
0x3C, 0x3C, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x42, 0x41, 0x40, | |
0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x43, 0x43, 0x44, | |
0x44, 0x44, 0x43, 0x42, 0x41, 0x3F, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, | |
0x41, 0x44, 0x46, 0x48, 0x4A, 0x4B, 0x4B, 0x49, 0x46, 0x42, 0x3C, 0x35, 0x2C, 0x22, 0x17, 0x0B, | |
0x00, 0xF4, 0xE8, 0xDD, 0xD3, 0xCA, 0xC3, 0xBD, 0xB9, 0xB6, 0xB4, 0xB4, 0xB5, 0xB7, 0xB9, 0xBB, | |
0xBE, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, 0xC0, 0xBE, 0xBD, 0xBC, 0xBB, | |
0xBB, 0xBB, 0xBC, 0xBC, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, | |
0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC3, | |
0xC3, 0xC3, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, | |
0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBC, 0xBC, 0xBB, | |
0xBB, 0xBB, 0xBC, 0xBD, 0xBE, 0xC0, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, | |
0xBE, 0xBB, 0xB9, 0xB7, 0xB5, 0xB4, 0xB4, 0xB6, 0xB9, 0xBD, 0xC3, 0xCA, 0xD3, 0xDD, 0xE8, 0xF4, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h9[] PROGMEM = { | |
0x00, 0x09, 0x13, 0x1D, 0x25, 0x2E, 0x35, 0x3B, 0x40, 0x45, 0x48, 0x4A, 0x4B, 0x4B, 0x4B, 0x49, | |
0x48, 0x46, 0x44, 0x41, 0x3F, 0x3D, 0x3C, 0x3A, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, | |
0x3F, 0x40, 0x42, 0x43, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x43, 0x42, 0x41, 0x3F, 0x3E, 0x3D, | |
0x3D, 0x3C, 0x3B, 0x3B, 0x3B, 0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x43, 0x43, | |
0x44, 0x43, 0x43, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3B, 0x3B, 0x3B, 0x3C, | |
0x3D, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x43, 0x43, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x42, 0x40, | |
0x3F, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x41, 0x44, 0x46, | |
0x48, 0x49, 0x4B, 0x4B, 0x4B, 0x4A, 0x48, 0x45, 0x40, 0x3B, 0x35, 0x2E, 0x25, 0x1D, 0x13, 0x09, | |
0x00, 0xF6, 0xEC, 0xE2, 0xDA, 0xD1, 0xCA, 0xC4, 0xBF, 0xBA, 0xB7, 0xB5, 0xB4, 0xB4, 0xB4, 0xB6, | |
0xB7, 0xB9, 0xBB, 0xBE, 0xC0, 0xC2, 0xC3, 0xC5, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, | |
0xC0, 0xBF, 0xBD, 0xBC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xBC, 0xBD, 0xBE, 0xC0, 0xC1, 0xC2, | |
0xC2, 0xC3, 0xC4, 0xC4, 0xC4, 0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBC, 0xBC, | |
0xBB, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC4, 0xC4, 0xC4, 0xC3, | |
0xC2, 0xC2, 0xC1, 0xC0, 0xBE, 0xBD, 0xBC, 0xBC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xBD, 0xBF, | |
0xC0, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5, 0xC3, 0xC2, 0xC0, 0xBE, 0xBB, 0xB9, | |
0xB7, 0xB6, 0xB4, 0xB4, 0xB4, 0xB5, 0xB7, 0xBA, 0xBF, 0xC4, 0xCA, 0xD1, 0xDA, 0xE2, 0xEC, 0xF6, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h8[] PROGMEM = { | |
0x00, 0x07, 0x0F, 0x17, 0x1E, 0x25, 0x2C, 0x32, 0x37, 0x3C, 0x40, 0x44, 0x47, 0x49, 0x4A, 0x4B, | |
0x4B, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x45, 0x43, 0x41, 0x3F, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, | |
0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x44, 0x45, | |
0x45, 0x45, 0x44, 0x44, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3B, 0x3B, | |
0x3A, 0x3B, 0x3B, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x44, 0x44, 0x45, | |
0x45, 0x45, 0x44, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 0x39, | |
0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x41, 0x43, 0x45, 0x46, 0x48, 0x49, 0x4A, 0x4B, | |
0x4B, 0x4B, 0x4A, 0x49, 0x47, 0x44, 0x40, 0x3C, 0x37, 0x32, 0x2C, 0x25, 0x1E, 0x17, 0x0F, 0x07, | |
0x00, 0xF8, 0xF0, 0xE8, 0xE1, 0xDA, 0xD3, 0xCD, 0xC8, 0xC3, 0xBF, 0xBB, 0xB8, 0xB6, 0xB5, 0xB4, | |
0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBC, 0xBE, 0xC0, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, | |
0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBB, 0xBA, | |
0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC4, | |
0xC5, 0xC4, 0xC4, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBB, 0xBB, 0xBA, | |
0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, | |
0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, 0xC0, 0xBE, 0xBC, 0xBA, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, | |
0xB4, 0xB4, 0xB5, 0xB6, 0xB8, 0xBB, 0xBF, 0xC3, 0xC8, 0xCD, 0xD3, 0xDA, 0xE1, 0xE8, 0xF0, 0xF8, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h7[] PROGMEM = { | |
0x00, 0x07, 0x0F, 0x17, 0x1E, 0x25, 0x2C, 0x32, 0x37, 0x3C, 0x40, 0x44, 0x47, 0x49, 0x4A, 0x4B, | |
0x4B, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x45, 0x43, 0x41, 0x3F, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, | |
0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x44, 0x45, | |
0x45, 0x45, 0x44, 0x44, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3B, 0x3B, | |
0x3A, 0x3B, 0x3B, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x44, 0x44, 0x45, | |
0x45, 0x45, 0x44, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 0x39, | |
0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x41, 0x43, 0x45, 0x46, 0x48, 0x49, 0x4A, 0x4B, | |
0x4B, 0x4B, 0x4A, 0x49, 0x47, 0x44, 0x40, 0x3C, 0x37, 0x32, 0x2C, 0x25, 0x1E, 0x17, 0x0F, 0x07, | |
0x00, 0xF8, 0xF0, 0xE8, 0xE1, 0xDA, 0xD3, 0xCD, 0xC8, 0xC3, 0xBF, 0xBB, 0xB8, 0xB6, 0xB5, 0xB4, | |
0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBC, 0xBE, 0xC0, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, | |
0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBB, 0xBA, | |
0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC4, | |
0xC5, 0xC4, 0xC4, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBB, 0xBB, 0xBA, | |
0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, | |
0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, 0xC0, 0xBE, 0xBC, 0xBA, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, | |
0xB4, 0xB4, 0xB5, 0xB6, 0xB8, 0xBB, 0xBF, 0xC3, 0xC8, 0xCD, 0xD3, 0xDA, 0xE1, 0xE8, 0xF0, 0xF8, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h5[] PROGMEM = { | |
0x00, 0x05, 0x0B, 0x11, 0x17, 0x1D, 0x22, 0x27, 0x2C, 0x31, 0x35, 0x39, 0x3C, 0x40, 0x42, 0x45, | |
0x47, 0x48, 0x4A, 0x4B, 0x4B, 0x4C, 0x4B, 0x4B, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x45, 0x44, 0x42, | |
0x41, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x39, | |
0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x44, 0x45, 0x45, 0x46, 0x46, | |
0x46, 0x46, 0x46, 0x45, 0x45, 0x44, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, | |
0x3A, 0x39, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, | |
0x41, 0x42, 0x44, 0x45, 0x46, 0x48, 0x49, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x4B, 0x4B, 0x4A, 0x48, | |
0x47, 0x45, 0x42, 0x40, 0x3C, 0x39, 0x35, 0x31, 0x2C, 0x27, 0x22, 0x1D, 0x17, 0x11, 0x0B, 0x05, | |
0x00, 0xFA, 0xF4, 0xEE, 0xE8, 0xE2, 0xDD, 0xD8, 0xD3, 0xCE, 0xCA, 0xC6, 0xC3, 0xBF, 0xBD, 0xBA, | |
0xB8, 0xB7, 0xB5, 0xB4, 0xB4, 0xB3, 0xB4, 0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBB, 0xBD, | |
0xBE, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC6, 0xC6, | |
0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBB, 0xBA, 0xBA, 0xB9, 0xB9, | |
0xB9, 0xB9, 0xB9, 0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, | |
0xC5, 0xC6, 0xC6, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, | |
0xBE, 0xBD, 0xBB, 0xBA, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, 0xB4, 0xB4, 0xB3, 0xB4, 0xB4, 0xB5, 0xB7, | |
0xB8, 0xBA, 0xBD, 0xBF, 0xC3, 0xC6, 0xCA, 0xCE, 0xD3, 0xD8, 0xDD, 0xE2, 0xE8, 0xEE, 0xF4, 0xFA, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h4[] PROGMEM = { | |
0x00, 0x03, 0x07, 0x0B, 0x0F, 0x13, 0x17, 0x1B, 0x1E, 0x22, 0x26, 0x29, 0x2C, 0x2F, 0x32, 0x35, | |
0x38, 0x3A, 0x3D, 0x3F, 0x41, 0x43, 0x45, 0x46, 0x47, 0x49, 0x4A, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, | |
0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x49, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x41, | |
0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x3A, 0x39, 0x38, 0x38, 0x37, 0x37, 0x36, 0x36, 0x36, | |
0x36, 0x36, 0x36, 0x36, 0x37, 0x37, 0x38, 0x38, 0x39, 0x3A, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, | |
0x40, 0x41, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x49, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4C, | |
0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4A, 0x4A, 0x49, 0x47, 0x46, 0x45, 0x43, 0x41, 0x3F, 0x3D, 0x3A, | |
0x38, 0x35, 0x32, 0x2F, 0x2C, 0x29, 0x26, 0x22, 0x1E, 0x1B, 0x17, 0x13, 0x0F, 0x0B, 0x07, 0x03, | |
0x00, 0xFC, 0xF8, 0xF4, 0xF0, 0xEC, 0xE8, 0xE4, 0xE1, 0xDD, 0xD9, 0xD6, 0xD3, 0xD0, 0xCD, 0xCA, | |
0xC7, 0xC5, 0xC2, 0xC0, 0xBE, 0xBC, 0xBA, 0xB9, 0xB8, 0xB6, 0xB5, 0xB5, 0xB4, 0xB3, 0xB3, 0xB3, | |
0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBE, | |
0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC5, 0xC6, 0xC7, 0xC7, 0xC8, 0xC8, 0xC9, 0xC9, 0xC9, | |
0xC9, 0xC9, 0xC9, 0xC9, 0xC8, 0xC8, 0xC7, 0xC7, 0xC6, 0xC5, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, | |
0xBF, 0xBE, 0xBC, 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB6, 0xB5, 0xB4, 0xB4, 0xB3, 0xB3, 0xB3, | |
0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB5, 0xB5, 0xB6, 0xB8, 0xB9, 0xBA, 0xBC, 0xBE, 0xC0, 0xC2, 0xC5, | |
0xC7, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xD9, 0xDD, 0xE1, 0xE4, 0xE8, 0xEC, 0xF0, 0xF4, 0xF8, 0xFC, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h3[] PROGMEM = { | |
0x00, 0x03, 0x07, 0x0B, 0x0F, 0x13, 0x17, 0x1B, 0x1E, 0x22, 0x26, 0x29, 0x2C, 0x2F, 0x32, 0x35, | |
0x38, 0x3A, 0x3D, 0x3F, 0x41, 0x43, 0x45, 0x46, 0x47, 0x49, 0x4A, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, | |
0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x49, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x41, | |
0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x3A, 0x39, 0x38, 0x38, 0x37, 0x37, 0x36, 0x36, 0x36, | |
0x36, 0x36, 0x36, 0x36, 0x37, 0x37, 0x38, 0x38, 0x39, 0x3A, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, | |
0x40, 0x41, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x49, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4C, | |
0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4A, 0x4A, 0x49, 0x47, 0x46, 0x45, 0x43, 0x41, 0x3F, 0x3D, 0x3A, | |
0x38, 0x35, 0x32, 0x2F, 0x2C, 0x29, 0x26, 0x22, 0x1E, 0x1B, 0x17, 0x13, 0x0F, 0x0B, 0x07, 0x03, | |
0x00, 0xFC, 0xF8, 0xF4, 0xF0, 0xEC, 0xE8, 0xE4, 0xE1, 0xDD, 0xD9, 0xD6, 0xD3, 0xD0, 0xCD, 0xCA, | |
0xC7, 0xC5, 0xC2, 0xC0, 0xBE, 0xBC, 0xBA, 0xB9, 0xB8, 0xB6, 0xB5, 0xB5, 0xB4, 0xB3, 0xB3, 0xB3, | |
0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBE, | |
0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC5, 0xC6, 0xC7, 0xC7, 0xC8, 0xC8, 0xC9, 0xC9, 0xC9, | |
0xC9, 0xC9, 0xC9, 0xC9, 0xC8, 0xC8, 0xC7, 0xC7, 0xC6, 0xC5, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, | |
0xBF, 0xBE, 0xBC, 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB6, 0xB5, 0xB4, 0xB4, 0xB3, 0xB3, 0xB3, | |
0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB5, 0xB5, 0xB6, 0xB8, 0xB9, 0xBA, 0xBC, 0xBE, 0xC0, 0xC2, 0xC5, | |
0xC7, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xD9, 0xDD, 0xE1, 0xE4, 0xE8, 0xEC, 0xF0, 0xF4, 0xF8, 0xFC, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h2[] PROGMEM = { | |
0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, | |
0x1F, 0x21, 0x22, 0x24, 0x26, 0x28, 0x29, 0x2B, 0x2D, 0x2E, 0x30, 0x32, 0x33, 0x35, 0x36, 0x38, | |
0x39, 0x3B, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, | |
0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x4E, 0x4F, 0x4F, 0x4F, 0x50, 0x50, 0x50, 0x51, 0x51, 0x51, 0x51, | |
0x51, 0x51, 0x51, 0x51, 0x51, 0x50, 0x50, 0x50, 0x4F, 0x4F, 0x4F, 0x4E, 0x4D, 0x4D, 0x4C, 0x4C, | |
0x4B, 0x4A, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3C, 0x3B, | |
0x39, 0x38, 0x36, 0x35, 0x33, 0x32, 0x30, 0x2E, 0x2D, 0x2B, 0x29, 0x28, 0x26, 0x24, 0x22, 0x21, | |
0x1F, 0x1D, 0x1B, 0x19, 0x17, 0x15, 0x13, 0x11, 0x0F, 0x0D, 0x0B, 0x09, 0x07, 0x05, 0x03, 0x01, | |
0x00, 0xFE, 0xFC, 0xFA, 0xF8, 0xF6, 0xF4, 0xF2, 0xF0, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE4, 0xE2, | |
0xE0, 0xDE, 0xDD, 0xDB, 0xD9, 0xD7, 0xD6, 0xD4, 0xD2, 0xD1, 0xCF, 0xCD, 0xCC, 0xCA, 0xC9, 0xC7, | |
0xC6, 0xC4, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, | |
0xB4, 0xB3, 0xB3, 0xB2, 0xB2, 0xB1, 0xB0, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAE, 0xAE, 0xAE, 0xAE, | |
0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAF, 0xAF, 0xAF, 0xB0, 0xB0, 0xB0, 0xB1, 0xB2, 0xB2, 0xB3, 0xB3, | |
0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, 0xC4, | |
0xC6, 0xC7, 0xC9, 0xCA, 0xCC, 0xCD, 0xCF, 0xD1, 0xD2, 0xD4, 0xD6, 0xD7, 0xD9, 0xDB, 0xDD, 0xDE, | |
0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h1[] PROGMEM = { | |
0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, | |
0x1F, 0x21, 0x22, 0x24, 0x26, 0x28, 0x29, 0x2B, 0x2D, 0x2E, 0x30, 0x32, 0x33, 0x35, 0x36, 0x38, | |
0x39, 0x3B, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, | |
0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x4E, 0x4F, 0x4F, 0x4F, 0x50, 0x50, 0x50, 0x51, 0x51, 0x51, 0x51, | |
0x51, 0x51, 0x51, 0x51, 0x51, 0x50, 0x50, 0x50, 0x4F, 0x4F, 0x4F, 0x4E, 0x4D, 0x4D, 0x4C, 0x4C, | |
0x4B, 0x4A, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3C, 0x3B, | |
0x39, 0x38, 0x36, 0x35, 0x33, 0x32, 0x30, 0x2E, 0x2D, 0x2B, 0x29, 0x28, 0x26, 0x24, 0x22, 0x21, | |
0x1F, 0x1D, 0x1B, 0x19, 0x17, 0x15, 0x13, 0x11, 0x0F, 0x0D, 0x0B, 0x09, 0x07, 0x05, 0x03, 0x01, | |
0x00, 0xFE, 0xFC, 0xFA, 0xF8, 0xF6, 0xF4, 0xF2, 0xF0, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE4, 0xE2, | |
0xE0, 0xDE, 0xDD, 0xDB, 0xD9, 0xD7, 0xD6, 0xD4, 0xD2, 0xD1, 0xCF, 0xCD, 0xCC, 0xCA, 0xC9, 0xC7, | |
0xC6, 0xC4, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, | |
0xB4, 0xB3, 0xB3, 0xB2, 0xB2, 0xB1, 0xB0, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAE, 0xAE, 0xAE, 0xAE, | |
0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAF, 0xAF, 0xAF, 0xB0, 0xB0, 0xB0, 0xB1, 0xB2, 0xB2, 0xB3, 0xB3, | |
0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, 0xC4, | |
0xC6, 0xC7, 0xC9, 0xCA, 0xCC, 0xCD, 0xCF, 0xD1, 0xD2, 0xD4, 0xD6, 0xD7, 0xD9, 0xDB, 0xDD, 0xDE, | |
0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, | |
0xFF, | |
}; | |
const uint8_t g_osc_sin_wave_table_h1[] PROGMEM = { | |
0x00, 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x12, 0x15, 0x18, 0x1B, 0x1E, 0x21, 0x24, 0x27, 0x2A, 0x2D, | |
0x30, 0x33, 0x36, 0x39, 0x3B, 0x3E, 0x41, 0x43, 0x46, 0x49, 0x4B, 0x4E, 0x50, 0x52, 0x55, 0x57, | |
0x59, 0x5B, 0x5E, 0x60, 0x62, 0x64, 0x66, 0x67, 0x69, 0x6B, 0x6C, 0x6E, 0x70, 0x71, 0x72, 0x74, | |
0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7B, 0x7C, 0x7D, 0x7D, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, | |
0x7F, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7D, 0x7D, 0x7C, 0x7B, 0x7B, 0x7A, 0x79, 0x78, 0x77, 0x76, | |
0x75, 0x74, 0x72, 0x71, 0x70, 0x6E, 0x6C, 0x6B, 0x69, 0x67, 0x66, 0x64, 0x62, 0x60, 0x5E, 0x5B, | |
0x59, 0x57, 0x55, 0x52, 0x50, 0x4E, 0x4B, 0x49, 0x46, 0x43, 0x41, 0x3E, 0x3B, 0x39, 0x36, 0x33, | |
0x30, 0x2D, 0x2A, 0x27, 0x24, 0x21, 0x1E, 0x1B, 0x18, 0x15, 0x12, 0x0F, 0x0C, 0x09, 0x06, 0x03, | |
0x00, 0xFC, 0xF9, 0xF6, 0xF3, 0xF0, 0xED, 0xEA, 0xE7, 0xE4, 0xE1, 0xDE, 0xDB, 0xD8, 0xD5, 0xD2, | |
0xCF, 0xCC, 0xC9, 0xC6, 0xC4, 0xC1, 0xBE, 0xBC, 0xB9, 0xB6, 0xB4, 0xB1, 0xAF, 0xAD, 0xAA, 0xA8, | |
0xA6, 0xA4, 0xA1, 0x9F, 0x9D, 0x9B, 0x99, 0x98, 0x96, 0x94, 0x93, 0x91, 0x8F, 0x8E, 0x8D, 0x8B, | |
0x8A, 0x89, 0x88, 0x87, 0x86, 0x85, 0x84, 0x84, 0x83, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81, | |
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x83, 0x84, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, | |
0x8A, 0x8B, 0x8D, 0x8E, 0x8F, 0x91, 0x93, 0x94, 0x96, 0x98, 0x99, 0x9B, 0x9D, 0x9F, 0xA1, 0xA4, | |
0xA6, 0xA8, 0xAA, 0xAD, 0xAF, 0xB1, 0xB4, 0xB6, 0xB9, 0xBC, 0xBE, 0xC1, 0xC4, 0xC6, 0xC9, 0xCC, | |
0xCF, 0xD2, 0xD5, 0xD8, 0xDB, 0xDE, 0xE1, 0xE4, 0xE7, 0xEA, 0xED, 0xF0, 0xF3, 0xF6, 0xF9, 0xFC, | |
0xFF, | |
}; | |
const uint8_t* g_osc_saw_wave_tables[] = { | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h112, g_osc_saw_wave_table_h112, | |
g_osc_saw_wave_table_h112, g_osc_saw_wave_table_h94 , g_osc_saw_wave_table_h94 , | |
g_osc_saw_wave_table_h94 , g_osc_saw_wave_table_h79 , g_osc_saw_wave_table_h79 , | |
g_osc_saw_wave_table_h79 , g_osc_saw_wave_table_h67 , g_osc_saw_wave_table_h67 , | |
g_osc_saw_wave_table_h67 , g_osc_saw_wave_table_h56 , g_osc_saw_wave_table_h56 , | |
g_osc_saw_wave_table_h56 , g_osc_saw_wave_table_h47 , g_osc_saw_wave_table_h47 , | |
g_osc_saw_wave_table_h47 , g_osc_saw_wave_table_h39 , g_osc_saw_wave_table_h39 , | |
g_osc_saw_wave_table_h39 , g_osc_saw_wave_table_h33 , g_osc_saw_wave_table_h33 , | |
g_osc_saw_wave_table_h33 , g_osc_saw_wave_table_h28 , g_osc_saw_wave_table_h28 , | |
g_osc_saw_wave_table_h28 , g_osc_saw_wave_table_h23 , g_osc_saw_wave_table_h23 , | |
g_osc_saw_wave_table_h23 , g_osc_saw_wave_table_h19 , g_osc_saw_wave_table_h19 , | |
g_osc_saw_wave_table_h19 , g_osc_saw_wave_table_h16 , g_osc_saw_wave_table_h16 , | |
g_osc_saw_wave_table_h16 , g_osc_saw_wave_table_h14 , g_osc_saw_wave_table_h14 , | |
g_osc_saw_wave_table_h14 , g_osc_saw_wave_table_h11 , g_osc_saw_wave_table_h11 , | |
g_osc_saw_wave_table_h11 , g_osc_saw_wave_table_h9 , g_osc_saw_wave_table_h9 , | |
g_osc_saw_wave_table_h9 , g_osc_saw_wave_table_h8 , g_osc_saw_wave_table_h8 , | |
g_osc_saw_wave_table_h8 , g_osc_saw_wave_table_h7 , g_osc_saw_wave_table_h7 , | |
g_osc_saw_wave_table_h7 , g_osc_saw_wave_table_h5 , g_osc_saw_wave_table_h5 , | |
g_osc_saw_wave_table_h5 , g_osc_saw_wave_table_h4 , g_osc_saw_wave_table_h4 , | |
g_osc_saw_wave_table_h4 , g_osc_saw_wave_table_h4 , g_osc_saw_wave_table_h4 , | |
g_osc_saw_wave_table_h4 , g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h3 , | |
g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h2 , g_osc_saw_wave_table_h2 , | |
g_osc_saw_wave_table_h2 , g_osc_saw_wave_table_h2 , g_osc_saw_wave_table_h2 , | |
g_osc_saw_wave_table_h2 , g_osc_saw_wave_table_h2 , g_osc_saw_wave_table_h2 , | |
g_osc_saw_wave_table_h2 , g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , | |
g_osc_saw_wave_table_h1 , }; | |
const uint8_t* g_osc_sq_wave_tables[] = { | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h112, g_osc_sq_wave_table_h112, | |
g_osc_sq_wave_table_h112, g_osc_sq_wave_table_h94 , g_osc_sq_wave_table_h94 , | |
g_osc_sq_wave_table_h94 , g_osc_sq_wave_table_h79 , g_osc_sq_wave_table_h79 , | |
g_osc_sq_wave_table_h79 , g_osc_sq_wave_table_h67 , g_osc_sq_wave_table_h67 , | |
g_osc_sq_wave_table_h67 , g_osc_sq_wave_table_h56 , g_osc_sq_wave_table_h56 , | |
g_osc_sq_wave_table_h56 , g_osc_sq_wave_table_h47 , g_osc_sq_wave_table_h47 , | |
g_osc_sq_wave_table_h47 , g_osc_sq_wave_table_h39 , g_osc_sq_wave_table_h39 , | |
g_osc_sq_wave_table_h39 , g_osc_sq_wave_table_h33 , g_osc_sq_wave_table_h33 , | |
g_osc_sq_wave_table_h33 , g_osc_sq_wave_table_h28 , g_osc_sq_wave_table_h28 , | |
g_osc_sq_wave_table_h28 , g_osc_sq_wave_table_h23 , g_osc_sq_wave_table_h23 , | |
g_osc_sq_wave_table_h23 , g_osc_sq_wave_table_h19 , g_osc_sq_wave_table_h19 , | |
g_osc_sq_wave_table_h19 , g_osc_sq_wave_table_h16 , g_osc_sq_wave_table_h16 , | |
g_osc_sq_wave_table_h16 , g_osc_sq_wave_table_h14 , g_osc_sq_wave_table_h14 , | |
g_osc_sq_wave_table_h14 , g_osc_sq_wave_table_h11 , g_osc_sq_wave_table_h11 , | |
g_osc_sq_wave_table_h11 , g_osc_sq_wave_table_h9 , g_osc_sq_wave_table_h9 , | |
g_osc_sq_wave_table_h9 , g_osc_sq_wave_table_h8 , g_osc_sq_wave_table_h8 , | |
g_osc_sq_wave_table_h8 , g_osc_sq_wave_table_h7 , g_osc_sq_wave_table_h7 , | |
g_osc_sq_wave_table_h7 , g_osc_sq_wave_table_h5 , g_osc_sq_wave_table_h5 , | |
g_osc_sq_wave_table_h5 , g_osc_sq_wave_table_h4 , g_osc_sq_wave_table_h4 , | |
g_osc_sq_wave_table_h4 , g_osc_sq_wave_table_h4 , g_osc_sq_wave_table_h4 , | |
g_osc_sq_wave_table_h4 , g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h3 , | |
g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h2 , g_osc_sq_wave_table_h2 , | |
g_osc_sq_wave_table_h2 , g_osc_sq_wave_table_h2 , g_osc_sq_wave_table_h2 , | |
g_osc_sq_wave_table_h2 , g_osc_sq_wave_table_h2 , g_osc_sq_wave_table_h2 , | |
g_osc_sq_wave_table_h2 , g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , | |
g_osc_sq_wave_table_h1 , }; | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
const __uint24 g_osc_freq_table[] = { | |
0x000893, 0x000915, 0x00099F, 0x000A31, 0x000ACD, 0x000B71, | |
0x000C1F, 0x000CD9, 0x000D9B, 0x000E6B, 0x000F47, 0x00102F, | |
0x001125, 0x00122B, 0x00133F, 0x001463, 0x00159B, 0x0016E3, | |
0x00183F, 0x0019B1, 0x001B37, 0x001CD5, 0x001E8D, 0x00205D, | |
0x00224B, 0x002455, 0x00267D, 0x0028C7, 0x002B35, 0x002DC7, | |
0x00307F, 0x003361, 0x00366F, 0x0039AB, 0x003D19, 0x0040BB, | |
0x004495, 0x0048A9, 0x004CFB, 0x00518F, 0x005669, 0x005B8D, | |
0x0060FD, 0x0066C3, 0x006CDF, 0x007357, 0x007A33, 0x008177, | |
0x00892B, 0x009153, 0x0099F7, 0x00A31F, 0x00ACD1, 0x00B719, | |
0x00C1FB, 0x00CD85, 0x00D9BD, 0x00E6AF, 0x00F467, 0x0102EF, | |
0x011255, 0x0122A5, 0x0133EF, 0x01463D, 0x0159A3, 0x016E31, | |
0x0183F7, 0x019B09, 0x01B37B, 0x01CD5F, 0x01E8CF, 0x0205DF, | |
0x0224AB, 0x02454B, 0x0267DD, 0x028C7B, 0x02B347, 0x02DC63, | |
0x0307EF, 0x033613, 0x0366F5, 0x039ABF, 0x03D19D, 0x040BBF, | |
0x044957, 0x048A97, 0x04CFB9, 0x0518F7, 0x05668F, 0x05B8C5, | |
0x060FDF, 0x066C25, 0x06CDEB, 0x07357F, 0x07A33B, 0x08177F, | |
0x0892AD, 0x09152D, 0x099F71, 0x0A31ED, 0x0ACD1D, 0x0B7189, | |
0x0C1FBD, 0x0CD84B, 0x0D9BD5, 0x0E6AFD, 0x0F4677, 0x102EFF, | |
0x112559, 0x122A5B, 0x133EE1, 0x1463D9, 0x159A3B, 0x16E313, | |
0x183F79, 0x19B097, 0x1B37A9, 0x1CD5F9, 0x1E8CEF, 0x205DFD, | |
0x224AB3, }; | |
const int8_t g_osc_tune_table[] = { | |
-15, -14, -14, -14, -14, -14, -14, -14, | |
-14, -14, -13, -13, -13, -13, -13, -13, | |
-13, -13, -13, -12, -12, -12, -12, -12, | |
-12, -12, -12, -12, -11, -11, -11, -11, | |
-11, -11, -11, -11, -11, -10, -10, -10, | |
-10, -10, -10, -10, -10, -9, -9, -9, | |
-9, -9, -9, -9, -9, -9, -8, -8, | |
-8, -8, -8, -8, -8, -8, -8, -7, | |
-7, -7, -7, -7, -7, -7, -7, -7, | |
-6, -6, -6, -6, -6, -6, -6, -6, | |
-6, -5, -5, -5, -5, -5, -5, -5, | |
-5, -4, -4, -4, -4, -4, -4, -4, | |
-4, -4, -3, -3, -3, -3, -3, -3, | |
-3, -3, -3, -2, -2, -2, -2, -2, | |
-2, -2, -2, -1, -1, -1, -1, -1, | |
-1, -1, -1, -1, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 1, 1, 1, | |
1, 1, 1, 1, 1, 2, 2, 2, | |
2, 2, 2, 2, 2, 2, 3, 3, | |
3, 3, 3, 3, 3, 3, 3, 4, | |
4, 4, 4, 4, 4, 4, 4, 5, | |
5, 5, 5, 5, 5, 5, 5, 5, | |
6, 6, 6, 6, 6, 6, 6, 6, | |
7, 7, 7, 7, 7, 7, 7, 7, | |
7, 8, 8, 8, 8, 8, 8, 8, | |
8, 9, 9, 9, 9, 9, 9, 9, | |
9, 9, 10, 10, 10, 10, 10, 10, | |
10, 10, 11, 11, 11, 11, 11, 11, | |
11, 11, 11, 12, 12, 12, 12, 12, | |
12, 12, 12, 13, 13, 13, 13, 13, | |
13, 13, 13, 13, 14, 14, 14, 14, | |
14, 14, 14, 14, 15, 15, 15, 15, | |
}; | |
const uint8_t g_osc_saw_wave_table_h127[] PROGMEM = { | |
0x00, 0x5F, 0x53, 0x5C, 0x56, 0x5B, 0x57, 0x5A, 0x58, 0x5A, 0x58, 0x5A, 0x58, 0x5A, 0x58, 0x5A, | |
0x53, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4D, | |
0x47, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42, | |
0x3B, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x35, 0x35, 0x35, 0x34, 0x34, | |
0x2F, 0x2B, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x29, 0x2A, 0x29, 0x2A, 0x29, 0x2A, 0x29, 0x2A, | |
0x23, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1D, | |
0x17, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, | |
0x0B, 0x07, 0x05, 0x07, 0x05, 0x07, 0x05, 0x07, 0x05, 0x07, 0x04, 0x08, 0x04, 0x0A, 0x02, 0x11, | |
0xFF, 0xEE, 0xFD, 0xF5, 0xFB, 0xF7, 0xFB, 0xF8, 0xFA, 0xF8, 0xFA, 0xF8, 0xFA, 0xF8, 0xFA, 0xF8, | |
0xF4, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, | |
0xE8, 0xE2, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, | |
0xDC, 0xD5, 0xD6, 0xD5, 0xD6, 0xD5, 0xD6, 0xD5, 0xD6, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD4, | |
0xD0, 0xCB, 0xCB, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, | |
0xC4, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, | |
0xB8, 0xB2, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, | |
0xAC, 0xA5, 0xA7, 0xA5, 0xA7, 0xA5, 0xA7, 0xA5, 0xA7, 0xA5, 0xA8, 0xA4, 0xA9, 0xA3, 0xAC, 0xA0, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h112[] PROGMEM = { | |
0x00, 0x60, 0x57, 0x5B, 0x5A, 0x59, 0x5B, 0x58, 0x5A, 0x58, 0x5A, 0x59, 0x5A, 0x5A, 0x59, 0x5A, | |
0x53, 0x4E, 0x4D, 0x4E, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, | |
0x47, 0x42, 0x41, 0x42, 0x42, 0x42, 0x42, 0x41, 0x42, 0x41, 0x42, 0x42, 0x42, 0x42, 0x41, 0x42, | |
0x3B, 0x35, 0x35, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x35, 0x36, 0x36, 0x36, 0x36, 0x35, 0x34, | |
0x2F, 0x2C, 0x29, 0x29, 0x29, 0x29, 0x2A, 0x2A, 0x2A, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x2A, | |
0x23, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, | |
0x17, 0x12, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x12, | |
0x0B, 0x06, 0x05, 0x06, 0x05, 0x05, 0x06, 0x05, 0x07, 0x04, 0x07, 0x04, 0x05, 0x06, 0x02, 0x0F, | |
0xFF, 0xF0, 0xFD, 0xF9, 0xFA, 0xFB, 0xF8, 0xFB, 0xF8, 0xFA, 0xF9, 0xFA, 0xFA, 0xF9, 0xFA, 0xF9, | |
0xF4, 0xED, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xED, | |
0xE8, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, | |
0xDC, 0xD5, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD5, 0xD5, 0xD5, 0xD6, 0xD6, 0xD6, 0xD6, 0xD3, | |
0xD0, 0xCB, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xCA, 0xCA, | |
0xC4, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, | |
0xB8, 0xB1, 0xB1, 0xB1, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB2, 0xB1, 0xB1, 0xB2, 0xB1, | |
0xAC, 0xA5, 0xA6, 0xA5, 0xA5, 0xA6, 0xA5, 0xA7, 0xA5, 0xA7, 0xA4, 0xA6, 0xA5, 0xA4, 0xA8, 0x9F, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h94[] PROGMEM = { | |
0x00, 0x60, 0x5C, 0x56, 0x5C, 0x59, 0x59, 0x5B, 0x58, 0x5A, 0x5A, 0x58, 0x5A, 0x5A, 0x59, 0x5A, | |
0x53, 0x4E, 0x4E, 0x4D, 0x4E, 0x4E, 0x4D, 0x4E, 0x4D, 0x4D, 0x4E, 0x4D, 0x4E, 0x4E, 0x4D, 0x4F, | |
0x48, 0x40, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x41, 0x42, | |
0x3C, 0x35, 0x36, 0x36, 0x35, 0x36, 0x35, 0x36, 0x35, 0x35, 0x36, 0x36, 0x35, 0x35, 0x37, 0x36, | |
0x30, 0x29, 0x27, 0x2A, 0x2A, 0x29, 0x29, 0x2A, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x29, | |
0x24, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1E, | |
0x17, 0x11, 0x11, 0x12, 0x12, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x12, 0x12, 0x11, 0x12, 0x11, | |
0x0B, 0x07, 0x05, 0x05, 0x06, 0x05, 0x06, 0x06, 0x04, 0x08, 0x04, 0x04, 0x0A, 0x02, 0x06, 0x09, | |
0xFF, 0xF6, 0xF9, 0xFD, 0xF5, 0xFB, 0xFB, 0xF7, 0xFB, 0xF9, 0xF9, 0xFA, 0xF9, 0xFA, 0xFA, 0xF8, | |
0xF4, 0xEE, 0xED, 0xEE, 0xED, 0xED, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xED, 0xED, 0xEE, 0xEE, | |
0xE8, 0xE1, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, | |
0xDB, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD5, 0xD6, 0xD6, 0xD5, 0xD5, 0xD8, 0xD6, | |
0xCF, 0xC9, 0xC8, 0xCA, 0xCA, 0xC9, 0xC9, 0xCA, 0xCA, 0xC9, 0xCA, 0xC9, 0xCA, 0xC9, 0xC9, 0xCA, | |
0xC3, 0xBD, 0xBE, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBF, | |
0xB7, 0xB0, 0xB2, 0xB1, 0xB1, 0xB2, 0xB1, 0xB2, 0xB2, 0xB1, 0xB2, 0xB1, 0xB1, 0xB2, 0xB1, 0xB1, | |
0xAC, 0xA5, 0xA6, 0xA5, 0xA5, 0xA7, 0xA5, 0xA5, 0xA7, 0xA4, 0xA6, 0xA6, 0xA3, 0xA9, 0xA3, 0x9F, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h79[] PROGMEM = { | |
0x00, 0x5D, 0x60, 0x54, 0x5A, 0x5C, 0x58, 0x59, 0x5B, 0x59, 0x58, 0x5B, 0x5A, 0x58, 0x5A, 0x5A, | |
0x52, 0x4E, 0x4E, 0x4C, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4D, 0x4F, 0x4D, | |
0x47, 0x42, 0x41, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, 0x42, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, | |
0x3B, 0x36, 0x36, 0x35, 0x36, 0x36, 0x35, 0x36, 0x36, 0x36, 0x35, 0x35, 0x37, 0x34, 0x35, 0x39, | |
0x2F, 0x27, 0x2A, 0x2A, 0x28, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x2A, | |
0x23, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, | |
0x17, 0x12, 0x11, 0x11, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x11, 0x12, 0x11, 0x11, 0x12, 0x12, | |
0x0B, 0x05, 0x06, 0x05, 0x05, 0x07, 0x04, 0x05, 0x08, 0x04, 0x04, 0x09, 0x04, 0x02, 0x0C, 0x03, | |
0xFF, 0xFC, 0xF3, 0xFD, 0xFB, 0xF6, 0xFB, 0xFB, 0xF7, 0xFA, 0xFB, 0xF8, 0xFA, 0xFA, 0xF9, 0xFA, | |
0xF4, 0xED, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xEE, 0xED, 0xEE, 0xEE, 0xEE, 0xED, | |
0xE8, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, | |
0xDC, 0xD5, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD7, 0xD5, 0xD5, 0xD8, | |
0xD0, 0xC6, 0xCA, 0xCB, 0xC8, 0xCA, 0xCA, 0xC9, 0xC9, 0xC9, 0xCA, 0xC9, 0xC9, 0xCA, 0xC9, 0xC9, | |
0xC4, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, | |
0xB8, 0xB2, 0xB0, 0xB2, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB3, 0xB1, 0xB1, | |
0xAD, 0xA5, 0xA5, 0xA7, 0xA5, 0xA4, 0xA7, 0xA6, 0xA4, 0xA6, 0xA7, 0xA3, 0xA5, 0xAB, 0x9F, 0xA2, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h67[] PROGMEM = { | |
0x00, 0x58, 0x5F, 0x5A, 0x54, 0x5C, 0x5C, 0x58, 0x58, 0x5B, 0x5B, 0x58, 0x59, 0x5B, 0x5A, 0x58, | |
0x54, 0x4E, 0x4E, 0x4C, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4C, 0x4D, | |
0x48, 0x43, 0x41, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x41, 0x42, 0x42, | |
0x3C, 0x35, 0x36, 0x36, 0x36, 0x35, 0x36, 0x36, 0x35, 0x35, 0x35, 0x36, 0x34, 0x37, 0x34, 0x3B, | |
0x2F, 0x24, 0x2C, 0x28, 0x2A, 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x2A, 0x29, 0x29, 0x2A, 0x29, 0x29, | |
0x23, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1E, 0x1E, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1C, | |
0x18, 0x12, 0x11, 0x12, 0x12, 0x11, 0x11, 0x12, 0x12, 0x11, 0x11, 0x12, 0x12, 0x11, 0x11, 0x13, | |
0x0B, 0x05, 0x06, 0x07, 0x04, 0x04, 0x06, 0x07, 0x04, 0x04, 0x08, 0x06, 0x02, 0x04, 0x11, 0xFE, | |
0xFF, 0x01, 0xEE, 0xFB, 0xFD, 0xF9, 0xF7, 0xFB, 0xFB, 0xF8, 0xF9, 0xFB, 0xFB, 0xF8, 0xF9, 0xFA, | |
0xF4, 0xEC, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xED, | |
0xE7, 0xE3, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE1, 0xE1, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, | |
0xDC, 0xD6, 0xD6, 0xD5, 0xD6, 0xD6, 0xD5, 0xD5, 0xD6, 0xD6, 0xD5, 0xD6, 0xD5, 0xD7, 0xD3, 0xDB, | |
0xD0, 0xC4, 0xCB, 0xC8, 0xCB, 0xC9, 0xCA, 0xCA, 0xCA, 0xC9, 0xC9, 0xCA, 0xC9, 0xC9, 0xC9, 0xCA, | |
0xC3, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBC, | |
0xB7, 0xB2, 0xB3, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB3, 0xB1, 0xB1, | |
0xAB, 0xA7, 0xA5, 0xA4, 0xA6, 0xA7, 0xA4, 0xA4, 0xA7, 0xA7, 0xA3, 0xA3, 0xAB, 0xA5, 0xA0, 0xA7, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h56[] PROGMEM = { | |
0x00, 0x52, 0x60, 0x5F, 0x57, 0x55, 0x5B, 0x5C, 0x5A, 0x56, 0x59, 0x5B, 0x5B, 0x59, 0x58, 0x5A, | |
0x54, 0x4E, 0x4C, 0x4D, 0x4F, 0x4E, 0x4D, 0x4C, 0x4E, 0x4E, 0x4E, 0x4D, 0x4D, 0x4E, 0x4E, 0x4D, | |
0x46, 0x42, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x42, 0x41, 0x42, 0x42, 0x42, 0x41, 0x41, 0x42, | |
0x3C, 0x36, 0x34, 0x35, 0x36, 0x36, 0x36, 0x34, 0x36, 0x35, 0x36, 0x34, 0x35, 0x36, 0x34, 0x3A, | |
0x2F, 0x25, 0x2C, 0x2A, 0x29, 0x2A, 0x29, 0x2B, 0x29, 0x29, 0x29, 0x2A, 0x2A, 0x29, 0x29, 0x29, | |
0x24, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1C, | |
0x17, 0x12, 0x13, 0x11, 0x10, 0x11, 0x12, 0x13, 0x11, 0x11, 0x11, 0x12, 0x12, 0x11, 0x11, 0x12, | |
0x0D, 0x05, 0x04, 0x04, 0x07, 0x07, 0x04, 0x04, 0x05, 0x0A, 0x06, 0x02, 0x02, 0x0A, 0x0F, 0xF8, | |
0xFF, 0x07, 0xF0, 0xF5, 0xFD, 0xFD, 0xF9, 0xF5, 0xFA, 0xFB, 0xFB, 0xF8, 0xF8, 0xFB, 0xFB, 0xFA, | |
0xF2, 0xED, 0xEE, 0xEE, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEC, 0xED, 0xEE, 0xEF, 0xEE, 0xEC, 0xED, | |
0xE8, 0xE3, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, | |
0xDB, 0xD6, 0xD6, 0xD6, 0xD5, 0xD5, 0xD6, 0xD6, 0xD6, 0xD4, 0xD6, 0xD5, 0xD6, 0xD5, 0xD3, 0xDA, | |
0xD0, 0xC5, 0xCB, 0xC9, 0xCA, 0xCB, 0xC9, 0xCA, 0xC9, 0xCB, 0xC9, 0xC9, 0xC9, 0xCA, 0xCB, 0xC9, | |
0xC3, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, | |
0xB9, 0xB2, 0xB1, 0xB1, 0xB2, 0xB2, 0xB1, 0xB1, 0xB1, 0xB3, 0xB2, 0xB1, 0xB0, 0xB2, 0xB3, 0xB1, | |
0xAB, 0xA5, 0xA7, 0xA6, 0xA4, 0xA4, 0xA6, 0xA9, 0xA5, 0xA3, 0xA4, 0xAA, 0xA8, 0xA0, 0x9F, 0xAD, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h47[] PROGMEM = { | |
0x00, 0x4E, 0x60, 0x60, 0x5C, 0x54, 0x56, 0x5B, 0x5C, 0x5B, 0x58, 0x57, 0x5A, 0x5B, 0x5B, 0x5A, | |
0x51, 0x4D, 0x4F, 0x4E, 0x4E, 0x4C, 0x4D, 0x4E, 0x4E, 0x4E, 0x4D, 0x4C, 0x4D, 0x4E, 0x4F, 0x4D, | |
0x46, 0x41, 0x41, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x42, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, | |
0x3B, 0x35, 0x36, 0x36, 0x36, 0x34, 0x35, 0x36, 0x36, 0x36, 0x35, 0x34, 0x38, 0x34, 0x36, 0x37, | |
0x2F, 0x27, 0x2A, 0x2C, 0x27, 0x2A, 0x29, 0x29, 0x2B, 0x29, 0x29, 0x29, 0x29, 0x2B, 0x2A, 0x29, | |
0x23, 0x1D, 0x1E, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1F, 0x1D, | |
0x17, 0x11, 0x11, 0x13, 0x11, 0x11, 0x10, 0x12, 0x13, 0x12, 0x10, 0x11, 0x11, 0x13, 0x12, 0x11, | |
0x0A, 0x04, 0x07, 0x08, 0x05, 0x04, 0x04, 0x06, 0x0A, 0x06, 0x02, 0x02, 0x06, 0x0F, 0x0A, 0xF4, | |
0xFF, 0x0B, 0xF5, 0xF0, 0xF9, 0xFD, 0xFD, 0xF9, 0xF5, 0xF9, 0xFB, 0xFB, 0xFA, 0xF7, 0xF8, 0xFB, | |
0xF5, 0xEE, 0xED, 0xEC, 0xEE, 0xEE, 0xEF, 0xED, 0xEC, 0xED, 0xEF, 0xEE, 0xEE, 0xEC, 0xEE, 0xEE, | |
0xE8, 0xE2, 0xE0, 0xE1, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE2, | |
0xDC, 0xD6, 0xD5, 0xD4, 0xD6, 0xD6, 0xD6, 0xD6, 0xD4, 0xD6, 0xD6, 0xD5, 0xD8, 0xD3, 0xD5, 0xD8, | |
0xD0, 0xC8, 0xC9, 0xCB, 0xC7, 0xCB, 0xCA, 0xC9, 0xC9, 0xC9, 0xCA, 0xCB, 0xC9, 0xC9, 0xC9, 0xCA, | |
0xC4, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, | |
0xB9, 0xB2, 0xB0, 0xB1, 0xB2, 0xB3, 0xB2, 0xB1, 0xB1, 0xB1, 0xB2, 0xB3, 0xB1, 0xB1, 0xB0, 0xB2, | |
0xAE, 0xA5, 0xA4, 0xA4, 0xA5, 0xA8, 0xA7, 0xA4, 0xA3, 0xA4, 0xA9, 0xAB, 0xA3, 0x9F, 0x9F, 0xB1, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h39[] PROGMEM = { | |
0x00, 0x48, 0x5D, 0x5F, 0x60, 0x5B, 0x54, 0x55, 0x5A, 0x5C, 0x5C, 0x5B, 0x58, 0x56, 0x59, 0x5B, | |
0x55, 0x4F, 0x4D, 0x4B, 0x4D, 0x4E, 0x4E, 0x4F, 0x4E, 0x4C, 0x4C, 0x4D, 0x4F, 0x4E, 0x4E, 0x4F, | |
0x46, 0x3F, 0x43, 0x43, 0x42, 0x42, 0x40, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x42, 0x42, | |
0x3C, 0x36, 0x35, 0x34, 0x35, 0x36, 0x36, 0x36, 0x37, 0x34, 0x34, 0x37, 0x35, 0x35, 0x39, 0x34, | |
0x2F, 0x2A, 0x27, 0x2C, 0x2B, 0x28, 0x2A, 0x2A, 0x28, 0x2B, 0x2B, 0x29, 0x29, 0x29, 0x29, 0x2A, | |
0x25, 0x1E, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1E, 0x1D, 0x1E, | |
0x17, 0x0F, 0x12, 0x13, 0x12, 0x11, 0x11, 0x10, 0x11, 0x13, 0x13, 0x11, 0x10, 0x10, 0x11, 0x12, | |
0x0E, 0x06, 0x04, 0x04, 0x04, 0x06, 0x09, 0x08, 0x04, 0x02, 0x02, 0x04, 0x0C, 0x10, 0x03, 0xF0, | |
0xFF, 0x0F, 0xFC, 0xEF, 0xF3, 0xFB, 0xFD, 0xFD, 0xFB, 0xF7, 0xF6, 0xF9, 0xFB, 0xFB, 0xFB, 0xF9, | |
0xF1, 0xED, 0xEE, 0xEF, 0xEF, 0xEE, 0xEC, 0xEC, 0xEE, 0xEF, 0xEE, 0xEE, 0xED, 0xEC, 0xED, 0xF0, | |
0xE8, 0xE1, 0xE2, 0xE1, 0xE0, 0xE2, 0xE2, 0xE2, 0xE2, 0xE0, 0xE0, 0xE2, 0xE2, 0xE2, 0xE2, 0xE1, | |
0xDA, 0xD5, 0xD6, 0xD6, 0xD6, 0xD6, 0xD4, 0xD4, 0xD7, 0xD5, 0xD5, 0xD7, 0xD4, 0xD3, 0xD8, 0xD5, | |
0xD0, 0xCB, 0xC6, 0xCA, 0xCA, 0xC8, 0xCB, 0xCB, 0xC8, 0xC9, 0xC9, 0xC9, 0xCA, 0xCB, 0xCA, 0xC9, | |
0xC3, 0xBD, 0xBD, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBF, 0xBF, 0xBD, 0xBD, 0xBC, 0xBC, 0xC0, | |
0xB9, 0xB0, 0xB1, 0xB1, 0xB0, 0xB2, 0xB3, 0xB3, 0xB1, 0xB0, 0xB1, 0xB1, 0xB2, 0xB4, 0xB2, 0xB0, | |
0xAA, 0xA4, 0xA6, 0xA9, 0xA7, 0xA4, 0xA3, 0xA3, 0xA5, 0xAA, 0xAB, 0xA4, 0x9F, 0xA0, 0xA2, 0xB7, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h33[] PROGMEM = { | |
0x00, 0x41, 0x58, 0x60, 0x5F, 0x5F, 0x5A, 0x55, 0x54, 0x59, 0x5C, 0x5C, 0x5C, 0x5B, 0x58, 0x56, | |
0x52, 0x4E, 0x4F, 0x4F, 0x4F, 0x4D, 0x4C, 0x4B, 0x4D, 0x4E, 0x4E, 0x4F, 0x4E, 0x4E, 0x4B, 0x4F, | |
0x48, 0x40, 0x43, 0x42, 0x42, 0x40, 0x40, 0x41, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x40, 0x42, | |
0x3C, 0x37, 0x36, 0x36, 0x34, 0x34, 0x35, 0x37, 0x35, 0x35, 0x37, 0x35, 0x33, 0x34, 0x3B, 0x32, | |
0x30, 0x2E, 0x24, 0x2A, 0x2A, 0x29, 0x28, 0x2B, 0x2B, 0x29, 0x29, 0x29, 0x29, 0x28, 0x2A, 0x2A, | |
0x24, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x1D, 0x1D, 0x1D, 0x1D, 0x1C, 0x1F, 0x1E, 0x21, | |
0x17, 0x0E, 0x11, 0x10, 0x12, 0x13, 0x14, 0x12, 0x11, 0x10, 0x10, 0x11, 0x12, 0x14, 0x13, 0x11, | |
0x0A, 0x04, 0x04, 0x06, 0x08, 0x09, 0x06, 0x03, 0x02, 0x02, 0x04, 0x09, 0x11, 0x0C, 0xFE, 0xEF, | |
0xFF, 0x10, 0x01, 0xF3, 0xEE, 0xF6, 0xFB, 0xFD, 0xFD, 0xFC, 0xF9, 0xF6, 0xF7, 0xF9, 0xFB, 0xFB, | |
0xF5, 0xEE, 0xEC, 0xEB, 0xED, 0xEE, 0xEF, 0xEF, 0xEE, 0xED, 0xEB, 0xEC, 0xED, 0xEF, 0xEE, 0xF1, | |
0xE8, 0xDE, 0xE1, 0xE0, 0xE3, 0xE2, 0xE2, 0xE2, 0xE2, 0xE0, 0xE0, 0xE2, 0xE2, 0xE2, 0xE2, 0xE2, | |
0xDB, 0xD5, 0xD5, 0xD7, 0xD6, 0xD6, 0xD6, 0xD6, 0xD4, 0xD4, 0xD7, 0xD6, 0xD5, 0xD5, 0xDB, 0xD1, | |
0xCF, 0xCD, 0xC4, 0xCB, 0xCC, 0xCA, 0xC8, 0xCA, 0xCA, 0xC8, 0xCA, 0xCB, 0xCB, 0xC9, 0xC9, 0xC8, | |
0xC3, 0xBD, 0xBF, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xBF, 0xBD, 0xBD, 0xBC, 0xBF, | |
0xB7, 0xB0, 0xB4, 0xB1, 0xB1, 0xB0, 0xB1, 0xB1, 0xB2, 0xB4, 0xB3, 0xB2, 0xB0, 0xB0, 0xB0, 0xB1, | |
0xAD, 0xA9, 0xA7, 0xA4, 0xA3, 0xA3, 0xA3, 0xA6, 0xAB, 0xAA, 0xA5, 0xA0, 0xA0, 0x9F, 0xA7, 0xBE, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h28[] PROGMEM = { | |
0x00, 0x3A, 0x52, 0x5E, 0x60, 0x60, 0x5F, 0x5B, 0x57, 0x53, 0x55, 0x59, 0x5B, 0x5C, 0x5C, 0x5C, | |
0x54, 0x4D, 0x4A, 0x4B, 0x4D, 0x4E, 0x4F, 0x4F, 0x4F, 0x4E, 0x4D, 0x4B, 0x4B, 0x4D, 0x4D, 0x51, | |
0x48, 0x40, 0x43, 0x41, 0x40, 0x40, 0x41, 0x42, 0x42, 0x42, 0x42, 0x43, 0x42, 0x40, 0x40, 0x40, | |
0x3D, 0x36, 0x36, 0x36, 0x36, 0x36, 0x34, 0x34, 0x35, 0x37, 0x36, 0x35, 0x35, 0x38, 0x3A, 0x2E, | |
0x2E, 0x2F, 0x25, 0x28, 0x2C, 0x2C, 0x2A, 0x27, 0x29, 0x29, 0x29, 0x28, 0x29, 0x2B, 0x2B, 0x2A, | |
0x22, 0x1D, 0x1D, 0x1D, 0x1C, 0x1D, 0x1F, 0x1F, 0x1F, 0x1D, 0x1D, 0x1C, 0x1C, 0x1D, 0x1D, 0x21, | |
0x1A, 0x10, 0x12, 0x10, 0x10, 0x11, 0x10, 0x12, 0x12, 0x14, 0x13, 0x12, 0x10, 0x10, 0x10, 0x0F, | |
0x0B, 0x08, 0x0A, 0x09, 0x06, 0x03, 0x02, 0x02, 0x02, 0x05, 0x0A, 0x10, 0x0F, 0x04, 0xF8, 0xED, | |
0xFF, 0x12, 0x07, 0xFB, 0xF0, 0xEF, 0xF5, 0xFA, 0xFD, 0xFD, 0xFD, 0xFC, 0xF9, 0xF6, 0xF5, 0xF7, | |
0xF4, 0xF0, 0xEF, 0xEF, 0xEF, 0xED, 0xEC, 0xEB, 0xED, 0xED, 0xEF, 0xEE, 0xEF, 0xEF, 0xED, 0xEF, | |
0xE5, 0xDE, 0xE2, 0xE2, 0xE3, 0xE3, 0xE2, 0xE2, 0xE0, 0xE0, 0xE0, 0xE2, 0xE3, 0xE2, 0xE2, 0xE2, | |
0xDD, 0xD5, 0xD4, 0xD4, 0xD6, 0xD7, 0xD6, 0xD6, 0xD6, 0xD8, 0xD5, 0xD3, 0xD3, 0xD7, 0xDA, 0xD0, | |
0xD1, 0xD1, 0xC5, 0xC7, 0xCA, 0xCA, 0xC9, 0xC8, 0xCA, 0xCB, 0xCB, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, | |
0xC2, 0xBF, 0xBF, 0xBF, 0xBD, 0xBC, 0xBD, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xBF, 0xBE, 0xBC, 0xBF, | |
0xB7, 0xAE, 0xB2, 0xB2, 0xB4, 0xB4, 0xB2, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB2, 0xB4, 0xB5, 0xB2, | |
0xAB, 0xA3, 0xA3, 0xA3, 0xA4, 0xA6, 0xAA, 0xAC, 0xA8, 0xA4, 0xA0, 0x9F, 0x9F, 0xA1, 0xAD, 0xC5, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h23[] PROGMEM = { | |
0x00, 0x35, 0x4E, 0x5A, 0x60, 0x5F, 0x60, 0x5F, 0x5C, 0x58, 0x54, 0x53, 0x56, 0x59, 0x5C, 0x5C, | |
0x56, 0x50, 0x4F, 0x4E, 0x4C, 0x4A, 0x4A, 0x4D, 0x4E, 0x4F, 0x4F, 0x4E, 0x50, 0x4E, 0x4D, 0x4D, | |
0x45, 0x3F, 0x41, 0x43, 0x42, 0x43, 0x43, 0x42, 0x43, 0x41, 0x40, 0x40, 0x40, 0x42, 0x43, 0x42, | |
0x3C, 0x36, 0x36, 0x36, 0x34, 0x33, 0x33, 0x35, 0x38, 0x36, 0x35, 0x35, 0x36, 0x3B, 0x37, 0x2C, | |
0x2E, 0x31, 0x27, 0x25, 0x2A, 0x2C, 0x2D, 0x2A, 0x27, 0x28, 0x29, 0x29, 0x29, 0x28, 0x2A, 0x2B, | |
0x25, 0x1F, 0x1D, 0x1C, 0x1D, 0x1C, 0x1D, 0x1D, 0x1D, 0x1F, 0x1F, 0x1F, 0x20, 0x1C, 0x1C, 0x1D, | |
0x16, 0x0F, 0x11, 0x12, 0x12, 0x15, 0x14, 0x12, 0x11, 0x10, 0x10, 0x10, 0x0F, 0x11, 0x13, 0x14, | |
0x10, 0x08, 0x05, 0x04, 0x02, 0x02, 0x02, 0x02, 0x06, 0x0A, 0x0F, 0x11, 0x0A, 0x00, 0xF4, 0xED, | |
0xFF, 0x12, 0x0B, 0xFF, 0xF5, 0xEE, 0xF0, 0xF5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFB, 0xFA, 0xF7, | |
0xEF, 0xEB, 0xEC, 0xEE, 0xF0, 0xEF, 0xEF, 0xEF, 0xEE, 0xED, 0xEB, 0xEA, 0xED, 0xED, 0xEE, 0xF0, | |
0xE9, 0xE2, 0xE3, 0xE3, 0xDF, 0xE0, 0xE0, 0xE0, 0xE2, 0xE2, 0xE2, 0xE3, 0xE2, 0xE3, 0xE2, 0xE0, | |
0xDA, 0xD4, 0xD5, 0xD7, 0xD6, 0xD6, 0xD6, 0xD7, 0xD8, 0xD5, 0xD2, 0xD3, 0xD5, 0xDA, 0xD8, 0xCE, | |
0xD1, 0xD3, 0xC8, 0xC4, 0xC9, 0xCA, 0xCA, 0xC9, 0xC7, 0xCA, 0xCC, 0xCC, 0xCB, 0xC9, 0xC9, 0xC9, | |
0xC3, 0xBD, 0xBC, 0xBD, 0xBF, 0xBF, 0xBF, 0xBE, 0xBC, 0xBD, 0xBC, 0xBC, 0xBD, 0xBC, 0xBE, 0xC0, | |
0xBA, 0xB2, 0xB2, 0xB1, 0xAF, 0xB1, 0xB0, 0xB0, 0xB1, 0xB2, 0xB5, 0xB5, 0xB3, 0xB1, 0xB0, 0xAF, | |
0xA9, 0xA3, 0xA3, 0xA6, 0xA9, 0xAC, 0xAB, 0xA7, 0xA3, 0xA0, 0x9F, 0xA0, 0x9F, 0xA5, 0xB1, 0xCA, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h19[] PROGMEM = { | |
0x00, 0x2F, 0x48, 0x54, 0x5D, 0x60, 0x5F, 0x60, 0x60, 0x5E, 0x5B, 0x57, 0x55, 0x53, 0x55, 0x59, | |
0x54, 0x4F, 0x50, 0x50, 0x50, 0x50, 0x4F, 0x4D, 0x4C, 0x4A, 0x4A, 0x4C, 0x4D, 0x4D, 0x51, 0x4E, | |
0x49, 0x44, 0x41, 0x43, 0x42, 0x3F, 0x3F, 0x3F, 0x3F, 0x42, 0x43, 0x42, 0x43, 0x42, 0x42, 0x44, | |
0x3D, 0x34, 0x33, 0x33, 0x33, 0x35, 0x37, 0x37, 0x36, 0x35, 0x35, 0x36, 0x39, 0x3B, 0x33, 0x29, | |
0x2E, 0x33, 0x2A, 0x24, 0x27, 0x2B, 0x2D, 0x2D, 0x2B, 0x29, 0x27, 0x28, 0x29, 0x29, 0x29, 0x29, | |
0x22, 0x1D, 0x20, 0x20, 0x1F, 0x1F, 0x1D, 0x1C, 0x1D, 0x1C, 0x1C, 0x1D, 0x1C, 0x1C, 0x20, 0x1F, | |
0x1A, 0x14, 0x11, 0x12, 0x10, 0x0F, 0x10, 0x10, 0x0F, 0x10, 0x12, 0x13, 0x15, 0x16, 0x14, 0x13, | |
0x0A, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x07, 0x0C, 0x10, 0x11, 0x0B, 0x03, 0xFB, 0xF0, 0xED, | |
0xFF, 0x12, 0x0F, 0x04, 0xFC, 0xF4, 0xEE, 0xEF, 0xF3, 0xF8, 0xFB, 0xFD, 0xFD, 0xFC, 0xFD, 0xFD, | |
0xF5, 0xEC, 0xEB, 0xE9, 0xEA, 0xEC, 0xED, 0xEF, 0xF0, 0xEF, 0xEF, 0xF0, 0xEF, 0xED, 0xEE, 0xEB, | |
0xE5, 0xE0, 0xDF, 0xE3, 0xE3, 0xE2, 0xE3, 0xE3, 0xE2, 0xE3, 0xE2, 0xE0, 0xE0, 0xDF, 0xDF, 0xE2, | |
0xDD, 0xD6, 0xD6, 0xD6, 0xD6, 0xD7, 0xD8, 0xD6, 0xD4, 0xD2, 0xD2, 0xD4, 0xD8, 0xDB, 0xD5, 0xCC, | |
0xD1, 0xD6, 0xCC, 0xC4, 0xC6, 0xC9, 0xCA, 0xCA, 0xC9, 0xC8, 0xC8, 0xCA, 0xCC, 0xCC, 0xCC, 0xCB, | |
0xC2, 0xBB, 0xBD, 0xBD, 0xBC, 0xBD, 0xBC, 0xBD, 0xC0, 0xC0, 0xC0, 0xC0, 0xBD, 0xBC, 0xBE, 0xBB, | |
0xB6, 0xB1, 0xAE, 0xB2, 0xB2, 0xB3, 0xB5, 0xB5, 0xB3, 0xB2, 0xB0, 0xAF, 0xAF, 0xAF, 0xAF, 0xB0, | |
0xAB, 0xA6, 0xAA, 0xAC, 0xAA, 0xA8, 0xA4, 0xA1, 0x9F, 0x9F, 0xA0, 0x9F, 0xA2, 0xAB, 0xB7, 0xD0, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h16[] PROGMEM = { | |
0x00, 0x29, 0x3F, 0x4E, 0x56, 0x5D, 0x60, 0x60, 0x5F, 0x60, 0x60, 0x5F, 0x5B, 0x5A, 0x56, 0x55, | |
0x4D, 0x47, 0x4B, 0x4C, 0x4E, 0x4F, 0x51, 0x50, 0x4F, 0x50, 0x51, 0x4F, 0x4E, 0x4D, 0x4E, 0x48, | |
0x44, 0x41, 0x3D, 0x41, 0x43, 0x43, 0x42, 0x43, 0x43, 0x43, 0x42, 0x43, 0x43, 0x42, 0x3F, 0x40, | |
0x39, 0x32, 0x34, 0x35, 0x38, 0x37, 0x36, 0x35, 0x36, 0x35, 0x37, 0x39, 0x3B, 0x37, 0x30, 0x28, | |
0x2E, 0x34, 0x2D, 0x27, 0x24, 0x27, 0x2B, 0x2D, 0x2D, 0x2D, 0x2B, 0x29, 0x27, 0x28, 0x28, 0x2A, | |
0x22, 0x1B, 0x1D, 0x1C, 0x1C, 0x1D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1D, 0x1C, 0x1C, 0x1E, 0x19, | |
0x16, 0x12, 0x0D, 0x10, 0x12, 0x13, 0x13, 0x16, 0x16, 0x16, 0x13, 0x12, 0x10, 0x0F, 0x0D, 0x0F, | |
0x09, 0x01, 0x02, 0x03, 0x06, 0x08, 0x0C, 0x0F, 0x11, 0x0F, 0x0A, 0x03, 0xFD, 0xF4, 0xEE, 0xEE, | |
0xFF, 0x11, 0x11, 0x0B, 0x02, 0xFC, 0xF5, 0xF0, 0xEE, 0xF0, 0xF3, 0xF7, 0xF9, 0xFC, 0xFD, 0xFE, | |
0xF6, 0xF0, 0xF2, 0xF0, 0xEF, 0xED, 0xEC, 0xE9, 0xE9, 0xE9, 0xEC, 0xEC, 0xED, 0xEF, 0xF2, 0xED, | |
0xE9, 0xE6, 0xE1, 0xE3, 0xE3, 0xE2, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xE2, 0xE3, 0xE3, 0xE2, 0xE4, | |
0xDD, 0xD5, 0xD7, 0xD7, 0xD8, 0xD6, 0xD4, 0xD2, 0xD2, 0xD2, 0xD4, 0xD8, 0xDB, 0xD8, 0xD2, 0xCB, | |
0xD1, 0xD7, 0xCF, 0xC8, 0xC4, 0xC6, 0xC8, 0xCA, 0xC9, 0xCA, 0xC9, 0xC8, 0xC7, 0xCA, 0xCB, 0xCD, | |
0xC6, 0xBF, 0xC0, 0xBD, 0xBC, 0xBC, 0xBD, 0xBC, 0xBC, 0xBC, 0xBD, 0xBC, 0xBC, 0xBE, 0xC2, 0xBE, | |
0xBB, 0xB7, 0xB1, 0xB2, 0xB1, 0xB0, 0xAE, 0xAF, 0xB0, 0xAF, 0xAE, 0xB0, 0xB1, 0xB3, 0xB4, 0xB8, | |
0xB2, 0xAA, 0xA9, 0xA5, 0xA4, 0xA0, 0x9F, 0x9F, 0xA0, 0x9F, 0x9F, 0xA2, 0xA9, 0xB1, 0xC0, 0xD6, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h14[] PROGMEM = { | |
0x00, 0x25, 0x3A, 0x4A, 0x53, 0x59, 0x5E, 0x60, 0x60, 0x5F, 0x60, 0x60, 0x60, 0x5E, 0x5B, 0x5A, | |
0x51, 0x47, 0x47, 0x47, 0x49, 0x4B, 0x4C, 0x4E, 0x4F, 0x51, 0x50, 0x4F, 0x4F, 0x51, 0x52, 0x4C, | |
0x49, 0x45, 0x3E, 0x3D, 0x3F, 0x3F, 0x3E, 0x3F, 0x41, 0x43, 0x44, 0x43, 0x43, 0x43, 0x43, 0x44, | |
0x3D, 0x37, 0x38, 0x37, 0x34, 0x33, 0x31, 0x32, 0x32, 0x34, 0x36, 0x3A, 0x3B, 0x36, 0x31, 0x2B, | |
0x32, 0x38, 0x32, 0x2B, 0x25, 0x24, 0x26, 0x28, 0x29, 0x29, 0x29, 0x29, 0x28, 0x27, 0x27, 0x2B, | |
0x26, 0x20, 0x21, 0x21, 0x20, 0x1F, 0x1D, 0x1C, 0x1B, 0x1D, 0x1C, 0x1B, 0x1B, 0x1D, 0x1E, 0x18, | |
0x17, 0x15, 0x11, 0x14, 0x17, 0x17, 0x15, 0x12, 0x12, 0x10, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, | |
0x08, 0x02, 0x05, 0x07, 0x0A, 0x0D, 0x10, 0x11, 0x0F, 0x0A, 0x04, 0xFF, 0xF8, 0xF1, 0xED, 0xEF, | |
0xFF, 0x10, 0x12, 0x0E, 0x07, 0x00, 0xFB, 0xF5, 0xF0, 0xEE, 0xEF, 0xF2, 0xF5, 0xF8, 0xFA, 0xFD, | |
0xF7, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF0, 0xEF, 0xED, 0xED, 0xEA, 0xE8, 0xE8, 0xEB, 0xEE, 0xEA, | |
0xE8, 0xE7, 0xE1, 0xE2, 0xE4, 0xE4, 0xE3, 0xE2, 0xE4, 0xE3, 0xE2, 0xE0, 0xDF, 0xDE, 0xDE, 0xDF, | |
0xD9, 0xD4, 0xD8, 0xD8, 0xD7, 0xD6, 0xD6, 0xD6, 0xD6, 0xD7, 0xD9, 0xDB, 0xDA, 0xD4, 0xCD, 0xC7, | |
0xCD, 0xD4, 0xCE, 0xC9, 0xC4, 0xC5, 0xC9, 0xCB, 0xCD, 0xCD, 0xCE, 0xCC, 0xCB, 0xC8, 0xC7, 0xC8, | |
0xC2, 0xBB, 0xBC, 0xBC, 0xBC, 0xBC, 0xBB, 0xBC, 0xBE, 0xC0, 0xC1, 0xC0, 0xC0, 0xC2, 0xC1, 0xBA, | |
0xB6, 0xB3, 0xAD, 0xAE, 0xB0, 0xB0, 0xAF, 0xAE, 0xB0, 0xB1, 0xB3, 0xB4, 0xB6, 0xB8, 0xB8, 0xB8, | |
0xAE, 0xA5, 0xA4, 0xA1, 0x9F, 0x9F, 0x9F, 0xA0, 0x9F, 0x9F, 0xA1, 0xA6, 0xAC, 0xB5, 0xC5, 0xDA, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h11[] PROGMEM = { | |
0x00, 0x20, 0x35, 0x44, 0x4E, 0x54, 0x5A, 0x5E, 0x60, 0x60, 0x5F, 0x5F, 0x60, 0x60, 0x60, 0x5E, | |
0x56, 0x4D, 0x4C, 0x4B, 0x48, 0x47, 0x47, 0x48, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x52, 0x51, 0x4C, | |
0x4A, 0x48, 0x43, 0x42, 0x44, 0x44, 0x43, 0x41, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x40, 0x43, | |
0x3E, 0x37, 0x37, 0x37, 0x36, 0x37, 0x36, 0x36, 0x37, 0x39, 0x3B, 0x3B, 0x36, 0x31, 0x2B, 0x27, | |
0x2D, 0x33, 0x30, 0x2B, 0x27, 0x24, 0x25, 0x29, 0x2B, 0x2E, 0x2E, 0x2E, 0x2E, 0x2C, 0x2B, 0x29, | |
0x21, 0x1A, 0x1B, 0x1D, 0x1B, 0x1C, 0x1B, 0x1C, 0x1D, 0x1C, 0x1B, 0x1C, 0x1E, 0x22, 0x22, 0x1E, | |
0x1C, 0x1A, 0x14, 0x11, 0x12, 0x11, 0x10, 0x0E, 0x0D, 0x0E, 0x0F, 0x0E, 0x0E, 0x0D, 0x0E, 0x10, | |
0x0B, 0x07, 0x09, 0x0D, 0x0F, 0x11, 0x11, 0x0E, 0x0A, 0x04, 0x00, 0xFB, 0xF4, 0xEF, 0xED, 0xF1, | |
0xFF, 0x0E, 0x12, 0x10, 0x0B, 0x04, 0xFF, 0xFB, 0xF5, 0xF1, 0xEE, 0xEE, 0xF0, 0xF2, 0xF6, 0xF8, | |
0xF4, 0xEF, 0xF1, 0xF2, 0xF1, 0xF1, 0xF0, 0xF1, 0xF2, 0xF1, 0xEF, 0xEE, 0xED, 0xEE, 0xEB, 0xE5, | |
0xE3, 0xE1, 0xDD, 0xDD, 0xE1, 0xE3, 0xE4, 0xE3, 0xE2, 0xE3, 0xE4, 0xE3, 0xE4, 0xE2, 0xE4, 0xE5, | |
0xDE, 0xD6, 0xD4, 0xD3, 0xD1, 0xD1, 0xD1, 0xD1, 0xD4, 0xD6, 0xDA, 0xDB, 0xD8, 0xD4, 0xCF, 0xCC, | |
0xD2, 0xD8, 0xD4, 0xCE, 0xC9, 0xC4, 0xC4, 0xC6, 0xC8, 0xC9, 0xC9, 0xC8, 0xC9, 0xC8, 0xC8, 0xC8, | |
0xC1, 0xBC, 0xBF, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xBE, 0xBC, 0xBB, 0xBB, 0xBD, 0xBC, 0xB7, | |
0xB5, 0xB3, 0xAE, 0xAD, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB7, 0xB8, 0xB8, 0xB7, 0xB4, 0xB3, 0xB2, | |
0xA9, 0xA1, 0x9F, 0x9F, 0x9F, 0xA0, 0xA0, 0x9F, 0x9F, 0xA1, 0xA5, 0xAB, 0xB1, 0xBB, 0xCA, 0xDF, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h9[] PROGMEM = { | |
0x00, 0x1C, 0x2F, 0x3D, 0x48, 0x4F, 0x54, 0x59, 0x5E, 0x5F, 0x60, 0x60, 0x5F, 0x5E, 0x60, 0x60, | |
0x5A, 0x53, 0x51, 0x51, 0x4F, 0x4D, 0x4C, 0x4A, 0x47, 0x46, 0x46, 0x47, 0x4A, 0x4D, 0x4B, 0x48, | |
0x49, 0x48, 0x45, 0x41, 0x42, 0x44, 0x45, 0x45, 0x44, 0x43, 0x43, 0x45, 0x45, 0x44, 0x43, 0x40, | |
0x38, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x35, 0x37, 0x3A, 0x3B, 0x39, 0x36, 0x32, 0x2D, 0x2D, | |
0x33, 0x38, 0x37, 0x31, 0x2C, 0x28, 0x24, 0x24, 0x25, 0x27, 0x28, 0x29, 0x28, 0x27, 0x29, 0x29, | |
0x22, 0x1B, 0x1A, 0x1B, 0x1C, 0x1E, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23, 0x22, 0x1E, 0x18, | |
0x16, 0x14, 0x0F, 0x0B, 0x0C, 0x0F, 0x0F, 0x0F, 0x0E, 0x0D, 0x0D, 0x0F, 0x10, 0x11, 0x14, 0x15, | |
0x11, 0x0E, 0x0F, 0x12, 0x11, 0x0E, 0x0B, 0x07, 0x03, 0xFF, 0xFB, 0xF5, 0xF0, 0xEE, 0xED, 0xF2, | |
0xFF, 0x0D, 0x12, 0x11, 0x0F, 0x0A, 0x04, 0x00, 0xFC, 0xF8, 0xF4, 0xF1, 0xEE, 0xED, 0xF0, 0xF1, | |
0xEE, 0xEA, 0xEB, 0xEE, 0xEF, 0xF0, 0xF2, 0xF2, 0xF1, 0xF0, 0xF0, 0xF0, 0xF3, 0xF4, 0xF0, 0xEB, | |
0xE9, 0xE7, 0xE1, 0xDD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDE, 0xE1, 0xE3, 0xE4, 0xE5, 0xE4, | |
0xDD, 0xD6, 0xD6, 0xD8, 0xD7, 0xD6, 0xD7, 0xD8, 0xDA, 0xDB, 0xDB, 0xD7, 0xD3, 0xCE, 0xC8, 0xC7, | |
0xCC, 0xD2, 0xD2, 0xCD, 0xC9, 0xC6, 0xC4, 0xC5, 0xC8, 0xCA, 0xCD, 0xCE, 0xCE, 0xCE, 0xCF, 0xCE, | |
0xC7, 0xBF, 0xBC, 0xBB, 0xBA, 0xBA, 0xBC, 0xBC, 0xBB, 0xBA, 0xBA, 0xBB, 0xBD, 0xBE, 0xBA, 0xB7, | |
0xB6, 0xB7, 0xB4, 0xB2, 0xB5, 0xB8, 0xB9, 0xB9, 0xB8, 0xB5, 0xB3, 0xB2, 0xB0, 0xAE, 0xAE, 0xAC, | |
0xA5, 0x9F, 0x9F, 0xA1, 0xA0, 0x9F, 0x9F, 0xA0, 0xA1, 0xA6, 0xAB, 0xB0, 0xB7, 0xC2, 0xD0, 0xE3, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h7[] PROGMEM = { | |
0x00, 0x16, 0x29, 0x35, 0x3F, 0x48, 0x4E, 0x53, 0x56, 0x5A, 0x5E, 0x5F, 0x60, 0x61, 0x61, 0x5E, | |
0x59, 0x54, 0x53, 0x54, 0x55, 0x54, 0x52, 0x51, 0x50, 0x4E, 0x4D, 0x4D, 0x4D, 0x4A, 0x45, 0x41, | |
0x40, 0x40, 0x3E, 0x3B, 0x3B, 0x3E, 0x41, 0x43, 0x44, 0x45, 0x45, 0x44, 0x42, 0x43, 0x44, 0x43, | |
0x3E, 0x39, 0x36, 0x37, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3A, 0x36, 0x32, 0x2E, 0x2A, 0x26, 0x27, | |
0x2C, 0x31, 0x32, 0x2F, 0x2B, 0x29, 0x26, 0x24, 0x23, 0x25, 0x28, 0x2B, 0x2C, 0x2E, 0x30, 0x2E, | |
0x29, 0x24, 0x22, 0x22, 0x22, 0x20, 0x1D, 0x1B, 0x1A, 0x19, 0x1A, 0x1B, 0x1D, 0x1B, 0x17, 0x15, | |
0x14, 0x14, 0x11, 0x0D, 0x0B, 0x0D, 0x0F, 0x10, 0x11, 0x13, 0x14, 0x15, 0x16, 0x19, 0x1D, 0x1C, | |
0x18, 0x12, 0x0E, 0x0C, 0x0A, 0x06, 0x03, 0x00, 0xFD, 0xF8, 0xF3, 0xF0, 0xEE, 0xED, 0xEE, 0xF4, | |
0xFF, 0x0B, 0x11, 0x12, 0x11, 0x0F, 0x0C, 0x07, 0x02, 0xFF, 0xFC, 0xF9, 0xF5, 0xF3, 0xF1, 0xED, | |
0xE7, 0xE3, 0xE2, 0xE6, 0xE9, 0xEA, 0xEB, 0xEC, 0xEE, 0xEF, 0xF0, 0xF2, 0xF4, 0xF2, 0xEE, 0xEB, | |
0xEB, 0xEA, 0xE8, 0xE4, 0xE2, 0xE4, 0xE5, 0xE6, 0xE5, 0xE4, 0xE2, 0xDF, 0xDD, 0xDD, 0xDD, 0xDB, | |
0xD6, 0xD1, 0xCF, 0xD1, 0xD3, 0xD4, 0xD7, 0xDA, 0xDC, 0xDB, 0xD9, 0xD6, 0xD4, 0xD0, 0xCD, 0xCE, | |
0xD3, 0xD8, 0xD9, 0xD5, 0xD1, 0xCD, 0xC9, 0xC5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC8, 0xC9, 0xC6, | |
0xC1, 0xBC, 0xBB, 0xBC, 0xBD, 0xBB, 0xBA, 0xBA, 0xBB, 0xBC, 0xBE, 0xC1, 0xC4, 0xC4, 0xC1, 0xBF, | |
0xBF, 0xBE, 0xBA, 0xB5, 0xB2, 0xB2, 0xB2, 0xB1, 0xAF, 0xAE, 0xAD, 0xAB, 0xAA, 0xAB, 0xAC, 0xAB, | |
0xA6, 0xA1, 0x9E, 0x9E, 0x9F, 0xA0, 0xA1, 0xA5, 0xA9, 0xAC, 0xB1, 0xB7, 0xC0, 0xCA, 0xD6, 0xE9, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h5[] PROGMEM = { | |
0x00, 0x11, 0x20, 0x2C, 0x35, 0x3D, 0x44, 0x4A, 0x4F, 0x52, 0x54, 0x57, 0x5A, 0x5E, 0x5F, 0x5E, | |
0x5B, 0x57, 0x54, 0x52, 0x53, 0x53, 0x53, 0x53, 0x53, 0x55, 0x56, 0x57, 0x55, 0x52, 0x4E, 0x4C, | |
0x4B, 0x4A, 0x47, 0x43, 0x3E, 0x3B, 0x3A, 0x3A, 0x3B, 0x3A, 0x3A, 0x3A, 0x3A, 0x3B, 0x3B, 0x3A, | |
0x37, 0x34, 0x34, 0x36, 0x39, 0x3C, 0x3C, 0x3B, 0x39, 0x38, 0x36, 0x34, 0x31, 0x2E, 0x2E, 0x30, | |
0x34, 0x39, 0x3A, 0x39, 0x36, 0x33, 0x2F, 0x2C, 0x29, 0x26, 0x24, 0x22, 0x23, 0x25, 0x25, 0x24, | |
0x20, 0x1C, 0x1A, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1C, 0x1D, 0x1B, 0x18, 0x16, 0x15, | |
0x16, 0x17, 0x17, 0x16, 0x15, 0x15, 0x17, 0x1A, 0x1C, 0x1E, 0x1E, 0x1E, 0x1E, 0x1D, 0x1B, 0x16, | |
0x0F, 0x09, 0x04, 0x01, 0x00, 0xFE, 0xFB, 0xF7, 0xF3, 0xF1, 0xEF, 0xEE, 0xED, 0xED, 0xF1, 0xF7, | |
0xFF, 0x08, 0x0E, 0x12, 0x12, 0x11, 0x10, 0x0E, 0x0C, 0x08, 0x04, 0x01, 0xFF, 0xFE, 0xFB, 0xF6, | |
0xF0, 0xE9, 0xE4, 0xE2, 0xE1, 0xE1, 0xE1, 0xE1, 0xE3, 0xE5, 0xE8, 0xEA, 0xEA, 0xE9, 0xE8, 0xE8, | |
0xE9, 0xEA, 0xE9, 0xE7, 0xE4, 0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE5, 0xE3, | |
0xDF, 0xDB, 0xDA, 0xDA, 0xDC, 0xDD, 0xDB, 0xD9, 0xD6, 0xD3, 0xD0, 0xCC, 0xC9, 0xC6, 0xC5, 0xC6, | |
0xCB, 0xCF, 0xD1, 0xD1, 0xCE, 0xCB, 0xC9, 0xC7, 0xC6, 0xC4, 0xC3, 0xC3, 0xC6, 0xC9, 0xCB, 0xCB, | |
0xC8, 0xC5, 0xC4, 0xC4, 0xC5, 0xC5, 0xC5, 0xC5, 0xC4, 0xC5, 0xC5, 0xC4, 0xC1, 0xBC, 0xB8, 0xB5, | |
0xB4, 0xB3, 0xB1, 0xAD, 0xAA, 0xA8, 0xA9, 0xAA, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAD, 0xAB, 0xA8, | |
0xA4, 0xA1, 0xA0, 0xA1, 0xA5, 0xA8, 0xAB, 0xAD, 0xB0, 0xB5, 0xBB, 0xC2, 0xCA, 0xD3, 0xDF, 0xEE, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h3[] PROGMEM = { | |
0x00, 0x0B, 0x17, 0x20, 0x29, 0x30, 0x35, 0x3B, 0x3F, 0x44, 0x48, 0x4C, 0x4F, 0x51, 0x52, 0x52, | |
0x51, 0x50, 0x4F, 0x50, 0x51, 0x53, 0x55, 0x56, 0x57, 0x57, 0x55, 0x53, 0x51, 0x4F, 0x4E, 0x4E, | |
0x4D, 0x4D, 0x4D, 0x4C, 0x4A, 0x49, 0x47, 0x46, 0x45, 0x46, 0x47, 0x49, 0x4A, 0x4A, 0x49, 0x46, | |
0x43, 0x3F, 0x3B, 0x37, 0x35, 0x32, 0x30, 0x2E, 0x2C, 0x29, 0x27, 0x24, 0x23, 0x22, 0x23, 0x25, | |
0x28, 0x2B, 0x2E, 0x2F, 0x2F, 0x2E, 0x2C, 0x2B, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x22, 0x20, | |
0x1E, 0x1C, 0x1B, 0x1B, 0x1D, 0x20, 0x23, 0x25, 0x27, 0x28, 0x28, 0x27, 0x26, 0x25, 0x25, 0x25, | |
0x25, 0x25, 0x24, 0x22, 0x1F, 0x1C, 0x19, 0x16, 0x14, 0x12, 0x12, 0x11, 0x10, 0x0E, 0x0B, 0x07, | |
0x03, 0xFE, 0xF9, 0xF5, 0xF3, 0xF1, 0xF0, 0xEF, 0xEE, 0xED, 0xED, 0xED, 0xEE, 0xF1, 0xF4, 0xFA, | |
0xFF, 0x05, 0x0B, 0x0E, 0x11, 0x12, 0x12, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0C, 0x0A, 0x06, 0x01, | |
0xFC, 0xF8, 0xF4, 0xF1, 0xEF, 0xEE, 0xED, 0xED, 0xEB, 0xE9, 0xE6, 0xE3, 0xE0, 0xDD, 0xDB, 0xDA, | |
0xDA, 0xDA, 0xDA, 0xDA, 0xD9, 0xD8, 0xD7, 0xD7, 0xD8, 0xDA, 0xDC, 0xDF, 0xE2, 0xE4, 0xE4, 0xE3, | |
0xE1, 0xDF, 0xDD, 0xDB, 0xDA, 0xD9, 0xD8, 0xD7, 0xD6, 0xD4, 0xD3, 0xD1, 0xD0, 0xD0, 0xD1, 0xD4, | |
0xD7, 0xDA, 0xDC, 0xDD, 0xDC, 0xDB, 0xD8, 0xD6, 0xD3, 0xD1, 0xCF, 0xCD, 0xCA, 0xC8, 0xC4, 0xC0, | |
0xBC, 0xB9, 0xB6, 0xB5, 0xB5, 0xB6, 0xB8, 0xB9, 0xBA, 0xB9, 0xB8, 0xB6, 0xB5, 0xB3, 0xB2, 0xB2, | |
0xB2, 0xB1, 0xB1, 0xB0, 0xAE, 0xAC, 0xAA, 0xA8, 0xA8, 0xA9, 0xAA, 0xAC, 0xAE, 0xAF, 0xB0, 0xAF, | |
0xAE, 0xAD, 0xAD, 0xAE, 0xB0, 0xB3, 0xB7, 0xBB, 0xC0, 0xC4, 0xCA, 0xCF, 0xD6, 0xDF, 0xE8, 0xF4, | |
0xFF, | |
}; | |
const uint8_t g_osc_saw_wave_table_h1[] PROGMEM = { | |
0x00, 0x05, 0x0B, 0x11, 0x17, 0x1C, 0x21, 0x25, 0x2A, 0x2D, 0x31, 0x33, 0x36, 0x38, 0x39, 0x3B, | |
0x3C, 0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, | |
0x49, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x44, 0x42, 0x40, | |
0x3E, 0x3C, 0x3B, 0x39, 0x37, 0x36, 0x35, 0x35, 0x35, 0x35, 0x35, 0x36, 0x37, 0x38, 0x3A, 0x3B, | |
0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3D, 0x3A, 0x38, 0x35, | |
0x32, 0x2E, 0x2B, 0x28, 0x25, 0x22, 0x1F, 0x1C, 0x19, 0x17, 0x15, 0x13, 0x11, 0x10, 0x0E, 0x0D, | |
0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x05, 0x04, 0x02, 0x00, 0xFE, 0xFC, 0xFA, 0xF8, 0xF6, 0xF4, | |
0xF2, 0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEC, 0xED, 0xED, 0xEE, 0xF0, 0xF2, 0xF4, 0xF7, 0xFA, 0xFD, | |
0xFF, 0x02, 0x05, 0x08, 0x0B, 0x0D, 0x0F, 0x11, 0x12, 0x12, 0x13, 0x13, 0x12, 0x11, 0x10, 0x0F, | |
0x0D, 0x0B, 0x09, 0x07, 0x05, 0x03, 0x01, 0xFF, 0xFD, 0xFB, 0xFA, 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, | |
0xF3, 0xF2, 0xF1, 0xEF, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE3, 0xE0, 0xDD, 0xDA, 0xD7, 0xD4, 0xD1, | |
0xCD, 0xCA, 0xC7, 0xC5, 0xC2, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, | |
0xC2, 0xC4, 0xC5, 0xC7, 0xC8, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xC9, 0xC8, 0xC6, 0xC4, 0xC3, | |
0xC1, 0xBF, 0xBD, 0xBB, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB5, | |
0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC2, | |
0xC3, 0xC4, 0xC6, 0xC7, 0xC9, 0xCC, 0xCE, 0xD2, 0xD5, 0xDA, 0xDE, 0xE3, 0xE8, 0xEE, 0xF4, 0xFA, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h127[] PROGMEM = { | |
0x00, 0x4B, 0x39, 0x44, 0x3C, 0x42, 0x3D, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3D, 0x42, 0x3C, 0x44, 0x39, 0x4B, | |
0x00, 0xB4, 0xC6, 0xBB, 0xC3, 0xBD, 0xC2, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC2, 0xBD, 0xC3, 0xBB, 0xC6, 0xB4, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h112[] PROGMEM = { | |
0x00, 0x4A, 0x3B, 0x41, 0x40, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x3F, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x41, 0x3E, 0x41, 0x3E, 0x41, 0x3E, 0x40, 0x41, 0x3B, 0x4A, | |
0x00, 0xB5, 0xC4, 0xBE, 0xBF, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xC0, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBE, 0xC1, 0xBE, 0xC1, 0xBE, 0xC1, 0xBF, 0xBE, 0xC4, 0xB5, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h94[] PROGMEM = { | |
0x00, 0x46, 0x42, 0x3A, 0x44, 0x3E, 0x3E, 0x42, 0x3E, 0x40, 0x40, 0x3E, 0x41, 0x3F, 0x3F, 0x41, | |
0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, | |
0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, | |
0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, | |
0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, | |
0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, | |
0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x3F, | |
0x3F, 0x41, 0x3F, 0x3F, 0x41, 0x3E, 0x40, 0x40, 0x3E, 0x42, 0x3E, 0x3E, 0x44, 0x3A, 0x42, 0x46, | |
0x00, 0xB9, 0xBD, 0xC5, 0xBB, 0xC1, 0xC1, 0xBD, 0xC1, 0xBF, 0xBF, 0xC1, 0xBE, 0xC0, 0xC0, 0xBE, | |
0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, | |
0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, | |
0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, | |
0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, | |
0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xC0, | |
0xC0, 0xBE, 0xC0, 0xC0, 0xBE, 0xC1, 0xBF, 0xBF, 0xC1, 0xBD, 0xC1, 0xC1, 0xBB, 0xC5, 0xBD, 0xB9, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h79[] PROGMEM = { | |
0x00, 0x40, 0x48, 0x3A, 0x3F, 0x43, 0x3D, 0x3E, 0x42, 0x3F, 0x3E, 0x41, 0x40, 0x3E, 0x41, 0x40, | |
0x3E, 0x40, 0x40, 0x3E, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3F, 0x40, 0x3F, 0x3E, 0x40, 0x40, | |
0x3E, 0x40, 0x41, 0x3E, 0x40, 0x41, 0x3E, 0x3F, 0x42, 0x3E, 0x3D, 0x43, 0x3F, 0x3A, 0x48, 0x40, | |
0x00, 0xBF, 0xB7, 0xC5, 0xC0, 0xBC, 0xC2, 0xC1, 0xBD, 0xC0, 0xC1, 0xBE, 0xBF, 0xC1, 0xBE, 0xBF, | |
0xC1, 0xBF, 0xBF, 0xC1, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC0, 0xBF, 0xC0, 0xC1, 0xBF, 0xBF, | |
0xC1, 0xBF, 0xBE, 0xC1, 0xBF, 0xBE, 0xC1, 0xC0, 0xBD, 0xC1, 0xC2, 0xBC, 0xC0, 0xC5, 0xB7, 0xBF, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h67[] PROGMEM = { | |
0x00, 0x3A, 0x4B, 0x3F, 0x3A, 0x41, 0x43, 0x3E, 0x3D, 0x41, 0x41, 0x3E, 0x3F, 0x41, 0x40, 0x3E, | |
0x3F, 0x41, 0x3F, 0x3E, 0x40, 0x41, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, | |
0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, | |
0x40, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, | |
0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, | |
0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x41, 0x40, 0x3E, 0x3F, 0x41, | |
0x3F, 0x3E, 0x40, 0x41, 0x3F, 0x3E, 0x41, 0x41, 0x3D, 0x3E, 0x43, 0x41, 0x3A, 0x3F, 0x4B, 0x3A, | |
0x00, 0xC5, 0xB4, 0xC0, 0xC5, 0xBE, 0xBC, 0xC1, 0xC2, 0xBE, 0xBE, 0xC1, 0xC0, 0xBE, 0xBF, 0xC1, | |
0xC0, 0xBE, 0xC0, 0xC1, 0xBF, 0xBE, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, | |
0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, | |
0xBF, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, | |
0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, | |
0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBE, 0xBF, 0xC1, 0xC0, 0xBE, | |
0xC0, 0xC1, 0xBF, 0xBE, 0xC0, 0xC1, 0xBE, 0xBE, 0xC2, 0xC1, 0xBC, 0xBE, 0xC5, 0xC0, 0xB4, 0xC5, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h56[] PROGMEM = { | |
0x00, 0x32, 0x4A, 0x46, 0x3B, 0x3A, 0x41, 0x44, 0x40, 0x3C, 0x3E, 0x42, 0x41, 0x3E, 0x3D, 0x40, | |
0x41, 0x40, 0x3E, 0x3F, 0x41, 0x41, 0x3F, 0x3E, 0x3F, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x3F, | |
0x3E, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, | |
0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, | |
0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3E, 0x3F, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x3F, 0x3E, 0x3F, 0x41, 0x41, 0x3F, 0x3E, 0x40, | |
0x41, 0x40, 0x3D, 0x3E, 0x41, 0x42, 0x3E, 0x3C, 0x40, 0x44, 0x41, 0x3A, 0x3B, 0x46, 0x4A, 0x32, | |
0x00, 0xCD, 0xB5, 0xB9, 0xC4, 0xC5, 0xBE, 0xBB, 0xBF, 0xC3, 0xC1, 0xBD, 0xBE, 0xC1, 0xC2, 0xBF, | |
0xBE, 0xBF, 0xC1, 0xC0, 0xBE, 0xBE, 0xC0, 0xC1, 0xC0, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, | |
0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, | |
0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xC0, 0xC1, 0xC0, 0xBE, 0xBE, 0xC0, 0xC1, 0xBF, | |
0xBE, 0xBF, 0xC2, 0xC1, 0xBE, 0xBD, 0xC1, 0xC3, 0xBF, 0xBB, 0xBE, 0xC5, 0xC4, 0xB9, 0xB5, 0xCD, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h47[] PROGMEM = { | |
0x00, 0x2C, 0x46, 0x4A, 0x41, 0x3A, 0x3B, 0x41, 0x44, 0x41, 0x3D, 0x3D, 0x3F, 0x42, 0x41, 0x3F, | |
0x3D, 0x3F, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x3F, | |
0x3F, 0x3F, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x3F, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x3F, | |
0x3D, 0x3F, 0x41, 0x42, 0x3F, 0x3D, 0x3D, 0x41, 0x44, 0x41, 0x3B, 0x3A, 0x41, 0x4A, 0x46, 0x2C, | |
0x00, 0xD3, 0xB9, 0xB5, 0xBE, 0xC5, 0xC4, 0xBE, 0xBB, 0xBE, 0xC2, 0xC2, 0xC0, 0xBD, 0xBE, 0xC0, | |
0xC2, 0xC0, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xC0, | |
0xC0, 0xC0, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xC0, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xC0, | |
0xC2, 0xC0, 0xBE, 0xBD, 0xC0, 0xC2, 0xC2, 0xBE, 0xBB, 0xBE, 0xC4, 0xC5, 0xBE, 0xB5, 0xB9, 0xD3, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h39[] PROGMEM = { | |
0x00, 0x25, 0x40, 0x4B, 0x48, 0x3F, 0x3A, 0x3A, 0x3F, 0x43, 0x43, 0x41, 0x3D, 0x3C, 0x3E, 0x41, | |
0x42, 0x41, 0x3F, 0x3D, 0x3E, 0x40, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3F, 0x41, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x40, | |
0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x3F, 0x3E, 0x3F, 0x40, | |
0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x40, 0x3F, | |
0x3E, 0x3F, 0x40, 0x41, 0x41, 0x3F, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x40, 0x3E, 0x3D, 0x3F, 0x41, | |
0x42, 0x41, 0x3E, 0x3C, 0x3D, 0x41, 0x43, 0x43, 0x3F, 0x3A, 0x3A, 0x3F, 0x48, 0x4B, 0x40, 0x25, | |
0x00, 0xDA, 0xBF, 0xB4, 0xB7, 0xC0, 0xC5, 0xC5, 0xC0, 0xBC, 0xBC, 0xBE, 0xC2, 0xC3, 0xC1, 0xBE, | |
0xBD, 0xBE, 0xC0, 0xC2, 0xC1, 0xBF, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC0, 0xBE, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, | |
0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, 0xBF, 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC0, 0xC0, 0xBF, 0xBF, 0xBF, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, | |
0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBF, 0xC0, | |
0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xC0, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBF, 0xC1, 0xC2, 0xC0, 0xBE, | |
0xBD, 0xBE, 0xC1, 0xC3, 0xC2, 0xBE, 0xBC, 0xBC, 0xC0, 0xC5, 0xC5, 0xC0, 0xB7, 0xB4, 0xBF, 0xDA, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h33[] PROGMEM = { | |
0x00, 0x20, 0x3A, 0x48, 0x4B, 0x46, 0x3F, 0x3A, 0x3A, 0x3D, 0x41, 0x44, 0x43, 0x40, 0x3D, 0x3C, | |
0x3D, 0x3F, 0x42, 0x42, 0x41, 0x3F, 0x3E, 0x3D, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3E, | |
0x3F, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, | |
0x40, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3F, 0x3F, 0x40, | |
0x41, 0x40, 0x3F, 0x3F, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, | |
0x3F, 0x3E, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x3F, | |
0x3D, 0x3C, 0x3D, 0x40, 0x43, 0x44, 0x41, 0x3D, 0x3A, 0x3A, 0x3F, 0x46, 0x4B, 0x48, 0x3A, 0x20, | |
0x00, 0xDF, 0xC5, 0xB7, 0xB4, 0xB9, 0xC0, 0xC5, 0xC5, 0xC2, 0xBE, 0xBB, 0xBC, 0xBF, 0xC2, 0xC3, | |
0xC2, 0xC0, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, 0xC2, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC1, | |
0xC0, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, | |
0xBF, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC0, 0xC0, 0xBF, | |
0xBE, 0xBF, 0xC0, 0xC0, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, | |
0xC0, 0xC1, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC2, 0xC1, 0xC0, 0xBE, 0xBD, 0xBD, 0xC0, | |
0xC2, 0xC3, 0xC2, 0xBF, 0xBC, 0xBB, 0xBE, 0xC2, 0xC5, 0xC5, 0xC0, 0xB9, 0xB4, 0xB7, 0xC5, 0xDF, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h28[] PROGMEM = { | |
0x00, 0x1B, 0x32, 0x42, 0x4A, 0x4A, 0x46, 0x40, 0x3B, 0x39, 0x3A, 0x3D, 0x41, 0x43, 0x44, 0x42, | |
0x40, 0x3D, 0x3C, 0x3D, 0x3E, 0x40, 0x42, 0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3D, 0x3E, 0x40, 0x41, | |
0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, | |
0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, | |
0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x40, | |
0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3D, 0x3E, 0x40, 0x41, 0x42, 0x42, 0x40, 0x3E, 0x3D, 0x3C, 0x3D, | |
0x40, 0x42, 0x44, 0x43, 0x41, 0x3D, 0x3A, 0x39, 0x3B, 0x40, 0x46, 0x4A, 0x4A, 0x42, 0x32, 0x1B, | |
0x00, 0xE4, 0xCD, 0xBD, 0xB5, 0xB5, 0xB9, 0xBF, 0xC4, 0xC6, 0xC5, 0xC2, 0xBE, 0xBC, 0xBB, 0xBD, | |
0xBF, 0xC2, 0xC3, 0xC2, 0xC1, 0xBF, 0xBD, 0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC2, 0xC1, 0xBF, 0xBE, | |
0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, | |
0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBF, | |
0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, 0xBD, 0xBF, 0xC1, 0xC2, 0xC3, 0xC2, | |
0xBF, 0xBD, 0xBB, 0xBC, 0xBE, 0xC2, 0xC5, 0xC6, 0xC4, 0xBF, 0xB9, 0xB5, 0xB5, 0xBD, 0xCD, 0xE4, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h23[] PROGMEM = { | |
0x00, 0x17, 0x2C, 0x3C, 0x46, 0x4B, 0x4A, 0x46, 0x41, 0x3C, 0x3A, 0x39, 0x3B, 0x3E, 0x41, 0x43, | |
0x44, 0x43, 0x41, 0x3F, 0x3D, 0x3C, 0x3C, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, | |
0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x41, 0x41, 0x40, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x3F, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3F, 0x3E, | |
0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x41, 0x40, 0x3F, 0x3F, 0x3E, 0x3E, 0x3E, 0x3F, 0x40, 0x41, | |
0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x42, 0x41, 0x40, 0x3F, 0x3E, | |
0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x41, 0x3F, 0x3E, 0x3C, 0x3C, 0x3D, 0x3F, 0x41, 0x43, | |
0x44, 0x43, 0x41, 0x3E, 0x3B, 0x39, 0x3A, 0x3C, 0x41, 0x46, 0x4A, 0x4B, 0x46, 0x3C, 0x2C, 0x17, | |
0x00, 0xE8, 0xD3, 0xC3, 0xB9, 0xB4, 0xB5, 0xB9, 0xBE, 0xC3, 0xC5, 0xC6, 0xC4, 0xC1, 0xBE, 0xBC, | |
0xBB, 0xBC, 0xBE, 0xC0, 0xC2, 0xC3, 0xC3, 0xC1, 0xC0, 0xBE, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBE, 0xBE, 0xBF, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBE, 0xBF, 0xC0, 0xC0, 0xC1, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC1, 0xC1, 0xBF, 0xBE, 0xBE, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, | |
0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, 0xC3, 0xC3, 0xC2, 0xC0, 0xBE, 0xBC, | |
0xBB, 0xBC, 0xBE, 0xC1, 0xC4, 0xC6, 0xC5, 0xC3, 0xBE, 0xB9, 0xB5, 0xB4, 0xB9, 0xC3, 0xD3, 0xE8, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h19[] PROGMEM = { | |
0x00, 0x13, 0x25, 0x35, 0x40, 0x48, 0x4B, 0x4A, 0x48, 0x44, 0x3F, 0x3C, 0x3A, 0x39, 0x3A, 0x3C, | |
0x3F, 0x41, 0x43, 0x44, 0x44, 0x42, 0x41, 0x3F, 0x3D, 0x3C, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x42, | |
0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x41, 0x41, | |
0x40, 0x3F, 0x3E, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x41, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3E, | |
0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x41, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3D, 0x3E, 0x3F, | |
0x40, 0x41, 0x41, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, | |
0x42, 0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3C, 0x3C, 0x3D, 0x3F, 0x41, 0x42, 0x44, 0x44, 0x43, 0x41, | |
0x3F, 0x3C, 0x3A, 0x39, 0x3A, 0x3C, 0x3F, 0x44, 0x48, 0x4A, 0x4B, 0x48, 0x40, 0x35, 0x25, 0x13, | |
0x00, 0xEC, 0xDA, 0xCA, 0xBF, 0xB7, 0xB4, 0xB5, 0xB7, 0xBB, 0xC0, 0xC3, 0xC5, 0xC6, 0xC5, 0xC3, | |
0xC0, 0xBE, 0xBC, 0xBB, 0xBB, 0xBD, 0xBE, 0xC0, 0xC2, 0xC3, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, | |
0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBE, 0xBE, | |
0xBF, 0xC0, 0xC1, 0xC2, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBE, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, | |
0xC2, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC1, 0xC0, | |
0xBF, 0xBE, 0xBE, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, | |
0xBD, 0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, 0xC3, 0xC2, 0xC0, 0xBE, 0xBD, 0xBB, 0xBB, 0xBC, 0xBE, | |
0xC0, 0xC3, 0xC5, 0xC6, 0xC5, 0xC3, 0xC0, 0xBB, 0xB7, 0xB5, 0xB4, 0xB7, 0xBF, 0xCA, 0xDA, 0xEC, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h16[] PROGMEM = { | |
0x00, 0x0F, 0x1E, 0x2C, 0x37, 0x40, 0x46, 0x4A, 0x4B, 0x4A, 0x48, 0x45, 0x41, 0x3E, 0x3B, 0x3A, | |
0x39, 0x3A, 0x3B, 0x3D, 0x3F, 0x41, 0x43, 0x44, 0x44, 0x44, 0x43, 0x41, 0x40, 0x3E, 0x3D, 0x3C, | |
0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x42, 0x43, 0x42, 0x42, 0x41, 0x40, 0x3E, 0x3E, 0x3D, | |
0x3D, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x42, 0x41, 0x40, 0x40, 0x3F, 0x3E, 0x3D, | |
0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x40, 0x41, 0x42, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3E, 0x3D, | |
0x3D, 0x3D, 0x3E, 0x3E, 0x40, 0x41, 0x42, 0x42, 0x43, 0x42, 0x42, 0x41, 0x3F, 0x3E, 0x3D, 0x3C, | |
0x3C, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x43, 0x44, 0x44, 0x44, 0x43, 0x41, 0x3F, 0x3D, 0x3B, 0x3A, | |
0x39, 0x3A, 0x3B, 0x3E, 0x41, 0x45, 0x48, 0x4A, 0x4B, 0x4A, 0x46, 0x40, 0x37, 0x2C, 0x1E, 0x0F, | |
0x00, 0xF0, 0xE1, 0xD3, 0xC8, 0xBF, 0xB9, 0xB5, 0xB4, 0xB5, 0xB7, 0xBA, 0xBE, 0xC1, 0xC4, 0xC5, | |
0xC6, 0xC5, 0xC4, 0xC2, 0xC0, 0xBE, 0xBC, 0xBB, 0xBB, 0xBB, 0xBC, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, | |
0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBE, 0xBD, 0xBD, 0xBC, 0xBD, 0xBD, 0xBE, 0xBF, 0xC1, 0xC1, 0xC2, | |
0xC2, 0xC2, 0xC1, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xBF, 0xC0, 0xC1, 0xC2, | |
0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBF, 0xBE, 0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, | |
0xC2, 0xC2, 0xC1, 0xC1, 0xBF, 0xBE, 0xBD, 0xBD, 0xBC, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, 0xC2, 0xC3, | |
0xC3, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBC, 0xBB, 0xBB, 0xBB, 0xBC, 0xBE, 0xC0, 0xC2, 0xC4, 0xC5, | |
0xC6, 0xC5, 0xC4, 0xC1, 0xBE, 0xBA, 0xB7, 0xB5, 0xB4, 0xB5, 0xB9, 0xBF, 0xC8, 0xD3, 0xE1, 0xF0, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h14[] PROGMEM = { | |
0x00, 0x0D, 0x1B, 0x27, 0x32, 0x3B, 0x42, 0x47, 0x4A, 0x4B, 0x4B, 0x49, 0x46, 0x43, 0x40, 0x3D, | |
0x3B, 0x3A, 0x39, 0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x41, 0x42, 0x44, 0x44, 0x44, 0x43, 0x42, 0x41, | |
0x40, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x42, | |
0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, | |
0x42, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, | |
0x42, 0x42, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, | |
0x40, 0x41, 0x42, 0x43, 0x44, 0x44, 0x44, 0x42, 0x41, 0x3F, 0x3D, 0x3C, 0x3A, 0x39, 0x39, 0x3A, | |
0x3B, 0x3D, 0x40, 0x43, 0x46, 0x49, 0x4B, 0x4B, 0x4A, 0x47, 0x42, 0x3B, 0x32, 0x27, 0x1B, 0x0D, | |
0x00, 0xF2, 0xE4, 0xD8, 0xCD, 0xC4, 0xBD, 0xB8, 0xB5, 0xB4, 0xB4, 0xB6, 0xB9, 0xBC, 0xBF, 0xC2, | |
0xC4, 0xC5, 0xC6, 0xC6, 0xC5, 0xC3, 0xC2, 0xC0, 0xBE, 0xBD, 0xBB, 0xBB, 0xBB, 0xBC, 0xBD, 0xBE, | |
0xBF, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBD, | |
0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, | |
0xBD, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, | |
0xBD, 0xBD, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, | |
0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBB, 0xBB, 0xBD, 0xBE, 0xC0, 0xC2, 0xC3, 0xC5, 0xC6, 0xC6, 0xC5, | |
0xC4, 0xC2, 0xBF, 0xBC, 0xB9, 0xB6, 0xB4, 0xB4, 0xB5, 0xB8, 0xBD, 0xC4, 0xCD, 0xD8, 0xE4, 0xF2, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h11[] PROGMEM = { | |
0x00, 0x0B, 0x17, 0x22, 0x2C, 0x35, 0x3C, 0x42, 0x46, 0x49, 0x4B, 0x4B, 0x4A, 0x48, 0x46, 0x44, | |
0x41, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x41, 0x42, 0x43, 0x44, | |
0x44, 0x44, 0x43, 0x43, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, | |
0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3D, 0x3C, | |
0x3C, 0x3C, 0x3D, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x42, 0x41, 0x40, | |
0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x43, 0x43, 0x44, | |
0x44, 0x44, 0x43, 0x42, 0x41, 0x3F, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, | |
0x41, 0x44, 0x46, 0x48, 0x4A, 0x4B, 0x4B, 0x49, 0x46, 0x42, 0x3C, 0x35, 0x2C, 0x22, 0x17, 0x0B, | |
0x00, 0xF4, 0xE8, 0xDD, 0xD3, 0xCA, 0xC3, 0xBD, 0xB9, 0xB6, 0xB4, 0xB4, 0xB5, 0xB7, 0xB9, 0xBB, | |
0xBE, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, 0xC0, 0xBE, 0xBD, 0xBC, 0xBB, | |
0xBB, 0xBB, 0xBC, 0xBC, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, | |
0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC2, 0xC3, | |
0xC3, 0xC3, 0xC2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, | |
0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBC, 0xBC, 0xBB, | |
0xBB, 0xBB, 0xBC, 0xBD, 0xBE, 0xC0, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, | |
0xBE, 0xBB, 0xB9, 0xB7, 0xB5, 0xB4, 0xB4, 0xB6, 0xB9, 0xBD, 0xC3, 0xCA, 0xD3, 0xDD, 0xE8, 0xF4, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h9[] PROGMEM = { | |
0x00, 0x09, 0x13, 0x1D, 0x25, 0x2E, 0x35, 0x3B, 0x40, 0x45, 0x48, 0x4A, 0x4B, 0x4B, 0x4B, 0x49, | |
0x48, 0x46, 0x44, 0x41, 0x3F, 0x3D, 0x3C, 0x3A, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, | |
0x3F, 0x40, 0x42, 0x43, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x43, 0x42, 0x41, 0x3F, 0x3E, 0x3D, | |
0x3D, 0x3C, 0x3B, 0x3B, 0x3B, 0x3C, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x43, 0x43, | |
0x44, 0x43, 0x43, 0x42, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3C, 0x3B, 0x3B, 0x3B, 0x3C, | |
0x3D, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x43, 0x43, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x42, 0x40, | |
0x3F, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x41, 0x44, 0x46, | |
0x48, 0x49, 0x4B, 0x4B, 0x4B, 0x4A, 0x48, 0x45, 0x40, 0x3B, 0x35, 0x2E, 0x25, 0x1D, 0x13, 0x09, | |
0x00, 0xF6, 0xEC, 0xE2, 0xDA, 0xD1, 0xCA, 0xC4, 0xBF, 0xBA, 0xB7, 0xB5, 0xB4, 0xB4, 0xB4, 0xB6, | |
0xB7, 0xB9, 0xBB, 0xBE, 0xC0, 0xC2, 0xC3, 0xC5, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, | |
0xC0, 0xBF, 0xBD, 0xBC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xBC, 0xBD, 0xBE, 0xC0, 0xC1, 0xC2, | |
0xC2, 0xC3, 0xC4, 0xC4, 0xC4, 0xC3, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBD, 0xBC, 0xBC, | |
0xBB, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC3, 0xC4, 0xC4, 0xC4, 0xC3, | |
0xC2, 0xC2, 0xC1, 0xC0, 0xBE, 0xBD, 0xBC, 0xBC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xBD, 0xBF, | |
0xC0, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5, 0xC3, 0xC2, 0xC0, 0xBE, 0xBB, 0xB9, | |
0xB7, 0xB6, 0xB4, 0xB4, 0xB4, 0xB5, 0xB7, 0xBA, 0xBF, 0xC4, 0xCA, 0xD1, 0xDA, 0xE2, 0xEC, 0xF6, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h7[] PROGMEM = { | |
0x00, 0x07, 0x0F, 0x17, 0x1E, 0x25, 0x2C, 0x32, 0x37, 0x3C, 0x40, 0x44, 0x47, 0x49, 0x4A, 0x4B, | |
0x4B, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x45, 0x43, 0x41, 0x3F, 0x3E, 0x3C, 0x3B, 0x3A, 0x39, 0x39, | |
0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x44, 0x45, | |
0x45, 0x45, 0x44, 0x44, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3B, 0x3B, | |
0x3A, 0x3B, 0x3B, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x43, 0x44, 0x44, 0x45, | |
0x45, 0x45, 0x44, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 0x39, | |
0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x41, 0x43, 0x45, 0x46, 0x48, 0x49, 0x4A, 0x4B, | |
0x4B, 0x4B, 0x4A, 0x49, 0x47, 0x44, 0x40, 0x3C, 0x37, 0x32, 0x2C, 0x25, 0x1E, 0x17, 0x0F, 0x07, | |
0x00, 0xF8, 0xF0, 0xE8, 0xE1, 0xDA, 0xD3, 0xCD, 0xC8, 0xC3, 0xBF, 0xBB, 0xB8, 0xB6, 0xB5, 0xB4, | |
0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBC, 0xBE, 0xC0, 0xC1, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, | |
0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBB, 0xBA, | |
0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC4, | |
0xC5, 0xC4, 0xC4, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBC, 0xBB, 0xBB, 0xBA, | |
0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, | |
0xC6, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC1, 0xC0, 0xBE, 0xBC, 0xBA, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, | |
0xB4, 0xB4, 0xB5, 0xB6, 0xB8, 0xBB, 0xBF, 0xC3, 0xC8, 0xCD, 0xD3, 0xDA, 0xE1, 0xE8, 0xF0, 0xF8, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h5[] PROGMEM = { | |
0x00, 0x05, 0x0B, 0x11, 0x17, 0x1D, 0x22, 0x27, 0x2C, 0x31, 0x35, 0x39, 0x3C, 0x40, 0x42, 0x45, | |
0x47, 0x48, 0x4A, 0x4B, 0x4B, 0x4C, 0x4B, 0x4B, 0x4B, 0x4A, 0x49, 0x48, 0x46, 0x45, 0x44, 0x42, | |
0x41, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x39, | |
0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x44, 0x45, 0x45, 0x46, 0x46, | |
0x46, 0x46, 0x46, 0x45, 0x45, 0x44, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, | |
0x3A, 0x39, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, | |
0x41, 0x42, 0x44, 0x45, 0x46, 0x48, 0x49, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x4B, 0x4B, 0x4A, 0x48, | |
0x47, 0x45, 0x42, 0x40, 0x3C, 0x39, 0x35, 0x31, 0x2C, 0x27, 0x22, 0x1D, 0x17, 0x11, 0x0B, 0x05, | |
0x00, 0xFA, 0xF4, 0xEE, 0xE8, 0xE2, 0xDD, 0xD8, 0xD3, 0xCE, 0xCA, 0xC6, 0xC3, 0xBF, 0xBD, 0xBA, | |
0xB8, 0xB7, 0xB5, 0xB4, 0xB4, 0xB3, 0xB4, 0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBB, 0xBD, | |
0xBE, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC6, 0xC6, | |
0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBB, 0xBA, 0xBA, 0xB9, 0xB9, | |
0xB9, 0xB9, 0xB9, 0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, | |
0xC5, 0xC6, 0xC6, 0xC7, 0xC7, 0xC7, 0xC7, 0xC7, 0xC6, 0xC6, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, | |
0xBE, 0xBD, 0xBB, 0xBA, 0xB9, 0xB7, 0xB6, 0xB5, 0xB4, 0xB4, 0xB4, 0xB3, 0xB4, 0xB4, 0xB5, 0xB7, | |
0xB8, 0xBA, 0xBD, 0xBF, 0xC3, 0xC6, 0xCA, 0xCE, 0xD3, 0xD8, 0xDD, 0xE2, 0xE8, 0xEE, 0xF4, 0xFA, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h3[] PROGMEM = { | |
0x00, 0x03, 0x07, 0x0B, 0x0F, 0x13, 0x17, 0x1B, 0x1E, 0x22, 0x26, 0x29, 0x2C, 0x2F, 0x32, 0x35, | |
0x38, 0x3A, 0x3D, 0x3F, 0x41, 0x43, 0x45, 0x46, 0x47, 0x49, 0x4A, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, | |
0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x49, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x41, | |
0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x3A, 0x39, 0x38, 0x38, 0x37, 0x37, 0x36, 0x36, 0x36, | |
0x36, 0x36, 0x36, 0x36, 0x37, 0x37, 0x38, 0x38, 0x39, 0x3A, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, | |
0x40, 0x41, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x49, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4C, | |
0x4C, 0x4C, 0x4C, 0x4C, 0x4B, 0x4A, 0x4A, 0x49, 0x47, 0x46, 0x45, 0x43, 0x41, 0x3F, 0x3D, 0x3A, | |
0x38, 0x35, 0x32, 0x2F, 0x2C, 0x29, 0x26, 0x22, 0x1E, 0x1B, 0x17, 0x13, 0x0F, 0x0B, 0x07, 0x03, | |
0x00, 0xFC, 0xF8, 0xF4, 0xF0, 0xEC, 0xE8, 0xE4, 0xE1, 0xDD, 0xD9, 0xD6, 0xD3, 0xD0, 0xCD, 0xCA, | |
0xC7, 0xC5, 0xC2, 0xC0, 0xBE, 0xBC, 0xBA, 0xB9, 0xB8, 0xB6, 0xB5, 0xB5, 0xB4, 0xB3, 0xB3, 0xB3, | |
0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBE, | |
0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC5, 0xC6, 0xC7, 0xC7, 0xC8, 0xC8, 0xC9, 0xC9, 0xC9, | |
0xC9, 0xC9, 0xC9, 0xC9, 0xC8, 0xC8, 0xC7, 0xC7, 0xC6, 0xC5, 0xC5, 0xC4, 0xC3, 0xC2, 0xC1, 0xC0, | |
0xBF, 0xBE, 0xBC, 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB6, 0xB5, 0xB4, 0xB4, 0xB3, 0xB3, 0xB3, | |
0xB3, 0xB3, 0xB3, 0xB3, 0xB4, 0xB5, 0xB5, 0xB6, 0xB8, 0xB9, 0xBA, 0xBC, 0xBE, 0xC0, 0xC2, 0xC5, | |
0xC7, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xD9, 0xDD, 0xE1, 0xE4, 0xE8, 0xEC, 0xF0, 0xF4, 0xF8, 0xFC, | |
0xFF, | |
}; | |
const uint8_t g_osc_sq_wave_table_h1[] PROGMEM = { | |
0x00, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, | |
0x1F, 0x21, 0x22, 0x24, 0x26, 0x28, 0x29, 0x2B, 0x2D, 0x2E, 0x30, 0x32, 0x33, 0x35, 0x36, 0x38, | |
0x39, 0x3B, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, | |
0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x4E, 0x4F, 0x4F, 0x4F, 0x50, 0x50, 0x50, 0x51, 0x51, 0x51, 0x51, | |
0x51, 0x51, 0x51, 0x51, 0x51, 0x50, 0x50, 0x50, 0x4F, 0x4F, 0x4F, 0x4E, 0x4D, 0x4D, 0x4C, 0x4C, | |
0x4B, 0x4A, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3E, 0x3D, 0x3C, 0x3B, | |
0x39, 0x38, 0x36, 0x35, 0x33, 0x32, 0x30, 0x2E, 0x2D, 0x2B, 0x29, 0x28, 0x26, 0x24, 0x22, 0x21, | |
0x1F, 0x1D, 0x1B, 0x19, 0x17, 0x15, 0x13, 0x11, 0x0F, 0x0D, 0x0B, 0x09, 0x07, 0x05, 0x03, 0x01, | |
0x00, 0xFE, 0xFC, 0xFA, 0xF8, 0xF6, 0xF4, 0xF2, 0xF0, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE4, 0xE2, | |
0xE0, 0xDE, 0xDD, 0xDB, 0xD9, 0xD7, 0xD6, 0xD4, 0xD2, 0xD1, 0xCF, 0xCD, 0xCC, 0xCA, 0xC9, 0xC7, | |
0xC6, 0xC4, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, | |
0xB4, 0xB3, 0xB3, 0xB2, 0xB2, 0xB1, 0xB0, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAE, 0xAE, 0xAE, 0xAE, | |
0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAF, 0xAF, 0xAF, 0xB0, 0xB0, 0xB0, 0xB1, 0xB2, 0xB2, 0xB3, 0xB3, | |
0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, 0xC4, | |
0xC6, 0xC7, 0xC9, 0xCA, 0xCC, 0xCD, 0xCF, 0xD1, 0xD2, 0xD4, 0xD6, 0xD7, 0xD9, 0xDB, 0xDD, 0xDE, | |
0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, | |
0xFF, | |
}; | |
const uint8_t g_osc_sin_wave_table_h1[] PROGMEM = { | |
0x00, 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x12, 0x15, 0x18, 0x1B, 0x1E, 0x21, 0x24, 0x27, 0x2A, 0x2D, | |
0x30, 0x33, 0x36, 0x39, 0x3B, 0x3E, 0x41, 0x43, 0x46, 0x49, 0x4B, 0x4E, 0x50, 0x52, 0x55, 0x57, | |
0x59, 0x5B, 0x5E, 0x60, 0x62, 0x64, 0x66, 0x67, 0x69, 0x6B, 0x6C, 0x6E, 0x70, 0x71, 0x72, 0x74, | |
0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7B, 0x7C, 0x7D, 0x7D, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, | |
0x7F, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7D, 0x7D, 0x7C, 0x7B, 0x7B, 0x7A, 0x79, 0x78, 0x77, 0x76, | |
0x75, 0x74, 0x72, 0x71, 0x70, 0x6E, 0x6C, 0x6B, 0x69, 0x67, 0x66, 0x64, 0x62, 0x60, 0x5E, 0x5B, | |
0x59, 0x57, 0x55, 0x52, 0x50, 0x4E, 0x4B, 0x49, 0x46, 0x43, 0x41, 0x3E, 0x3B, 0x39, 0x36, 0x33, | |
0x30, 0x2D, 0x2A, 0x27, 0x24, 0x21, 0x1E, 0x1B, 0x18, 0x15, 0x12, 0x0F, 0x0C, 0x09, 0x06, 0x03, | |
0x00, 0xFC, 0xF9, 0xF6, 0xF3, 0xF0, 0xED, 0xEA, 0xE7, 0xE4, 0xE1, 0xDE, 0xDB, 0xD8, 0xD5, 0xD2, | |
0xCF, 0xCC, 0xC9, 0xC6, 0xC4, 0xC1, 0xBE, 0xBC, 0xB9, 0xB6, 0xB4, 0xB1, 0xAF, 0xAD, 0xAA, 0xA8, | |
0xA6, 0xA4, 0xA1, 0x9F, 0x9D, 0x9B, 0x99, 0x98, 0x96, 0x94, 0x93, 0x91, 0x8F, 0x8E, 0x8D, 0x8B, | |
0x8A, 0x89, 0x88, 0x87, 0x86, 0x85, 0x84, 0x84, 0x83, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81, | |
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x83, 0x84, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, | |
0x8A, 0x8B, 0x8D, 0x8E, 0x8F, 0x91, 0x93, 0x94, 0x96, 0x98, 0x99, 0x9B, 0x9D, 0x9F, 0xA1, 0xA4, | |
0xA6, 0xA8, 0xAA, 0xAD, 0xAF, 0xB1, 0xB4, 0xB6, 0xB9, 0xBC, 0xBE, 0xC1, 0xC4, 0xC6, 0xC9, 0xCC, | |
0xCF, 0xD2, 0xD5, 0xD8, 0xDB, 0xDE, 0xE1, 0xE4, 0xE7, 0xEA, 0xED, 0xF0, 0xF3, 0xF6, 0xF9, 0xFC, | |
0xFF, | |
}; | |
const uint8_t* g_osc_saw_wave_tables[] = { | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h127, | |
g_osc_saw_wave_table_h127, g_osc_saw_wave_table_h112, g_osc_saw_wave_table_h112, | |
g_osc_saw_wave_table_h112, g_osc_saw_wave_table_h94 , g_osc_saw_wave_table_h94 , | |
g_osc_saw_wave_table_h94 , g_osc_saw_wave_table_h79 , g_osc_saw_wave_table_h79 , | |
g_osc_saw_wave_table_h79 , g_osc_saw_wave_table_h67 , g_osc_saw_wave_table_h67 , | |
g_osc_saw_wave_table_h67 , g_osc_saw_wave_table_h56 , g_osc_saw_wave_table_h56 , | |
g_osc_saw_wave_table_h56 , g_osc_saw_wave_table_h47 , g_osc_saw_wave_table_h47 , | |
g_osc_saw_wave_table_h47 , g_osc_saw_wave_table_h39 , g_osc_saw_wave_table_h39 , | |
g_osc_saw_wave_table_h39 , g_osc_saw_wave_table_h33 , g_osc_saw_wave_table_h33 , | |
g_osc_saw_wave_table_h33 , g_osc_saw_wave_table_h28 , g_osc_saw_wave_table_h28 , | |
g_osc_saw_wave_table_h28 , g_osc_saw_wave_table_h23 , g_osc_saw_wave_table_h23 , | |
g_osc_saw_wave_table_h23 , g_osc_saw_wave_table_h19 , g_osc_saw_wave_table_h19 , | |
g_osc_saw_wave_table_h19 , g_osc_saw_wave_table_h16 , g_osc_saw_wave_table_h16 , | |
g_osc_saw_wave_table_h16 , g_osc_saw_wave_table_h14 , g_osc_saw_wave_table_h14 , | |
g_osc_saw_wave_table_h14 , g_osc_saw_wave_table_h11 , g_osc_saw_wave_table_h11 , | |
g_osc_saw_wave_table_h11 , g_osc_saw_wave_table_h9 , g_osc_saw_wave_table_h9 , | |
g_osc_saw_wave_table_h9 , g_osc_saw_wave_table_h7 , g_osc_saw_wave_table_h7 , | |
g_osc_saw_wave_table_h7 , g_osc_saw_wave_table_h7 , g_osc_saw_wave_table_h7 , | |
g_osc_saw_wave_table_h7 , g_osc_saw_wave_table_h5 , g_osc_saw_wave_table_h5 , | |
g_osc_saw_wave_table_h5 , g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h3 , | |
g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h3 , | |
g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h3 , | |
g_osc_saw_wave_table_h3 , g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , | |
g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , | |
g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , | |
g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , g_osc_saw_wave_table_h1 , | |
g_osc_saw_wave_table_h1 , }; | |
const uint8_t* g_osc_sq_wave_tables[] = { | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h127, | |
g_osc_sq_wave_table_h127, g_osc_sq_wave_table_h112, g_osc_sq_wave_table_h112, | |
g_osc_sq_wave_table_h112, g_osc_sq_wave_table_h94 , g_osc_sq_wave_table_h94 , | |
g_osc_sq_wave_table_h94 , g_osc_sq_wave_table_h79 , g_osc_sq_wave_table_h79 , | |
g_osc_sq_wave_table_h79 , g_osc_sq_wave_table_h67 , g_osc_sq_wave_table_h67 , | |
g_osc_sq_wave_table_h67 , g_osc_sq_wave_table_h56 , g_osc_sq_wave_table_h56 , | |
g_osc_sq_wave_table_h56 , g_osc_sq_wave_table_h47 , g_osc_sq_wave_table_h47 , | |
g_osc_sq_wave_table_h47 , g_osc_sq_wave_table_h39 , g_osc_sq_wave_table_h39 , | |
g_osc_sq_wave_table_h39 , g_osc_sq_wave_table_h33 , g_osc_sq_wave_table_h33 , | |
g_osc_sq_wave_table_h33 , g_osc_sq_wave_table_h28 , g_osc_sq_wave_table_h28 , | |
g_osc_sq_wave_table_h28 , g_osc_sq_wave_table_h23 , g_osc_sq_wave_table_h23 , | |
g_osc_sq_wave_table_h23 , g_osc_sq_wave_table_h19 , g_osc_sq_wave_table_h19 , | |
g_osc_sq_wave_table_h19 , g_osc_sq_wave_table_h16 , g_osc_sq_wave_table_h16 , | |
g_osc_sq_wave_table_h16 , g_osc_sq_wave_table_h14 , g_osc_sq_wave_table_h14 , | |
g_osc_sq_wave_table_h14 , g_osc_sq_wave_table_h11 , g_osc_sq_wave_table_h11 , | |
g_osc_sq_wave_table_h11 , g_osc_sq_wave_table_h9 , g_osc_sq_wave_table_h9 , | |
g_osc_sq_wave_table_h9 , g_osc_sq_wave_table_h7 , g_osc_sq_wave_table_h7 , | |
g_osc_sq_wave_table_h7 , g_osc_sq_wave_table_h7 , g_osc_sq_wave_table_h7 , | |
g_osc_sq_wave_table_h7 , g_osc_sq_wave_table_h5 , g_osc_sq_wave_table_h5 , | |
g_osc_sq_wave_table_h5 , g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h3 , | |
g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h3 , | |
g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h3 , | |
g_osc_sq_wave_table_h3 , g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , | |
g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , | |
g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , | |
g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , g_osc_sq_wave_table_h1 , | |
g_osc_sq_wave_table_h1 , }; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment