diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | cmake/hugo.cmake | 21 | ||||
-rw-r--r-- | fw/app/src/update.c | 18 | ||||
-rw-r--r-- | pcb/.gitignore | 1 | ||||
-rw-r--r-- | pcb/ethernet.kicad_sch | 4 | ||||
-rw-r--r-- | pcb/io.kicad_sch | 4 | ||||
-rw-r--r-- | pcb/iot-contact.kicad_pcb | 85 | ||||
-rw-r--r-- | pcb/iot-contact.kicad_pro | 224 | ||||
-rw-r--r-- | pcb/iot-contact.kicad_sch | 578 | ||||
-rw-r--r-- | pcb/power.kicad_sch | 4 | ||||
-rw-r--r-- | pcb/processor.kicad_sch | 4 | ||||
-rw-r--r-- | web/.gitignore | 2 | ||||
-rw-r--r-- | web/CMakeLists.txt | 9 | ||||
-rw-r--r-- | web/LICENSE.txt | 428 | ||||
-rw-r--r-- | web/hugo.toml | 2 | ||||
-rw-r--r-- | web/layouts/baseof.html | 11 | ||||
-rw-r--r-- | web/layouts/home.html | 3 |
17 files changed, 1122 insertions, 277 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a21c5d0..90eac62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,3 +6,4 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) add_subdirectory(fw) add_subdirectory(pcb) +add_subdirectory(web) diff --git a/cmake/hugo.cmake b/cmake/hugo.cmake new file mode 100644 index 0000000..e065f8b --- /dev/null +++ b/cmake/hugo.cmake @@ -0,0 +1,21 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +function(hugo_site target source sink) + add_custom_target( + "${target}" + ALL + DEPENDS + ${sink} + ) + + add_custom_command( + OUTPUT + ${sink} + COMMAND + hugo --source ${source} --destination ${sink} + DEPENDS + ${source} + ) +endfunction() diff --git a/fw/app/src/update.c b/fw/app/src/update.c index ff4ce6a..5e119eb 100644 --- a/fw/app/src/update.c +++ b/fw/app/src/update.c @@ -8,11 +8,14 @@ #include <stdint.h> #include <zephyr/dfu/flash_img.h> +#include <zephyr/dfu/mcuboot.h> #include <zephyr/logging/log.h> +#include <zephyr/logging/log_ctrl.h> #include <zephyr/net/http/server.h> #include <zephyr/net/http/service.h> #include <zephyr/net/http/status.h> #include <zephyr/storage/flash_map.h> +#include <zephyr/sys/reboot.h> LOG_MODULE_REGISTER(update); @@ -74,8 +77,21 @@ static int update_handler( LOG_ERR("Processed %zd octets but wrote %zd", processed, written); return ret; } - LOG_INF("Handled update request receiving %zd octets.", processed); + LOG_DBG("Received %zd octets.", processed); processed = 0; + + const bool permanent = true; + ret = boot_request_upgrade((int)permanent); + if (ret < 0) { + LOG_ERR("Failed to mark uploaded image for update (%d)", ret); + return ret; + } + + LOG_INF("New application firmware uploaded and marked for update"); + + LOG_INF("Rebooting to complete remote update"); + log_flush(); + sys_reboot(SYS_REBOOT_COLD); } return 0; diff --git a/pcb/.gitignore b/pcb/.gitignore index 8d6124a..dfd09f9 100644 --- a/pcb/.gitignore +++ b/pcb/.gitignore @@ -2,3 +2,4 @@ fp-info-cache *.lck *auto_saved_files* +*-backups diff --git a/pcb/ethernet.kicad_sch b/pcb/ethernet.kicad_sch index 134a23e..748e1d9 100644 --- a/pcb/ethernet.kicad_sch +++ b/pcb/ethernet.kicad_sch @@ -1,7 +1,7 @@ (kicad_sch - (version 20231120) + (version 20250114) (generator "eeschema") - (generator_version "8.0") + (generator_version "9.0") (uuid "6035e8f9-9265-4827-a399-c86b4c4dba71") (paper "A4") (title_block diff --git a/pcb/io.kicad_sch b/pcb/io.kicad_sch index 97cff19..840c80c 100644 --- a/pcb/io.kicad_sch +++ b/pcb/io.kicad_sch @@ -1,7 +1,7 @@ (kicad_sch - (version 20231120) + (version 20250114) (generator "eeschema") - (generator_version "8.0") + (generator_version "9.0") (uuid "74bcab07-0059-4866-8d30-dd2933051a6c") (paper "A4") (title_block diff --git a/pcb/iot-contact.kicad_pcb b/pcb/iot-contact.kicad_pcb index ef218ba..f230f06 100644 --- a/pcb/iot-contact.kicad_pcb +++ b/pcb/iot-contact.kicad_pcb @@ -1,2 +1,83 @@ -(kicad_pcb (version 20240108) (generator "pcbnew") (generator_version "8.0") -)
\ No newline at end of file +(kicad_pcb + (version 20241229) + (generator "pcbnew") + (generator_version "9.0") + (general + (thickness 1.6) + (legacy_teardrops no) + ) + (paper "A4") + (layers + (0 "F.Cu" signal) + (2 "B.Cu" signal) + (9 "F.Adhes" user "F.Adhesive") + (11 "B.Adhes" user "B.Adhesive") + (13 "F.Paste" user) + (15 "B.Paste" user) + (5 "F.SilkS" user "F.Silkscreen") + (7 "B.SilkS" user "B.Silkscreen") + (1 "F.Mask" user) + (3 "B.Mask" user) + (17 "Dwgs.User" user "User.Drawings") + (19 "Cmts.User" user "User.Comments") + (21 "Eco1.User" user "User.Eco1") + (23 "Eco2.User" user "User.Eco2") + (25 "Edge.Cuts" user) + (27 "Margin" user) + (31 "F.CrtYd" user "F.Courtyard") + (29 "B.CrtYd" user "B.Courtyard") + (35 "F.Fab" user) + (33 "B.Fab" user) + (39 "User.1" user) + (41 "User.2" user) + (43 "User.3" user) + (45 "User.4" user) + ) + (setup + (pad_to_mask_clearance 0) + (allow_soldermask_bridges_in_footprints no) + (tenting front back) + (pcbplotparams + (layerselection 0x00000000_00000000_55555555_5755f5ff) + (plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000) + (disableapertmacros no) + (usegerberextensions no) + (usegerberattributes yes) + (usegerberadvancedattributes yes) + (creategerberjobfile yes) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) + (svgprecision 4) + (plotframeref no) + (mode 1) + (useauxorigin no) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15.000000) + (pdf_front_fp_property_popups yes) + (pdf_back_fp_property_popups yes) + (pdf_metadata yes) + (pdf_single_document no) + (dxfpolygonmode yes) + (dxfimperialunits yes) + (dxfusepcbnewfont yes) + (psnegative no) + (psa4output no) + (plot_black_and_white yes) + (plotinvisibletext no) + (sketchpadsonfab no) + (plotpadnumbers no) + (hidednponfab no) + (sketchdnponfab yes) + (crossoutdnponfab yes) + (subtractmaskfromsilk no) + (outputformat 1) + (mirror no) + (drillshape 1) + (scaleselection 1) + (outputdirectory "") + ) + ) + (net 0 "") + (embedded_fonts no) +) diff --git a/pcb/iot-contact.kicad_pro b/pcb/iot-contact.kicad_pro index cf89982..0d8d7a0 100644 --- a/pcb/iot-contact.kicad_pro +++ b/pcb/iot-contact.kicad_pro @@ -2,12 +2,212 @@ "board": { "3dviewports": [], "design_settings": { - "defaults": {}, + "defaults": { + "apply_defaults_to_fp_fields": false, + "apply_defaults_to_fp_shapes": false, + "apply_defaults_to_fp_text": false, + "board_outline_line_width": 0.05, + "copper_line_width": 0.2, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.05, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": true, + "text_position": 0, + "units_format": 0 + }, + "fab_line_width": 0.1, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.1, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 0.8, + "height": 1.27, + "width": 2.54 + }, + "silk_line_width": 0.1, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.1, + "silk_text_upright": false, + "zones": { + "min_clearance": 0.5 + } + }, "diff_pair_dimensions": [], "drc_exclusions": [], - "rules": {}, + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "creepage": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_filters_mismatch": "ignore", + "footprint_symbol_mismatch": "warning", + "footprint_type_mismatch": "ignore", + "hole_clearance": "error", + "hole_to_hole": "warning", + "holes_co_located": "warning", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "mirrored_text_on_front_layer": "warning", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "net_conflict": "warning", + "nonmirrored_text_on_back_layer": "warning", + "npth_inside_courtyard": "ignore", + "padstack": "warning", + "pth_inside_courtyard": "ignore", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_angle": "error", + "track_dangling": "warning", + "track_segment_length": "error", + "track_width": "error", + "tracks_crossing": "error", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "min_groove_width": 0.0, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.2, + "min_microvia_drill": 0.1, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.8, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.0, + "min_via_annular_width": 0.1, + "min_via_diameter": 0.5, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_onpthpad": true, + "td_onroundshapesonly": false, + "td_onsmdpad": true, + "td_ontrackend": false, + "td_onvia": true + } + ], + "teardrop_parameters": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], "track_widths": [], - "via_dimensions": [] + "tuning_pattern_settings": { + "diff_pair_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 1.0 + }, + "diff_pair_skew_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + }, + "single_track_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + } + }, + "via_dimensions": [], + "zones_allow_external_fillets": false }, "ipc2581": { "dist": "", @@ -16,6 +216,7 @@ "mfg": "", "mpn": "" }, + "layer_pairs": [], "layer_presets": [], "viewports": [] }, @@ -210,10 +411,15 @@ "duplicate_sheet_names": "error", "endpoint_off_grid": "warning", "extra_units": "error", + "footprint_filter": "ignore", + "footprint_link_issues": "warning", + "four_way_junction": "ignore", "global_label_dangling": "warning", "hier_label_mismatch": "error", "label_dangling": "error", + "label_multiple_wires": "warning", "lib_symbol_issues": "warning", + "lib_symbol_mismatch": "warning", "missing_bidi_pin": "warning", "missing_input_pin": "warning", "missing_power_pin": "error", @@ -226,9 +432,14 @@ "pin_not_driven": "error", "pin_to_pin": "warning", "power_pin_not_driven": "error", + "same_local_global_label": "warning", + "similar_label_and_power": "warning", "similar_labels": "warning", + "similar_power": "warning", "simulation_model_issue": "ignore", + "single_global_label": "ignore", "unannotated": "error", + "unconnected_wire_endpoint": "warning", "unit_value_mismatch": "error", "unresolved_variable": "error", "wire_dangling": "error" @@ -240,7 +451,7 @@ }, "meta": { "filename": "iot-contact.kicad_pro", - "version": 1 + "version": 3 }, "net_settings": { "classes": [ @@ -255,6 +466,7 @@ "microvia_drill": 0.1, "name": "Default", "pcb_color": "rgba(0, 0, 0, 0.000)", + "priority": 2147483647, "schematic_color": "rgba(0, 0, 0, 0.000)", "track_width": 0.2, "via_diameter": 0.6, @@ -263,7 +475,7 @@ } ], "meta": { - "version": 3 + "version": 4 }, "net_colors": null, "netclass_assignments": null, @@ -363,6 +575,7 @@ ], "filter_string": "", "group_symbols": false, + "include_excluded_from_bom": false, "name": "", "sort_asc": false, "sort_field": "Reference" @@ -397,6 +610,7 @@ "net_format_name": "", "page_layout_descr_file": "", "plot_directory": "", + "space_save_all_events": true, "spice_current_sheet_as_root": false, "spice_external_command": "spice \"%I\"", "spice_model_current_sheet_as_root": true, diff --git a/pcb/iot-contact.kicad_sch b/pcb/iot-contact.kicad_sch index 515611f..77ac199 100644 --- a/pcb/iot-contact.kicad_sch +++ b/pcb/iot-contact.kicad_sch @@ -1,7 +1,7 @@ (kicad_sch - (version 20231120) + (version 20250114) (generator "eeschema") - (generator_version "8.0") + (generator_version "9.0") (uuid "5defd195-0277-4d04-9f5f-69e505c9845c") (paper "A4") (title_block @@ -10,7 +10,9 @@ (lib_symbols (symbol "Connector:Conn_01x02_Socket" (pin_names - (offset 1.016) hide) + (offset 1.016) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -84,10 +86,10 @@ ) ) (symbol "Conn_01x02_Socket_1_1" - (arc - (start 0 -2.032) - (mid -0.5058 -2.54) - (end 0 -3.048) + (polyline + (pts + (xy -1.27 0) (xy -0.508 0) + ) (stroke (width 0.1524) (type default) @@ -108,10 +110,10 @@ (type none) ) ) - (polyline - (pts - (xy -1.27 0) (xy -0.508 0) - ) + (arc + (start 0 -0.508) + (mid -0.5058 0) + (end 0 0.508) (stroke (width 0.1524) (type default) @@ -121,9 +123,9 @@ ) ) (arc - (start 0 0.508) - (mid -0.5058 0) - (end 0 -0.508) + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) (stroke (width 0.1524) (type default) @@ -169,10 +171,13 @@ ) ) ) + (embedded_fonts no) ) (symbol "Connector:Conn_01x03_Socket" (pin_names - (offset 1.016) hide) + (offset 1.016) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -246,10 +251,10 @@ ) ) (symbol "Conn_01x03_Socket_1_1" - (arc - (start 0 -2.032) - (mid -0.5058 -2.54) - (end 0 -3.048) + (polyline + (pts + (xy -1.27 2.54) (xy -0.508 2.54) + ) (stroke (width 0.1524) (type default) @@ -260,7 +265,7 @@ ) (polyline (pts - (xy -1.27 -2.54) (xy -0.508 -2.54) + (xy -1.27 0) (xy -0.508 0) ) (stroke (width 0.1524) @@ -272,7 +277,7 @@ ) (polyline (pts - (xy -1.27 0) (xy -0.508 0) + (xy -1.27 -2.54) (xy -0.508 -2.54) ) (stroke (width 0.1524) @@ -282,10 +287,10 @@ (type none) ) ) - (polyline - (pts - (xy -1.27 2.54) (xy -0.508 2.54) - ) + (arc + (start 0 2.032) + (mid -0.5058 2.54) + (end 0 3.048) (stroke (width 0.1524) (type default) @@ -295,9 +300,9 @@ ) ) (arc - (start 0 0.508) + (start 0 -0.508) (mid -0.5058 0) - (end 0 -0.508) + (end 0 0.508) (stroke (width 0.1524) (type default) @@ -307,9 +312,9 @@ ) ) (arc - (start 0 3.048) - (mid -0.5058 2.54) - (end 0 2.032) + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) (stroke (width 0.1524) (type default) @@ -373,10 +378,13 @@ ) ) ) + (embedded_fonts no) ) (symbol "Connector:Conn_01x04_Socket" (pin_names - (offset 1.016) hide) + (offset 1.016) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -450,10 +458,10 @@ ) ) (symbol "Conn_01x04_Socket_1_1" - (arc - (start 0 -4.572) - (mid -0.5058 -5.08) - (end 0 -5.588) + (polyline + (pts + (xy -1.27 2.54) (xy -0.508 2.54) + ) (stroke (width 0.1524) (type default) @@ -462,10 +470,10 @@ (type none) ) ) - (arc - (start 0 -2.032) - (mid -0.5058 -2.54) - (end 0 -3.048) + (polyline + (pts + (xy -1.27 0) (xy -0.508 0) + ) (stroke (width 0.1524) (type default) @@ -476,7 +484,7 @@ ) (polyline (pts - (xy -1.27 -5.08) (xy -0.508 -5.08) + (xy -1.27 -2.54) (xy -0.508 -2.54) ) (stroke (width 0.1524) @@ -488,7 +496,7 @@ ) (polyline (pts - (xy -1.27 -2.54) (xy -0.508 -2.54) + (xy -1.27 -5.08) (xy -0.508 -5.08) ) (stroke (width 0.1524) @@ -498,10 +506,10 @@ (type none) ) ) - (polyline - (pts - (xy -1.27 0) (xy -0.508 0) - ) + (arc + (start 0 2.032) + (mid -0.5058 2.54) + (end 0 3.048) (stroke (width 0.1524) (type default) @@ -510,10 +518,10 @@ (type none) ) ) - (polyline - (pts - (xy -1.27 2.54) (xy -0.508 2.54) - ) + (arc + (start 0 -0.508) + (mid -0.5058 0) + (end 0 0.508) (stroke (width 0.1524) (type default) @@ -523,9 +531,9 @@ ) ) (arc - (start 0 0.508) - (mid -0.5058 0) - (end 0 -0.508) + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) (stroke (width 0.1524) (type default) @@ -535,9 +543,9 @@ ) ) (arc - (start 0 3.048) - (mid -0.5058 2.54) - (end 0 2.032) + (start 0 -5.588) + (mid -0.5058 -5.08) + (end 0 -4.572) (stroke (width 0.1524) (type default) @@ -619,6 +627,7 @@ ) ) ) + (embedded_fonts no) ) (symbol "Connector:Conn_ARM_JTAG_SWD_10" (pin_names @@ -714,8 +723,8 @@ ) ) (rectangle - (start -0.254 -12.7) - (end 0.254 -11.684) + (start -0.254 12.7) + (end 0.254 11.684) (stroke (width 0) (type default) @@ -725,8 +734,8 @@ ) ) (rectangle - (start -0.254 12.7) - (end 0.254 11.684) + (start -0.254 -12.7) + (end 0.254 -11.684) (stroke (width 0) (type default) @@ -747,8 +756,8 @@ ) ) (rectangle - (start 10.16 -2.794) - (end 9.144 -2.286) + (start 10.16 7.874) + (end 9.144 7.366) (stroke (width 0) (type default) @@ -769,8 +778,8 @@ ) ) (rectangle - (start 10.16 7.874) - (end 9.144 7.366) + (start 10.16 -2.794) + (end 9.144 -2.286) (stroke (width 0) (type default) @@ -792,17 +801,18 @@ (type none) ) ) - (pin power_in line - (at 0 15.24 270) + (pin no_connect line + (at -10.16 0 0) (length 2.54) - (name "VTref" + (hide yes) + (name "KEY" (effects (font (size 1.27 1.27) ) ) ) - (number "1" + (number "7" (effects (font (size 1.27 1.27) @@ -810,17 +820,17 @@ ) ) ) - (pin open_collector line - (at 12.7 7.62 180) + (pin passive line + (at -2.54 -15.24 90) (length 2.54) - (name "~{RESET}" + (name "GNDDetect" (effects (font (size 1.27 1.27) ) ) ) - (number "10" + (number "9" (effects (font (size 1.27 1.27) @@ -828,17 +838,17 @@ ) ) ) - (pin bidirectional line - (at 12.7 0 180) + (pin power_in line + (at 0 15.24 270) (length 2.54) - (name "SWDIO/TMS" + (name "VTref" (effects (font (size 1.27 1.27) ) ) ) - (number "2" + (number "1" (effects (font (size 1.27 1.27) @@ -864,17 +874,18 @@ ) ) ) - (pin output line - (at 12.7 2.54 180) + (pin passive line + (at 0 -15.24 90) (length 2.54) - (name "SWCLK/TCK" + (hide yes) + (name "GND" (effects (font (size 1.27 1.27) ) ) ) - (number "4" + (number "5" (effects (font (size 1.27 1.27) @@ -882,17 +893,17 @@ ) ) ) - (pin passive line - (at 0 -15.24 90) - (length 2.54) hide - (name "GND" + (pin open_collector line + (at 12.7 7.62 180) + (length 2.54) + (name "~{RESET}" (effects (font (size 1.27 1.27) ) ) ) - (number "5" + (number "10" (effects (font (size 1.27 1.27) @@ -900,17 +911,17 @@ ) ) ) - (pin input line - (at 12.7 -2.54 180) + (pin output line + (at 12.7 2.54 180) (length 2.54) - (name "SWO/TDO" + (name "SWCLK/TCK" (effects (font (size 1.27 1.27) ) ) ) - (number "6" + (number "4" (effects (font (size 1.27 1.27) @@ -918,17 +929,17 @@ ) ) ) - (pin no_connect line - (at -10.16 0 0) - (length 2.54) hide - (name "KEY" + (pin bidirectional line + (at 12.7 0 180) + (length 2.54) + (name "SWDIO/TMS" (effects (font (size 1.27 1.27) ) ) ) - (number "7" + (number "2" (effects (font (size 1.27 1.27) @@ -936,17 +947,17 @@ ) ) ) - (pin output line - (at 12.7 -5.08 180) + (pin input line + (at 12.7 -2.54 180) (length 2.54) - (name "NC/TDI" + (name "SWO/TDO" (effects (font (size 1.27 1.27) ) ) ) - (number "8" + (number "6" (effects (font (size 1.27 1.27) @@ -954,17 +965,17 @@ ) ) ) - (pin passive line - (at -2.54 -15.24 90) + (pin output line + (at 12.7 -5.08 180) (length 2.54) - (name "GNDDetect" + (name "NC/TDI" (effects (font (size 1.27 1.27) ) ) ) - (number "9" + (number "8" (effects (font (size 1.27 1.27) @@ -973,6 +984,7 @@ ) ) ) + (embedded_fonts no) ) (symbol "Connector:RJ45_LED_Shielded" (pin_names @@ -1047,7 +1059,7 @@ (symbol "RJ45_LED_Shielded_0_1" (polyline (pts - (xy -7.62 -7.62) (xy -6.35 -7.62) + (xy -7.62 10.16) (xy -6.35 10.16) ) (stroke (width 0) @@ -1059,7 +1071,7 @@ ) (polyline (pts - (xy -7.62 -5.08) (xy -6.35 -5.08) + (xy -7.62 7.62) (xy -6.35 7.62) ) (stroke (width 0) @@ -1071,7 +1083,7 @@ ) (polyline (pts - (xy -7.62 7.62) (xy -6.35 7.62) + (xy -7.62 -5.08) (xy -6.35 -5.08) ) (stroke (width 0) @@ -1083,7 +1095,7 @@ ) (polyline (pts - (xy -7.62 10.16) (xy -6.35 10.16) + (xy -7.62 -7.62) (xy -6.35 -7.62) ) (stroke (width 0) @@ -1095,7 +1107,7 @@ ) (polyline (pts - (xy -6.858 -5.842) (xy -5.842 -5.842) + (xy -6.858 9.398) (xy -5.842 9.398) ) (stroke (width 0) @@ -1107,7 +1119,7 @@ ) (polyline (pts - (xy -6.858 9.398) (xy -5.842 9.398) + (xy -6.858 -5.842) (xy -5.842 -5.842) ) (stroke (width 0) @@ -1119,7 +1131,7 @@ ) (polyline (pts - (xy -6.35 -7.62) (xy -6.35 -6.858) + (xy -6.35 10.16) (xy -6.35 9.398) ) (stroke (width 0) @@ -1131,7 +1143,7 @@ ) (polyline (pts - (xy -6.35 -5.08) (xy -6.35 -5.842) + (xy -6.35 9.398) (xy -6.858 8.382) (xy -5.842 8.382) (xy -6.35 9.398) ) (stroke (width 0) @@ -1155,7 +1167,7 @@ ) (polyline (pts - (xy -6.35 10.16) (xy -6.35 9.398) + (xy -6.35 1.905) (xy -5.08 1.905) (xy -5.08 1.905) ) (stroke (width 0) @@ -1167,7 +1179,7 @@ ) (polyline (pts - (xy -5.08 -6.223) (xy -5.207 -6.604) + (xy -6.35 0.635) (xy -5.08 0.635) (xy -5.08 0.635) ) (stroke (width 0) @@ -1179,7 +1191,7 @@ ) (polyline (pts - (xy -5.08 -5.588) (xy -5.207 -5.969) + (xy -6.35 -0.635) (xy -5.08 -0.635) (xy -5.08 -0.635) ) (stroke (width 0) @@ -1191,7 +1203,7 @@ ) (polyline (pts - (xy -5.08 4.445) (xy -6.35 4.445) + (xy -6.35 -1.905) (xy -5.08 -1.905) (xy -5.08 -1.905) ) (stroke (width 0) @@ -1203,7 +1215,7 @@ ) (polyline (pts - (xy -5.08 5.715) (xy -6.35 5.715) + (xy -6.35 -3.175) (xy -5.08 -3.175) (xy -5.08 -3.175) ) (stroke (width 0) @@ -1215,7 +1227,9 @@ ) (polyline (pts - (xy -5.08 9.017) (xy -5.207 8.636) + (xy -6.35 -4.445) (xy -6.35 6.985) (xy 3.81 6.985) (xy 3.81 4.445) (xy 5.08 4.445) (xy 5.08 3.175) + (xy 6.35 3.175) (xy 6.35 -0.635) (xy 5.08 -0.635) (xy 5.08 -1.905) (xy 3.81 -1.905) (xy 3.81 -4.445) + (xy -6.35 -4.445) (xy -6.35 -4.445) ) (stroke (width 0) @@ -1227,7 +1241,7 @@ ) (polyline (pts - (xy -5.08 9.652) (xy -5.207 9.271) + (xy -6.35 -5.08) (xy -6.35 -5.842) ) (stroke (width 0) @@ -1239,7 +1253,7 @@ ) (polyline (pts - (xy -6.35 -3.175) (xy -5.08 -3.175) (xy -5.08 -3.175) + (xy -6.35 -5.842) (xy -6.858 -6.858) (xy -5.842 -6.858) (xy -6.35 -5.842) ) (stroke (width 0) @@ -1251,7 +1265,7 @@ ) (polyline (pts - (xy -6.35 -1.905) (xy -5.08 -1.905) (xy -5.08 -1.905) + (xy -6.35 -7.62) (xy -6.35 -6.858) ) (stroke (width 0) @@ -1263,7 +1277,7 @@ ) (polyline (pts - (xy -6.35 -0.635) (xy -5.08 -0.635) (xy -5.08 -0.635) + (xy -5.588 9.144) (xy -5.08 9.652) (xy -5.461 9.525) ) (stroke (width 0) @@ -1275,7 +1289,7 @@ ) (polyline (pts - (xy -6.35 0.635) (xy -5.08 0.635) (xy -5.08 0.635) + (xy -5.588 8.509) (xy -5.08 9.017) (xy -5.461 8.89) ) (stroke (width 0) @@ -1287,7 +1301,7 @@ ) (polyline (pts - (xy -6.35 1.905) (xy -5.08 1.905) (xy -5.08 1.905) + (xy -5.588 -6.096) (xy -5.08 -5.588) (xy -5.461 -5.715) ) (stroke (width 0) @@ -1311,7 +1325,7 @@ ) (polyline (pts - (xy -5.588 -6.096) (xy -5.08 -5.588) (xy -5.461 -5.715) + (xy -5.08 9.652) (xy -5.207 9.271) ) (stroke (width 0) @@ -1323,7 +1337,7 @@ ) (polyline (pts - (xy -5.588 8.509) (xy -5.08 9.017) (xy -5.461 8.89) + (xy -5.08 9.017) (xy -5.207 8.636) ) (stroke (width 0) @@ -1335,7 +1349,7 @@ ) (polyline (pts - (xy -5.588 9.144) (xy -5.08 9.652) (xy -5.461 9.525) + (xy -5.08 5.715) (xy -6.35 5.715) ) (stroke (width 0) @@ -1347,7 +1361,7 @@ ) (polyline (pts - (xy -5.08 3.175) (xy -6.35 3.175) (xy -6.35 3.175) + (xy -5.08 4.445) (xy -6.35 4.445) ) (stroke (width 0) @@ -1359,7 +1373,7 @@ ) (polyline (pts - (xy -6.35 -5.842) (xy -6.858 -6.858) (xy -5.842 -6.858) (xy -6.35 -5.842) + (xy -5.08 3.175) (xy -6.35 3.175) (xy -6.35 3.175) ) (stroke (width 0) @@ -1371,7 +1385,7 @@ ) (polyline (pts - (xy -6.35 9.398) (xy -6.858 8.382) (xy -5.842 8.382) (xy -6.35 9.398) + (xy -5.08 -5.588) (xy -5.207 -5.969) ) (stroke (width 0) @@ -1383,9 +1397,7 @@ ) (polyline (pts - (xy -6.35 -4.445) (xy -6.35 6.985) (xy 3.81 6.985) (xy 3.81 4.445) (xy 5.08 4.445) (xy 5.08 3.175) - (xy 6.35 3.175) (xy 6.35 -0.635) (xy 5.08 -0.635) (xy 5.08 -1.905) (xy 3.81 -1.905) (xy 3.81 -4.445) - (xy -6.35 -4.445) (xy -6.35 -4.445) + (xy -5.08 -6.223) (xy -5.207 -6.604) ) (stroke (width 0) @@ -1409,7 +1421,7 @@ ) (symbol "RJ45_LED_Shielded_1_1" (pin passive line - (at 10.16 -7.62 180) + (at -10.16 10.16 0) (length 2.54) (name "~" (effects @@ -1418,7 +1430,7 @@ ) ) ) - (number "1" + (number "9" (effects (font (size 1.27 1.27) @@ -1481,7 +1493,7 @@ ) ) (pin passive line - (at 10.16 -5.08 180) + (at 0 -12.7 90) (length 2.54) (name "~" (effects @@ -1490,7 +1502,7 @@ ) ) ) - (number "2" + (number "SH" (effects (font (size 1.27 1.27) @@ -1499,7 +1511,7 @@ ) ) (pin passive line - (at 10.16 -2.54 180) + (at 10.16 10.16 180) (length 2.54) (name "~" (effects @@ -1508,7 +1520,7 @@ ) ) ) - (number "3" + (number "8" (effects (font (size 1.27 1.27) @@ -1517,7 +1529,7 @@ ) ) (pin passive line - (at 10.16 0 180) + (at 10.16 7.62 180) (length 2.54) (name "~" (effects @@ -1526,7 +1538,7 @@ ) ) ) - (number "4" + (number "7" (effects (font (size 1.27 1.27) @@ -1535,7 +1547,7 @@ ) ) (pin passive line - (at 10.16 2.54 180) + (at 10.16 5.08 180) (length 2.54) (name "~" (effects @@ -1544,7 +1556,7 @@ ) ) ) - (number "5" + (number "6" (effects (font (size 1.27 1.27) @@ -1553,7 +1565,7 @@ ) ) (pin passive line - (at 10.16 5.08 180) + (at 10.16 2.54 180) (length 2.54) (name "~" (effects @@ -1562,7 +1574,7 @@ ) ) ) - (number "6" + (number "5" (effects (font (size 1.27 1.27) @@ -1571,7 +1583,7 @@ ) ) (pin passive line - (at 10.16 7.62 180) + (at 10.16 0 180) (length 2.54) (name "~" (effects @@ -1580,7 +1592,7 @@ ) ) ) - (number "7" + (number "4" (effects (font (size 1.27 1.27) @@ -1589,7 +1601,7 @@ ) ) (pin passive line - (at 10.16 10.16 180) + (at 10.16 -2.54 180) (length 2.54) (name "~" (effects @@ -1598,7 +1610,7 @@ ) ) ) - (number "8" + (number "3" (effects (font (size 1.27 1.27) @@ -1607,7 +1619,7 @@ ) ) (pin passive line - (at -10.16 10.16 0) + (at 10.16 -5.08 180) (length 2.54) (name "~" (effects @@ -1616,7 +1628,7 @@ ) ) ) - (number "9" + (number "2" (effects (font (size 1.27 1.27) @@ -1625,7 +1637,7 @@ ) ) (pin passive line - (at 0 -12.7 90) + (at 10.16 -7.62 180) (length 2.54) (name "~" (effects @@ -1634,7 +1646,7 @@ ) ) ) - (number "SH" + (number "1" (effects (font (size 1.27 1.27) @@ -1643,10 +1655,13 @@ ) ) ) + (embedded_fonts no) ) (symbol "Connector_Generic:Conn_01x02" (pin_names - (offset 1.016) hide) + (offset 1.016) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -1713,14 +1728,14 @@ ) (symbol "Conn_01x02_1_1" (rectangle - (start -1.27 -2.413) - (end 0 -2.667) + (start -1.27 1.27) + (end 1.27 -3.81) (stroke - (width 0.1524) + (width 0.254) (type default) ) (fill - (type none) + (type background) ) ) (rectangle @@ -1735,14 +1750,14 @@ ) ) (rectangle - (start -1.27 1.27) - (end 1.27 -3.81) + (start -1.27 -2.413) + (end 0 -2.667) (stroke - (width 0.254) + (width 0.1524) (type default) ) (fill - (type background) + (type none) ) ) (pin passive line @@ -1782,10 +1797,13 @@ ) ) ) + (embedded_fonts no) ) (symbol "Connector_Generic:Conn_01x04" (pin_names - (offset 1.016) hide) + (offset 1.016) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -1852,19 +1870,19 @@ ) (symbol "Conn_01x04_1_1" (rectangle - (start -1.27 -4.953) - (end 0 -5.207) + (start -1.27 3.81) + (end 1.27 -6.35) (stroke - (width 0.1524) + (width 0.254) (type default) ) (fill - (type none) + (type background) ) ) (rectangle - (start -1.27 -2.413) - (end 0 -2.667) + (start -1.27 2.667) + (end 0 2.413) (stroke (width 0.1524) (type default) @@ -1885,8 +1903,8 @@ ) ) (rectangle - (start -1.27 2.667) - (end 0 2.413) + (start -1.27 -2.413) + (end 0 -2.667) (stroke (width 0.1524) (type default) @@ -1896,14 +1914,14 @@ ) ) (rectangle - (start -1.27 3.81) - (end 1.27 -6.35) + (start -1.27 -4.953) + (end 0 -5.207) (stroke - (width 0.254) + (width 0.1524) (type default) ) (fill - (type background) + (type none) ) ) (pin passive line @@ -1979,11 +1997,16 @@ ) ) ) + (embedded_fonts no) ) (symbol "Device:LED" - (pin_numbers hide) + (pin_numbers + (hide yes) + ) (pin_names - (offset 1.016) hide) + (offset 1.016) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -2051,10 +2074,10 @@ (symbol "LED_0_1" (polyline (pts - (xy -1.27 -1.27) (xy -1.27 1.27) + (xy -3.048 -0.762) (xy -4.572 -2.286) (xy -3.81 -2.286) (xy -4.572 -2.286) (xy -4.572 -1.524) ) (stroke - (width 0.254) + (width 0) (type default) ) (fill @@ -2063,7 +2086,7 @@ ) (polyline (pts - (xy -1.27 0) (xy 1.27 0) + (xy -1.778 -0.762) (xy -3.302 -2.286) (xy -2.54 -2.286) (xy -3.302 -2.286) (xy -3.302 -1.524) ) (stroke (width 0) @@ -2075,10 +2098,10 @@ ) (polyline (pts - (xy 1.27 -1.27) (xy 1.27 1.27) (xy -1.27 0) (xy 1.27 -1.27) + (xy -1.27 0) (xy 1.27 0) ) (stroke - (width 0.254) + (width 0) (type default) ) (fill @@ -2087,10 +2110,10 @@ ) (polyline (pts - (xy -3.048 -0.762) (xy -4.572 -2.286) (xy -3.81 -2.286) (xy -4.572 -2.286) (xy -4.572 -1.524) + (xy -1.27 -1.27) (xy -1.27 1.27) ) (stroke - (width 0) + (width 0.254) (type default) ) (fill @@ -2099,10 +2122,10 @@ ) (polyline (pts - (xy -1.778 -0.762) (xy -3.302 -2.286) (xy -2.54 -2.286) (xy -3.302 -2.286) (xy -3.302 -1.524) + (xy 1.27 -1.27) (xy 1.27 1.27) (xy -1.27 0) (xy 1.27 -1.27) ) (stroke - (width 0) + (width 0.254) (type default) ) (fill @@ -2148,11 +2171,16 @@ ) ) ) + (embedded_fonts no) ) (symbol "Switch:SW_Push" - (pin_numbers hide) + (pin_numbers + (hide yes) + ) (pin_names - (offset 1.016) hide) + (offset 1.016) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -2233,10 +2261,9 @@ (type none) ) ) - (polyline - (pts - (xy 2.54 1.27) (xy -2.54 1.27) - ) + (circle + (center 2.032 0) + (radius 0.508) (stroke (width 0) (type default) @@ -2245,9 +2272,10 @@ (type none) ) ) - (circle - (center 2.032 0) - (radius 0.508) + (polyline + (pts + (xy 2.54 1.27) (xy -2.54 1.27) + ) (stroke (width 0) (type default) @@ -2293,12 +2321,17 @@ ) ) ) + (embedded_fonts no) ) (symbol "power:+3V3" (power) - (pin_numbers hide) + (pin_numbers + (hide yes) + ) (pin_names - (offset 0) hide) + (offset 0) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -2370,7 +2403,7 @@ ) (polyline (pts - (xy 0 0) (xy 0 2.54) + (xy 0 2.54) (xy 0.762 1.27) ) (stroke (width 0) @@ -2382,7 +2415,7 @@ ) (polyline (pts - (xy 0 2.54) (xy 0.762 1.27) + (xy 0 0) (xy 0 2.54) ) (stroke (width 0) @@ -2413,12 +2446,17 @@ ) ) ) + (embedded_fonts no) ) (symbol "power:GND" (power) - (pin_numbers hide) + (pin_numbers + (hide yes) + ) (pin_names - (offset 0) hide) + (offset 0) + (hide yes) + ) (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -2509,7 +2547,28 @@ ) ) ) + (embedded_fonts no) + ) + ) + (text "NEVER use together with PoE!" + (exclude_from_sim no) + (at 104.394 180.594 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "56f4af8c-1572-4497-98f2-10a81ab55e1d") + ) + (text "TODO: RMII connection" + (exclude_from_sim no) + (at 109.474 82.55 0) + (effects + (font + (size 1.27 1.27) + ) ) + (uuid "c3f58124-5291-4425-bdfa-bb0107db73cc") ) (junction (at 181.61 135.89) @@ -3289,26 +3348,6 @@ ) (uuid "fc01db24-5887-4a05-9623-ad9b7e580703") ) - (text "NEVER use together with PoE!" - (exclude_from_sim no) - (at 104.394 180.594 0) - (effects - (font - (size 1.27 1.27) - ) - ) - (uuid "56f4af8c-1572-4497-98f2-10a81ab55e1d") - ) - (text "TODO: RMII connection" - (exclude_from_sim no) - (at 109.474 82.55 0) - (effects - (font - (size 1.27 1.27) - ) - ) - (uuid "c3f58124-5291-4425-bdfa-bb0107db73cc") - ) (symbol (lib_id "power:GND") (at 33.02 93.98 180) @@ -4909,6 +4948,10 @@ (sheet (at 66.04 63.5) (size 25.4 50.8) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) (fields_autoplaced yes) (stroke (width 0.1524) @@ -4938,123 +4981,123 @@ ) (pin "RJ45_1" bidirectional (at 66.04 97.79 180) + (uuid "fde73cdf-cb6c-4041-9383-ae4b5ad39742") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "fde73cdf-cb6c-4041-9383-ae4b5ad39742") ) (pin "RJ45_2" bidirectional (at 66.04 95.25 180) + (uuid "fedacfd4-d29d-41f2-b7a0-8954f0cf40c4") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "fedacfd4-d29d-41f2-b7a0-8954f0cf40c4") ) (pin "RJ45_3" bidirectional (at 66.04 92.71 180) + (uuid "8169ece7-df7e-4254-9131-f46b83c7c969") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "8169ece7-df7e-4254-9131-f46b83c7c969") ) (pin "RJ45_4" bidirectional (at 66.04 90.17 180) + (uuid "bfb004f4-ad51-4277-a6a4-551076bb027f") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "bfb004f4-ad51-4277-a6a4-551076bb027f") ) (pin "RJ45_5" bidirectional (at 66.04 87.63 180) + (uuid "179895de-a3b7-45cc-9e40-2b2198fb99c6") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "179895de-a3b7-45cc-9e40-2b2198fb99c6") ) (pin "RJ45_6" bidirectional (at 66.04 85.09 180) + (uuid "75473479-9807-4027-bc88-5c7d98a91575") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "75473479-9807-4027-bc88-5c7d98a91575") ) (pin "RJ45_7" bidirectional (at 66.04 82.55 180) + (uuid "1b9e55cc-ef2f-4eb6-8d63-06ef276ff7fd") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "1b9e55cc-ef2f-4eb6-8d63-06ef276ff7fd") ) (pin "RJ45_8" bidirectional (at 66.04 80.01 180) + (uuid "3c1a9b67-3f69-44dc-936d-70585e9b7b3d") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "3c1a9b67-3f69-44dc-936d-70585e9b7b3d") ) (pin "RJ45_LED1" output (at 66.04 69.85 180) + (uuid "a663f5a3-793e-464c-8d7c-7d50087c5cba") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "a663f5a3-793e-464c-8d7c-7d50087c5cba") ) (pin "RJ45_LED2" output (at 66.04 106.68 180) + (uuid "077dbbca-8cb5-454f-b4ba-208a8720678f") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "077dbbca-8cb5-454f-b4ba-208a8720678f") ) (pin "POE_GND" output (at 91.44 97.79 0) + (uuid "6c770162-6936-4729-b598-10f0375ecc24") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "6c770162-6936-4729-b598-10f0375ecc24") ) (pin "POE_VIN" output (at 91.44 95.25 0) + (uuid "1863d617-dc5e-4005-9116-05e2cde6d04b") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "1863d617-dc5e-4005-9116-05e2cde6d04b") ) (instances (project "iot-contact" @@ -5067,6 +5110,10 @@ (sheet (at 204.47 63.5) (size 36.83 50.8) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) (fields_autoplaced yes) (stroke (width 0.1524) @@ -5096,123 +5143,123 @@ ) (pin "AC_EARTH" bidirectional (at 241.3 86.36 0) + (uuid "d38d9ad1-0808-4eb3-8f04-f5d375279cad") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "d38d9ad1-0808-4eb3-8f04-f5d375279cad") ) (pin "AC_NEUTRAL" bidirectional (at 241.3 88.9 0) + (uuid "9f1bb5d9-5f27-4b27-8b9b-3c5279d0e3fd") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "9f1bb5d9-5f27-4b27-8b9b-3c5279d0e3fd") ) (pin "AC_PHASE" bidirectional (at 241.3 91.44 0) + (uuid "b45797bb-cca3-49c0-86c4-955a6b44d60c") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "b45797bb-cca3-49c0-86c4-955a6b44d60c") ) (pin "MOT_EARTH" bidirectional (at 241.3 97.79 0) + (uuid "a3defca1-3eed-4b57-ab0a-f16f59fee2c7") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "a3defca1-3eed-4b57-ab0a-f16f59fee2c7") ) (pin "MOT_NEUTRAL" bidirectional (at 241.3 100.33 0) + (uuid "3b66624d-b956-4a77-a1d2-be8580699a49") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "3b66624d-b956-4a77-a1d2-be8580699a49") ) (pin "MOT_PHASE_1" bidirectional (at 241.3 102.87 0) + (uuid "ead288da-2d52-42f6-b402-c382468e36d4") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "ead288da-2d52-42f6-b402-c382468e36d4") ) (pin "MOT_PHASE_2" bidirectional (at 241.3 105.41 0) + (uuid "e9687363-d732-4f1b-99ef-f6609013c187") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "e9687363-d732-4f1b-99ef-f6609013c187") ) (pin "CONTACT_1" bidirectional (at 241.3 74.93 0) + (uuid "45229719-3224-4355-bc91-87ebcb939c01") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "45229719-3224-4355-bc91-87ebcb939c01") ) (pin "CONTACT_2" bidirectional (at 241.3 77.47 0) + (uuid "b1fc0b36-ff3b-4224-9ca0-41809406e0d1") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "b1fc0b36-ff3b-4224-9ca0-41809406e0d1") ) (pin "MOT_DIRECTION" input (at 204.47 91.44 180) + (uuid "15ffa5d7-34f8-4089-a077-6b5e4f1b4982") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "15ffa5d7-34f8-4089-a077-6b5e4f1b4982") ) (pin "MOT_ENABLE" input (at 204.47 93.98 180) + (uuid "daa54214-4d28-4f41-9236-5a0bc4536da1") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "daa54214-4d28-4f41-9236-5a0bc4536da1") ) (pin "CONTACT_CLOSED" output (at 204.47 86.36 180) + (uuid "39bd54a3-668a-4023-9361-9308d5cb85cc") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "39bd54a3-668a-4023-9361-9308d5cb85cc") ) (instances (project "iot-contact" @@ -5225,6 +5272,10 @@ (sheet (at 127 63.5) (size 50.8 50.8) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) (fields_autoplaced yes) (stroke (width 0.1524) @@ -5255,153 +5306,153 @@ ) (pin "JTAG_TDI" input (at 135.89 63.5 90) + (uuid "b2396e60-dbe8-4bb8-a732-db86b6030721") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "b2396e60-dbe8-4bb8-a732-db86b6030721") ) (pin "JTAG_TDO" output (at 138.43 63.5 90) + (uuid "10971b42-61b0-46e8-a8d2-50c70ff33820") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "10971b42-61b0-46e8-a8d2-50c70ff33820") ) (pin "~{JTAG_RESET}" input (at 146.05 63.5 90) + (uuid "f2ff1c71-789c-460a-9357-101a7df15ffe") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "f2ff1c71-789c-460a-9357-101a7df15ffe") ) (pin "JTAG_TMS" bidirectional (at 140.97 63.5 90) + (uuid "0c7de78a-5236-4739-9d97-7135d8778045") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "0c7de78a-5236-4739-9d97-7135d8778045") ) (pin "JTAG_TCK" input (at 143.51 63.5 90) + (uuid "1bd1ac5e-60ff-4db1-8c4d-634521954100") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "1bd1ac5e-60ff-4db1-8c4d-634521954100") ) (pin "UART_RX" input (at 172.72 63.5 90) + (uuid "a4296579-b54e-479e-9ca7-f61c994fc53a") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "a4296579-b54e-479e-9ca7-f61c994fc53a") ) (pin "UART_TX" output (at 175.26 63.5 90) + (uuid "c4406d4d-c8ac-4dfa-b701-ea9c99dac27b") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "c4406d4d-c8ac-4dfa-b701-ea9c99dac27b") ) (pin "LED_UPD" output (at 171.45 114.3 270) + (uuid "d4f16e72-c2ba-411d-aeb2-672f498bc06d") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "d4f16e72-c2ba-411d-aeb2-672f498bc06d") ) (pin "LED_PWR" output (at 168.91 114.3 270) + (uuid "4b272af4-808a-41c6-b8de-ef87565f95a9") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "4b272af4-808a-41c6-b8de-ef87565f95a9") ) (pin "BTN_REBOOT" input (at 156.21 114.3 270) + (uuid "25cdef05-d216-4465-af84-0c3bcab2af5a") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "25cdef05-d216-4465-af84-0c3bcab2af5a") ) (pin "BTN_WIPE" input (at 158.75 114.3 270) + (uuid "6ad16868-63a8-44e1-a096-87e22852f914") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "6ad16868-63a8-44e1-a096-87e22852f914") ) (pin "LED_ACT" output (at 173.99 114.3 270) + (uuid "c6d0305a-4e79-4cb1-88dd-2bc3b4bd5355") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "c6d0305a-4e79-4cb1-88dd-2bc3b4bd5355") ) (pin "MOT_DIRECTION" output (at 177.8 91.44 0) + (uuid "affdade0-6f44-4240-9c70-a84b33bf335f") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "affdade0-6f44-4240-9c70-a84b33bf335f") ) (pin "MOT_ENABLE" output (at 177.8 93.98 0) + (uuid "143fef23-890f-4f48-b3dc-5b7880c63bab") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "143fef23-890f-4f48-b3dc-5b7880c63bab") ) (pin "CONTACT_CLOSED" input (at 177.8 86.36 0) + (uuid "9fee2b8c-c130-4ca4-96b7-3bd8f8bfc2ec") (effects (font (size 1.27 1.27) ) (justify right) ) - (uuid "9fee2b8c-c130-4ca4-96b7-3bd8f8bfc2ec") ) (instances (project "iot-contact" @@ -5414,6 +5465,10 @@ (sheet (at 134.62 160.02) (size 25.4 25.4) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) (fields_autoplaced yes) (stroke (width 0.1524) @@ -5443,43 +5498,43 @@ ) (pin "EXT_5V" input (at 134.62 180.34 180) + (uuid "11dd0a29-5492-4d6f-9acc-6ab015287d8c") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "11dd0a29-5492-4d6f-9acc-6ab015287d8c") ) (pin "EXT_GND" input (at 134.62 177.8 180) + (uuid "9a44079c-d24e-41f2-8229-98b9bddeee4a") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "9a44079c-d24e-41f2-8229-98b9bddeee4a") ) (pin "POE_VIN" input (at 134.62 165.1 180) + (uuid "d4171910-9a3e-4a25-9fbf-66e6c04f97f4") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "d4171910-9a3e-4a25-9fbf-66e6c04f97f4") ) (pin "POE_GND" input (at 134.62 167.64 180) + (uuid "f26f9d44-739a-4944-be9c-d5a789e50e87") (effects (font (size 1.27 1.27) ) (justify left) ) - (uuid "f26f9d44-739a-4944-be9c-d5a789e50e87") ) (instances (project "iot-contact" @@ -5494,4 +5549,5 @@ (page "1") ) ) + (embedded_fonts no) ) diff --git a/pcb/power.kicad_sch b/pcb/power.kicad_sch index 41176ec..3470e2e 100644 --- a/pcb/power.kicad_sch +++ b/pcb/power.kicad_sch @@ -1,7 +1,7 @@ (kicad_sch - (version 20231120) + (version 20250114) (generator "eeschema") - (generator_version "8.0") + (generator_version "9.0") (uuid "04efbab4-4b09-41dd-b889-e48452d150e7") (paper "A4") (title_block diff --git a/pcb/processor.kicad_sch b/pcb/processor.kicad_sch index 62e3da7..41b29b9 100644 --- a/pcb/processor.kicad_sch +++ b/pcb/processor.kicad_sch @@ -1,7 +1,7 @@ (kicad_sch - (version 20231120) + (version 20250114) (generator "eeschema") - (generator_version "8.0") + (generator_version "9.0") (uuid "393d1ad1-4f47-4813-80db-2ff0bccd8599") (paper "A4") (title_block diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..07b5637 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,2 @@ +public +.hugo_build.lock diff --git a/web/CMakeLists.txt b/web/CMakeLists.txt new file mode 100644 index 0000000..0cdb498 --- /dev/null +++ b/web/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.10) + +include(hugo) + +hugo_site( + "website" + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_BINARY_DIR}/public" +) diff --git a/web/LICENSE.txt b/web/LICENSE.txt new file mode 100644 index 0000000..2d58298 --- /dev/null +++ b/web/LICENSE.txt @@ -0,0 +1,428 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. + diff --git a/web/hugo.toml b/web/hugo.toml new file mode 100644 index 0000000..493ec29 --- /dev/null +++ b/web/hugo.toml @@ -0,0 +1,2 @@ +title = 'IoT contact' +disableKinds = ["taxonomy", "RSS", "sitemap"] diff --git a/web/layouts/baseof.html b/web/layouts/baseof.html new file mode 100644 index 0000000..983e6e1 --- /dev/null +++ b/web/layouts/baseof.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>{{ .Site.Title }}</title> + </head> + <body> + {{ block "main" . }}{{end}} + </body> +</html> diff --git a/web/layouts/home.html b/web/layouts/home.html new file mode 100644 index 0000000..5425ac9 --- /dev/null +++ b/web/layouts/home.html @@ -0,0 +1,3 @@ +{{- define "main" -}} +<h1>{{ .Site.Title }}</h1> +{{- end -}} |