diff --git a/stepper-2/test.c b/stepper-2/test.c deleted file mode 100755 index cb6d5b4..0000000 --- a/stepper-2/test.c +++ /dev/null @@ -1,43 +0,0 @@ -// - -#include -#include - - -// generate with: -// perl -e 'my $n = 16; my @st; for (0..($n - 1)) { push @st, sprintf "%i", sin($_ * 90 * 3.141592653 * 2 / 360 / ($n - 1)) * 255 }; print "#define sinsteps $n\nstatic uint8_t sintable[sinsteps] = { "; print join ", ", @st; print " };\n";'; -// #define sinsteps 16 -// static uint8_t sintable[sinsteps] = { 0, 26, 53, 78, 103, 127, 149, 170, 189, 206, 220, 232, 242, 249, 253, 255 }; - -#define sinsteps 5 -static uint8_t sintable[sinsteps] = { 0, 97, 180, 235, 255 }; - -#define sinstepi (sinsteps - 1) -#define sinstepi2 (sinstepi * 2) -#define sinstepi3 (sinstepi * 3) -#define sinstepi4 (sinstepi * 4) - -int sinstep(uint8_t sequence) { - while (sequence >= sinstepi4) - sequence -= sinstepi4; - if (sequence < (sinstepi + 1)) - return sintable[sequence]; - if ((sequence >= (sinstepi + 1)) && (sequence < (sinstepi2 + 1))) - return sintable[sinstepi2 - sequence]; - if ((sequence >= (sinstepi2 + 1)) && (sequence < (sinstepi3 + 1))) - return -sintable[sequence - sinstepi2]; - if ((sequence >= (sinstepi3 + 1)) && (sequence < (sinstepi4 + 1))) - return -sintable[sinstepi4 - sequence]; -} - - - -int main(int argc, char **argv) -{ - int i; - for (i = 0; i < ((sinstepi * 4) * 3); i++) - { - printf("%2i: %+4i %+4i\n", i, sinstep(i), sinstep(i + sinstepi)); - } - printf("\n"); -} \ No newline at end of file