mirror of
https://github.com/aprochazka/ProfilometerProbe.git
synced 2025-06-30 09:37:22 +02:00
add block scheme of device
This commit is contained in:
10
HW/Camera.kicad_sch
Normal file
10
HW/Camera.kicad_sch
Normal file
@ -0,0 +1,10 @@
|
||||
(kicad_sch (version 20230121) (generator eeschema)
|
||||
|
||||
(uuid e3c1cea2-2f97-4631-8893-85de1a593233)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
)
|
||||
|
||||
)
|
10
HW/Controller.kicad_sch
Normal file
10
HW/Controller.kicad_sch
Normal file
@ -0,0 +1,10 @@
|
||||
(kicad_sch (version 20230121) (generator eeschema)
|
||||
|
||||
(uuid 599bb417-befc-41fd-b1ea-55d9c758dea1)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
)
|
||||
|
||||
)
|
10
HW/DistanceSensor.kicad_sch
Normal file
10
HW/DistanceSensor.kicad_sch
Normal file
@ -0,0 +1,10 @@
|
||||
(kicad_sch (version 20230121) (generator eeschema)
|
||||
|
||||
(uuid 63b846a8-4742-45c6-8bc3-9f71b6047281)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
)
|
||||
|
||||
)
|
10
HW/LED.kicad_sch
Normal file
10
HW/LED.kicad_sch
Normal file
@ -0,0 +1,10 @@
|
||||
(kicad_sch (version 20230121) (generator eeschema)
|
||||
|
||||
(uuid 1300227f-9729-4e95-8900-fcfaa6acebcd)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
)
|
||||
|
||||
)
|
10
HW/Laser.kicad_sch
Normal file
10
HW/Laser.kicad_sch
Normal file
@ -0,0 +1,10 @@
|
||||
(kicad_sch (version 20230121) (generator eeschema)
|
||||
|
||||
(uuid dcff3af8-9558-401b-9daf-172d37a774fd)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
)
|
||||
|
||||
)
|
BIN
HW/Probe-backups/Probe-2023-03-22_210425.zip
Normal file
BIN
HW/Probe-backups/Probe-2023-03-22_210425.zip
Normal file
Binary file not shown.
BIN
HW/Probe-backups/Probe-2023-03-22_221052.zip
Normal file
BIN
HW/Probe-backups/Probe-2023-03-22_221052.zip
Normal file
Binary file not shown.
2
HW/Probe.kicad_pcb
Normal file
2
HW/Probe.kicad_pcb
Normal file
@ -0,0 +1,2 @@
|
||||
(kicad_pcb (version 20221018) (generator pcbnew)
|
||||
)
|
77
HW/Probe.kicad_prl
Normal file
77
HW/Probe.kicad_prl
Normal file
@ -0,0 +1,77 @@
|
||||
{
|
||||
"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
|
||||
},
|
||||
"meta": {
|
||||
"filename": "Probe.kicad_prl",
|
||||
"version": 3
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
352
HW/Probe.kicad_pro
Normal file
352
HW/Probe.kicad_pro
Normal file
@ -0,0 +1,352 @@
|
||||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"board_outline_line_width": 0.1,
|
||||
"copper_line_width": 0.2,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"other_line_width": 0.15,
|
||||
"silk_line_width": 0.15,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.15
|
||||
},
|
||||
"diff_pair_dimensions": [],
|
||||
"drc_exclusions": [],
|
||||
"rules": {
|
||||
"min_copper_edge_clearance": 0.0,
|
||||
"solder_mask_clearance": 0.0,
|
||||
"solder_mask_min_width": 0.0
|
||||
},
|
||||
"track_widths": [],
|
||||
"via_dimensions": []
|
||||
},
|
||||
"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": "error",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "Probe.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.25,
|
||||
"via_diameter": 0.8,
|
||||
"via_drill": 0.4,
|
||||
"wire_width": 6
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 3
|
||||
},
|
||||
"net_colors": null,
|
||||
"netclass_assignments": null,
|
||||
"netclass_patterns": []
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 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,
|
||||
"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_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"39298cfd-dda5-4ee5-9b0e-e5abd5a9144b",
|
||||
""
|
||||
],
|
||||
[
|
||||
"e6c129b4-f8b1-4990-bb4e-bd5c3cac4c68",
|
||||
"Laser"
|
||||
],
|
||||
[
|
||||
"9a974da6-0248-442d-8149-85fb7bcb4159",
|
||||
"Camera"
|
||||
],
|
||||
[
|
||||
"7e799516-004d-4184-9710-3b778e0c64d6",
|
||||
"LED"
|
||||
],
|
||||
[
|
||||
"e7923a8b-e159-4c01-9e9d-ad5534ff84a2",
|
||||
"DistanceSensor"
|
||||
],
|
||||
[
|
||||
"218eb7f9-5dd4-4f2f-a6db-c61c1f8a47ae",
|
||||
"Controller"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
162
HW/Probe.kicad_sch
Normal file
162
HW/Probe.kicad_sch
Normal file
@ -0,0 +1,162 @@
|
||||
(kicad_sch (version 20230121) (generator eeschema)
|
||||
|
||||
(uuid 39298cfd-dda5-4ee5-9b0e-e5abd5a9144b)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
)
|
||||
|
||||
|
||||
(bus (pts (xy 102.87 88.9) (xy 151.13 88.9))
|
||||
(stroke (width 0) (type default))
|
||||
(uuid 4196c869-b3d2-4c18-adf3-84fd5a8c2ee1)
|
||||
)
|
||||
(bus (pts (xy 179.07 120.65) (xy 223.52 120.65))
|
||||
(stroke (width 0) (type default))
|
||||
(uuid 7edf8e87-e841-4463-994e-db027d5fe100)
|
||||
)
|
||||
(bus (pts (xy 102.87 85.09) (xy 151.13 85.09))
|
||||
(stroke (width 0) (type default))
|
||||
(uuid a2c8d930-b20f-41c3-b57c-8232785a6416)
|
||||
)
|
||||
|
||||
(wire (pts (xy 179.07 85.09) (xy 222.25 85.09))
|
||||
(stroke (width 0) (type default))
|
||||
(uuid ad3f053c-a9b3-4f86-b044-bf0416ecafb4)
|
||||
)
|
||||
(wire (pts (xy 102.87 120.65) (xy 151.13 120.65))
|
||||
(stroke (width 0) (type default))
|
||||
(uuid f476a3df-8b5f-4681-973c-a59fb51565b4)
|
||||
)
|
||||
|
||||
(hierarchical_label "I2C" (shape bidirectional) (at 223.52 120.65 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 016daafc-cb47-4393-9323-135756cd8576)
|
||||
)
|
||||
(hierarchical_label "I2C" (shape bidirectional) (at 179.07 120.65 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 04abf580-4ccb-4ba4-90bf-d40094c3a91e)
|
||||
)
|
||||
(hierarchical_label "PWM" (shape output) (at 151.13 120.65 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 193fab9b-27dc-4e24-b70c-c77e67c76dcd)
|
||||
)
|
||||
(hierarchical_label "SPI" (shape bidirectional) (at 102.87 88.9 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 4619b437-7d0d-4e98-8f2c-97e0bb24f4ff)
|
||||
)
|
||||
(hierarchical_label "I2C" (shape bidirectional) (at 102.87 85.09 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 468b5141-c83c-4d8a-a709-dd66171acbe1)
|
||||
)
|
||||
(hierarchical_label "SPI" (shape bidirectional) (at 151.13 88.9 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 5c97d2ca-213a-4f6e-9c6f-a635e052e850)
|
||||
)
|
||||
(hierarchical_label "PWM" (shape input) (at 222.25 85.09 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 96781b58-3e85-41c8-b54a-559134a53173)
|
||||
)
|
||||
(hierarchical_label "PWM" (shape input) (at 102.87 120.65 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid d2da40f3-5b70-42cf-9550-60fe6ae01adb)
|
||||
)
|
||||
(hierarchical_label "PWM" (shape output) (at 179.07 85.09 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid e686e1fa-6d3f-4c36-9386-65df4e0ed2ed)
|
||||
)
|
||||
(hierarchical_label "I2C" (shape bidirectional) (at 151.13 85.09 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid fc182592-199d-4f1b-a7c2-f5279d9b9f47)
|
||||
)
|
||||
|
||||
(sheet (at 152.4 76.2) (size 25.4 50.8) (fields_autoplaced)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (color 0 0 0 0.0000))
|
||||
(uuid 218eb7f9-5dd4-4f2f-a6db-c61c1f8a47ae)
|
||||
(property "Sheetname" "Controller" (at 152.4 75.4884 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheetfile" "Controller.kicad_sch" (at 152.4 127.5846 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(instances
|
||||
(project "Probe"
|
||||
(path "/39298cfd-dda5-4ee5-9b0e-e5abd5a9144b" (page "6"))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(sheet (at 223.52 69.85) (size 25.4 25.4) (fields_autoplaced)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (color 0 0 0 0.0000))
|
||||
(uuid 7e799516-004d-4184-9710-3b778e0c64d6)
|
||||
(property "Sheetname" "LED" (at 223.52 69.1384 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheetfile" "LED.kicad_sch" (at 223.52 95.8346 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(instances
|
||||
(project "Probe"
|
||||
(path "/39298cfd-dda5-4ee5-9b0e-e5abd5a9144b" (page "4"))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(sheet (at 76.2 69.85) (size 25.4 25.4) (fields_autoplaced)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (color 0 0 0 0.0000))
|
||||
(uuid 9a974da6-0248-442d-8149-85fb7bcb4159)
|
||||
(property "Sheetname" "Camera" (at 76.2 69.1384 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheetfile" "Camera.kicad_sch" (at 76.2 95.8346 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(instances
|
||||
(project "Probe"
|
||||
(path "/39298cfd-dda5-4ee5-9b0e-e5abd5a9144b" (page "3"))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(sheet (at 76.2 113.03) (size 25.4 25.4) (fields_autoplaced)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (color 0 0 0 0.0000))
|
||||
(uuid e6c129b4-f8b1-4990-bb4e-bd5c3cac4c68)
|
||||
(property "Sheetname" "Laser" (at 76.2 112.3184 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheetfile" "Laser.kicad_sch" (at 76.2 139.0146 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(instances
|
||||
(project "Probe"
|
||||
(path "/39298cfd-dda5-4ee5-9b0e-e5abd5a9144b" (page "2"))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(sheet (at 224.79 113.03) (size 25.4 25.4) (fields_autoplaced)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (color 0 0 0 0.0000))
|
||||
(uuid e7923a8b-e159-4c01-9e9d-ad5534ff84a2)
|
||||
(property "Sheetname" "DistanceSensor" (at 224.79 112.3184 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Sheetfile" "DistanceSensor.kicad_sch" (at 224.79 139.0146 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left top))
|
||||
)
|
||||
(instances
|
||||
(project "Probe"
|
||||
(path "/39298cfd-dda5-4ee5-9b0e-e5abd5a9144b" (page "5"))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(sheet_instances
|
||||
(path "/" (page "1"))
|
||||
)
|
||||
)
|
Reference in New Issue
Block a user