remarche mais probleme probable de fragmentation memoire

This commit is contained in:
dimercur 2023-10-06 17:21:15 +02:00
parent f8f7ab84ef
commit 067fbef0fb
16 changed files with 1971 additions and 83 deletions

1
.gitignore vendored
View file

@ -66,3 +66,4 @@ GUI
/software/raspberry/testeur/testeur/build/
/software/raspberry/testeur/testeur/dist/
/software/dumber3/Debug/
/software/dumber3/Tests/

Binary file not shown.

View file

@ -0,0 +1,52 @@
"Source:","/home/dimercur/Travail/git/dumber/hardware/pcb/Dumber-v3/dumber-v3/dumber-v3.kicad_sch"
"Date:","lun. 04 sept. 2023 10:56:20"
"Tool:","Eeschema 7.0.7"
"Generator:","/app/share/kicad/plugins/bom_csv_grouped_by_value.py"
"Component Count:","70"
"Collated Components:"
"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","DNP"
"1","1","BT1","Li-ION","Device:Battery_Cell","INSA:Battery-14500","~",""
"2","2","C1, C4","10nF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"3","1","C2","68nF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"4","1","C3","100µF","Device:C","Capacitor_SMD:C_1210_3225Metric","~",""
"5","1","C5","2.2µF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"6","2","C6, C11","10µF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"7","4","C7, C12, C13, C22","1µF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"8","1","C8","650pF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"9","1","C9","100pF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"10","1","C10","10µF","Device:C","Capacitor_SMD:C_1210_3225Metric","~",""
"11","2","C14, C15","470nF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"12","4","C16, C17, C18, C19","100nF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"13","1","C21","1nF","Device:C","Capacitor_SMD:C_0805_2012Metric","~",""
"14","1","D1","PMEG2020CPA","Device:D_Dual_CommonCathode_AAK_Parallel","INSA:Nexperia_SOT-1061","~",""
"15","1","D2","FM5818-W","Device:D_Schottky","Diode_SMD:D_SMA","~",""
"16","3","H1, H2, H3","MountingHole","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_ISO14580","~",""
"17","2","J1, J2","Conn_02x03_Odd_Even","Connector_Generic:Conn_02x03_Odd_Even","Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical","~",""
"18","1","J3","Conn_02x05_Odd_Even","Connector_Generic:Conn_02x05_Odd_Even","Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Horizontal","~",""
"19","1","J4","TE 1-84982-0","Connector_Generic:Conn_01x10","INSA:TE 1-84982-0","~",""
"20","1","L1","10µH","Device:L","Inductor_SMD:L_Bourns_SRP7028A_7.3x6.6mm","~",""
"21","1","L2","5,6µH","Device:L","Inductor_SMD:L_1812_4532Metric","~",""
"22","2","M1, M2","Motor","Insa:Motor","INSA:Motor Pololu HPCB with encoder","",""
"23","1","P1","USB_C_Plug_GCT_USB4125","Insa:USB_C_Plug_GCT_USB4125","INSA:USB_C_Receptacle_GCT_USB4125","https://www.usb.org/sites/default/files/documents/usb_type-c.zip",""
"24","2","Q1, Q2","PMN52XP","Insa:PMN52XP","Package_SO:TSOP-6_1.65x3.05mm_P0.95mm","~",""
"25","8","R1, R2, R4, R20, R24, R27, R28, R29","100K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"26","5","R3, R5, R7, R17, R18","1K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"27","2","R6, R26","10K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"28","1","R8","47K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"29","1","R9","470","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"30","1","R10","40.2K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"31","1","R11","13.3K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"32","2","R12, R14","15K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"33","1","R13","300","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"34","1","R19","150K","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"35","1","R25","10R","Device:R","Resistor_SMD:R_0805_2012Metric","~",""
"36","1","SW1","SW_Push","Switch:SW_Push","Button_Switch_SMD:Panasonic_EVQPUJ_EVQPUA","~",""
"37","1","U1","XBEE-3","Insa:XBEE-3","INSA:XBEE-3-TH","",""
"38","1","U2","STM32F071CBTx","MCU_ST_STM32F0:STM32F071CBTx","Package_QFP:LQFP-48_7x7mm_P0.5mm","http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00098745.pdf",""
"39","1","U3","LTC2954-2","Insa:LTC2954-2","Package_TO_SOT_SMD:SOT-23-8","",""
"40","1","U4","L6924U","Insa:L6924U","INSA:L6924UTR","",""
"41","1","U5","LM2731XMF","Regulator_Switching:LM2731XMF","Package_TO_SOT_SMD:SOT-23-5","http://www.ti.com/lit/ds/symlink/lm2731.pdf",""
"42","1","U6","AP2206","Regulator_Linear:TC1186","Package_TO_SOT_SMD:SOT-23-5","http://ww1.microchip.com/downloads/en/DeviceDoc/21350E.pdf",""
"43","1","U7","A3909","Insa:A3909","Package_SO:SSOP-10_3.9x4.9mm_P1.00mm","",""
Can't render this file because it has a wrong number of fields in line 7.

View file

@ -1,12 +1,14 @@
{
"board": {
"active_layer": 0,
"active_layer": 31,
"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,
@ -62,7 +64,7 @@
35,
36
],
"visible_layers": "ff8fdff_80000001",
"visible_layers": "ff8ddff_80000000",
"zone_display_mode": 0
},
"meta": {

View file

@ -1,5 +1,6 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
@ -74,8 +75,7 @@
"silk_over_copper|190300000|105210000|1992a7c6-c4b5-4e9a-ada0-bd5d4f8b1635|2922f406-8a01-4b6f-9ffd-33d2b73cda99",
"silk_over_copper|190300000|113850000|1992a7c6-c4b5-4e9a-ada0-bd5d4f8b1635|de5d949f-b87e-4069-9f2b-fe65df0a3162",
"silk_overlap|190300000|112500000|1992a7c6-c4b5-4e9a-ada0-bd5d4f8b1635|5162590d-5b34-444a-bf6f-4a7b61c57378",
"silk_overlap|190370000|112500000|5162590d-5b34-444a-bf6f-4a7b61c57378|1992a7c6-c4b5-4e9a-ada0-bd5d4f8b1635",
"track_dangling|158115000|109220000|d2605567-b159-4345-9b48-36b64b7f2d59|00000000-0000-0000-0000-000000000000"
"silk_overlap|190370000|112500000|5162590d-5b34-444a-bf6f-4a7b61c57378|1992a7c6-c4b5-4e9a-ada0-bd5d4f8b1635"
],
"meta": {
"version": 2
@ -83,20 +83,26 @@
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "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_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"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": "ignore",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
@ -106,9 +112,14 @@
"padstack": "error",
"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_dangling": "warning",
@ -117,7 +128,6 @@
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
@ -125,20 +135,65 @@
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.15,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.19999999999999998,
"min_hole_to_hole": 0.19999999999999998,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 5,
"td_on_pad_in_zone": false,
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [
0.0,
0.2,
@ -187,7 +242,8 @@
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
@ -371,18 +427,23 @@
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "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",
@ -392,6 +453,7 @@
"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",
@ -409,7 +471,7 @@
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"bus_width": 12,
"clearance": 0.15,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
@ -423,13 +485,15 @@
"track_width": 0.2,
"via_diameter": 0.8,
"via_drill": 0.3,
"wire_width": 6.0
"wire_width": 6
}
],
"meta": {
"version": 2
"version": 3
},
"net_colors": null
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
@ -445,6 +509,8 @@
"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": [],
@ -476,7 +542,11 @@
"page_layout_descr_file": "",
"plot_directory": "./",
"spice_adjust_passive_values": false,
"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
},

File diff suppressed because it is too large Load diff

View file

@ -7,8 +7,8 @@
(paper "A4")
(title_block
(title "Ecran pour Dumber")
(date "2023-02-17")
(rev "V1.0")
(date "2023-04-18")
(rev "V1.1")
(company "INSA GEI")
)
@ -106,14 +106,14 @@
(net 9 "Net-(DS1-Pad11)")
(net 10 "unconnected-(DS1-Pad7)")
(net 11 "unconnected-(J1-Pad1)")
(net 12 "Net-(R1-Pad1)")
(net 13 "Net-(R2-Pad1)")
(net 14 "Net-(R3-Pad1)")
(net 15 "Net-(R4-Pad1)")
(net 16 "Net-(R5-Pad1)")
(net 17 "Net-(R6-Pad1)")
(net 18 "Net-(R7-Pad1)")
(net 19 "Net-(R8-Pad1)")
(net 12 "Net-(J1-Pad2)")
(net 13 "Net-(J1-Pad3)")
(net 14 "Net-(J1-Pad4)")
(net 15 "Net-(J1-Pad5)")
(net 16 "Net-(J1-Pad6)")
(net 17 "Net-(J1-Pad7)")
(net 18 "Net-(J1-Pad8)")
(net 19 "Net-(J1-Pad9)")
(footprint "Resistor_SMD:R_0805_2012Metric" (layer "F.Cu")
(tedit 5F68FEEE) (tstamp 026cd71f-0cfc-488d-aa05-ed48789f7cd9)
@ -124,7 +124,7 @@
(property "Sheetname" "")
(path "/bdcf52eb-ff1a-4908-97e0-29ca08c521c8")
(attr smd)
(fp_text reference "R5" (at -3.175 0 90) (layer "F.SilkS")
(fp_text reference "R5" (at -3.175 1.27 90) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp b595dc3a-25ca-49a2-bccf-641437621b9e)
)
@ -147,7 +147,7 @@
(fp_line (start 1 0.625) (end -1 0.625) (layer "F.Fab") (width 0.1) (tstamp 79fdcfcf-b8ad-41f7-8fe3-dba2e51d2851))
(fp_line (start 1 -0.625) (end 1 0.625) (layer "F.Fab") (width 0.1) (tstamp adea0a4c-32f2-4d84-8052-542dca55b48d))
(pad "1" smd roundrect (at -0.9125 0 90) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 16 "Net-(R5-Pad1)") (pintype "passive") (tstamp c060fd89-0678-4364-b717-004d4e5bf1a7))
(net 16 "Net-(J1-Pad6)") (pintype "passive") (tstamp c060fd89-0678-4364-b717-004d4e5bf1a7))
(pad "2" smd roundrect (at 0.9125 0 90) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 8 "Net-(DS1-Pad10)") (pintype "passive") (tstamp 28444a43-2ea8-4f9d-af8a-0944feea1134))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -189,7 +189,7 @@
(fp_line (start -1 0.625) (end -1 -0.625) (layer "F.Fab") (width 0.1) (tstamp 7ff1b6b5-7983-4b27-8696-e5fee43e1998))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer "F.Fab") (width 0.1) (tstamp a73b745b-1870-4424-a69a-c20b941aa912))
(pad "1" smd roundrect (at -0.9125 0 90) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 15 "Net-(R4-Pad1)") (pintype "passive") (tstamp 9e38765f-a5a2-4ff1-8f99-da460f524a29))
(net 15 "Net-(J1-Pad5)") (pintype "passive") (tstamp 9e38765f-a5a2-4ff1-8f99-da460f524a29))
(pad "2" smd roundrect (at 0.9125 0 90) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 9 "Net-(DS1-Pad11)") (pintype "passive") (tstamp 2635a5dd-deb9-4652-a861-da9284acbb6c))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -257,7 +257,7 @@
(fp_line (start -1 0.625) (end -1 -0.625) (layer "F.Fab") (width 0.1) (tstamp 46751f89-53a5-4bcc-805a-0c250c7ea33e))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer "F.Fab") (width 0.1) (tstamp aa93c565-06a2-4d4a-9a6a-b4c840d27b59))
(pad "1" smd roundrect (at -0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 18 "Net-(R7-Pad1)") (pintype "passive") (tstamp e622aa68-fa00-4d76-bf4c-65594358a507))
(net 18 "Net-(J1-Pad8)") (pintype "passive") (tstamp e622aa68-fa00-4d76-bf4c-65594358a507))
(pad "2" smd roundrect (at 0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 6 "Net-(DS1-Pad6)") (pintype "passive") (tstamp 4145edc9-d6b1-45eb-a02e-d9875f389d81))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -325,7 +325,7 @@
(fp_line (start 1 -0.625) (end 1 0.625) (layer "F.Fab") (width 0.1) (tstamp 870d620a-2c41-4c1f-9307-d64ef80cbf8f))
(fp_line (start -1 0.625) (end -1 -0.625) (layer "F.Fab") (width 0.1) (tstamp fae58b11-f691-4237-ad7a-b187372a8d7c))
(pad "1" smd roundrect (at -0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 13 "Net-(R2-Pad1)") (pintype "passive") (tstamp f748a169-f3ee-49c2-9ff2-83f12cbd3de6))
(net 13 "Net-(J1-Pad3)") (pintype "passive") (tstamp f748a169-f3ee-49c2-9ff2-83f12cbd3de6))
(pad "2" smd roundrect (at 0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 1 "Net-(DS1-Pad1)") (pintype "passive") (tstamp 9ddc7c64-7533-4747-9d1d-d53b805b046e))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -367,7 +367,7 @@
(fp_line (start -1 0.625) (end -1 -0.625) (layer "F.Fab") (width 0.1) (tstamp a82b3432-4152-4915-9ac3-3715ce9966d8))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer "F.Fab") (width 0.1) (tstamp a895b52c-7e94-4f30-b52b-186a5d2269a3))
(pad "1" smd roundrect (at -0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 19 "Net-(R8-Pad1)") (pintype "passive") (tstamp 7e124048-f0da-43e6-a7f7-cc3acfcf8138))
(net 19 "Net-(J1-Pad9)") (pintype "passive") (tstamp 7e124048-f0da-43e6-a7f7-cc3acfcf8138))
(pad "2" smd roundrect (at 0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 5 "Net-(DS1-Pad5)") (pintype "passive") (tstamp 6468a754-d492-483b-8a4c-d6f4ff3ed46d))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -386,7 +386,7 @@
(property "Sheetname" "")
(path "/7f464942-3c10-45a7-9321-d36507eee8aa")
(attr smd)
(fp_text reference "R6" (at -3.175 0 90) (layer "F.SilkS")
(fp_text reference "R6" (at -3.175 1.905 90) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 0472fc91-6f37-4b09-ba8d-aa53572a8d53)
)
@ -409,7 +409,7 @@
(fp_line (start 1 0.625) (end -1 0.625) (layer "F.Fab") (width 0.1) (tstamp c3a72c32-217c-45fa-bcde-8ea3ba9a9197))
(fp_line (start 1 -0.625) (end 1 0.625) (layer "F.Fab") (width 0.1) (tstamp ea1f4897-04cb-40e9-a553-073272bbad2a))
(pad "1" smd roundrect (at -0.9125 0 90) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 17 "Net-(R6-Pad1)") (pintype "passive") (tstamp f49b6221-5b47-4b80-83d2-841a2def498c))
(net 17 "Net-(J1-Pad7)") (pintype "passive") (tstamp f49b6221-5b47-4b80-83d2-841a2def498c))
(pad "2" smd roundrect (at 0.9125 0 90) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 7 "Net-(DS1-Pad8)") (pintype "passive") (tstamp 84e6c686-c028-4603-bd5e-46dd1870f815))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -451,7 +451,7 @@
(fp_line (start -1 0.625) (end -1 -0.625) (layer "F.Fab") (width 0.1) (tstamp eade6e92-55d7-4ed4-a0c8-bb6ddcacf564))
(fp_line (start 1 -0.625) (end 1 0.625) (layer "F.Fab") (width 0.1) (tstamp fce40fd7-b793-49f0-91d9-d17a4dc68f3f))
(pad "1" smd roundrect (at -0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 14 "Net-(R3-Pad1)") (pintype "passive") (tstamp b8e47bd1-06ca-4864-aed5-4535e5a88c10))
(net 14 "Net-(J1-Pad4)") (pintype "passive") (tstamp b8e47bd1-06ca-4864-aed5-4535e5a88c10))
(pad "2" smd roundrect (at 0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 4 "Net-(DS1-Pad3)") (pintype "passive") (tstamp 8250e891-08f2-4b20-bd64-e4eb1f07d6c5))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -599,7 +599,7 @@
(fp_line (start 1 -0.625) (end 1 0.625) (layer "F.Fab") (width 0.1) (tstamp 5bbe7b24-637f-4080-93aa-bf77d7587705))
(fp_line (start 1 0.625) (end -1 0.625) (layer "F.Fab") (width 0.1) (tstamp d5ee33e5-1304-4788-ae0a-2f0f835a6196))
(pad "1" smd roundrect (at -0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 12 "Net-(R1-Pad1)") (pintype "passive") (tstamp e6b3c353-cbbe-4ec9-9014-32f981f78d2e))
(net 12 "Net-(J1-Pad2)") (pintype "passive") (tstamp e6b3c353-cbbe-4ec9-9014-32f981f78d2e))
(pad "2" smd roundrect (at 0.9125 0) (size 1.025 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.243902439)
(net 2 "Net-(DS1-Pad2)") (pintype "passive") (tstamp bd619bd0-7293-4883-a8a7-b6a9788272ee))
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl"
@ -635,21 +635,21 @@
(pad "1" smd rect locked (at -4.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 11 "unconnected-(J1-Pad1)") (pinfunction "Pin_1") (pintype "passive+no_connect") (tstamp 08820a79-b4e3-4020-a942-e36a5a6ac453))
(pad "2" smd rect locked (at -3.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 12 "Net-(R1-Pad1)") (pinfunction "Pin_2") (pintype "passive") (tstamp 0b428485-46f9-4775-b80c-6397b2e0063f))
(net 12 "Net-(J1-Pad2)") (pinfunction "Pin_2") (pintype "passive") (tstamp 0b428485-46f9-4775-b80c-6397b2e0063f))
(pad "3" smd rect locked (at -2.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 13 "Net-(R2-Pad1)") (pinfunction "Pin_3") (pintype "passive") (tstamp d562a1e2-4bc3-474e-9da8-8d80c8a59814))
(net 13 "Net-(J1-Pad3)") (pinfunction "Pin_3") (pintype "passive") (tstamp d562a1e2-4bc3-474e-9da8-8d80c8a59814))
(pad "4" smd rect locked (at -1.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 14 "Net-(R3-Pad1)") (pinfunction "Pin_4") (pintype "passive") (tstamp 91e163ac-2f85-4027-8efb-e55a2d097e9a))
(net 14 "Net-(J1-Pad4)") (pinfunction "Pin_4") (pintype "passive") (tstamp 91e163ac-2f85-4027-8efb-e55a2d097e9a))
(pad "5" smd rect locked (at -0.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 15 "Net-(R4-Pad1)") (pinfunction "Pin_5") (pintype "passive") (tstamp 638d9b07-c71d-42da-8623-5711b322446b))
(net 15 "Net-(J1-Pad5)") (pinfunction "Pin_5") (pintype "passive") (tstamp 638d9b07-c71d-42da-8623-5711b322446b))
(pad "6" smd rect locked (at 0.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 16 "Net-(R5-Pad1)") (pinfunction "Pin_6") (pintype "passive") (tstamp 49cb1c3e-dccf-4884-ba9f-dbd5ec8f8a62))
(net 16 "Net-(J1-Pad6)") (pinfunction "Pin_6") (pintype "passive") (tstamp 49cb1c3e-dccf-4884-ba9f-dbd5ec8f8a62))
(pad "7" smd rect locked (at 1.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 17 "Net-(R6-Pad1)") (pinfunction "Pin_7") (pintype "passive") (tstamp 2d4dd5c4-92fb-4ee2-a71e-093c39051399))
(net 17 "Net-(J1-Pad7)") (pinfunction "Pin_7") (pintype "passive") (tstamp 2d4dd5c4-92fb-4ee2-a71e-093c39051399))
(pad "8" smd rect locked (at 2.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 18 "Net-(R7-Pad1)") (pinfunction "Pin_8") (pintype "passive") (tstamp 25b70e0a-cc06-438e-847f-c9aceed199ab))
(net 18 "Net-(J1-Pad8)") (pinfunction "Pin_8") (pintype "passive") (tstamp 25b70e0a-cc06-438e-847f-c9aceed199ab))
(pad "9" smd rect locked (at 3.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 19 "Net-(R8-Pad1)") (pinfunction "Pin_9") (pintype "passive") (tstamp 495f6d67-cdad-41f4-8c78-29069294d0a5))
(net 19 "Net-(J1-Pad9)") (pinfunction "Pin_9") (pintype "passive") (tstamp 495f6d67-cdad-41f4-8c78-29069294d0a5))
(pad "10" smd rect locked (at 4.5 0.35 270) (size 0.6 1.7) (layers "B.Cu" "B.Paste" "B.Mask")
(net 3 "GND") (pinfunction "Pin_10") (pintype "passive") (tstamp cfa0082d-03b8-40fb-8226-1a39e1f7511d))
(pad "11" smd rect locked (at 6.3 -4.9 270) (size 1.2 1.8) (layers "B.Cu" "B.Paste" "B.Mask") (tstamp 5a6ab7af-3d4d-465a-98f7-01589d633060))
@ -665,7 +665,7 @@
(gr_line (start 127 96) (end 127 120) (layer "Edge.Cuts") (width 0.1) (tstamp 59c97e15-26a7-4231-8d66-1f6423f9197d))
(gr_line (start 95.885 120) (end 95.885 96) (layer "Edge.Cuts") (width 0.1) (tstamp 7a26ff8d-82ea-4fb2-8526-07d5499981e9))
(gr_line (start 95.885 96) (end 127 96) (layer "Edge.Cuts") (width 0.1) (tstamp bfac0be8-d941-4ec0-8418-7aca3d109cec))
(gr_text "Ecran Dumber\nV1.0\n02/23 - INSA GEI" (at 116.205 107.95 270) (layer "B.SilkS") (tstamp 49826c65-2028-4080-b7e2-8b79952a37e7)
(gr_text "Ecran Dumber\nV1.1\n04/23 - INSA GEI" (at 116.205 107.95 270) (layer "B.SilkS") (tstamp 49826c65-2028-4080-b7e2-8b79952a37e7)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(target plus (at 89 121) (size 5) (width 0.1) (layer "Edge.Cuts") (tstamp 2e4a87c2-d9cc-4ff7-8d17-8961ef959f6d))
@ -688,6 +688,7 @@
(segment (start 111.76 109.855) (end 116.84 109.855) (width 0.35) (layer "B.Cu") (net 3) (tstamp 9ffa1660-c037-481a-baa5-70118d00a38f))
(segment (start 110.865 103.8425) (end 104.4175 110.29) (width 0.35) (layer "F.Cu") (net 4) (tstamp 39c80ce7-1925-49f9-b62d-4ece7f92acb6))
(segment (start 110.865 99.1) (end 110.865 103.8425) (width 0.35) (layer "F.Cu") (net 4) (tstamp 484742b7-53c3-4fe3-ba63-21cf1bcb98c0))
(segment (start 104.4175 110.29) (end 104.4175 111.225) (width 0.35) (layer "F.Cu") (net 4) (tstamp 77043d29-80a4-4302-adc7-5ff8a027f8e0))
(segment (start 118.3875 103.505) (end 113.665 103.505) (width 0.35) (layer "F.Cu") (net 5) (tstamp 5a243972-a958-4f36-968d-c95f7ec17e86))
(segment (start 113.665 103.505) (end 113.405 103.245) (width 0.35) (layer "F.Cu") (net 5) (tstamp 5f00f099-c50a-495f-af3b-5b02490dced9))
(segment (start 113.405 103.245) (end 113.405 99.1) (width 0.35) (layer "F.Cu") (net 5) (tstamp 724c9308-b9c2-4e06-a799-9929e440d6d6))
@ -1613,7 +1614,7 @@
(xy 99.357941 109.444946)
(xy 99.353624 109.458555)
(xy 99.297484 109.635532)
(xy 99.290731 109.695738)
(xy 99.292716 109.678043)
(xy 99.278625 109.803668)
(xy 99.27452 109.840262)
(xy 99.291759 110.045553)
@ -2032,12 +2033,14 @@
(xy 117.398304 109.535291)
(xy 117.445617 109.628149)
(xy 117.564743 109.775257)
(xy 117.56979 109.779344)
(xy 117.659203 109.851749)
(xy 117.711851 109.894383)
(xy 117.71764 109.897332)
(xy 117.717642 109.897334)
(xy 117.777828 109.928)
(xy 117.880512 109.98032)
(xy 117.943734 109.99726)
(xy 117.94498 109.997594)
(xy 118.057863 110.027841)
(xy 118.057869 110.027842)
(xy 118.063355 110.029312)
@ -2065,7 +2068,7 @@
(xy 119.542642 109.897334)
(xy 119.602828 109.928)
(xy 119.705512 109.98032)
(xy 119.768734 109.99726)
(xy 119.76998 109.997594)
(xy 119.882863 110.027841)
(xy 119.882869 110.027842)
(xy 119.888355 110.029312)
@ -2082,6 +2085,8 @@
(xy 121.042358 109.897334)
(xy 121.04236 109.897332)
(xy 121.048149 109.894383)
(xy 121.100798 109.851749)
(xy 121.19021 109.779344)
(xy 121.195257 109.775257)
(xy 121.314383 109.628149)
(xy 121.361697 109.535291)

View file

@ -1,6 +1,6 @@
{
"board": {
"active_layer": 0,
"active_layer": 37,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_nets": [],

View file

@ -0,0 +1,3 @@
eclipse.preferences.version=1
svd_custom_file_path=
svd_file_path=/opt/st/stm32cubeide_1.11.0/plugins/com.st.stm32cube.ide.mcu.productdb.debug_2.0.400.202211151459/resources/cmsis/STMicroelectronics_CMSIS_SVD/STM32L0x1.svd

View file

@ -1,5 +1,5 @@
2F62501ED4689FB349E356AB974DBE57=4996C471296F89DC866BF9D3036717E1
66BE74F758C12D739921AEA421D593D3=1
8DF89ED150041C4CBC7CB9A9CAA90856=4996C471296F89DC866BF9D3036717E1
DC22A860405A8BF2F2C095E5B6529F12=F7414D73CC8C5DF69E5E7FD8F14B7093
DC22A860405A8BF2F2C095E5B6529F12=3270C02385F02E4A61A1148896BE5016
eclipse.preferences.version=1

View file

@ -131,24 +131,28 @@ int XBEE_SendData(char* data) {
int status = XBEE_OK;
// Prevents successive calls to overlap
state = xSemaphoreTake(xHandleSemaphoreTX, pdMS_TO_TICKS(XBEE_TX_SEMAPHORE_WAIT)); // wait max 500 ms (to avoid interlocking)
//state = xSemaphoreTake(xHandleSemaphoreTX, pdMS_TO_TICKS(XBEE_TX_SEMAPHORE_WAIT)); // wait max 500 ms (to avoid interlocking)
if (state != pdFALSE) { /* test semaphore take answer
if answer is false, it means timeout appends
We should probably reset something in "else" branch */
//if (state != pdFALSE) { /* test semaphore take answer
// if answer is false, it means timeout appends
// We should probably reset something in "else" branch */
strncpy((char*)txBuffer,data,XBEE_TX_BUFFER_MAX_LENGTH-1);
txBuffer[XBEE_TX_BUFFER_MAX_LENGTH-1]=0;
txRemainingData = strlen((char*)txBuffer);
while (LL_USART_IsEnabledIT_TXE(hlpuart1.Instance)) {
vTaskDelay(pdMS_TO_TICKS(1));
}
if (txRemainingData!=0) {
txIndex =1;
txRemainingData=txRemainingData-1;
strncpy((char*)txBuffer,data,XBEE_TX_BUFFER_MAX_LENGTH-1);
txBuffer[XBEE_TX_BUFFER_MAX_LENGTH-1]=0;
txRemainingData = strlen((char*)txBuffer);
LL_USART_TransmitData8(hlpuart1.Instance, txBuffer[0]);
LL_USART_EnableIT_TXE(hlpuart1.Instance); // enable TX Interrupt
}
} else status= XBEE_TX_TIMEOUT;
if (txRemainingData!=0) {
txIndex =1;
txRemainingData=txRemainingData-1;
LL_USART_TransmitData8(hlpuart1.Instance, txBuffer[0]);
LL_USART_EnableIT_TXE(hlpuart1.Instance); // enable TX Interrupt
}
//} else status= XBEE_TX_TIMEOUT;
return status;
}
@ -158,7 +162,7 @@ void XBEE_TX_IRQHandler(void) {
if (txRemainingData==0) { // No more data, disable TXE bit
LL_USART_DisableIT_TXE(hlpuart1.Instance);
xSemaphoreGiveFromISR( xHandleSemaphoreTX, &xHigherPriorityTaskWoken );
//xSemaphoreGiveFromISR( xHandleSemaphoreTX, &xHigherPriorityTaskWoken );
} else {
LL_USART_TransmitData8(hlpuart1.Instance, txBuffer[txIndex]);
txIndex++;
@ -182,7 +186,6 @@ void XBEE_TX_IRQHandler(void) {
* \param params not used
*/
void XBEE_RxThread(void* params) {
//XBEE_INCOMING_FRAME *incomingFrame;
char* incomingData;
rxCmdLength=0;
rxIndex=0;
@ -196,8 +199,11 @@ void XBEE_RxThread(void* params) {
while (1) {
if (xSemaphoreTake(xHandleSemaphoreRX, portMAX_DELAY)==pdTRUE) { // wait forever
if (rxCmdLength> XBEE_RX_BUFFER_MAX_LENGTH)
rxCmdLength = XBEE_RX_BUFFER_MAX_LENGTH;
incomingData = (char*)malloc(rxCmdLength+1); // +1 for ending zero !
strncpy (incomingData, (char*)rxBuffer, XBEE_RX_BUFFER_MAX_LENGTH);
strncpy (incomingData, (char*)rxBuffer, rxCmdLength+1);
rxCmdLength=0; // reset counters for next command
rxIndex=0;

View file

@ -178,7 +178,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* LPUART1 interrupt Init */
HAL_NVIC_SetPriority(LPUART1_IRQn, 2, 0);
HAL_NVIC_SetPriority(LPUART1_IRQn, 3, 0);
HAL_NVIC_EnableIRQ(LPUART1_IRQn);
/* USER CODE BEGIN LPUART1_MspInit 1 */
//HAL_NVIC_SetPriority(LPUART1_IRQn, 3, 0);

View file

@ -37,6 +37,8 @@
extern int __io_putchar(int ch) __attribute__((weak));
extern int __io_getchar(void) __attribute__((weak));
extern uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
char *__env[1] = { 0 };
char **environ = __env;
@ -45,24 +47,26 @@ char **environ = __env;
/* Functions */
void* malloc(size_t size)
{
void* ptr = NULL;
void* ptr = NULL;
if(size > 0)
{
// We simply wrap the FreeRTOS call into a standard form
ptr = pvPortMalloc(size);
} // else NULL if there was an error
if(size > 0)
{
// We simply wrap the FreeRTOS call into a standard form
ptr = pvPortMalloc(size);
} // else NULL if there was an error
return ptr;
return ptr;
}
void free(void* ptr)
{
if(ptr)
{
// We simply wrap the FreeRTOS call into a standard form
vPortFree(ptr);
}
if (ptr)
{
if ((ptr>=(void*)ucHeap) && (ptr<=(void*)ucHeap+configTOTAL_HEAP_SIZE)) {
// We simply wrap the FreeRTOS call into a standard form
vPortFree(ptr);
}
}
}
void initialise_monitor_handles()
@ -95,7 +99,7 @@ __attribute__((weak)) int _read(int file, char *ptr, int len)
*ptr++ = __io_getchar();
}
return len;
return len;
}
__attribute__((weak)) int _write(int file, char *ptr, int len)

View file

@ -61,7 +61,7 @@ task.h is included from an application file. */
heap - probably so it can be placed in a special segment or address. */
extern uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
#else
static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
/*static*/ uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
#endif /* configAPPLICATION_ALLOCATED_HEAP */
/* Define the linked list structure. This is used to link free blocks in order

View file

@ -72,6 +72,7 @@ void TESTS_BasicTests(void* params) {
CMD_Generic* cmd;
char* ans;
char str[100];
ledsStates = leds_run;
MESSAGE_SendMailbox(LEDS_Mailbox, MSG_ID_LED_ETAT, APPLICATION_Mailbox, (void*)&ledsStates); // show program is running
@ -114,7 +115,6 @@ void TESTS_BasicTests(void* params) {
while (1) {
int length;
char* str;
msg = MESSAGE_ReadMailbox(APPLICATION_Mailbox); // Wait for a message from Xbee
@ -132,68 +132,81 @@ void TESTS_BasicTests(void* params) {
cmd = cmdDecode((char*)msg.data, strlen((char*)msg.data));
free(msg.data);
str = (char*)malloc(100);
str[0] = 0; // empty string
str[0]=0;
switch (cmd->type) {
case CMD_PING:
snprintf(str, 99, "PING received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_RESET:
snprintf(str, 99, "RESET received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_START_WITH_WATCHDOG:
snprintf(str, 99, "START with Watchdog received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_RESET_WATCHDOG:
snprintf(str, 99, "RESET Watchdog received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_GET_BATTERY:
snprintf(str, 99, "GET_BATTERY received\r");
cmdSendBatteryLevel(ANS_BAT_OK);
break;
case CMD_GET_VERSION:
snprintf(str, 99, "GET_VERSION received\r");
cmdSendVersion();
break;
case CMD_START_WITHOUT_WATCHDOG:
snprintf(str, 99, "START without Watchdog received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_MOVE:
snprintf(str, 99, "MOVE received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_TURN:
snprintf(str, 99, "TURN received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_GET_BUSY_STATE:
snprintf(str, 99, "GET_BUSY_STATE received\r");
cmdSendBusyState(ANS_STATE_BUSY);
break;
case CMD_TEST:
snprintf(str, 99, "TEST received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_DEBUG:
snprintf(str, 99, "DEBUG received\r");
cmdSendAnswer(ANS_OK);
break;
case CMD_POWER_OFF:
snprintf(str, 99, "POWER_OFF received\r");
cmdSendAnswer(ANS_OK);
break;
default:
snprintf(str, 99, "Unknown command\r");
cmdSendAnswer(ANS_UNKNOWN);
break;
}
MESSAGE_SendMailbox(XBEE_Mailbox, MSG_ID_XBEE_ANS, APPLICATION_Mailbox, (void*)str);
}
}
@ -201,10 +214,10 @@ void TESTS_BasicTests(void* params) {
case BATTERY_Tests:
while (1) {
char* str;
//char* str;
msg = MESSAGE_ReadMailbox(APPLICATION_Mailbox); // Wait for a message from Xbee
str = (char*)malloc(100); /* allocate a buffer of 100 bytes */
//str = (char*)malloc(100); /* allocate a buffer of 100 bytes */
str[0]=0;
switch (msg.id) {
@ -224,7 +237,7 @@ void TESTS_BasicTests(void* params) {
snprintf(str, 99, "Charge error (plug in)\r");
break;
default:
free(str); // buffer alloué non utilisé
//free(str); // buffer alloué non utilisé
break;
}

File diff suppressed because one or more lines are too long