-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhumanfx.h
60 lines (52 loc) · 1.84 KB
/
humanfx.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#pragma once
#include <stdint.h>
// Device
void device_open(void);
void device_acquire(void);
void device_release(void);
void device_close(void);
void device_send(const uint8_t data[], uint16_t length);
void device_receive(uint8_t data[], uint16_t length);
// Interface
#define PREAMBLE 0x03
#define ZONE_LEFT 0x00
#define ZONE_MIDDLE_LEFT 0x01
#define ZONE_MIDDLE_RIGHT 0x02
#define ZONE_RIGHT 0x03
#define ZONE_ALL ZONE_LEFT, ZONE_MIDDLE_LEFT, ZONE_MIDDLE_RIGHT, ZONE_RIGHT
#define REQUEST 0x20
#define REQUEST_FIRMWARE_VERSION 0x00
#define REQUEST_STATUS 0x01
#define REQUEST_ELC_CONFIG 0x02
#define REQUEST_ANIMATION_COUNT 0x03
void send_request_firmware_version(void);
void send_request_status(void);
void send_request_elc_config(void);
void send_request_animation_count(void);
#define ANIMATION 0x21
#define ANIMATION_CONFIG_START 0x0001
#define ANIMATION_CONFIG_SAVE 0x0002
#define ANIMATION_CONFIG_PLAY 0x0003
#define ANIMATION_REMOVE 0x0004
#define ANIMATION_PLAY 0x0005
#define ANIMATION_SET_DEFAULT 0x0006
#define ANIMATION_SET_STARTUP 0x0007
void send_animation_config_start(uint16_t animation_id);
void send_animation_config_play(uint16_t animation_id);
void send_animation_config_save(uint16_t animation_id);
void send_animation_remove(uint16_t animation_id);
void send_animation_play(uint16_t animation_id);
void send_animation_set_default(uint16_t animation_id);
void send_animation_set_startup(uint16_t animation_id);
#define ZONE_SELECT 0x23
void send_zone_select(uint8_t loop, uint16_t zone_count, ...);
#define ADD_ACTION 0x24
#define ACTION_COLOR 0x00
#define ACTION_PULSE 0x01
#define ACTION_MORPH 0x02
void send_add_action(uint16_t action, uint16_t duration, uint16_t tempo, uint32_t color);
#define SET_DIM 0x26
#define BRIGHTNESS_OFF 0x64
#define BRIGHTNESS_DIM 0x32
#define BRIGHTNESS_FULL 0x00
void send_set_dim(uint8_t dim, uint16_t zone_count, ...);