Просмотр исходного кода

Merge ir_intervalometer from https://github.com/Nitepone/flipper-intervalometer

# Conflicts:
#	ir_intervalometer/intervalometer.c
Willy-JL 11 месяцев назад
Родитель
Сommit
c33866ce7a
2 измененных файлов с 34 добавлено и 11 удалено
  1. 1 1
      ir_intervalometer/application.fam
  2. 33 10
      ir_intervalometer/intervalometer.c

+ 1 - 1
ir_intervalometer/application.fam

@@ -10,7 +10,7 @@ App(
     fap_icon_assets="icons",
     fap_icon_assets="icons",
     fap_author="@Nitepone",
     fap_author="@Nitepone",
     fap_category="Infrared",
     fap_category="Infrared",
-    fap_description="Intervalometer for Canon, Nikon, and Sony cameras. Uses IR shutter release.",
+    fap_description="Intervalometer for Pentax, Canon, Nikon, and Sony cameras. Uses IR shutter release.",
     fap_version="2.2",
     fap_version="2.2",
     fap_weburl="https://github.com/Nitepone/flipper-intervalometer",
     fap_weburl="https://github.com/Nitepone/flipper-intervalometer",
 )
 )

+ 33 - 10
ir_intervalometer/intervalometer.c

@@ -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,14 +186,23 @@ 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;
 }
 }