diff options
author | Linnnus <[email protected]> | 2024-04-09 09:20:05 +0200 |
---|---|---|
committer | Linnnus <[email protected]> | 2024-04-09 09:20:05 +0200 |
commit | 45e0f39612122163d0be114610bc7d99ec6fea84 (patch) | |
tree | 73ea75614669599d74e7eff1dee14a9ee48888f1 |
Initial commit
-rw-r--r-- | det_hele/det_hele.ino | 333 | ||||
-rw-r--r-- | display_driver/display_driver.ino | 42 | ||||
-rw-r--r-- | skema.png | bin | 0 -> 7697 bytes | |||
-rw-r--r-- | sketch_mar5a/sketch_mar5a.ino | 46 | ||||
-rw-r--r-- | telefonfis/telefonfis-backups/telefonfis-2024-03-05_172859.zip | bin | 0 -> 6798 bytes | |||
-rw-r--r-- | telefonfis/telefonfis-backups/telefonfis-2024-03-05_180250.zip | bin | 0 -> 6798 bytes | |||
-rw-r--r-- | telefonfis/telefonfis-backups/telefonfis-2024-03-12_162647.zip | bin | 0 -> 6798 bytes | |||
-rw-r--r-- | telefonfis/telefonfis.kicad_pcb | 2 | ||||
-rw-r--r-- | telefonfis/telefonfis.kicad_prl | 83 | ||||
-rw-r--r-- | telefonfis/telefonfis.kicad_pro | 391 | ||||
-rw-r--r-- | telefonfis/telefonfis.kicad_sch | 2306 |
11 files changed, 3203 insertions, 0 deletions
diff --git a/det_hele/det_hele.ino b/det_hele/det_hele.ino new file mode 100644 index 0000000..93ac90f --- /dev/null +++ b/det_hele/det_hele.ino @@ -0,0 +1,333 @@ +#include <HX711.h> + +// Controls whether red/green LED is turned on. +const uint8_t DISPLAY_LOCK_PIN = 12; + +// Pins used to interact with SIPO controlling four 7-segment dislays. +const uint8_t DISPLAY_CLOCK_PIN = 11; +const uint8_t DISPLAY_DATA_PIN = 10; +const uint8_t DISPLAY_STROBE_PIN = 9; + +// Pin controls weather or not the alarm clock is ringing. +const uint8_t NOISE_ENABLE_PIN = 8; + +// Pins used to interact with weight circuit. +const uint8_t WEIGHT_DATA_PIN = 7; // Reads data from HX711 (DT) +const uint8_t WEIGHT_CLOCK_PIN = 6; // Drives HX711 output. (SCK) +HX711 scale; +int WEIGHT_SAMPLE_AMOUNT = 5; // amount of samples of each observation. +int AWARE_TIME = 2000; //amount of miliseconds in the aware state. + +// Pins used to interact with rotary dial circuit. +const uint8_t DIAL_DATA_PIN = 5; // Reads data from PISO (4021). +const uint8_t DIAL_CLOCK_PIN = 4; // Drives PISO output. +const uint8_t DIAL_READY_PIN = 3; // Output from FLIP-FLOP. +const uint8_t DIAL_RESET_PIN = 2; // Reset pin on FLIP-FLOP. + +// The program is centered around a state machine. +// TODO: Describe states. +enum { + STATE_UNARMED, + STATE_ARMED, + STATE_AWARE, + STATE_RINGING, +} state; + +unsigned long awareStartTime; + +const double MAX_DEVIATION = 200; +double savedWeight; + +typedef uint8_t Passcode[4]; + +Passcode savedPass; + +Passcode currentPass; +int currentPassIndex = 0; + + +//All the setup functions. +void unarmedSetup() { + Serial.println("Entering UNARMED state"); + state = STATE_UNARMED; + + digitalWrite(DISPLAY_LOCK_PIN, LOW); +} + +void armedSetup() { + Serial.println("Entering ARMED state"); + + digitalWrite(DISPLAY_LOCK_PIN, HIGH); + + // The weight isn't saved as part of armedSetup() because that would allow an attack where the weight is gradually + // lowered by alternating between the armed and aware states. If the weight were to be updated every time, an + // atacker could lower the weight graduadally by staying within the margin of error on every step. + if (state == STATE_UNARMED) { + scale.begin(WEIGHT_DATA_PIN, WEIGHT_CLOCK_PIN); + scale.tare(); + savedWeight = scale.get_value(WEIGHT_SAMPLE_AMOUNT); + } + + state = STATE_ARMED; +} + +void awareSetup() { + Serial.println("Entering AWARE state"); + + state = STATE_AWARE; + awareStartTime = millis(); +} + +void ringingSetup() { + Serial.println("Entering RINGING state"); + + state = STATE_RINGING; + digitalWrite(NOISE_ENABLE_PIN, HIGH); +} + + +//Initial setup function. +void setup() { + Serial.begin(9600); + + pinMode(DISPLAY_LOCK_PIN, OUTPUT); + + pinMode(DISPLAY_CLOCK_PIN, OUTPUT); + pinMode(DISPLAY_STROBE_PIN, OUTPUT); + pinMode(DISPLAY_DATA_PIN, OUTPUT); + + pinMode(DIAL_DATA_PIN, INPUT); + pinMode(DIAL_CLOCK_PIN, OUTPUT); + pinMode(DIAL_READY_PIN, INPUT); + pinMode(DIAL_RESET_PIN, OUTPUT); + + pinMode(WEIGHT_DATA_PIN, INPUT); + pinMode(WEIGHT_CLOCK_PIN, OUTPUT); + + pinMode(NOISE_ENABLE_PIN, OUTPUT); + + // Clear out display ibn case there's old data left in the encoders. + clearDisplay(); + + // Enter initial state; + unarmedSetup(); +} + + +//other functions. +uint8_t dialRead() { + Serial.println("Data ready from rotary dial circuit!!"); + + digitalWrite(DIAL_CLOCK_PIN, LOW); + uint8_t data = 0; + for (int i = 0; i < 8; ++i) { + int bit = digitalRead(DIAL_DATA_PIN); + data = (data << 1) | bit; + + digitalWrite(DIAL_CLOCK_PIN, HIGH); + digitalWrite(DIAL_CLOCK_PIN, LOW); + } + + // 0 is encoded as 10 pulses. + if (data == 10) { + data = 0; + } + + //uint8_t data = shiftIn(PISO_DATA_PIN, PISO_CLOCK_PIN, MSBFIRST); + Serial.print("Number: "); + Serial.print(data, DEC); + Serial.print(", "); + Serial.println(data, BIN); + + digitalWrite(DIAL_RESET_PIN, LOW); + digitalWrite(DIAL_RESET_PIN, HIGH); + digitalWrite(DIAL_RESET_PIN, LOW); + + return data; +} + +double weightDeviation() { + double currentWeight = scale.get_value(WEIGHT_SAMPLE_AMOUNT); + double deviation = fabs(currentWeight - savedWeight); + Serial.print("Deviation: "); + Serial.println(deviation, 1); + return deviation; +} + + +//All loop functions. +void unarmedLoop() { + if (digitalRead(DIAL_READY_PIN)) { + currentPass[currentPassIndex] = dialRead(); + + displayDigitAt(currentPass[currentPassIndex], currentPassIndex); + + if (currentPassIndex == 3) { + memcpy(savedPass, currentPass, sizeof(savedPass)); + + delay(1000); + clearDisplay(); + + armedSetup(); + currentPassIndex = 0; + } else { + currentPassIndex += 1; + } + } +} + +void displayDigitAt(uint8_t digit, uint8_t i) { + const uint8_t ALL_LATCHED = 0xF0; + + uint8_t bits = ALL_LATCHED - (16 << i) + digit; + digitalWrite(DISPLAY_STROBE_PIN, LOW); + shiftOut(DISPLAY_DATA_PIN, DISPLAY_CLOCK_PIN, MSBFIRST, bits); + digitalWrite(DISPLAY_STROBE_PIN, HIGH); + + bits = ALL_LATCHED + digit; + digitalWrite(DISPLAY_STROBE_PIN, LOW); + shiftOut(DISPLAY_DATA_PIN, DISPLAY_CLOCK_PIN, MSBFIRST, bits); + digitalWrite(DISPLAY_STROBE_PIN, HIGH); +} + +void displayPasscode(Passcode p) { + for (int i = 0; i <= 3; ++i) { + displayDigitAt(p[i], i); + } +} + +void displayNumber(int value) { + if (value > 9999) { + value = 9999; + } else if (value < 0) { + value = 0; + } + + for (int i = 3; i >= 0; --i) { + uint8_t digit = value % 10; + value /= 10; + displayDigitAt(digit, i); + } +} + +void clearDisplay() { + for (int i = 0; i <= 3; ++i) { + displayDigitAt(10, i); + } +} + +bool handlePasscode() { + if (digitalRead(DIAL_READY_PIN)) { + currentPass[currentPassIndex] = dialRead(); + + displayDigitAt(currentPass[currentPassIndex], currentPassIndex); + + if (currentPassIndex == 3) { + currentPassIndex = 0; + + bool validPass = memcmp(savedPass, currentPass, sizeof(savedPass)) == 0; + if (validPass) { + // Very cool victory animation. + delay(300); + for (int i = 0; i < 2; ++i) { + clearDisplay(); + delay(200); + for (int j = 0; j <= 3; ++j) { + delay(100); + displayDigitAt(currentPass[j], j); + } + delay(300); + } + clearDisplay(); + + return true; + } else { + // blink passcode + const unsigned long wait = 100; + for (int i = 0; i < 4; ++i) { + delay(wait); + clearDisplay(); + delay(wait); + displayPasscode(currentPass); + } + delay(wait); + clearDisplay(); + + return false; + } + } else { + currentPassIndex += 1; + return false; + } + } + + return false; +} + +void armedLoop() { + if (handlePasscode()) { + unarmedSetup(); + } + + double deviation = weightDeviation(); + if (deviation > MAX_DEVIATION) { + awareSetup(); + } +} + +void awareLoop() { + if (handlePasscode()) { + unarmedSetup(); + } + + double deviation = weightDeviation(); + if (deviation < MAX_DEVIATION) { + armedSetup(); + return; + } + + int remainingTime = AWARE_TIME - (millis() - awareStartTime); + Serial.print("Remaining time:"); + Serial.println(remainingTime); + if (remainingTime <= 0) { + ringingSetup(); + } +} + +// FIXME: What happens if user starts entering password while in aware state and ringing state only sees last two digits? + +void ringingLoop() { + if (handlePasscode()) { + digitalWrite(NOISE_ENABLE_PIN, LOW); + unarmedSetup(); + } + + // FIXME: SHouldn't be able to do this for non-testing purposes. + double deviation = weightDeviation(); + Serial.println(deviation, 1); + if (deviation < MAX_DEVIATION) { + digitalWrite(NOISE_ENABLE_PIN, LOW); + armedSetup(); + } +} + +//initial loop function, wich contains the switch (state machine). +void loop() { + switch (state) { + case STATE_UNARMED: + unarmedLoop(); + break; + case STATE_ARMED: + armedLoop(); + break; + case STATE_AWARE: + awareLoop(); + break; + case STATE_RINGING: + ringingLoop(); + break; + default: + Serial.println("warning: unhandled state"); + break; + } +}
\ No newline at end of file diff --git a/display_driver/display_driver.ino b/display_driver/display_driver.ino new file mode 100644 index 0000000..dd95d18 --- /dev/null +++ b/display_driver/display_driver.ino @@ -0,0 +1,42 @@ +const uint8_t sipo_strobe_pin = 6; + +const uint8_t sipo_data_pin = 7; + +const uint8_t sipo_clock_pin = 8; + +void setup() { + Serial.begin(9600); + + pinMode(sipo_strobe_pin, OUTPUT); + pinMode(sipo_data_pin, OUTPUT); + pinMode(sipo_clock_pin, OUTPUT); +} + +void loop() { + for (int i = 0; i < 9999; ++i) { + showNumber(i); + delay(1000); + } +} + +void showNumber(int value) { + if (value > 9999) { + Serial.println("warning: truncating value"); + value = 9999; + } + + for (int i = 3; i >= 0; --i) { + uint8_t digit = value % 10; + value /= 10; + + const uint8_t ALL_LATCHED = 0xF0; + shiftToSipo(ALL_LATCHED - (16 << i) + digit); + shiftToSipo(ALL_LATCHED + digit); + } +} + +void shiftToSipo(uint8_t bits) { + digitalWrite(sipo_strobe_pin, LOW); + shiftOut(sipo_data_pin, sipo_clock_pin, MSBFIRST, bits); + digitalWrite(sipo_strobe_pin, HIGH); +}
\ No newline at end of file diff --git a/skema.png b/skema.png Binary files differnew file mode 100644 index 0000000..1aaef74 --- /dev/null +++ b/skema.png diff --git a/sketch_mar5a/sketch_mar5a.ino b/sketch_mar5a/sketch_mar5a.ino new file mode 100644 index 0000000..11de40e --- /dev/null +++ b/sketch_mar5a/sketch_mar5a.ino @@ -0,0 +1,46 @@ +// This pin is used to read data from the shift register (4021). +const uint8_t PISO_DATA_PIN = 5; + +// This pin should be connected to the clock pin used to advance output in the shift regitster (4021). +const uint8_t PISO_CLOCK_PIN = 4; + +// This pin should be connected to the data out of the flip-flop (4013). +const uint8_t DATA_READY_PIN = 3; + +// This pin is used to reset the state of the rotary dial board. +// It should be connected to the reset pin of the flip-flop (4013) and counter (4520). +const uint8_t RESET_PIN = 2; + +void setup() { + Serial.begin(9600); + pinMode(PISO_DATA_PIN, INPUT); + pinMode(PISO_CLOCK_PIN, OUTPUT); + pinMode(DATA_READY_PIN, INPUT); + pinMode(RESET_PIN, OUTPUT); +} + +void loop() { + if (digitalRead(DATA_READY_PIN)) { + Serial.println("Data ready from rotary dial circuit!!"); + + digitalWrite(PISO_CLOCK_PIN, LOW); + uint8_t data = 0; + for (int i = 0; i < 8; ++i) { + int bit = digitalRead(PISO_DATA_PIN); + data = (data << 1) | bit; + + digitalWrite(PISO_CLOCK_PIN, HIGH); + digitalWrite(PISO_CLOCK_PIN, LOW); + } + + //uint8_t data = shiftIn(PISO_DATA_PIN, PISO_CLOCK_PIN, MSBFIRST); + Serial.print("Number: "); + Serial.print(data, DEC); + Serial.print(", "); + Serial.println(data, BIN); + + digitalWrite(RESET_PIN, LOW); + digitalWrite(RESET_PIN, HIGH); + digitalWrite(RESET_PIN, LOW); + } +} diff --git a/telefonfis/telefonfis-backups/telefonfis-2024-03-05_172859.zip b/telefonfis/telefonfis-backups/telefonfis-2024-03-05_172859.zip Binary files differnew file mode 100644 index 0000000..21c969f --- /dev/null +++ b/telefonfis/telefonfis-backups/telefonfis-2024-03-05_172859.zip diff --git a/telefonfis/telefonfis-backups/telefonfis-2024-03-05_180250.zip b/telefonfis/telefonfis-backups/telefonfis-2024-03-05_180250.zip Binary files differnew file mode 100644 index 0000000..21c969f --- /dev/null +++ b/telefonfis/telefonfis-backups/telefonfis-2024-03-05_180250.zip diff --git a/telefonfis/telefonfis-backups/telefonfis-2024-03-12_162647.zip b/telefonfis/telefonfis-backups/telefonfis-2024-03-12_162647.zip Binary files differnew file mode 100644 index 0000000..21c969f --- /dev/null +++ b/telefonfis/telefonfis-backups/telefonfis-2024-03-12_162647.zip diff --git a/telefonfis/telefonfis.kicad_pcb b/telefonfis/telefonfis.kicad_pcb new file mode 100644 index 0000000..ef218ba --- /dev/null +++ b/telefonfis/telefonfis.kicad_pcb @@ -0,0 +1,2 @@ +(kicad_pcb (version 20240108) (generator "pcbnew") (generator_version "8.0") +)
\ No newline at end of file diff --git a/telefonfis/telefonfis.kicad_prl b/telefonfis/telefonfis.kicad_prl new file mode 100644 index 0000000..9a3fffd --- /dev/null +++ b/telefonfis/telefonfis.kicad_prl @@ -0,0 +1,83 @@ +{ + "board": { + "active_layer": 0, + "active_layer_preset": "", + "auto_track_width": true, + "hidden_netclasses": [], + "hidden_nets": [], + "high_contrast_mode": 0, + "net_color_mode": 1, + "opacity": { + "images": 0.6, + "pads": 1.0, + "tracks": 1.0, + "vias": 1.0, + "zones": 0.6 + }, + "selection_filter": { + "dimensions": true, + "footprints": true, + "graphics": true, + "keepouts": true, + "lockedItems": false, + "otherItems": true, + "pads": true, + "text": true, + "tracks": true, + "vias": true, + "zones": true + }, + "visible_items": [ + 0, + 1, + 2, + 3, + 4, + 5, + 8, + 9, + 10, + 11, + 12, + 13, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 32, + 33, + 34, + 35, + 36, + 39, + 40 + ], + "visible_layers": "fffffff_ffffffff", + "zone_display_mode": 0 + }, + "git": { + "repo_password": "", + "repo_type": "", + "repo_username": "", + "ssh_key": "" + }, + "meta": { + "filename": "telefonfis.kicad_prl", + "version": 3 + }, + "project": { + "files": [] + } +} diff --git a/telefonfis/telefonfis.kicad_pro b/telefonfis/telefonfis.kicad_pro new file mode 100644 index 0000000..122e808 --- /dev/null +++ b/telefonfis/telefonfis.kicad_pro @@ -0,0 +1,391 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": {}, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "rules": {}, + "track_widths": [], + "via_dimensions": [] + }, + "ipc2581": { + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "" + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "conflicting_netclasses": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "global_label_dangling": "warning", + "hier_label_mismatch": "error", + "label_dangling": "error", + "lib_symbol_issues": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "warning", + "power_pin_not_driven": "error", + "similar_labels": "warning", + "simulation_model_issue": "ignore", + "unannotated": "error", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "telefonfis.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.2, + "via_diameter": 0.6, + "via_drill": 0.3, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "plot": "", + "pos_files": "", + "specctra_dsn": "", + "step": "", + "svg": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "bom_fmt_presets": [], + "bom_fmt_settings": { + "field_delimiter": ",", + "keep_line_breaks": false, + "keep_tabs": false, + "name": "CSV", + "ref_delimiter": ",", + "ref_range_delimiter": "", + "string_delimiter": "\"" + }, + "bom_presets": [], + "bom_settings": { + "exclude_dnp": false, + "fields_ordered": [ + { + "group_by": false, + "label": "Reference", + "name": "Reference", + "show": true + }, + { + "group_by": true, + "label": "Value", + "name": "Value", + "show": true + }, + { + "group_by": false, + "label": "Datasheet", + "name": "Datasheet", + "show": true + }, + { + "group_by": false, + "label": "Footprint", + "name": "Footprint", + "show": true + }, + { + "group_by": false, + "label": "Qty", + "name": "${QUANTITY}", + "show": true + }, + { + "group_by": true, + "label": "DNP", + "name": "${DNP}", + "show": true + } + ], + "filter_string": "", + "group_symbols": true, + "name": "Grouped By Value", + "sort_asc": true, + "sort_field": "Reference" + }, + "connection_grid_size": 50.0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "operating_point_overlay_i_precision": 3, + "operating_point_overlay_i_range": "~A", + "operating_point_overlay_v_precision": 3, + "operating_point_overlay_v_range": "~V", + "overbar_offset_ratio": 1.23, + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "net_format_name": "", + "page_layout_descr_file": "", + "plot_directory": "", + "spice_current_sheet_as_root": false, + "spice_external_command": "spice \"%I\"", + "spice_model_current_sheet_as_root": true, + "spice_save_all_currents": false, + "spice_save_all_dissipations": false, + "spice_save_all_voltages": false, + "subpart_first_id": 65, + "subpart_id_separator": 0 + }, + "sheets": [ + [ + "48551a65-e44e-4120-80f1-f18162cd2670", + "Root" + ] + ], + "text_variables": {} +} diff --git a/telefonfis/telefonfis.kicad_sch b/telefonfis/telefonfis.kicad_sch new file mode 100644 index 0000000..ce99f66 --- /dev/null +++ b/telefonfis/telefonfis.kicad_sch @@ -0,0 +1,2306 @@ +(kicad_sch + (version 20231120) + (generator "eeschema") + (generator_version "8.0") + (uuid "48551a65-e44e-4120-80f1-f18162cd2670") + (paper "A4") + (lib_symbols + (symbol "4xxx:HEF4093B" + (pin_names + (offset 1.016) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 1.27 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "HEF4093B" + (at 0 -1.27 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/HEF4093B.pdf" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Quad 2-Input NAND Schmitt Trigger, SOIC-14" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "NAND2" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "HEF4093B_1_0" + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "HEF4093B_1_1" + (arc + (start 0 -3.81) + (mid 3.7934 0) + (end 0 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy 0 3.81) (xy -3.81 3.81) (xy -3.81 -3.81) (xy 0 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output inverted + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_1_2" + (arc + (start -3.81 -3.81) + (mid -2.589 0) + (end -3.81 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.6096 -3.81) + (mid 2.1842 -2.5851) + (end 3.81 0) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 -3.81) (xy -0.635 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 3.81) (xy -0.635 3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -0.635 3.81) (xy -3.81 3.81) (xy -3.81 3.81) (xy -3.556 3.4036) (xy -3.0226 2.2606) (xy -2.6924 1.0414) + (xy -2.6162 -0.254) (xy -2.7686 -1.4986) (xy -3.175 -2.7178) (xy -3.81 -3.81) (xy -3.81 -3.81) + (xy -0.635 -3.81) + ) + (stroke + (width -25.4) + (type default) + ) + (fill + (type background) + ) + ) + (arc + (start 3.81 0) + (mid 2.1915 2.5936) + (end -0.6096 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input inverted + (at -7.62 2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input inverted + (at -7.62 -2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_2_0" + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "HEF4093B_2_1" + (arc + (start 0 -3.81) + (mid 3.7934 0) + (end 0 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy 0 3.81) (xy -3.81 3.81) (xy -3.81 -3.81) (xy 0 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin output inverted + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_2_2" + (arc + (start -3.81 -3.81) + (mid -2.589 0) + (end -3.81 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.6096 -3.81) + (mid 2.1842 -2.5851) + (end 3.81 0) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 -3.81) (xy -0.635 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 3.81) (xy -0.635 3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -0.635 3.81) (xy -3.81 3.81) (xy -3.81 3.81) (xy -3.556 3.4036) (xy -3.0226 2.2606) (xy -2.6924 1.0414) + (xy -2.6162 -0.254) (xy -2.7686 -1.4986) (xy -3.175 -2.7178) (xy -3.81 -3.81) (xy -3.81 -3.81) + (xy -0.635 -3.81) + ) + (stroke + (width -25.4) + (type default) + ) + (fill + (type background) + ) + ) + (arc + (start 3.81 0) + (mid 2.1915 2.5936) + (end -0.6096 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin output line + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input inverted + (at -7.62 2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input inverted + (at -7.62 -2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_3_0" + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "HEF4093B_3_1" + (arc + (start 0 -3.81) + (mid 3.7934 0) + (end 0 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy 0 3.81) (xy -3.81 3.81) (xy -3.81 -3.81) (xy 0 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin output inverted + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_3_2" + (arc + (start -3.81 -3.81) + (mid -2.589 0) + (end -3.81 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.6096 -3.81) + (mid 2.1842 -2.5851) + (end 3.81 0) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 -3.81) (xy -0.635 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 3.81) (xy -0.635 3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -0.635 3.81) (xy -3.81 3.81) (xy -3.81 3.81) (xy -3.556 3.4036) (xy -3.0226 2.2606) (xy -2.6924 1.0414) + (xy -2.6162 -0.254) (xy -2.7686 -1.4986) (xy -3.175 -2.7178) (xy -3.81 -3.81) (xy -3.81 -3.81) + (xy -0.635 -3.81) + ) + (stroke + (width -25.4) + (type default) + ) + (fill + (type background) + ) + ) + (arc + (start 3.81 0) + (mid 2.1915 2.5936) + (end -0.6096 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin output line + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input inverted + (at -7.62 2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input inverted + (at -7.62 -2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_4_0" + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.635 -1.27) (xy -0.635 1.27) (xy 0.635 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy 0.635 -1.27) (xy 0.635 1.27) (xy 1.27 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "HEF4093B_4_1" + (arc + (start 0 -3.81) + (mid 3.7934 0) + (end 0 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy 0 3.81) (xy -3.81 3.81) (xy -3.81 -3.81) (xy 0 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin output inverted + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_4_2" + (arc + (start -3.81 -3.81) + (mid -2.589 0) + (end -3.81 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.6096 -3.81) + (mid 2.1842 -2.5851) + (end 3.81 0) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 -3.81) (xy -0.635 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -3.81 3.81) (xy -0.635 3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -0.635 3.81) (xy -3.81 3.81) (xy -3.81 3.81) (xy -3.556 3.4036) (xy -3.0226 2.2606) (xy -2.6924 1.0414) + (xy -2.6162 -0.254) (xy -2.7686 -1.4986) (xy -3.175 -2.7178) (xy -3.81 -3.81) (xy -3.81 -3.81) + (xy -0.635 -3.81) + ) + (stroke + (width -25.4) + (type default) + ) + (fill + (type background) + ) + ) + (arc + (start 3.81 0) + (mid 2.1915 2.5936) + (end -0.6096 3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin output line + (at 7.62 0 180) + (length 3.81) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input inverted + (at -7.62 2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input inverted + (at -7.62 -2.54 0) + (length 4.318) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_5_0" + (pin power_in line + (at 0 12.7 270) + (length 5.08) + (name "VCC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -12.7 90) + (length 5.08) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "HEF4093B_5_1" + (rectangle + (start -5.08 7.62) + (end 5.08 -7.62) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + ) + ) + (symbol "Device:C_Polarized" + (pin_numbers hide) + (pin_names + (offset 0.254) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "C" + (at 0.635 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "C_Polarized" + (at 0.635 -2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 0.9652 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Polarized capacitor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "cap capacitor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "CP_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "C_Polarized_0_1" + (rectangle + (start -2.286 0.508) + (end 2.286 1.016) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.778 2.286) (xy -0.762 2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 2.794) (xy -1.27 1.778) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start 2.286 -0.508) + (end -2.286 -1.016) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + ) + (symbol "C_Polarized_1_1" + (pin passive line + (at 0 3.81 270) + (length 2.794) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 2.794) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "Device:R" + (pin_numbers hide) + (pin_names + (offset 0) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "R" + (at 2.032 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R" + (at 0 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at -1.778 0 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "R res resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "R_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_0_1" + (rectangle + (start -1.016 -2.54) + (end 1.016 2.54) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "power:+5V" + (power) + (pin_numbers hide) + (pin_names + (offset 0) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#PWR" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "+5V" + (at 0 3.556 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.54) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "+5V_1_1" + (pin power_in line + (at 0 0 90) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "power:Earth" + (power) + (pin_numbers hide) + (pin_names + (offset 0) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#PWR" + (at 0 -6.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "Earth" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"Earth\"" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "global ground gnd" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "Earth_0_1" + (polyline + (pts + (xy -0.635 -1.905) (xy 0.635 -1.905) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.127 -2.54) (xy 0.127 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -1.27) (xy 0 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -1.27) (xy -1.27 -1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "Earth_1_1" + (pin power_in line + (at 0 0 270) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + ) + (junction + (at 83.82 53.34) + (diameter 0) + (color 0 0 0 0) + (uuid "1fb3188d-9c0c-49e4-a52a-7c197f6c59ec") + ) + (junction + (at 100.33 53.34) + (diameter 0) + (color 0 0 0 0) + (uuid "9642e29d-8ddf-4261-aa2b-e915fe508c75") + ) + (wire + (pts + (xy 62.23 55.88) (xy 64.77 55.88) + ) + (stroke + (width 0) + (type default) + ) + (uuid "14745d54-f6d1-4a6e-8742-f9059c05744e") + ) + (wire + (pts + (xy 100.33 53.34) (xy 100.33 58.42) + ) + (stroke + (width 0) + (type default) + ) + (uuid "2d598733-5e71-4128-b4f8-fc109a765964") + ) + (wire + (pts + (xy 83.82 53.34) (xy 87.63 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3e715df4-ddb8-4ab4-8170-b9ce2bc8688d") + ) + (wire + (pts + (xy 64.77 50.8) (xy 46.99 50.8) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c4f66b7f-abb9-4b84-9510-7473715bca02") + ) + (wire + (pts + (xy 95.25 53.34) (xy 100.33 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d5cab42c-761e-4662-8ff8-35bc056c9b80") + ) + (wire + (pts + (xy 83.82 53.34) (xy 80.01 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d75ac132-66da-4aad-992e-e5a6b04a7431") + ) + (text_box "Omdanner/renser signal fra drejeskive\n" + (exclude_from_sim no) + (at 50.8 38.1 0) + (size 76.2 50.8) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + (uuid "33eb92cc-e5ef-460a-9c62-2dbec0033340") + ) + (global_label "Drejeskivesignal" + (shape input) + (at 46.99 50.8 180) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "824a5fbc-9e26-412f-a5ad-814a15956d8f") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 28.7043 50.8 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (symbol + (lib_id "Device:C_Polarized") + (at 83.82 57.15 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "013018c4-f0d6-47be-86b6-2374a6ffe713") + (property "Reference" "C1" + (at 87.63 54.9909 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + (property "Value" "C_Polarized" + (at 87.63 57.5309 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + (property "Footprint" "" + (at 84.7852 60.96 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 83.82 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Polarized capacitor" + (at 83.82 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "998e0670-c232-4a0c-8fe0-269ede23f4cb") + ) + (pin "2" + (uuid "550ac0c1-af00-434e-bbeb-087890f924ae") + ) + (instances + (project "telefonfis" + (path "/48551a65-e44e-4120-80f1-f18162cd2670" + (reference "C1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "4xxx:HEF4093B") + (at 107.95 55.88 0) + (unit 2) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "0efa91f9-76a1-4a36-8a95-240d32c1a1e9") + (property "Reference" "U1" + (at 107.95 47.244 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "HEF4093B" + (at 107.95 49.784 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 107.95 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/HEF4093B.pdf" + (at 107.95 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Quad 2-Input NAND Schmitt Trigger, SOIC-14" + (at 107.95 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "562b5f48-e280-4750-99da-9fccc354bc3d") + ) + (pin "4" + (uuid "d85d19e2-6180-457b-80c6-965be46520e2") + ) + (pin "9" + (uuid "0aac9d82-6773-4831-9f3c-6795967b6086") + ) + (pin "11" + (uuid "04b90fca-60fa-4f9e-a7fa-dc7c911ae4dc") + ) + (pin "12" + (uuid "b0c7cf41-2a07-4c8f-b855-4cc25e1abb46") + ) + (pin "13" + (uuid "79e6eca1-b6f9-4991-b841-a91554f0e4ce") + ) + (pin "14" + (uuid "629b20bd-67d6-4344-8f2f-4d65dd36f082") + ) + (pin "7" + (uuid "a4017f5a-e69d-4624-82b7-04ef3e3af77e") + ) + (pin "5" + (uuid "a64af731-2fee-485d-a044-e1de2888c3c3") + ) + (pin "6" + (uuid "a7a948e8-e1df-4bf8-9245-ca7712746944") + ) + (pin "2" + (uuid "f2c9e2f8-3c22-4e3c-9b67-5a10d7bb2f46") + ) + (pin "3" + (uuid "274ee29b-7844-413d-ae0e-2906e7c53d21") + ) + (pin "10" + (uuid "2d4c566b-9b45-45dd-aa35-b331590b6e17") + ) + (pin "8" + (uuid "6ced9324-afe6-4b8e-a8f8-aebac193f3ab") + ) + (instances + (project "telefonfis" + (path "/48551a65-e44e-4120-80f1-f18162cd2670" + (reference "U1") + (unit 2) + ) + ) + ) + ) + (symbol + (lib_id "4xxx:HEF4093B") + (at 72.39 53.34 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "33b15bc5-5cf6-4d60-a476-ba0717fef3a3") + (property "Reference" "U1" + (at 72.3817 44.45 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "HEF4093B" + (at 72.3817 46.99 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 72.39 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/HEF4093B.pdf" + (at 72.39 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Quad 2-Input NAND Schmitt Trigger, SOIC-14" + (at 72.39 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "55d7079a-655c-4343-b38d-04103710c72a") + ) + (pin "4" + (uuid "5177f0c1-316f-4380-aeb6-6345351859ab") + ) + (pin "5" + (uuid "2ed561cf-5562-4b88-98f7-6ca0650e6190") + ) + (pin "6" + (uuid "70dcb006-94c2-47ee-bc83-3aeeee414664") + ) + (pin "10" + (uuid "c242cc6d-2e64-4e3e-b4ff-2c3051e5a9ea") + ) + (pin "8" + (uuid "ce49c849-eeb9-4f40-9ab8-0ebf5f8ae79f") + ) + (pin "9" + (uuid "48f17779-8d05-4c43-a67b-521fcc75f292") + ) + (pin "11" + (uuid "fd931da4-f399-4412-bea1-09c1b0cb8158") + ) + (pin "12" + (uuid "4e26f884-82d8-44f4-9ea9-cb52b5e28361") + ) + (pin "13" + (uuid "9ad8241c-7e06-4b9f-85bb-071a240e47c8") + ) + (pin "14" + (uuid "dc17d322-3a45-4038-902d-d0984582f6d9") + ) + (pin "7" + (uuid "976ac4b9-2f02-480d-9601-f6fc30962d9b") + ) + (pin "1" + (uuid "471362d3-645f-4e70-9c6a-1b6be6b34b1d") + ) + (pin "3" + (uuid "6c7a4373-24e7-41f4-b579-b902919a7f3c") + ) + (instances + (project "telefonfis" + (path "/48551a65-e44e-4120-80f1-f18162cd2670" + (reference "U1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 62.23 55.88 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "427e2542-f2ca-48ca-8a86-3eb91626ca5f") + (property "Reference" "#PWR02" + (at 66.04 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "+5V" + (at 58.42 55.8799 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 62.23 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 62.23 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 62.23 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "6c576626-0c4e-4651-b701-4a44bec53661") + ) + (instances + (project "telefonfis" + (path "/48551a65-e44e-4120-80f1-f18162cd2670" + (reference "#PWR02") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:Earth") + (at 83.82 60.96 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "91464eb2-2002-4464-bb52-3e4810d0ff91") + (property "Reference" "#PWR01" + (at 83.82 67.31 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "Earth" + (at 83.82 66.04 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 83.82 60.96 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 83.82 60.96 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"Earth\"" + (at 83.82 60.96 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "ceb68c74-5de6-4bd0-98b0-d688f547c91e") + ) + (instances + (project "telefonfis" + (path "/48551a65-e44e-4120-80f1-f18162cd2670" + (reference "#PWR01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R") + (at 91.44 53.34 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f2507994-1a71-487b-b281-e15d9b45e6ed") + (property "Reference" "R1" + (at 91.44 46.99 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "10KΩ" + (at 91.44 49.53 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 91.44 55.118 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 91.44 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor" + (at 91.44 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "7332f588-11f2-4b2a-bff6-92a630a822ff") + ) + (pin "2" + (uuid "3d4c61f5-895e-4978-b85a-85734ade767b") + ) + (instances + (project "telefonfis" + (path "/48551a65-e44e-4120-80f1-f18162cd2670" + (reference "R1") + (unit 1) + ) + ) + ) + ) + (sheet_instances + (path "/" + (page "1") + ) + ) +)
\ No newline at end of file |