Source file: /~heha/basteln/Haus/Lüfter/my_avr449.zip/PMSM_tables.c

#include "PMSM_tables.h"
#include <avr/signature.h>

PROGMEM const uint8_t sineTable[] = {
#if SINE_TABLE_SIZE_SMALL
0,      8,      17,     25,     33,     42,     50,     58,
66,     74,     82,     90,     98,     105,    113,    120,
128,    135,    142,    149,    155,    162,    168,    174,
180,    186,    192,    197,    202,    207,    212,    217,
221,    225,    229,    232,    236,    239,    241,    244,
246,    248,    250,    252,    253,    254,    254,    255,
255,    255,    254,    254,    253,    252,    250,    248,
246,    244,    241,    239,    236,    232,    229,    225
#else
0,       0,      221,
8,       0,      225,
17,      0,      229,
25,      0,      232,
33,      0,      236,
42,      0,      239,
50,      0,      241,
58,      0,      244,
66,      0,      246,
74,      0,      248,
82,      0,      250,
90,      0,      252,
98,      0,      253,
105,     0,      254,
113,     0,      254,
120,     0,      255,
128,     0,      255,
135,     0,      255,
142,     0,      254,
149,     0,      254,
155,     0,      253,
162,     0,      252,
168,     0,      250,
174,     0,      248,
180,     0,      246,
186,     0,      244,
192,     0,      241,
197,     0,      239,
202,     0,      236,
207,     0,      232,
212,     0,      229,
217,     0,      225,
221,     0,      221,
225,     0,      217,
229,     0,      212,
232,     0,      207,
236,     0,      202,
239,     0,      197,
241,     0,      192,
244,     0,      186,
246,     0,      180,
248,     0,      174,
250,     0,      168,
252,     0,      162,
253,     0,      155,
254,     0,      149,
254,     0,      142,
255,     0,      135,
255,     0,      127,
255,     0,      120,
254,     0,      113,
254,     0,      105,
253,     0,      98,
252,     0,      90,
250,     0,      82,
248,     0,      74,
246,     0,      66,
244,     0,      58,
241,     0,      50,
239,     0,      42,
236,     0,      33,
232,     0,      25,
229,     0,      17,
225,     0,      8,
221,     0,      0,
225,     8,      0,
229,     17,     0,
232,     25,     0,
236,     33,     0,
239,     42,     0,
241,     50,     0,
244,     58,     0,
246,     66,     0,
248,     74,     0,
250,     82,     0,
252,     90,     0,
253,     98,     0,
254,     105,    0,
254,     113,    0,
255,     120,    0,
255,     127,    0,
255,     135,    0,
254,     142,    0,
254,     149,    0,
253,     155,    0,
252,     162,    0,
250,     168,    0,
248,     174,    0,
246,     180,    0,
244,     186,    0,
241,     192,    0,
239,     197,    0,
236,     202,    0,
232,     207,    0,
229,     212,    0,
225,     217,    0,
221,     221,    0,
217,     225,    0,
212,     229,    0,
207,     232,    0,
202,     236,    0,
197,     239,    0,
192,     241,    0,
186,     244,    0,
180,     246,    0,
174,     248,    0,
168,     250,    0,
162,     252,    0,
155,     253,    0,
149,     254,    0,
142,     254,    0,
135,     255,    0,
128,     255,    0,
120,     255,    0,
113,     254,    0,
105,     254,    0,
98,      253,    0,
90,      252,    0,
82,      250,    0,
74,      248,    0,
66,      246,    0,
58,      244,    0,
50,      241,    0,
42,      239,    0,
33,      236,    0,
25,      232,    0,
17,      229,    0,
8,       225,    0,
0,       221,    0,
0,       225,    8,
0,       229,    17,
0,       232,    25,
0,       236,    33,
0,       239,    42,
0,       241,    50,
0,       244,    58,
0,       246,    66,
0,       248,    74,
0,       250,    82,
0,       252,    90,
0,       253,    98,
0,       254,    105,
0,       254,    113,
0,       255,    120,
0,       255,    128,
0,       255,    135,
0,       254,    142,
0,       254,    149,
0,       253,    155,
0,       252,    162,
0,       250,    168,
0,       248,    174,
0,       246,    180,
0,       244,    186,
0,       241,    192,
0,       239,    197,
0,       236,    202,
0,       232,    207,
0,       229,    212,
0,       225,    217,
0,       221,    221,
0,       217,    225,
0,       212,    229,
0,       207,    232,
0,       202,    236,
0,       197,    239,
0,       192,    241,
0,       186,    244,
0,       180,    246,
0,       174,    248,
0,       168,    250,
0,       162,    252,
0,       155,    253,
0,       149,    254,
0,       142,    254,
0,       135,    255,
0,       128,    255,
0,       120,    255,
0,       113,    254,
0,       105,    254,
0,       98,     253,
0,       90,     252,
0,       82,     250,
0,       74,     248,
0,       66,     246,
0,       58,     244,
0,       50,     241,
0,       42,     239,
0,       33,     236,
0,       25,     232,
0,       17,     229,
0,       8,      225
#endif
};


uint8_t PROGMEM const blockCommutationTableForward[] = {
 0x00,
 /* 0b001 → */	0b100001,
 /* 0b010 → */	0b000110,
 /* 0b011 → */	0b100100,
 /* 0b100 → */	0b011000,
 /* 0b101 → */	0b001001,
 /* 0b110 → */	0b010010,
 0x00
};


uint8_t PROGMEM const blockCommutationTableReverse[] = {
 0x00,
 /* 0b001 → */	0b010010,
 /* 0b010 → */	0b001001,
 /* 0b011 → */	0b011000,
 /* 0b100 → */	0b100100,
 /* 0b101 → */	0b000110,
 /* 0b110 → */	0b100001,
 0x00
};


PROGMEM const uint8_t HallSequenceForward[] = {
 0xff,
 /* 0b001 → */	0b011,
 /* 0b010 → */	0b110,
 /* 0b011 → */	0b010,
 /* 0b100 → */	0b101,
 /* 0b101 → */	0b001,
 /* 0b110 → */	0b100,
 0xff
};


PROGMEM const uint8_t HallSequenceReverse[] = {
 0xff,
 /* 0b001 → */	0b101,
 /* 0b010 → */	0b011,
 /* 0b011 → */	0b001,
 /* 0b100 → */	0b110,
 /* 0b101 → */	0b100,
 /* 0b110 → */	0b010,
 0xff
};


PROGMEM const uint16_t CSOffsetsForward[8] = {
  0,
  5 * (SINE_TABLE_LENGTH/6),
  1 * (SINE_TABLE_LENGTH/6),
  0 * (SINE_TABLE_LENGTH/6),
  3 * (SINE_TABLE_LENGTH/6),
  4 * (SINE_TABLE_LENGTH/6),
  2 * (SINE_TABLE_LENGTH/6),
  0
};


PROGMEM const uint16_t CSOffsetsReverse[8] = {
  0,
  1 * (SINE_TABLE_LENGTH/6),
  5 * (SINE_TABLE_LENGTH/6),
  0 * (SINE_TABLE_LENGTH/6),
  3 * (SINE_TABLE_LENGTH/6),
  2 * (SINE_TABLE_LENGTH/6),
  4 * (SINE_TABLE_LENGTH/6),
  0
};
Detected encoding: UTF-80