|
@@ -40,7 +40,8 @@ enum flipvalo_trigger_variants {
|
|
|
FvTrigSony = 0,
|
|
FvTrigSony = 0,
|
|
|
FvTrigCanon = 1,
|
|
FvTrigCanon = 1,
|
|
|
FvTrigNikon = 2,
|
|
FvTrigNikon = 2,
|
|
|
- FvTrigMax = 2,
|
|
|
|
|
|
|
+ FvTrigPentax = 3,
|
|
|
|
|
+ FvTrigMax = 3,
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// run config for intervalometer
|
|
// run config for intervalometer
|
|
@@ -162,7 +163,20 @@ static int nikon_ir_trigger_send(void* ctx) {
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-struct flipvalo_trigger sony_ir_trigger = {.send = sony_ir_trigger_send, .display_name = "Sony IR"};
|
|
|
|
|
|
|
+uint32_t pentax_ir_timings[] = {
|
|
|
|
|
+ 13044, 3057, 965, 1023, 967, 1022, 968, 1023,
|
|
|
|
|
+ 990, 1053, 966, 1023, 967, 1024, 989
|
|
|
|
|
+};
|
|
|
|
|
+static int pentax_ir_trigger_send(void* ctx) {
|
|
|
|
|
+ UNUSED(ctx);
|
|
|
|
|
+ infrared_send_raw_ext(pentax_ir_timings, 15, true, 38000, 0.33);
|
|
|
|
|
+ return 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+struct flipvalo_trigger sony_ir_trigger = {
|
|
|
|
|
+ .send = sony_ir_trigger_send,
|
|
|
|
|
+ .display_name = "Sony IR"
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
struct flipvalo_trigger canon_ir_trigger = {
|
|
struct flipvalo_trigger canon_ir_trigger = {
|
|
|
.send = canon_ir_trigger_send,
|
|
.send = canon_ir_trigger_send,
|
|
@@ -172,20 +186,29 @@ struct flipvalo_trigger nikon_ir_trigger = {
|
|
|
.send = nikon_ir_trigger_send,
|
|
.send = nikon_ir_trigger_send,
|
|
|
.display_name = "Nikon IR"};
|
|
.display_name = "Nikon IR"};
|
|
|
|
|
|
|
|
-static struct flipvalo_trigger* flipvalo_get_trigger(enum flipvalo_trigger_variants variant) {
|
|
|
|
|
- switch(variant) {
|
|
|
|
|
- case FvTrigSony:
|
|
|
|
|
- return &sony_ir_trigger;
|
|
|
|
|
- case FvTrigCanon:
|
|
|
|
|
- return &canon_ir_trigger;
|
|
|
|
|
- case FvTrigNikon:
|
|
|
|
|
- return &nikon_ir_trigger;
|
|
|
|
|
|
|
+struct flipvalo_trigger pentax_ir_trigger = {
|
|
|
|
|
+ .send = pentax_ir_trigger_send,
|
|
|
|
|
+ .display_name = "Pentax IR"
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+static struct flipvalo_trigger* flipvalo_get_trigger(
|
|
|
|
|
+ enum flipvalo_trigger_variants variant
|
|
|
|
|
+) {
|
|
|
|
|
+ switch (variant) {
|
|
|
|
|
+ case FvTrigSony:
|
|
|
|
|
+ return &sony_ir_trigger;
|
|
|
|
|
+ case FvTrigCanon:
|
|
|
|
|
+ return &canon_ir_trigger;
|
|
|
|
|
+ case FvTrigNikon:
|
|
|
|
|
+ return &nikon_ir_trigger;
|
|
|
|
|
+ case FvTrigPentax:
|
|
|
|
|
+ return &pentax_ir_trigger;
|
|
|
}
|
|
}
|
|
|
return NULL;
|
|
return NULL;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-#define ITEM_H 64 / 3
|
|
|
|
|
-#define ITEM_W 128
|
|
|
|
|
|
|
+#define ITEM_H 64 / 3
|
|
|
|
|
+#define ITEM_W 128
|
|
|
#define VALUE_X 100
|
|
#define VALUE_X 100
|
|
|
#define VALUE_W 45
|
|
#define VALUE_W 45
|
|
|
static void flipvalo_config_edit_draw(Canvas* canvas, struct flipvalo_config_edit_view* view) {
|
|
static void flipvalo_config_edit_draw(Canvas* canvas, struct flipvalo_config_edit_view* view) {
|
|
@@ -478,9 +501,9 @@ static void flipvalo_run_state_init(struct flipvalo_run_state* fv_run_state) {
|
|
|
fv_run_state->tick_cur = 0;
|
|
fv_run_state->tick_cur = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-static void input_callback(InputEvent* input_event, void* ctx) {
|
|
|
|
|
- furi_assert(ctx);
|
|
|
|
|
- FuriMessageQueue* event_queue = ctx;
|
|
|
|
|
|
|
+static void input_callback(InputEvent* input_event, void* event_queue_void) {
|
|
|
|
|
+ FuriMessageQueue* event_queue = (FuriMessageQueue*)event_queue_void;
|
|
|
|
|
+ furi_assert(event_queue);
|
|
|
struct plugin_event event = {.type = EventTypeKey, .input = *input_event};
|
|
struct plugin_event event = {.type = EventTypeKey, .input = *input_event};
|
|
|
furi_message_queue_put(event_queue, &event, FuriWaitForever);
|
|
furi_message_queue_put(event_queue, &event, FuriWaitForever);
|
|
|
}
|
|
}
|