diff --git a/.github/workflows/ufbt_build.yaml b/.github/workflows/ufbt_build.yaml index 1d81b30..0e5d0d8 100644 --- a/.github/workflows/ufbt_build.yaml +++ b/.github/workflows/ufbt_build.yaml @@ -30,7 +30,7 @@ jobs: sdk-channel: ${{ matrix.sdk-channel }} sdk-index-url: ${{ matrix.sdk-index-url }} - name: Upload app artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ github.event.repository.name }}-${{ steps.build-app.outputs.suffix }} path: ${{ steps.build-app.outputs.fap-artifacts }} diff --git a/key_formats.c b/key_formats.c index c2ccbf9..57e4eab 100644 --- a/key_formats.c +++ b/key_formats.c @@ -4,7 +4,7 @@ const KeyFormat all_formats[] = { {.manufacturer = "Kwikset", .format_name = "KW1", - .format_link = "https://lsamichigan.org/Tech/Kwikset_KeySpecs.pdf", + .format_link = "https://lsamichigan.org/Tech/Kwikset_KeySpecs.pdf", // C31 .first_pin_inch = 0.247, .last_pin_inch = 0.847, .pin_increment_inch = 0.15, @@ -22,15 +22,15 @@ const KeyFormat all_formats[] = { {.manufacturer = "Schlage", .format_name = "SC4", - .format_link = "https://lsamichigan.org/Tech/SCHLAGE_KeySpecs.pdf", + .format_link = "https://lsamichigan.org/Tech/SCHLAGE_KeySpecs.pdf", // C45 .first_pin_inch = 0.231, .last_pin_inch = 1.012, .pin_increment_inch = 0.1562, .pin_num = 6, .pin_width_inch = 0.031, .elbow_inch = 0.1, - .drill_angle = 90, // This should actually be 100 but the current resolution will make - // 100 degrees very ugly and unsuable + .drill_angle = 90, + .uncut_depth_inch = 0.335, .deepest_depth_inch = 0.2, .depth_step_inch = 0.015, @@ -39,6 +39,24 @@ const KeyFormat all_formats[] = { .macs = 7, .clearance = 8}, + {.manufacturer = "Weiser", + .format_name = "WR5", + .format_link = "C50", + .first_pin_inch = 0.237, + .last_pin_inch = 0.861, + .pin_increment_inch = 0.156, + .pin_num = 5, + .pin_width_inch = 0.079, + .elbow_inch = 0.15, + .drill_angle = 90, + .uncut_depth_inch = 0.315, + .deepest_depth_inch = 0.153, + .depth_step_inch = 0.018, + .min_depth_ind = 0, + .max_depth_ind = 9, + .macs = 7, + .clearance = 5}, + {.manufacturer = "Arrow", .format_name = "AR4", .format_link = "C2", @@ -48,15 +66,52 @@ const KeyFormat all_formats[] = { .pin_num = 6, .pin_width_inch = 0.060, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, // This should actually be 100 but the current resolution will + // make 100 degrees very ugly and unsuable .uncut_depth_inch = 0.312, .deepest_depth_inch = 0.186, .depth_step_inch = 0.014, .min_depth_ind = 0, .max_depth_ind = 9, - .macs = 6, + .macs = 7, .clearance = 7}, + {.manufacturer = "Elzett", + .format_name = "EL10", + .format_link = "2274", + .first_pin_inch = 0.206, + .last_pin_inch = 0.836, + .pin_increment_inch = 0.158, + .pin_num = 5, + .pin_width_inch = 0.051, + .elbow_inch = 0.1, + .drill_angle = 90, + .uncut_depth_inch = 0.339, + .deepest_depth_inch = 0.173, + .depth_step_inch = 0.024, + .min_depth_ind = 0, + .max_depth_ind = 7, + .macs = 6, + .clearance = 4}, + + {.manufacturer = "Abus", + .format_name = "AB3", + .format_link = "C112", + .first_pin_inch = 0.157, + .last_pin_inch = 0.768, + .pin_increment_inch = 0.122, + .pin_num = 6, + .pin_width_inch = 0.035, + .elbow_inch = 0.1, + .drill_angle = 90, + .uncut_depth_inch = 0.254, + .deepest_depth_inch = 0.152, + .depth_step_inch = 0.025, + .min_depth_ind = 1, + .max_depth_ind = 5, + .macs = 5, + .clearance = 3}, + {.manufacturer = "Master Lock", .format_name = "M1", .format_link = "C35", @@ -66,7 +121,7 @@ const KeyFormat all_formats[] = { .pin_num = 5, .pin_width_inch = 0.039, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, .uncut_depth_inch = 0.276, .deepest_depth_inch = 0.171, .depth_step_inch = 0.015, @@ -75,7 +130,25 @@ const KeyFormat all_formats[] = { .macs = 7, .clearance = 6}, - {.manufacturer = "American", + {.manufacturer = "Master Lock", + .format_name = "M2", + .format_link = "C34", + .first_pin_inch = 0.136, + .last_pin_inch = 0.508, + .pin_increment_inch = 0.124, + .pin_num = 4, + .pin_width_inch = 0.031, + .elbow_inch = 0.1, + .drill_angle = 90, + .uncut_depth_inch = 0.210, + .deepest_depth_inch = 0.120, + .depth_step_inch = 0.015, + .min_depth_ind = 0, + .max_depth_ind = 6, + .macs = 5, + .clearance = 5}, + + {.manufacturer = "American Lock", .format_name = "AM7", .format_link = "C80", .first_pin_inch = 0.157, @@ -84,7 +157,7 @@ const KeyFormat all_formats[] = { .pin_num = 6, .pin_width_inch = 0.039, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, .uncut_depth_inch = 0.283, .deepest_depth_inch = 0.173, .depth_step_inch = 0.016, @@ -95,17 +168,18 @@ const KeyFormat all_formats[] = { {.manufacturer = "Yale", .format_name = "Y2", - .format_link = ".025", - .first_pin_inch = 0.250, - .last_pin_inch = 1.095, - .pin_increment_inch = 0.185, + .format_link = "C57", + .first_pin_inch = 0.200, + .last_pin_inch = 1.025, + .pin_increment_inch = 0.165, .pin_num = 6, .pin_width_inch = 0.054, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.320, - .deepest_depth_inch = 0.145, - .depth_step_inch = 0.025, + .deepest_depth_inch = 0.149, + .depth_step_inch = 0.019, .min_depth_ind = 0, .max_depth_ind = 9, .macs = 9, @@ -113,20 +187,21 @@ const KeyFormat all_formats[] = { {.manufacturer = "Yale", .format_name = "Y11", - .format_link = "CX55", + .format_link = "C55", .first_pin_inch = 0.124, .last_pin_inch = 0.502, .pin_increment_inch = 0.095, .pin_num = 5, .pin_width_inch = 0.039, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.246, .deepest_depth_inch = 0.167, .depth_step_inch = 0.020, .min_depth_ind = 1, .max_depth_ind = 5, - .macs = 7, + .macs = 5, .clearance = 3}, {.manufacturer = "Sargent", @@ -138,7 +213,8 @@ const KeyFormat all_formats[] = { .pin_num = 6, .pin_width_inch = 0.063, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.328, // double check .deepest_depth_inch = 0.148, .depth_step_inch = 0.020, @@ -147,6 +223,25 @@ const KeyFormat all_formats[] = { .macs = 7, .clearance = 5}, + {.manufacturer = "National", + .format_name = "RO3", + .format_link = "C37", + .first_pin_inch = 0.156, + .last_pin_inch = 0.525, + .pin_increment_inch = 0.093, + .pin_num = 5, + .pin_width_inch = 0.039, + .elbow_inch = 0.1, + .drill_angle = 90, + + .uncut_depth_inch = 0.250, + .deepest_depth_inch = 0.175, + .depth_step_inch = 0.025, + .min_depth_ind = 1, + .max_depth_ind = 4, + .macs = 5, + .clearance = 1}, + {.manufacturer = "National", .format_name = "NA25", .format_link = "C40", @@ -156,7 +251,8 @@ const KeyFormat all_formats[] = { .pin_num = 5, .pin_width_inch = 0.039, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.304, .deepest_depth_inch = 0.191, .depth_step_inch = 0.012, @@ -174,7 +270,8 @@ const KeyFormat all_formats[] = { .pin_num = 6, .pin_width_inch = 0.047, .elbow_inch = 0.1, - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.343, .deepest_depth_inch = 0.217, .depth_step_inch = 0.014, @@ -183,19 +280,37 @@ const KeyFormat all_formats[] = { .macs = 7, .clearance = 8}, + {.manufacturer = "Lockwood", + .format_name = "L1", + .format_link = "C28", + .first_pin_inch = 0.276, + .last_pin_inch = 0.902, + .pin_increment_inch = 0.153, + .pin_num = 5, + .pin_width_inch = 0.063, + .elbow_inch = 0.1, + .drill_angle = 90, + .uncut_depth_inch = 0.320, + .deepest_depth_inch = 0.158, + .depth_step_inch = 0.018, + .min_depth_ind = 0, + .max_depth_ind = 9, + .macs = 9, + .clearance = 4}, + {.manufacturer = "Lockwood", .format_name = "LW4", - .format_link = "", - .first_pin_inch = 0.245, - .last_pin_inch = 0.870, - .pin_increment_inch = 0.1562, + .format_link = "CX57", + .first_pin_inch = 0.240, + .last_pin_inch = 0.865, + .pin_increment_inch = 0.156, .pin_num = 5, - .pin_width_inch = 0.031, + .pin_width_inch = 0.047, .elbow_inch = 0.1, .drill_angle = 90, - .uncut_depth_inch = 0.344, - .deepest_depth_inch = 0.203, - .depth_step_inch = 0.014, + .uncut_depth_inch = 0.337, + .deepest_depth_inch = 0.202, + .depth_step_inch = 0.015, .min_depth_ind = 0, .max_depth_ind = 9, .macs = 9, @@ -203,17 +318,17 @@ const KeyFormat all_formats[] = { {.manufacturer = "Lockwood", .format_name = "LW5", - .format_link = "", - .first_pin_inch = 0.245, - .last_pin_inch = 1.0262, + .format_link = "CX57", + .first_pin_inch = 0.240, + .last_pin_inch = 1.0222, .pin_increment_inch = 0.1562, .pin_num = 6, .pin_width_inch = 0.031, .elbow_inch = 0.1, .drill_angle = 90, - .uncut_depth_inch = 0.344, - .deepest_depth_inch = 0.203, - .depth_step_inch = 0.014, + .uncut_depth_inch = 0.337, + .deepest_depth_inch = 0.202, + .depth_step_inch = 0.015, .min_depth_ind = 0, .max_depth_ind = 9, .macs = 9, @@ -267,7 +382,8 @@ const KeyFormat all_formats[] = { .pin_width_inch = 0.039, .elbow_inch = 0.201, // this should be equal to first pin inch for tip // stopped key line - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.354, .deepest_depth_inch = 0.254, .depth_step_inch = 0.025, @@ -280,7 +396,7 @@ const KeyFormat all_formats[] = { .format_name = "B102", .sides = 2, .stop = 2, - .format_link = "", + .format_link = "CF215", .first_pin_inch = 0.205, .last_pin_inch = 1.037, .pin_increment_inch = 0.093, @@ -288,9 +404,10 @@ const KeyFormat all_formats[] = { .pin_width_inch = 0.039, .elbow_inch = 0.205, // this should be equal to first pin inch for tip // stopped key line - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.315, - .deepest_depth_inch = 0.161, + .deepest_depth_inch = 0.238, .depth_step_inch = 0.026, .min_depth_ind = 1, .max_depth_ind = 4, @@ -309,14 +426,59 @@ const KeyFormat all_formats[] = { .pin_width_inch = 0.039, .elbow_inch = 0.297, // this should be equal to first pin inch for tip // stopped key line - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.339, - .deepest_depth_inch = 0.197, - .depth_step_inch = 0.047, + .deepest_depth_inch = 0.268, + .depth_step_inch = 0.024, + .min_depth_ind = 1, + .max_depth_ind = 4, + .macs = 4, + .clearance = 2}, + + {.manufacturer = "Nissan", + .format_name = "DA34", + .sides = 2, + .stop = 2, + .format_link = "CF304", + .first_pin_inch = 0.169, + .last_pin_inch = 0.913, + .pin_increment_inch = 0.082, + .pin_num = 10, + .pin_width_inch = 0.031, + .elbow_inch = 0.169, // this should be equal to first pin inch for tip + // stopped key line + .drill_angle = 90, + + .uncut_depth_inch = 0.334, + .deepest_depth_inch = 0.257, + .depth_step_inch = 0.026, .min_depth_ind = 1, .max_depth_ind = 4, + .macs = 4, + .clearance = 2}, + + {.manufacturer = "KIA", + .format_name = "KK8", + .sides = 2, + .stop = 2, + .format_link = "3003", + .first_pin_inch = 0.217, + .last_pin_inch = 0.795, + .pin_increment_inch = 0.082, + .pin_num = 8, + .pin_width_inch = 0.031, + .elbow_inch = 0.217, // this should be equal to first pin inch for tip + // stopped key line + .drill_angle = 90, + + .uncut_depth_inch = 0.331, + .deepest_depth_inch = 0.252, + .depth_step_inch = 0.020, + .min_depth_ind = 1, + .max_depth_ind = 5, .macs = 5, - .clearance = 1}, + .clearance = 3}, {.manufacturer = "Kawasaki", .format_name = "KA14", @@ -329,7 +491,8 @@ const KeyFormat all_formats[] = { .pin_width_inch = 0.039, .elbow_inch = 0.1, // this should be equal to first pin inch for tip // stopped key line - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.258, .deepest_depth_inch = 0.198, .depth_step_inch = 0.020, @@ -349,7 +512,8 @@ const KeyFormat all_formats[] = { .pin_width_inch = 0.039, .elbow_inch = 0.1, // this should be equal to first pin inch for tip // stopped key line - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.295, .deepest_depth_inch = 0.236, .depth_step_inch = 0.020, @@ -369,19 +533,20 @@ const KeyFormat all_formats[] = { .pin_width_inch = 0.051, .elbow_inch = 0.081, // this should be equal to first pin inch for tip // stopped key line - .drill_angle = 90, + .drill_angle = 90, + .uncut_depth_inch = 0.318, .deepest_depth_inch = 0.206, - .depth_step_inch = 0.025, + .depth_step_inch = 0.013, .min_depth_ind = 0, .max_depth_ind = 9, - .macs = 5, + .macs = 7, .clearance = 3}, {.manufacturer = "RV (FIC,GL,Bauer)", .format_name = "RV", .sides = 2, - .format_link = "Card", + .format_link = "4013", .first_pin_inch = 0.126, .last_pin_inch = 0.504, .pin_increment_inch = 0.094, @@ -389,10 +554,11 @@ const KeyFormat all_formats[] = { .pin_width_inch = 0.039, .elbow_inch = 0.126, // this should be equal to first pin inch for tip // stopped key line - .drill_angle = 90, - .uncut_depth_inch = 0.260, - .deepest_depth_inch = 0.181, - .depth_step_inch = 0.040, + .drill_angle = 90, + + .uncut_depth_inch = 0.272, + .deepest_depth_inch = 0.224, + .depth_step_inch = 0.024, .min_depth_ind = 1, .max_depth_ind = 3, .macs = 3, diff --git a/key_formats.h b/key_formats.h index 67fb471..ebbe7ad 100644 --- a/key_formats.h +++ b/key_formats.h @@ -1,7 +1,7 @@ #ifndef KEY_FORMATS_H #define KEY_FORMATS_H -#define FORMAT_NUM 21 +#define FORMAT_NUM 29 typedef struct { char* manufacturer;