From 959ec204906255b1430942fa0119d851c49b9bb3 Mon Sep 17 00:00:00 2001 From: Fisch Date: Wed, 26 Jun 2024 20:41:11 +0200 Subject: [PATCH] change pinout for teensy41 --- Bobbycar_wiring/Bobbycar_wiring.kicad_sch | 306 +++++++++--------- .../steering_wheel_wiring.kicad_sch | 2 +- .../.vscode/c_cpp_properties.json | 77 +++-- controller_teensy/.vscode/launch.json | 29 +- controller_teensy/include/definitions.h | 10 +- controller_teensy/include/logging.h | 14 +- controller_teensy/include/temperature.h | 2 +- controller_teensy/platformio.ini | 10 +- controller_teensy/src/main.cpp | 168 +--------- hoverboard-firmware-hack-foc-serial-esc | 2 +- .../logdata_visualization.pde | 2 +- 11 files changed, 233 insertions(+), 389 deletions(-) diff --git a/Bobbycar_wiring/Bobbycar_wiring.kicad_sch b/Bobbycar_wiring/Bobbycar_wiring.kicad_sch index 8260eb2..f183077 100644 --- a/Bobbycar_wiring/Bobbycar_wiring.kicad_sch +++ b/Bobbycar_wiring/Bobbycar_wiring.kicad_sch @@ -3125,10 +3125,6 @@ (stroke (width 0) (type default) (color 0 0 0 0)) (uuid 322a7fce-26c4-4bb5-ba5a-1688f26585cf) ) - (wire (pts (xy 185.42 68.58) (xy 185.42 82.55)) - (stroke (width 0) (type default) (color 0 0 0 0)) - (uuid 32551a79-b842-47a9-8e23-7783a840e131) - ) (wire (pts (xy 299.72 154.305) (xy 299.72 153.035)) (stroke (width 0) (type default) (color 0 0 0 0)) (uuid 32c7feaa-ff37-42f1-980c-fc6579887918) @@ -3352,10 +3348,6 @@ (stroke (width 0) (type default) (color 0 0 0 0)) (uuid 5a1c01fb-cf82-4e17-9a62-00e0a3adba47) ) - (wire (pts (xy 182.88 68.58) (xy 182.88 80.01)) - (stroke (width 0) (type default) (color 0 0 0 0)) - (uuid 5ae7ec9d-f872-4d2d-a4c4-ccac7b92dc87) - ) (wire (pts (xy 94.615 113.03) (xy 90.805 113.03)) (stroke (width 0) (type default) (color 0 0 0 0)) (uuid 5b15d041-2d51-4c90-8164-397806011835) @@ -4026,10 +4018,6 @@ (stroke (width 0) (type default) (color 0 0 0 0)) (uuid e30feb4a-fbf6-4daf-98b5-732517c38662) ) - (wire (pts (xy 185.42 82.55) (xy 215.9 82.55)) - (stroke (width 0) (type default) (color 0 0 0 0)) - (uuid e35c1c41-213f-461a-8eff-66b6400073a4) - ) (wire (pts (xy 102.87 86.36) (xy 111.76 86.36)) (stroke (width 0) (type default) (color 0 0 0 0)) (uuid e3c6fee2-2f3b-4d3b-a99d-87431781a1a5) @@ -4128,10 +4116,6 @@ (stroke (width 0) (type default) (color 0 0 0 0)) (uuid fef0d373-95f7-4933-b208-332f2be98120) ) - (wire (pts (xy 182.88 80.01) (xy 215.9 80.01)) - (stroke (width 0) (type default) (color 0 0 0 0)) - (uuid ffd247f5-5f20-465f-8dc6-c034df16c203) - ) (text "40A AGU Fuse" (at 79.375 41.91 180) (effects (font (size 1.27 1.27)) (justify right bottom)) @@ -4174,7 +4158,7 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 2db910a0-b943-40b4-b81f-068ba5265f56) ) - (text "red" (at 95.25 171.45 90) + (text "red" (at 95.25 191.77 90) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 358757e3-e4fa-4400-84f1-d961c8f598ae) ) @@ -4190,7 +4174,7 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 42ff012d-5eb7-42b9-bb45-415cf26799c6) ) - (text "Yellow" (at 90.17 170.815 90) + (text "Yellow" (at 90.17 194.945 90) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 44035e53-ff94-45ad-801f-55a1ce042a0d) ) @@ -4206,7 +4190,7 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 552aa453-5cf8-4fda-9a74-7b6ed84d3d66) ) - (text "TODO ändern an Kabeln:\nKabel mit DS1820 auf 3 Pol ändern" + (text "TODO ändern an Kabeln:\nKabel mit DS1820 auf 3 Pol ändern\n\nKabel LED Ring WS2812 auf 3 Pol ändern" (at 311.15 196.85 0) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 770001ce-2668-45ed-8ecf-aae6722df9cf) @@ -4223,6 +4207,10 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 88cb65f4-7e9e-44eb-8692-3b6e2e788a94) ) + (text "White\nOrange\nBlack" (at 161.29 145.415 180) + (effects (font (size 1.5 1.5)) (justify right bottom)) + (uuid 88ce1684-f25f-4d8b-975e-d112df52ed8c) + ) (text "Blue" (at 185.42 151.13 90) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 96de0051-7945-413a-9219-1ab367546962) @@ -4247,7 +4235,7 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid ca5b6af8-ca05-4338-b852-b51f2b49b1db) ) - (text "White/Blue" (at 92.71 173.355 90) + (text "Green" (at 92.71 194.31 90) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid cee2f43a-7d22-4585-a857-73949bd17a9d) ) @@ -4271,7 +4259,7 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid e97b5984-9f0f-43a4-9b8a-838eef4cceb2) ) - (text "black" (at 87.63 170.815 90) + (text "black" (at 87.63 194.31 90) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid fc03b48b-b580-43df-a800-152783c84131) ) @@ -4292,10 +4280,18 @@ (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 7d39d336-0246-4c5d-bf4c-8e789280199d) ) + (label "LED_START" (at 205.74 74.93 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 80b38a21-c577-4f53-94c9-757b9b1a4d08) + ) (label "GND" (at 227.33 31.75 0) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 935057d5-6882-4c15-9a35-54677912ba12) ) + (label "FANS" (at 207.01 85.09 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 97103575-cccf-4c60-8d00-f8136bf0ab37) + ) (label "WS2812_DataIn" (at 180.34 41.275 90) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 992f95a4-a9cd-4c20-af2a-77abc7bc8964) @@ -4465,10 +4461,10 @@ (property "Datasheet" "" (id 3) (at 76.835 134.62 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae80)) - (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae80)) - (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae80)) - (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae80)) + (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae83)) + (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae83)) + (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae83)) + (pin "~" (uuid 289d2381-c24d-462b-86ba-5805292aae83)) ) (symbol (lib_id "Bobbycar_components:powerlatch") (at 50.165 133.35 0) (unit 1) @@ -4482,13 +4478,13 @@ (property "Datasheet" "" (id 3) (at 50.165 133.35 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f89)) - (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f89)) - (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f89)) - (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f89)) - (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f89)) - (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f89)) - (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f89)) + (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f8f)) + (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f8f)) + (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f8f)) + (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f8f)) + (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f8f)) + (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f8f)) + (pin "~" (uuid 7672a6d3-c089-44dd-b44a-004517620f8f)) ) (symbol (lib_id "Switch:SW_Push_SPDT") (at 44.45 99.06 0) (unit 1) @@ -4617,8 +4613,8 @@ (property "Datasheet" "" (id 3) (at 58.42 33.02 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid 5e737bb7-9ff1-43d7-bb29-d92d56c2e83a)) - (pin "~" (uuid 5e737bb7-9ff1-43d7-bb29-d92d56c2e83a)) + (pin "~" (uuid 5e737bb7-9ff1-43d7-bb29-d92d56c2e83b)) + (pin "~" (uuid 5e737bb7-9ff1-43d7-bb29-d92d56c2e83b)) ) (symbol (lib_id "Bobbycar_components:xt60_male") (at 55.88 50.8 90) (unit 1) @@ -4636,8 +4632,8 @@ (property "Datasheet" "" (id 3) (at 58.42 52.07 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid 283e418a-9a69-45b9-b0eb-506e5b012a24)) - (pin "~" (uuid 283e418a-9a69-45b9-b0eb-506e5b012a24)) + (pin "~" (uuid 283e418a-9a69-45b9-b0eb-506e5b012a25)) + (pin "~" (uuid 283e418a-9a69-45b9-b0eb-506e5b012a25)) ) (symbol (lib_id "Bobbycar_components:xt60_female") (at 81.915 31.75 270) (mirror x) (unit 1) @@ -4651,8 +4647,8 @@ (property "Datasheet" "" (id 3) (at 81.915 31.75 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid abfe2d16-5c1c-42e5-a5b8-7ee7611663ac)) - (pin "~" (uuid abfe2d16-5c1c-42e5-a5b8-7ee7611663ac)) + (pin "~" (uuid abfe2d16-5c1c-42e5-a5b8-7ee7611663ad)) + (pin "~" (uuid abfe2d16-5c1c-42e5-a5b8-7ee7611663ad)) ) (symbol (lib_id "Bobbycar_components:xt60_female") (at 81.915 50.8 270) (mirror x) (unit 1) @@ -4666,8 +4662,8 @@ (property "Datasheet" "" (id 3) (at 81.915 50.8 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid 87069b1b-beb7-4ccb-b34c-3dbae8f09b89)) - (pin "~" (uuid 87069b1b-beb7-4ccb-b34c-3dbae8f09b89)) + (pin "~" (uuid 87069b1b-beb7-4ccb-b34c-3dbae8f09b8a)) + (pin "~" (uuid 87069b1b-beb7-4ccb-b34c-3dbae8f09b8a)) ) (symbol (lib_id "Bobbycar_components:xt90antispark_female") (at 106.045 40.64 270) (unit 1) @@ -4685,8 +4681,8 @@ (property "Datasheet" "" (id 3) (at 106.045 40.64 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid 47077c27-146a-406e-a83a-e467ee31c5f1)) - (pin "~" (uuid 47077c27-146a-406e-a83a-e467ee31c5f1)) + (pin "~" (uuid 47077c27-146a-406e-a83a-e467ee31c5f2)) + (pin "~" (uuid 47077c27-146a-406e-a83a-e467ee31c5f2)) ) (symbol (lib_id "Bobbycar_components:xt90_male") (at 137.795 40.64 90) (mirror x) (unit 1) @@ -4700,8 +4696,8 @@ (property "Datasheet" "" (id 3) (at 137.795 40.64 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid aa0df799-0b67-406d-90cf-6dbd82290549)) - (pin "~" (uuid aa0df799-0b67-406d-90cf-6dbd82290549)) + (pin "~" (uuid aa0df799-0b67-406d-90cf-6dbd8229054a)) + (pin "~" (uuid aa0df799-0b67-406d-90cf-6dbd8229054a)) ) (symbol (lib_id "Connector_Generic:Conn_01x04") (at 90.17 180.975 90) (mirror x) (unit 1) @@ -4740,8 +4736,8 @@ (property "Datasheet" "" (id 3) (at 22.86 105.41 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid a5adf9fc-330f-4cad-bdb2-e0f8fb1b77b9)) - (pin "~" (uuid a5adf9fc-330f-4cad-bdb2-e0f8fb1b77b9)) + (pin "~" (uuid a5adf9fc-330f-4cad-bdb2-e0f8fb1b77ba)) + (pin "~" (uuid a5adf9fc-330f-4cad-bdb2-e0f8fb1b77ba)) ) (symbol (lib_id "Bobbycar_components:xt30_female") (at 22.86 81.28 0) (mirror x) (unit 1) @@ -4759,8 +4755,8 @@ (property "Datasheet" "" (id 3) (at 22.86 81.28 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid 92c8a67d-ecef-4663-99f5-c2b6e82bc06a)) - (pin "~" (uuid 92c8a67d-ecef-4663-99f5-c2b6e82bc06a)) + (pin "~" (uuid 92c8a67d-ecef-4663-99f5-c2b6e82bc06b)) + (pin "~" (uuid 92c8a67d-ecef-4663-99f5-c2b6e82bc06b)) ) (symbol (lib_id "Bobbycar_wiring-rescue:LED_Dual_2pin-Device") (at 44.45 86.36 0) (unit 1) @@ -4827,8 +4823,8 @@ (property "Datasheet" "" (id 3) (at 26.67 31.75 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid c8baad8e-84f6-4984-837a-38ef6d0b77c4)) - (pin "~" (uuid c8baad8e-84f6-4984-837a-38ef6d0b77c4)) + (pin "~" (uuid c8baad8e-84f6-4984-837a-38ef6d0b77c5)) + (pin "~" (uuid c8baad8e-84f6-4984-837a-38ef6d0b77c5)) ) (symbol (lib_id "Bobbycar_components:xt60_female") (at 26.67 50.8 270) (mirror x) (unit 1) @@ -4842,8 +4838,8 @@ (property "Datasheet" "" (id 3) (at 26.67 50.8 0) (effects (font (size 1.27 1.27)) hide) ) - (pin "~" (uuid a4649d4d-6aa3-4f07-b7a6-0d73d155ec95)) - (pin "~" (uuid a4649d4d-6aa3-4f07-b7a6-0d73d155ec95)) + (pin "~" (uuid a4649d4d-6aa3-4f07-b7a6-0d73d155ec96)) + (pin "~" (uuid a4649d4d-6aa3-4f07-b7a6-0d73d155ec96)) ) (symbol (lib_id "Device:R") (at 156.845 118.745 0) (unit 1) @@ -4888,7 +4884,7 @@ (symbol (lib_id "power:GNDD") (at 187.96 115.57 0) (mirror y) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid 06741e47-43c5-40fd-8d39-f3e84103a985) - (property "Reference" "#PWR?" (id 0) (at 187.96 121.92 0) + (property "Reference" "#PWR02" (id 0) (at 187.96 121.92 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "GNDD" (id 1) (at 184.785 116.6494 0) @@ -4922,7 +4918,7 @@ (symbol (lib_id "power:GNDD") (at 299.72 154.305 0) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid 09595db2-fb32-4098-af22-b458971ec9ee) - (property "Reference" "#PWR?" (id 0) (at 299.72 160.655 0) + (property "Reference" "#PWR010" (id 0) (at 299.72 160.655 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "GNDD" (id 1) (at 302.895 155.3844 0) @@ -5006,7 +5002,7 @@ (symbol (lib_id "power:+3V3") (at 187.96 107.95 0) (mirror y) (unit 1) (in_bom yes) (on_board yes) (uuid 1c8e9331-a789-42ff-9d2c-d4b235c358d3) - (property "Reference" "#PWR?" (id 0) (at 187.96 111.76 0) + (property "Reference" "#PWR01" (id 0) (at 187.96 111.76 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "+3V3" (id 1) (at 190.5 104.14 0) @@ -5108,7 +5104,7 @@ (symbol (lib_id "power:+3V3") (at 287.655 90.17 0) (unit 1) (in_bom yes) (on_board yes) (uuid 295edbb3-d523-4737-a699-2160c5b466f0) - (property "Reference" "#PWR?" (id 0) (at 287.655 93.98 0) + (property "Reference" "#PWR07" (id 0) (at 287.655 93.98 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "+3V3" (id 1) (at 285.115 86.36 0) @@ -5212,7 +5208,7 @@ (symbol (lib_id "Connector:Conn_01x04_Female") (at 90.17 184.15 90) (unit 1) (in_bom no) (on_board no) (uuid 33608df4-41d1-4381-8d4b-bce430aaeb0f) - (property "Reference" "J?" (id 0) (at 91.44 179.07 90)) + (property "Reference" "J20" (id 0) (at 91.44 179.07 90)) (property "Value" "i2c_steering_wheel" (id 1) (at 104.775 183.515 90)) (property "Footprint" "" (id 2) (at 90.17 184.15 0) (effects (font (size 1.27 1.27)) hide) @@ -5318,7 +5314,7 @@ (symbol (lib_id "Connector:Conn_01x04_Male") (at 182.245 113.03 0) (mirror x) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid 43c12589-0e00-4a1e-bcd5-a7461f5bff47) - (property "Reference" "J?" (id 0) (at 180.34 110.4899 0) + (property "Reference" "J30" (id 0) (at 180.34 110.4899 0) (effects (font (size 1.27 1.27)) (justify right)) ) (property "Value" "Aux2" (id 1) (at 180.34 113.0299 0) @@ -5339,7 +5335,7 @@ (symbol (lib_id "power:+3V3") (at 215.9 22.225 0) (unit 1) (in_bom yes) (on_board yes) (uuid 452df52e-5d4a-40bf-8600-9e922379eb26) - (property "Reference" "#PWR?" (id 0) (at 215.9 26.035 0) + (property "Reference" "#PWR05" (id 0) (at 215.9 26.035 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "+3V3" (id 1) (at 213.36 18.415 0) @@ -5387,24 +5383,6 @@ ) ) - (symbol (lib_id "Connector:Conn_01x05_Male") (at 180.34 63.5 90) (mirror x) (unit 1) - (in_bom yes) (on_board yes) - (uuid 4bd42f9e-5f27-4b96-970b-d15afedbd1e2) - (property "Reference" "J22" (id 0) (at 169.545 66.675 0)) - (property "Value" "LED" (id 1) (at 172.72 63.5 0)) - (property "Footprint" "Connector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical" (id 2) (at 180.34 63.5 0) - (effects (font (size 1.27 1.27)) hide) - ) - (property "Datasheet" "~" (id 3) (at 180.34 63.5 0) - (effects (font (size 1.27 1.27)) hide) - ) - (pin "1" (uuid 7b3fb233-9b38-47a1-9015-2b103db42ad0)) - (pin "2" (uuid 83cef650-d9f8-40d7-a5d0-2428e41cfd82)) - (pin "3" (uuid 5aaafa0f-b912-4958-8c91-30bdc8c82f3f)) - (pin "4" (uuid f3a1849d-b9a0-46b6-a7f7-18f170447861)) - (pin "5" (uuid b5e2c913-af59-4f42-a0f2-9a1933adba86)) - ) - (symbol (lib_id "Sensor_Temperature:DS18B20") (at 124.46 158.75 0) (unit 1) (in_bom no) (on_board no) (uuid 4fa31c47-ffd9-4fde-a7a5-dbb94990be0e) @@ -5584,7 +5562,7 @@ (symbol (lib_id "Connector:Conn_01x03_Male") (at 168.275 142.875 0) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid 6db3c282-28d1-4a1a-8fd3-ab0bdeb886d7) - (property "Reference" "J?" (id 0) (at 168.91 134.62 0)) + (property "Reference" "J28" (id 0) (at 168.91 134.62 0)) (property "Value" "Temp" (id 1) (at 168.91 137.16 0)) (property "Footprint" "" (id 2) (at 168.275 142.875 0) (effects (font (size 1.27 1.27)) hide) @@ -5600,7 +5578,7 @@ (symbol (lib_id "power:+3V3") (at 291.465 135.255 0) (unit 1) (in_bom yes) (on_board yes) (uuid 7504748d-0fe1-4243-b1ad-5dda39e5c465) - (property "Reference" "#PWR?" (id 0) (at 291.465 139.065 0) + (property "Reference" "#PWR09" (id 0) (at 291.465 139.065 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "+3V3" (id 1) (at 288.925 131.445 0) @@ -5632,6 +5610,22 @@ (pin "4" (uuid 4ffe744e-c6ee-4501-b1d6-9b4105ae0170)) ) + (symbol (lib_id "Connector:Conn_01x03_Male") (at 177.8 63.5 90) (mirror x) (unit 1) + (in_bom yes) (on_board yes) + (uuid 7d97133f-4db9-47e9-80f1-cb86fe8cf8a5) + (property "Reference" "J29" (id 0) (at 172.72 65.405 90)) + (property "Value" "LED" (id 1) (at 184.15 67.31 90)) + (property "Footprint" "Connector_JST:JST_XH_B5B-XH-A_1x03_P2.50mm_Vertical" (id 2) (at 177.8 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 177.8 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d0336921-0191-43a1-a409-4fb1e8412fa0)) + (pin "2" (uuid 680bfe3b-147a-4879-a75b-e32cca18da50)) + (pin "3" (uuid 168a0dd4-d37c-43d6-836d-bcda9861d869)) + ) + (symbol (lib_id "Connector:Conn_01x02_Male") (at 33.655 154.94 0) (mirror x) (unit 1) (in_bom yes) (on_board yes) (uuid 7f6c3bd3-65a4-43cb-9f9c-8e391de42301) @@ -5738,7 +5732,7 @@ (symbol (lib_id "power:+5V") (at 303.53 135.89 0) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid 8e2e1cd6-f038-44ed-9946-b412ea146e45) - (property "Reference" "#PWR?" (id 0) (at 303.53 139.7 0) + (property "Reference" "#PWR011" (id 0) (at 303.53 139.7 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "+5V" (id 1) (at 303.53 130.175 0)) @@ -5809,7 +5803,7 @@ (symbol (lib_id "power:GNDD") (at 287.655 97.79 0) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid 9ef625a9-6f03-434f-86cc-d1f77d7e126c) - (property "Reference" "#PWR?" (id 0) (at 287.655 104.14 0) + (property "Reference" "#PWR08" (id 0) (at 287.655 104.14 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "GNDD" (id 1) (at 290.83 98.8694 0) @@ -5862,7 +5856,7 @@ (symbol (lib_id "teensy:Teensy4.1") (at 243.84 121.92 0) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid aaf8e245-015e-43a3-8519-ae6c9fda87bf) - (property "Reference" "U?" (id 0) (at 243.84 55.88 0)) + (property "Reference" "U3" (id 0) (at 243.84 55.88 0)) (property "Value" "Teensy4.1" (id 1) (at 243.84 58.42 0)) (property "Footprint" "" (id 2) (at 233.68 111.76 0) (effects (font (size 1.27 1.27)) hide) @@ -5974,7 +5968,7 @@ (symbol (lib_id "Connector:Conn_01x03_Female") (at 165.735 142.875 0) (unit 1) (in_bom yes) (on_board yes) (uuid b262b802-37a3-42be-85d9-a67a53bb7641) - (property "Reference" "J?" (id 0) (at 161.925 134.62 0) + (property "Reference" "J22" (id 0) (at 161.925 134.62 0) (effects (font (size 1.27 1.27)) (justify left)) ) (property "Value" "Temp" (id 1) (at 160.655 137.16 0) @@ -6064,7 +6058,7 @@ (symbol (lib_id "Jumper:SolderJumper_3_Open") (at 297.18 137.16 0) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid cbaefaf4-9f47-4ce5-85b3-4cb2f8002a97) - (property "Reference" "JP?" (id 0) (at 297.18 130.81 0)) + (property "Reference" "JP3" (id 0) (at 297.18 130.81 0)) (property "Value" "3V3 5V" (id 1) (at 297.18 133.35 0)) (property "Footprint" "Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm" (id 2) (at 297.18 137.16 0) (effects (font (size 1.27 1.27)) hide) @@ -6093,6 +6087,22 @@ (pin "3" (uuid eb8b703a-f4bc-4270-9633-8d55ceed84bf)) ) + (symbol (lib_id "Connector:Conn_01x03_Female") (at 177.8 62.865 90) (mirror x) (unit 1) + (in_bom no) (on_board no) + (uuid ce7b4aaa-8bab-4e81-93e1-b3d13beec723) + (property "Reference" "J?" (id 0) (at 172.085 60.96 90)) + (property "Value" "LED" (id 1) (at 184.15 59.69 90)) + (property "Footprint" "" (id 2) (at 177.8 62.865 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (id 3) (at 177.8 62.865 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7ee7252f-4a6b-4528-877f-3863318f3c3a)) + (pin "2" (uuid 56c7248a-b248-4a23-8f0f-9500f04f3dd5)) + (pin "3" (uuid 765e5e6c-fae2-40f0-bc1c-0494f7fab1c7)) + ) + (symbol (lib_id "power:GNDD") (at 156.845 123.825 0) (unit 1) (in_bom yes) (on_board yes) (uuid d6f3cc5c-d794-4493-ac64-0f9597c264d5) @@ -6109,28 +6119,6 @@ (pin "1" (uuid 50b62069-b4c4-46ef-b5cc-ce630fc26ab1)) ) - (symbol (lib_id "Connector:Conn_01x05_Female") (at 180.34 62.865 90) (mirror x) (unit 1) - (in_bom no) (on_board no) - (uuid d72f9dce-da31-4e9a-9bd1-f31f0fbaefc7) - (property "Reference" "J21" (id 0) (at 169.545 58.42 0) - (effects (font (size 1.27 1.27)) (justify left)) - ) - (property "Value" "LED" (id 1) (at 187.325 61.595 0) - (effects (font (size 1.27 1.27)) (justify left)) - ) - (property "Footprint" "" (id 2) (at 180.34 62.865 0) - (effects (font (size 1.27 1.27)) hide) - ) - (property "Datasheet" "~" (id 3) (at 180.34 62.865 0) - (effects (font (size 1.27 1.27)) hide) - ) - (pin "1" (uuid 819334a9-7a02-4614-babc-d92ece9b2c3b)) - (pin "2" (uuid 280c6a80-5d29-4b1e-b377-7cf465e711ed)) - (pin "3" (uuid b5ce6538-b96b-4179-b018-34baaba054df)) - (pin "4" (uuid 26a0af78-a1b8-4192-bb90-562d4ed51128)) - (pin "5" (uuid 8de48268-d332-481c-9261-4e3f1f8b9d1b)) - ) - (symbol (lib_id "power:GNDD") (at 174.625 146.05 0) (mirror y) (unit 1) (in_bom yes) (on_board yes) (uuid d83a9c46-e1fc-44fb-90b9-91f8745678f2) @@ -6205,7 +6193,7 @@ (symbol (lib_id "Connector_Generic:Conn_01x06") (at 292.1 162.56 270) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid df46d972-4382-4d7f-885c-960b6b323220) - (property "Reference" "J?" (id 0) (at 290.83 166.37 90)) + (property "Reference" "J35" (id 0) (at 290.83 166.37 90)) (property "Value" "Serial8" (id 1) (at 290.83 168.91 90)) (property "Footprint" "Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical" (id 2) (at 292.1 162.56 0) (effects (font (size 1.27 1.27)) hide) @@ -6258,7 +6246,7 @@ (symbol (lib_id "Connector:Conn_01x04_Male") (at 293.37 95.25 180) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid e972a83f-9d8f-433b-926a-68ffa3d75a78) - (property "Reference" "J?" (id 0) (at 294.64 92.7099 0) + (property "Reference" "J36" (id 0) (at 294.64 92.7099 0) (effects (font (size 1.27 1.27)) (justify right)) ) (property "Value" "Aux1" (id 1) (at 294.64 95.2499 0) @@ -6297,7 +6285,7 @@ (symbol (lib_id "power:+3V3") (at 277.495 70.485 0) (unit 1) (in_bom yes) (on_board yes) (uuid ee2c37ad-eb4e-4e52-8f02-d34b21702553) - (property "Reference" "#PWR?" (id 0) (at 277.495 74.295 0) + (property "Reference" "#PWR06" (id 0) (at 277.495 74.295 0) (effects (font (size 1.27 1.27)) hide) ) (property "Value" "+3V3" (id 1) (at 279.4 67.31 0)) @@ -6419,12 +6407,39 @@ ) (symbol_instances + (path "/1c8e9331-a789-42ff-9d2c-d4b235c358d3" + (reference "#PWR01") (unit 1) (value "+3V3") (footprint "") + ) + (path "/06741e47-43c5-40fd-8d39-f3e84103a985" + (reference "#PWR02") (unit 1) (value "GNDD") (footprint "") + ) (path "/1decd28b-79a7-42cf-985a-835665426fb5" (reference "#PWR03") (unit 1) (value "+3V3") (footprint "") ) (path "/f678b9e2-0848-4fad-b60a-0cc9b21ffc54" (reference "#PWR04") (unit 1) (value "+5V") (footprint "") ) + (path "/452df52e-5d4a-40bf-8600-9e922379eb26" + (reference "#PWR05") (unit 1) (value "+3V3") (footprint "") + ) + (path "/ee2c37ad-eb4e-4e52-8f02-d34b21702553" + (reference "#PWR06") (unit 1) (value "+3V3") (footprint "") + ) + (path "/295edbb3-d523-4737-a699-2160c5b466f0" + (reference "#PWR07") (unit 1) (value "+3V3") (footprint "") + ) + (path "/9ef625a9-6f03-434f-86cc-d1f77d7e126c" + (reference "#PWR08") (unit 1) (value "GNDD") (footprint "") + ) + (path "/7504748d-0fe1-4243-b1ad-5dda39e5c465" + (reference "#PWR09") (unit 1) (value "+3V3") (footprint "") + ) + (path "/09595db2-fb32-4098-af22-b458971ec9ee" + (reference "#PWR010") (unit 1) (value "GNDD") (footprint "") + ) + (path "/8e2e1cd6-f038-44ed-9946-b412ea146e45" + (reference "#PWR011") (unit 1) (value "+5V") (footprint "") + ) (path "/17bbe4ce-9503-4041-ad73-c8128abff18a" (reference "#PWR0101") (unit 1) (value "+3V3") (footprint "") ) @@ -6503,33 +6518,6 @@ (path "/63ed4210-07d8-473f-b760-9d266fc78857" (reference "#PWR0132") (unit 1) (value "+3V3") (footprint "") ) - (path "/06741e47-43c5-40fd-8d39-f3e84103a985" - (reference "#PWR?") (unit 1) (value "GNDD") (footprint "") - ) - (path "/09595db2-fb32-4098-af22-b458971ec9ee" - (reference "#PWR?") (unit 1) (value "GNDD") (footprint "") - ) - (path "/1c8e9331-a789-42ff-9d2c-d4b235c358d3" - (reference "#PWR?") (unit 1) (value "+3V3") (footprint "") - ) - (path "/295edbb3-d523-4737-a699-2160c5b466f0" - (reference "#PWR?") (unit 1) (value "+3V3") (footprint "") - ) - (path "/452df52e-5d4a-40bf-8600-9e922379eb26" - (reference "#PWR?") (unit 1) (value "+3V3") (footprint "") - ) - (path "/7504748d-0fe1-4243-b1ad-5dda39e5c465" - (reference "#PWR?") (unit 1) (value "+3V3") (footprint "") - ) - (path "/8e2e1cd6-f038-44ed-9946-b412ea146e45" - (reference "#PWR?") (unit 1) (value "+5V") (footprint "") - ) - (path "/9ef625a9-6f03-434f-86cc-d1f77d7e126c" - (reference "#PWR?") (unit 1) (value "GNDD") (footprint "") - ) - (path "/ee2c37ad-eb4e-4e52-8f02-d34b21702553" - (reference "#PWR?") (unit 1) (value "+3V3") (footprint "") - ) (path "/970dd28f-31ef-478f-a970-8ccde72756aa" (reference "BT1") (unit 1) (value "3V") (footprint "Battery:BatteryHolder_Keystone_1058_1x2032") ) @@ -6549,7 +6537,7 @@ (reference "C5") (unit 1) (value "100nF") (footprint "") ) (path "/68ad52e4-bfd9-401d-b7c4-72d9de89d81d/20c59adb-e41f-4fe1-b356-0762bed65b70" - (reference "C?") (unit 1) (value "100nF") (footprint "") + (reference "C6") (unit 1) (value "100nF") (footprint "") ) (path "/00000000-0000-0000-0000-00005df36553" (reference "D1") (unit 1) (value "POWERLED") (footprint "") @@ -6641,11 +6629,11 @@ (path "/848d2835-2ae7-4588-a43f-542ecd1149b3" (reference "J19") (unit 1) (value "I2C") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical") ) - (path "/d72f9dce-da31-4e9a-9bd1-f31f0fbaefc7" - (reference "J21") (unit 1) (value "LED") (footprint "") + (path "/33608df4-41d1-4381-8d4b-bce430aaeb0f" + (reference "J20") (unit 1) (value "i2c_steering_wheel") (footprint "") ) - (path "/4bd42f9e-5f27-4b96-970b-d15afedbd1e2" - (reference "J22") (unit 1) (value "LED") (footprint "Connector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical") + (path "/b262b802-37a3-42be-85d9-a67a53bb7641" + (reference "J22") (unit 1) (value "Temp") (footprint "") ) (path "/3d200879-e508-42c8-871e-c01cb537c9c8" (reference "J23") (unit 1) (value "Fan") (footprint "") @@ -6662,6 +6650,15 @@ (path "/681d79c7-18bf-4681-af44-d9bc71db3cdf" (reference "J27") (unit 1) (value "SPI_A0") (footprint "Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical") ) + (path "/6db3c282-28d1-4a1a-8fd3-ab0bdeb886d7" + (reference "J28") (unit 1) (value "Temp") (footprint "") + ) + (path "/7d97133f-4db9-47e9-80f1-cb86fe8cf8a5" + (reference "J29") (unit 1) (value "LED") (footprint "Connector_JST:JST_XH_B5B-XH-A_1x03_P2.50mm_Vertical") + ) + (path "/43c12589-0e00-4a1e-bcd5-a7461f5bff47" + (reference "J30") (unit 1) (value "Aux2") (footprint "") + ) (path "/68ad52e4-bfd9-401d-b7c4-72d9de89d81d/96ffb255-80d6-4ce3-b617-72493a9d317b" (reference "J31") (unit 1) (value "I2C Display") (footprint "") ) @@ -6674,23 +6671,14 @@ (path "/68ad52e4-bfd9-401d-b7c4-72d9de89d81d/6f79def4-5293-44c7-b802-8b041dc05b19" (reference "J34") (unit 1) (value "Brake Hall") (footprint "") ) - (path "/33608df4-41d1-4381-8d4b-bce430aaeb0f" - (reference "J?") (unit 1) (value "i2c_steering_wheel") (footprint "") - ) - (path "/43c12589-0e00-4a1e-bcd5-a7461f5bff47" - (reference "J?") (unit 1) (value "Aux2") (footprint "") - ) - (path "/6db3c282-28d1-4a1a-8fd3-ab0bdeb886d7" - (reference "J?") (unit 1) (value "Temp") (footprint "") - ) - (path "/b262b802-37a3-42be-85d9-a67a53bb7641" - (reference "J?") (unit 1) (value "Temp") (footprint "") - ) (path "/df46d972-4382-4d7f-885c-960b6b323220" - (reference "J?") (unit 1) (value "Serial8") (footprint "Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical") + (reference "J35") (unit 1) (value "Serial8") (footprint "Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical") ) (path "/e972a83f-9d8f-433b-926a-68ffa3d75a78" - (reference "J?") (unit 1) (value "Aux1") (footprint "") + (reference "J36") (unit 1) (value "Aux1") (footprint "") + ) + (path "/ce7b4aaa-8bab-4e81-93e1-b3d13beec723" + (reference "J?") (unit 1) (value "LED") (footprint "") ) (path "/cda57f29-e09c-4cd2-82df-d69b76217973" (reference "JP1") (unit 1) (value "3V3 5V") (footprint "Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm") @@ -6699,7 +6687,7 @@ (reference "JP2") (unit 1) (value "solderjumper_addr") (footprint "") ) (path "/cbaefaf4-9f47-4ce5-85b3-4cb2f8002a97" - (reference "JP?") (unit 1) (value "3V3 5V") (footprint "Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm") + (reference "JP3") (unit 1) (value "3V3 5V") (footprint "Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm") ) (path "/2ee34c54-8618-4144-bca8-a0f51698fabe" (reference "M1") (unit 1) (value "Fan_ESC") (footprint "") @@ -6773,6 +6761,9 @@ (path "/00000000-0000-0000-0000-00005dece90e" (reference "U2") (unit 1) (value "StepDown") (footprint "") ) + (path "/aaf8e245-015e-43a3-8519-ae6c9fda87bf" + (reference "U3") (unit 1) (value "Teensy4.1") (footprint "") + ) (path "/01b04aab-8171-4a7b-a8ce-0c1c7877b6c2" (reference "U5") (unit 1) (value "DS18B20") (footprint "Package_TO_SOT_THT:TO-92_Inline") ) @@ -6785,8 +6776,5 @@ (path "/68ad52e4-bfd9-401d-b7c4-72d9de89d81d/a6f31ae1-ecaf-4ba5-88d2-2e3902ecf97e" (reference "U8") (unit 1) (value "ADS1115IDGS") (footprint "Package_SO:TSSOP-10_3x3mm_P0.5mm") ) - (path "/aaf8e245-015e-43a3-8519-ae6c9fda87bf" - (reference "U?") (unit 1) (value "Teensy4.1") (footprint "") - ) ) ) diff --git a/Bobbycar_wiring/steering_wheel_wiring.kicad_sch b/Bobbycar_wiring/steering_wheel_wiring.kicad_sch index dc3334a..5933cb0 100644 --- a/Bobbycar_wiring/steering_wheel_wiring.kicad_sch +++ b/Bobbycar_wiring/steering_wheel_wiring.kicad_sch @@ -1165,7 +1165,7 @@ (symbol (lib_id "Device:C") (at 70.485 38.1 0) (unit 1) (in_bom yes) (on_board yes) (fields_autoplaced) (uuid 20c59adb-e41f-4fe1-b356-0762bed65b70) - (property "Reference" "C?" (id 0) (at 74.295 36.8299 0) + (property "Reference" "C6" (id 0) (at 74.295 36.8299 0) (effects (font (size 1.27 1.27)) (justify left)) ) (property "Value" "100nF" (id 1) (at 74.295 39.3699 0) diff --git a/controller_teensy/.vscode/c_cpp_properties.json b/controller_teensy/.vscode/c_cpp_properties.json index 0a0d76b..f449eaa 100644 --- a/controller_teensy/.vscode/c_cpp_properties.json +++ b/controller_teensy/.vscode/c_cpp_properties.json @@ -10,21 +10,22 @@ "includePath": [ "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/include", "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SD/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SdFat/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Time", "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/lib/hoverboard-esc-serial-comm/src", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/DallasTemperature", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/OneWire", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/DallasTemperature", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/OneWire", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/VirtualWire", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit NeoPixel", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/SD/src", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit SSD1306", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit GFX Library", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit BusIO", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit NeoPixel", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit SSD1306", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit GFX Library", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit BusIO", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SPI", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/ADS1X15", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/ADS1X15", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Wire", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Wire/utility", - "/home/fisch/.platformio/packages/framework-arduinoteensy/cores/teensy3", + "/home/fisch/.platformio/packages/framework-arduinoteensy/cores/teensy4", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ADC", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/AccelStepper/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Adafruit_NeoPixel", @@ -44,8 +45,8 @@ "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/DmxSimple", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/DogLcd", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EEPROM", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransfer", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransferI2C", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransfer/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransferI2C/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Encoder", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Encoder/utility", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Entropy", @@ -87,13 +88,11 @@ "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Ping", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/PulsePosition", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/QuadEncoder", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/RA8875", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/RA8875/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/RadioHead", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ResponsiveAnalogRead/src", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SD/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SPIFlash", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ST7735_t3", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SdFat/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ST7735_t3/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SerialFlash", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Servo", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ShiftPWM", @@ -126,21 +125,22 @@ "path": [ "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/include", "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SD/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SdFat/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Time", "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/lib/hoverboard-esc-serial-comm/src", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/DallasTemperature", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/OneWire", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/DallasTemperature", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/OneWire", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/VirtualWire", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit NeoPixel", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/SD/src", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit SSD1306", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit GFX Library", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/Adafruit BusIO", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit NeoPixel", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit SSD1306", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit GFX Library", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/Adafruit BusIO", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SPI", - "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy31/ADS1X15", + "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/libdeps/teensy41/ADS1X15", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Wire", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Wire/utility", - "/home/fisch/.platformio/packages/framework-arduinoteensy/cores/teensy3", + "/home/fisch/.platformio/packages/framework-arduinoteensy/cores/teensy4", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ADC", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/AccelStepper/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Adafruit_NeoPixel", @@ -160,8 +160,8 @@ "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/DmxSimple", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/DogLcd", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EEPROM", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransfer", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransferI2C", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransfer/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/EasyTransferI2C/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Encoder", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Encoder/utility", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Entropy", @@ -203,13 +203,11 @@ "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Ping", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/PulsePosition", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/QuadEncoder", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/RA8875", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/RA8875/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/RadioHead", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ResponsiveAnalogRead/src", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SD/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SPIFlash", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ST7735_t3", - "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SdFat/src", + "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ST7735_t3/src", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/SerialFlash", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/Servo", "/home/fisch/.platformio/packages/framework-arduinoteensy/libraries/ShiftPWM", @@ -239,23 +237,24 @@ ] }, "defines": [ - "PLATFORMIO=60111", - "__MK20DX256__", - "ARDUINO_TEENSY31", + "PLATFORMIO=60115", + "__IMXRT1062__", + "ARDUINO_TEENSY41", "USB_SERIAL_HID", "ARDUINO=10805", - "TEENSYDUINO=156", + "TEENSYDUINO=159", "CORE_TEENSY", - "F_CPU=72000000L", + "F_CPU=600000000", "LAYOUT_US_ENGLISH", "" ], - "cppStandard": "gnu++14", - "compilerPath": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi@1.50401.190816/bin/arm-none-eabi-gcc", + "cppStandard": "gnu++17", + "compilerPath": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin/arm-none-eabi-gcc", "compilerArgs": [ "-mthumb", - "-mcpu=cortex-m4", - "-mno-unaligned-access", + "-mcpu=cortex-m7", + "-mfloat-abi=hard", + "-mfpu=fpv5-d16", "" ] } diff --git a/controller_teensy/.vscode/launch.json b/controller_teensy/.vscode/launch.json index 874f47a..5a2fb07 100644 --- a/controller_teensy/.vscode/launch.json +++ b/controller_teensy/.vscode/launch.json @@ -1,9 +1,9 @@ // AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY // -// PIO Unified Debugger +// PlatformIO Debugging Solution // -// Documentation: https://docs.platformio.org/page/plus/debugging.html -// Configuration: https://docs.platformio.org/page/projectconf/section_env_debug.html +// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html +// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html { "version": "0.2.0", @@ -12,11 +12,10 @@ "type": "platformio-debug", "request": "launch", "name": "PIO Debug", - "executable": "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/build/teensy31/firmware.elf", - "projectEnvName": "teensy31", - "toolchainBinDir": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi@1.50401.190816/bin", + "executable": "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/build/teensy41/firmware.elf", + "projectEnvName": "teensy41", + "toolchainBinDir": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin", "internalConsoleOptions": "openOnSessionStart", - "svdPath": "/home/fisch/.platformio/platforms/teensy/misc/svd/MK20D5.svd", "preLaunchTask": { "type": "PlatformIO", "task": "Pre-Debug" @@ -26,21 +25,19 @@ "type": "platformio-debug", "request": "launch", "name": "PIO Debug (skip Pre-Debug)", - "executable": "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/build/teensy31/firmware.elf", - "projectEnvName": "teensy31", - "toolchainBinDir": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi@1.50401.190816/bin", - "internalConsoleOptions": "openOnSessionStart", - "svdPath": "/home/fisch/.platformio/platforms/teensy/misc/svd/MK20D5.svd" + "executable": "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/build/teensy41/firmware.elf", + "projectEnvName": "teensy41", + "toolchainBinDir": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin", + "internalConsoleOptions": "openOnSessionStart" }, { "type": "platformio-debug", "request": "launch", "name": "PIO Debug (without uploading)", - "executable": "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/build/teensy31/firmware.elf", - "projectEnvName": "teensy31", - "toolchainBinDir": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi@1.50401.190816/bin", + "executable": "/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/controller_teensy/.pio/build/teensy41/firmware.elf", + "projectEnvName": "teensy41", + "toolchainBinDir": "/home/fisch/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin", "internalConsoleOptions": "openOnSessionStart", - "svdPath": "/home/fisch/.platformio/platforms/teensy/misc/svd/MK20D5.svd", "loadMode": "manual" } ] diff --git a/controller_teensy/include/definitions.h b/controller_teensy/include/definitions.h index 1f3089a..6b00f23 100644 --- a/controller_teensy/include/definitions.h +++ b/controller_teensy/include/definitions.h @@ -26,7 +26,7 @@ bool log_header_written = false; //bool controllerRear_connected=false; bool controllers_connected=false; -#define PIN_THROTTLE A7 + //const uint16_t calib_throttle_min = 420; //better a bit too high than too low //const uint16_t calib_throttle_max = 790; const uint16_t failsafe_throttle_min_A = 4900; //if adc value falls below this failsafe is triggered. @@ -41,7 +41,7 @@ const uint16_t throttleCurvePerMM_A[] = {11800,11130,10300,9990,9650,9470,9370,9 const bool throttleCurvePerMM_A_Descending=true; //set true if corresponding array is descending const uint16_t throttleCurvePerMM_B[] = {6200,6700,7420,7710,8030,8200,8310,8440,8560,8640,8740,8840,8990,9130,9330,9630,9900,10440,10990}; //adc values for every unit (mm) of linear travel const bool throttleCurvePerMM_B_Descending=false; //set true if corresponding array is descending -#define PIN_BRAKE A8 + const uint16_t calib_brake_min = 7000; //better a bit too high than too low const uint16_t calib_brake_max = 11000; const uint16_t failsafe_brake_min = 4000; //if adc value falls below this failsafe is triggered @@ -110,13 +110,11 @@ int16_t throttle_max=1000; //maximum allowed set speed. used for scaling and lim bool reverse_enabled=false; unsigned long last_notidle=0; //not rolling to fast, no pedal pressed -#define PIN_START A9 +#define PIN_PWRBUTTON 40 //PWRBUTTON #define PIN_LED_START 2 //Enginge start led -#define PIN_LATCH_ENABLE A6 +#define PIN_LATCH_ENABLE 41 -#define PIN_MODE_LEDG 4 -#define PIN_MODE_LEDR 5 #define PIN_FAN 6 //Output High=Fans on diff --git a/controller_teensy/include/logging.h b/controller_teensy/include/logging.h index d4a0726..866f8bd 100644 --- a/controller_teensy/include/logging.h +++ b/controller_teensy/include/logging.h @@ -3,10 +3,10 @@ // SD Card Logging -#include //SCK=13, MISO=12, MOSI=11 -#include //Format sd cart with FAT or FAT16 +#include +#include //Format sd cart with FAT or FAT16. FAT32 for >1GB Cards on Teensy4.1 -#define SDCHIPSELECT 14 +//#define SDCHIPSELECT 14 boolean datalogging=true; String datalogging_filename="UNKNOWN.txt"; @@ -18,7 +18,7 @@ void writeLogComment(unsigned long time, String msg); bool initLogging() { Serial.print("Initializing SD card..."); // see if the card is present and can be initialized: - if (!SD.begin(SDCHIPSELECT)) { + if (!SD.begin(BUILTIN_SDCARD)) { Serial.println("Card failed, or not present"); display.println(F("SD Init Fail!")); display.display(); datalogging=false; //disable logging @@ -32,7 +32,7 @@ bool initLogging() { char buffer[6]; sprintf(buffer, "%04d", filenumber); datalogging_filename="LOG_"+String(buffer)+".TXT"; - while(SD.exists(datalogging_filename) && filenumber<10000) { + while(SD.exists(datalogging_filename.c_str()) && filenumber<10000) { Serial.print(datalogging_filename); Serial.println(" exists"); filenumber++; sprintf(buffer, "%04d", filenumber); @@ -57,7 +57,7 @@ void loggingLoop(unsigned long loopmillis,ESCSerialComm& escFront, ESCSerialComm { last_datalogging_write=loopmillis; - File dataFile = SD.open(datalogging_filename, FILE_WRITE); + File dataFile = SD.open(datalogging_filename.c_str(), FILE_WRITE); if (dataFile) { // if the file is available, write to it @@ -117,7 +117,7 @@ void loggingLoop(unsigned long loopmillis,ESCSerialComm& escFront, ESCSerialComm void writeLogComment(unsigned long time, String msg) { //SerialRef.print("#"); SerialRef.print(time/1000.0,3); SerialRef.print(","); SerialRef.print(msg); SerialRef.println(); if (datalogging) { - File dataFile = SD.open(datalogging_filename, FILE_WRITE); + File dataFile = SD.open(datalogging_filename.c_str(), FILE_WRITE); if (dataFile) { // if the file is available, write to it dataFile.print("#"); diff --git a/controller_teensy/include/temperature.h b/controller_teensy/include/temperature.h index 681e4f6..38d58f9 100644 --- a/controller_teensy/include/temperature.h +++ b/controller_teensy/include/temperature.h @@ -11,7 +11,7 @@ float temp_ESCRear; DeviceAddress thermometerAir={0x28,0xFF,0x64,0x0E,0x74,0x7E,0xFE,0x23}; //IC with three markings 28FF640E747EFE23 float temp_Air; -#define ONE_WIRE_BUS A2 //GPIO pin +#define ONE_WIRE_BUS 24 //GPIO pin #define TEMPERATURE_PRECISION 12 //max is 12 #define READINTERVAL_DS18B20 5000 //ms diff --git a/controller_teensy/platformio.ini b/controller_teensy/platformio.ini index 1cffc05..1f72fb7 100644 --- a/controller_teensy/platformio.ini +++ b/controller_teensy/platformio.ini @@ -10,7 +10,7 @@ [platformio] -default_envs = teensy31 +default_envs = teensy41 ; Set/override default options for each "[env:***]" [env] @@ -24,7 +24,6 @@ build_flags = lib_deps = robtillaart/ADS1X15@^0.3.9 adafruit/Adafruit SSD1306@^2.5.7 - arduino-libraries/SD@^1.2.4 https://github.com/adafruit/Adafruit_NeoPixel https://github.com/milesburton/Arduino-Temperature-Control-Library/ @@ -36,4 +35,9 @@ board = teensy31 [env:teensy40] platform = teensy -board = teensy40 \ No newline at end of file +board = teensy40 + + +[env:teensy41] +platform = teensy@5.0.0 +board = teensy41 \ No newline at end of file diff --git a/controller_teensy/src/main.cpp b/controller_teensy/src/main.cpp index 23ba8d4..657c75b 100644 --- a/controller_teensy/src/main.cpp +++ b/controller_teensy/src/main.cpp @@ -29,21 +29,16 @@ String getLogFilename(); -ESCSerialComm escFront(Serial2); -ESCSerialComm escRear(Serial3); -//Serial1 = TX1=1, RX1=0 -//Serial2 = TX2=10, RX2=9 -//Serial3 = TX3=8, RX3=7 +ESCSerialComm escFront(Serial7); +ESCSerialComm escRear(Serial2); -ADS1115 ADS(0x48); + +ADS1115 ADS(0x48, &Wire); //Pins: https://www.pjrc.com/teensy/td_libs_Wire.html /* -Connections: -Tennsy Pin, Pin Name, Connected to -10, Tx2, Hoverboard RX(Green) -9, Rx2, Hoverboard TX(Blue) -8, Tx3, Hoverboard RX(Green) -7, Rx3, Hoverboard TX(Blue) +Serial Hoverboard Colors +RX (Green) connect to TX on Teensy +TX (Blue) connect to RX on Teensy */ @@ -77,9 +72,8 @@ void setup() //Serial2.begin(SERIAL_CONTROL_BAUD); //control, TX2=10, RX2=9 //Serial3.begin(SERIAL_CONTROL_BAUD); //control, TX3=8, RX3=7 - pinMode(PIN_THROTTLE, INPUT); - pinMode(PIN_BRAKE, INPUT); - pinMode(PIN_START, INPUT_PULLUP); //Pressed=High + + pinMode(PIN_PWRBUTTON, INPUT_PULLUP); //Pressed=High pinMode(PIN_LED_START, OUTPUT); //Active High @@ -87,11 +81,6 @@ void setup() digitalWrite(PIN_FAN,HIGH); //Turn fan on during startup for debugging purposes - //TODO: remove mode button things - pinMode(PIN_MODE_LEDG, OUTPUT); //Active Low - digitalWrite(PIN_MODE_LEDG,LOW); - pinMode(PIN_MODE_LEDR, OUTPUT); //Active Low - digitalWrite(PIN_MODE_LEDR,LOW); pinMode(PIN_LATCH_ENABLE, OUTPUT); digitalWrite(PIN_LATCH_ENABLE,HIGH); //latch on @@ -138,6 +127,7 @@ void setup() // also set ADSREADPERIOD to at least the read interval ADS.requestADC(0); //Start requesting a channel led_simpeProgress(6,true); + writeLogComment((unsigned long)millis(), "ADS1115 Initialized"); } delay(10); for (uint8_t i=0;i<4;i++){ //read all channels once to have adc readings ready in first loop (to prevent premature failsafe) @@ -400,6 +390,7 @@ void readADS() { //sequentially read ads and write to variable break; case 3: //Buttons ads_control_raw=ads_val; + Serial.print("ADS="); Serial.print(ads_throttle_A_raw); Serial.print(" \t"); Serial.print(ads_throttle_B_raw); Serial.print(" \t"); Serial.print(ads_brake_raw); Serial.print(" \t"); Serial.println(ads_control_raw); break; } @@ -457,38 +448,6 @@ void readADC() { throttle_pos=constrain(throttlebreak_pos,0,1000); brake_pos=constrain(-throttlebreak_pos/2,0,1000); //rescale brake value from throttlebreak_pos - //throttlemax=750 - cmd ist aber 543 - //throttlemax=250 - cmd ist aber 117 - - //Serial.print(throttle_raw); Serial.print(", "); Serial.print(brake_raw); Serial.print(", "); - //Serial.print(throttle_pos); Serial.print(", "); Serial.print(brake_pos); Serial.println(); - - /* - if (digitalRead(PIN_MODE_SWITCH)) { //pushed in, also high if cable got disconnected - if (speedmode!=SPEEDMODE_SLOW) { - speedmode=SPEEDMODE_SLOW; - max_acceleration_rate=SLOW_MAX_ACCELERATION_RATE; - if (loopmillis>WRITE_HEADER_TIME) { - //writeLogComment(Serial1,loopmillis, "Mode switched to SPEEDMODE_SLOW"); - } - } - }else{ //button not pushed in - if (speedmode!=SPEEDMODE_NORMAL) { - speedmode=SPEEDMODE_NORMAL; - max_acceleration_rate=NORMAL_MAX_ACCELERATION_RATE; - if (loopmillis>WRITE_HEADER_TIME) { - //writeLogComment(Serial1,loopmillis, "Mode switched to SPEEDMODE_NORMAL"); - } - } - } - */ - - - /* - if (speedmode==SPEEDMODE_SLOW) { - throttle_pos/=2; - } - */ } @@ -626,100 +585,6 @@ void calculateSetSpeed(unsigned long timediff){ log_update=true; } -/* -void sendCMD() { //TODO: remove complete function because replaced by calculateSetSpeed() - // ## FOR REFERENCE: - //int16_t minimum_constant_cmd_reduce=1; //reduce cmd every loop by this constant amount when freewheeling/braking - //int16_t brake_cmdreduce_proportional=100; //cmd gets reduced by an amount proportional to brake position (ignores freewheeling). cmd_new-=brake_cmdreduce_proportional / second @ full brake. with BREAK_CMDREDUCE_CONSTANT=1000 car would stop with full brake at least after a second (ignoring influence of brake current control/freewheeling) - //float startbrakecurrent=3; //Ampere. "targeted brake current @full brake". at what point to start apply brake proportional to brake_pos. for everything above that cmd is reduced by freewheel_break_factor - //float startbrakecurrent_offset=0.1; //offset start point for breaking, because of reading fluctuations around 0A. set this slightly above idle current reading - - int16_t brake_pos_expo = (int16_t)(pow((brake_pos/1000.0),2)*1000); - - float brakepedal_current_multiplier=startbrakecurrent/1000.0; //how much breaking (in Ampere) for unit of brake_pos (0<=brake_pos<=1000) - - int16_t cmdreduce_constant=map(brake_pos_expo,0,1000,0,(int16_t)(brake_cmdreduce_proportional*SENDPERIOD/1000)); //reduce cmd value every cycle - - float freewheel_current=startbrakecurrent_offset-brake_pos_expo*brakepedal_current_multiplier; //above which driving current cmd send will be reduced more. increase value to decrease breaking. values <0 increases breaking above freewheeling - float freewheel_break_factor=500.0; //speed cmd units per amp per second. 1A over freewheel_current decreases cmd speed by this amount (on average) - motorparamsFront.filtered_curL=filterMedian(motorparamsFront.curL_DC)/50.0; //in Amps - motorparamsFront.filtered_curR=filterMedian(motorparamsFront.curR_DC)/50.0; //in Amps - motorparamsRear.filtered_curL=filterMedian(motorparamsRear.curL_DC)/50.0; //in Amps - motorparamsRear.filtered_curR=filterMedian(motorparamsRear.curR_DC)/50.0; //in Amps - - float filtered_currentFront=max(motorparamsFront.filtered_curL,motorparamsFront.filtered_curR); - float filtered_currentRear=max(motorparamsRear.filtered_curL,motorparamsRear.filtered_curR); - - filtered_currentAll=max(filtered_currentFront,filtered_currentRear); //positive value is current Drawn from battery. negative value is braking current - - if (throttle_pos>=last_cmd_send) { //accelerating - cmd_send += constrain(throttle_pos-cmd_send,0,max_acceleration_rate*SENDPERIOD/1000); //if throttle higher than last applied value, apply throttle directly - }else{ //freewheeling or braking - if (filtered_currentAll>freewheel_current) { //drive current too high - cmd_send-= max(0, (filtered_currentAll-freewheel_current)*freewheel_break_factor*(SENDPERIOD/1000.0)); //how much current over freewheel current, multiplied by factor. reduces cmd_send value - } - cmd_send-=max(minimum_constant_cmd_reduce,cmdreduce_constant); //reduce slowly anyways - - } - - - - cmd_send=constrain(cmd_send,0,1000); - - last_cmd_send=cmd_send; - - int16_t cmd_send_toMotor=constrain(cmd_send* (1.0-(brake_pos*0.5/1000.0) ) ,0,1000); //brake "ducking" - - - if (reverse_enabled) { - cmd_send_toMotor-=brake_pos*REVERSE_SPEED; - } - - if (!controllers_connected || !armed) { //controllers not connected or not armed - cmd_send=0; - cmd_send_toMotor=0; //safety off - } - - //apply throttle command to all motors - - motorparamsFront.cmdL=cmd_send_toMotor; - motorparamsFront.cmdR=cmd_send_toMotor; - motorparamsRear.cmdL=cmd_send_toMotor; - motorparamsRear.cmdR=cmd_send_toMotor; - - - if (controllers_connected) { - - SendSerial(CommandFront,motorparamsFront.cmdL,motorparamsFront.cmdR,Serial2); - SendSerial(CommandRear,motorparamsRear.cmdL,motorparamsRear.cmdR,Serial3); - - - log_update=true; - //Serial.print(cmd_send); Serial.print(", "); Serial.print(throttle_pos); Serial.print(", "); Serial.print(filtered_curFL*1000); Serial.print(", "); Serial.print(filtered_curFR*1000); Serial.print(", "); Serial.print(filtered_currentAll*1000); Serial.println() - - }//else if(loopmillis>last_log_send+LOGMININTERVAL){ - // //Serial.print(throttle_raw); Serial.println(); - // Serial.print(linearizeThrottle(throttle_raw)); Serial.println(); - // last_log_send=loopmillis; - //} -}*/ - - -/* -void checkLog() { //TODO: remove - if (!log_header_written && loopmillis>=WRITE_HEADER_TIME){ //write header for log file after logger booted up - writeLogInfo(Serial1); - writeLogHeader(Serial1); - log_header_written=true; - } - - if (log_header_written && ( (log_update && loopmillis>last_log_send+LOGMININTERVAL) || loopmillis>last_log_send+LOGMAXINTERVAL) ) { - last_log_send=loopmillis; - log_update=false; - writeLog(Serial1,loopmillis, motorparamsFront,motorparamsRear, FeedbackFront, FeedbackRear, filtered_currentAll, throttle_pos, brake_pos); - } -} -*/ @@ -732,13 +597,6 @@ void leds() { } - if (speedmode==SPEEDMODE_SLOW) { - digitalWrite(PIN_MODE_LEDG,LOW); //Green, low is on - digitalWrite(PIN_MODE_LEDR,HIGH); - }else if (speedmode==SPEEDMODE_NORMAL) { - digitalWrite(PIN_MODE_LEDG,HIGH); - digitalWrite(PIN_MODE_LEDR,LOW); //Red - } } void readButtons() { @@ -749,10 +607,10 @@ void readButtons() { bool last_button_start_state=button_start_state; if (loopmillis > button_start_lastchange+DEBOUNCE_TIME) { //wait some time after last change - if (digitalRead(PIN_START) && !button_start_state) { //start engine button pressed and was not pressed before + if (digitalRead(PIN_PWRBUTTON) && !button_start_state) { //start engine button pressed and was not pressed before button_start_state=true; //pressed button_start_lastchange=loopmillis; //save time for debouncing - }else if (!digitalRead(PIN_START) && button_start_state) { //released an was pressed before + }else if (!digitalRead(PIN_PWRBUTTON) && button_start_state) { //released an was pressed before button_start_state=false; // not pressed button_start_lastchange=loopmillis; //save time for debouncing } diff --git a/hoverboard-firmware-hack-foc-serial-esc b/hoverboard-firmware-hack-foc-serial-esc index c454e90..64b76cf 160000 --- a/hoverboard-firmware-hack-foc-serial-esc +++ b/hoverboard-firmware-hack-foc-serial-esc @@ -1 +1 @@ -Subproject commit c454e90d42054948485ffe226a3071b71778ab1c +Subproject commit 64b76cf2ed3955bef7aa8a6e63ec2ca14fb62f9c diff --git a/logdata_visualization/logdata_visualization.pde b/logdata_visualization/logdata_visualization.pde index bc74d0b..60a0381 100644 --- a/logdata_visualization/logdata_visualization.pde +++ b/logdata_visualization/logdata_visualization.pde @@ -2,7 +2,7 @@ import processing.serial.*; int vis_textsize=12; //copy from Visualization class -String logfile_name="/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/logdata_visualization/logfixer/20211004_171509.csv"; +String logfile_name="/media/fisch/HDD/Projects/bobbycar/bobbycar_repo/logdata_visualization/sonstige_fahrten/20220828_154604.csv"; int columnCount=20; boolean useSerial=false; //false=read from csv log, true=read from serial port