Kestrel Interface
Loading...
Searching...
No Matches
kest_profile.h
Go to the documentation of this file.
1#ifndef KEST_PROFILE_H_
2#define KEST_PROFILE_H_
3
4#define PROFILE_NAME_MAX_LEN 128
5
6#define KEST_PROFILE_MUTEX_TIMEOUT_MS 10
7
8
9struct kest_glide_button_pll;
10struct kest_menu_item_pll;
11
12struct kest_sequence;
13
14typedef struct kest_profile
15{
16 char *name;
18 uint16_t id;
19
22
23 #ifdef KEST_ENABLE_SEQUENCES
24 struct kest_sequence *sequence;
25 #endif
26
27 int active;
29
30 #ifdef KEST_ENABLE_REPRESENTATIONS
31 kest_representation_pll *representations;
32 kest_representation file_rep;
33 #endif
34
35 #ifdef KEST_ENABLE_UI
36 struct kest_ui_page *view_page;
37 #endif
38
40
41 #ifdef KEST_USE_FREERTOS
42 SemaphoreHandle_t mutex;
43 #endif
45
47
48int init_m_profile(kest_profile *profile);
49int init_m_pipeline(kest_pipeline *pipeline);
50
51int profile_set_id(kest_profile *profile, uint16_t id);
52
54
56int kest_profile_remove_effect(kest_profile *profile, uint16_t id);
57
58int kest_profile_move_effect(kest_profile *profile, int new_pos, int old_pos);
59
61void gut_profile(kest_profile *profile);
62void free_profile(kest_profile *profile);
63void kest_free_profile(kest_profile *profile);
64
67
68struct kest_menu_item;
69
72
75
78
79#ifdef KEST_ENABLE_GLOBAL_CONTEXT
80kest_profile *create_new_profile();
81#endif
82
84
88
92
93void kest_profile_file_rep_update(void *representer, void *representee);
94
96
97#endif
#define KEST_FILENAME_LEN
Definition kest_int.h:72
#define DECLARE_LINKED_PTR_LIST(X)
int kest_profile_add_id_representation(kest_profile *profile, kest_representation *rep)
int kest_profile_if_active_update_fpga(kest_profile *profile)
int kest_profile_program_fpga(kest_profile *profile)
int kest_profile_remove_effect(kest_profile *profile, uint16_t id)
void kest_profile_file_rep_update(void *representer, void *representee)
kest_effect * kest_profile_get_effect_by_id(kest_profile *profile, int id)
int kest_profile_add_representation(kest_profile *profile, kest_representation *rep)
int init_m_profile(kest_profile *profile)
int clone_profile(kest_profile *dest, kest_profile *src)
int init_m_pipeline(kest_pipeline *pipeline)
int kest_profile_save(kest_profile *profile)
int kest_profile_remove_representation(kest_profile *profile, kest_representation *rep)
void free_profile(kest_profile *profile)
int profile_set_id(kest_profile *profile, uint16_t id)
int kest_profile_remove_name_representation(kest_profile *profile, kest_representation *rep)
int kest_profile_update_name_representations(kest_profile *profile)
int kest_profile_update_representations(kest_profile *profile)
int kest_profile_set_active(kest_profile *profile)
int kest_profile_add_name_representation(kest_profile *profile, kest_representation *rep)
int kest_profile_set_inactive(kest_profile *profile)
void gut_profile(kest_profile *profile)
void kest_free_profile(kest_profile *profile)
kest_effect * kest_profile_append_effect_eff(kest_profile *profile, kest_effect_desc *eff)
int kest_profile_update_id_representations(kest_profile *profile)
int kest_profile_remove_id_representation(kest_profile *profile, kest_representation *rep)
int kest_profile_move_effect(kest_profile *profile, int new_pos, int old_pos)
int kest_profile_create_fpga_transfer_batch(kest_profile *profile, kest_fpga_transfer_batch *batch)
int kest_profile_set_default_name_from_id(kest_profile *profile)
kest_representation rep
Definition kest_menu.h:44
kest_pipeline pipeline
char fname[KEST_FILENAME_LEN]
kest_parameter volume
uint16_t id