DIGILIGHT
global.h
См. документацию.
1 
10 #ifndef EFFECTS_H_
11 #define EFFECTS_H_
12 #include <stdint.h>
13 
14 #define MAX_GROUP_OF_PIX 128
15 #define MIN_GROUP_OF_PIX 16
16 #define MAX_PIX_IN_GROUP 8
17 #define MIN_PIX_IN_GROUP 1
18 #define MAX_TOTAL_PIX 128
19 #define STEP_GROUP_OF_PIX 8
20 #define STEP_PIX_IN_GROUP 1
21 
23 #define DEF_SILENCE_LVL 11
24 
26 typedef enum harmonic_freq_t{
27  F_DC,
43  // не изменять ниже этого комментария!
46 
48 typedef enum {
49  LF, MF, HF,
50  // не изменять ниже этого комментария!
51  _BAND_CNT
52 } band_t;
53 
55 #define BAND_CNT _BAND_CNT
56 
58 #define BAND_LF _BV(F_250_HZ) | _BV(F_500_HZ)
59 #define BAND_MF _BV(F_750_HZ) | _BV(F_1000_HZ) | _BV(F_1300_HZ) | _BV(F_1500_HZ)
61 #define BAND_HF _BV(F_2800_HZ) | _BV(F_3000_HZ) | _BV(F_3300_HZ) | _BV(F_3500_HZ) | _BV(F_3800_HZ)
63 #define BAND_FULL ~_BV(F_DC)
65 
67 typedef uint8_t volume_t;
69 typedef uint16_t power_t;
70 
72 typedef struct {
75  power_t band[BAND_CNT];
76  uint8_t beat;
77  uint16_t harmonics[F_CNT];
78 } signal_t;
79 
81 #define MAX_LEVEL 80
82 
84 typedef struct {
85  uint8_t clear;
86  uint8_t group_of_pixels;
87  uint8_t pixels_in_group;
88  uint8_t time_to_sleep;
89  uint8_t sensitivity;
90  uint8_t agc_enabled;
91  uint8_t lcd_enabled;
92  uint16_t dc_offset;
93  uint16_t band_mask[BAND_CNT];
94 } config_t;
95 
96 extern config_t cfg;
97 
104 extern uint8_t lock_input;
106 void* get_reserved_memory(uint16_t *size);
107 
108 typedef uint8_t (*effect_func_t)(signal_t *s);
109 typedef void (*effect_ini_t)(void);
110 typedef void (*effect_fini_t)(void);
111 
112 
114 extern signal_t music; // не хорошо это!
115 
116 
117 #if defined(_DEBUG_)
118 #define debug_led_on() PORT(DEBUG_LED_PORT) &= ~_BV(DEBUG_LED_PIN0)
119 #define debug_led_off() PORT(DEBUG_LED_PORT) |= _BV(DEBUG_LED_PIN0)
120 #define debug_led_toggle() PORT(DEBUG_LED_PORT) ^= _BV(DEBUG_LED_PIN0)
121 #else
122 #define debug_led_on()
123 #define debug_led_off()
124 #define debug_led_toggle()
125 #endif
126 
127 #include "configuration.h"
128 
129 #endif /* EFFECTS_H_ */
Гармоника 2500 Гц
Definition: global.h:37
Гармоника 250 Гц
Definition: global.h:28
uint16_t power_t
тип для "мощности" сигналов частотных составляющих
Definition: global.h:69
Гармоника 2750 Гц
Definition: global.h:38
Гармоника 3500 Гц
Definition: global.h:41
signal_t music
Параметры мелодии
Definition: main.c:172
band_t
обозначения выделенных частотных полос сигнала
Definition: global.h:48
volume_t average_vol
средняя громкость
Definition: global.h:74
Гармоника 1250 Гц
Definition: global.h:32
uint8_t lock_input
Definition: main.c:220
Гармоника 3000 Гц
Definition: global.h:39
uint8_t lcd_enabled
ЖКИ присутствует
Definition: global.h:91
структура конфигурации устройства
Definition: global.h:84
Постоянная составляющая (инфранизкие частоты)
Definition: global.h:27
uint8_t sensitivity
уровень регулировки чувствительности
Definition: global.h:89
структура параметров звукового сигнала
Definition: global.h:72
harmonic_freq_t
наименование гармоник (для килогерцев - округление к большему)
Definition: global.h:26
Гармоника 3750 Гц
Definition: global.h:42
Гармоника 1500 Гц
Definition: global.h:33
Гармоника 1750 Гц
Definition: global.h:34
enum harmonic_freq_t harmonc_freq_t
наименование гармоник (для килогерцев - округление к большему)
uint8_t time_to_sleep
время автоотключения
Definition: global.h:88
конфигурация проекта
Гармоника 1000 Гц
Definition: global.h:31
Гармоника 750 Гц
Definition: global.h:30
uint8_t agc_enabled
АРУ включено
Definition: global.h:90
uint8_t pixels_in_group
количество пикселов в группе
Definition: global.h:87
#define BAND_CNT
количество выделенных частотных полос сигнала
Definition: global.h:55
uint8_t volume_t
тип для уровня громкости
Definition: global.h:67
Общее количество гармоник
Definition: global.h:44
Гармоника 2250 Гц
Definition: global.h:36
uint8_t group_of_pixels
количество групп пикселов
Definition: global.h:86
Гармоника 2000 Гц
Definition: global.h:35
volume_t peak_volume
пиковая громкость
Definition: global.h:73
uint8_t beat
детектор ритма
Definition: global.h:76
Гармоника 500 Гц
Definition: global.h:29
void * get_reserved_memory(uint16_t *size)
запрос резервной памяти
Definition: spectrum.c:58
uint8_t clear
признак чистых настроек
Definition: global.h:85
Гармоника 3250 Гц
Definition: global.h:40