Compare commits
2 Commits
develop
...
feature/en
Author | SHA1 | Date | |
---|---|---|---|
b7ea3dd98e | |||
b967ff042b |
File diff suppressed because it is too large
Load Diff
@ -462,8 +462,8 @@
|
||||
"no_connect_dangling": "warning",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "ignore",
|
||||
"power_pin_not_driven": "ignore",
|
||||
"pin_to_pin": "error",
|
||||
"power_pin_not_driven": "error",
|
||||
"same_local_global_label": "warning",
|
||||
"similar_label_and_power": "warning",
|
||||
"similar_labels": "warning",
|
||||
|
@ -4083,7 +4083,7 @@
|
||||
(symbol "Sensor_1_1"
|
||||
(rectangle
|
||||
(start -5.08 -1.27)
|
||||
(end 5.08 -34.29)
|
||||
(end 5.08 -29.21)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type solid)
|
||||
@ -4110,7 +4110,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin power_in line
|
||||
(pin no_connect line
|
||||
(at 7.62 -5.08 180)
|
||||
(length 2.54)
|
||||
(name "VBAT"
|
||||
@ -4182,10 +4182,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(pin output line
|
||||
(at 7.62 -15.24 180)
|
||||
(length 2.54)
|
||||
(name "CAN_H"
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -4200,10 +4200,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(pin output line
|
||||
(at 7.62 -17.78 180)
|
||||
(length 2.54)
|
||||
(name "CAN_L"
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -4290,42 +4290,6 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin output line
|
||||
(at 7.62 -30.48 180)
|
||||
(length 2.54)
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "12"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin output line
|
||||
(at 7.62 -33.02 180)
|
||||
(length 2.54)
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "13"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(embedded_fonts no)
|
||||
)
|
||||
@ -5152,6 +5116,16 @@
|
||||
)
|
||||
(uuid f1cb09e6-74b4-43c4-8247-c9f441069dc5)
|
||||
)
|
||||
(text "free"
|
||||
(exclude_from_sim no)
|
||||
(at 180.848 72.39 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
(uuid "1556efd1-3aac-45ee-8113-03336077a83d")
|
||||
)
|
||||
(text "GPIO21 pulses high during flashing!\nGPIO19 is used for communication during flashing"
|
||||
(exclude_from_sim no)
|
||||
(at 202.692 102.362 0)
|
||||
@ -5453,6 +5427,14 @@
|
||||
(at 31.75 200.66)
|
||||
(uuid "133b7027-41a1-4e09-a1e6-24d8bb033b2a")
|
||||
)
|
||||
(no_connect
|
||||
(at 184.15 72.39)
|
||||
(uuid "5a1ba32e-b2ae-4014-aefc-1b75b4dc3c15")
|
||||
)
|
||||
(no_connect
|
||||
(at 184.15 67.31)
|
||||
(uuid "6d645bf1-339f-4b38-a26a-bdd168ca591e")
|
||||
)
|
||||
(no_connect
|
||||
(at 41.91 134.62)
|
||||
(uuid "6e3bf7f5-ac34-42e8-8ef5-a375f9ec4670")
|
||||
@ -6891,7 +6873,7 @@
|
||||
)
|
||||
(global_label "GND"
|
||||
(shape input)
|
||||
(at 125.73 181.61 0)
|
||||
(at 125.73 176.53 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
@ -6901,7 +6883,7 @@
|
||||
)
|
||||
(uuid "2b9f7359-b644-478f-ba13-5ea4a3466855")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 131.9315 181.61 0)
|
||||
(at 131.9315 176.53 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -7023,7 +7005,7 @@
|
||||
)
|
||||
(global_label "GND"
|
||||
(shape input)
|
||||
(at 125.73 176.53 0)
|
||||
(at 125.73 171.45 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
@ -7033,7 +7015,7 @@
|
||||
)
|
||||
(uuid "36226fb3-6951-4568-90f3-daa99e609121")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 131.9315 176.53 0)
|
||||
(at 131.9315 171.45 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -7045,7 +7027,7 @@
|
||||
)
|
||||
(global_label "GND"
|
||||
(shape input)
|
||||
(at 125.73 173.99 0)
|
||||
(at 125.73 168.91 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
@ -7055,7 +7037,7 @@
|
||||
)
|
||||
(uuid "36c40c19-19ac-4e9a-9c4c-07e2994aa2a1")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 131.9315 173.99 0)
|
||||
(at 131.9315 168.91 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -7375,7 +7357,7 @@
|
||||
)
|
||||
(global_label "GND"
|
||||
(shape input)
|
||||
(at 125.73 171.45 0)
|
||||
(at 125.73 166.37 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
@ -7385,7 +7367,7 @@
|
||||
)
|
||||
(uuid "51e33a9c-f244-46d5-81be-410c3572200f")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 131.9315 171.45 0)
|
||||
(at 131.9315 166.37 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -7419,7 +7401,7 @@
|
||||
)
|
||||
(global_label "GND"
|
||||
(shape input)
|
||||
(at 125.73 179.07 0)
|
||||
(at 125.73 173.99 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
@ -7429,7 +7411,7 @@
|
||||
)
|
||||
(uuid "56e799dc-2d2c-42c8-a5ef-7cbac761326d")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 131.9315 179.07 0)
|
||||
(at 131.9315 173.99 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -7725,28 +7707,6 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "CAN+"
|
||||
(shape input)
|
||||
(at 184.15 67.31 180)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify right)
|
||||
)
|
||||
(uuid "6fca578f-ecf1-47ce-aa6b-29168a772f3c")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 176.5575 67.31 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify right)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "ENABLE_TANK"
|
||||
(shape input)
|
||||
(at 274.32 114.3 180)
|
||||
@ -8077,28 +8037,6 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "CAN+"
|
||||
(shape input)
|
||||
(at 125.73 166.37 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left)
|
||||
)
|
||||
(uuid "93024873-4376-41c4-a4ae-37490a45e129")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 133.3225 166.37 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "GND"
|
||||
(shape input)
|
||||
(at 36.83 139.7 270)
|
||||
@ -9375,31 +9313,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "CAN-"
|
||||
(shape input)
|
||||
(at 184.15 72.39 180)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify right)
|
||||
)
|
||||
(uuid "f23eaf80-52f2-4322-aa76-67df8580ba2b")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 176.5575 72.39 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify right)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "GND"
|
||||
(shape input)
|
||||
(at 125.73 184.15 0)
|
||||
(at 125.73 179.07 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
@ -9409,7 +9325,7 @@
|
||||
)
|
||||
(uuid "f33ceed4-257c-4060-8932-54eca2a9ad88")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 131.9315 184.15 0)
|
||||
(at 131.9315 179.07 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -9551,28 +9467,6 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "CAN-"
|
||||
(shape input)
|
||||
(at 125.73 168.91 0)
|
||||
(fields_autoplaced yes)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left)
|
||||
)
|
||||
(uuid "f9ee87c2-9190-47ad-bd27-1fb56a8f0ec3")
|
||||
(property "Intersheetrefs" "${INTERSHEET_REFS}"
|
||||
(at 133.3225 168.91 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
)
|
||||
(global_label "ESP_TX"
|
||||
(shape input)
|
||||
(at 59.69 138.43 0)
|
||||
@ -14277,12 +14171,6 @@
|
||||
(pin "7"
|
||||
(uuid "3c606352-9f5a-4f2e-be79-76a5053cc312")
|
||||
)
|
||||
(pin "13"
|
||||
(uuid "61b8597b-c106-4d1b-b452-b64557e910c2")
|
||||
)
|
||||
(pin "12"
|
||||
(uuid "6432028b-d2db-43e4-9097-728a1d5b28eb")
|
||||
)
|
||||
(instances
|
||||
(project ""
|
||||
(path "/c26e8d55-0b6e-4c4e-b7c8-b1fed973201c"
|
||||
|
@ -428,7 +428,7 @@
|
||||
(symbol "Sensor_1_1"
|
||||
(rectangle
|
||||
(start -5.08 -1.27)
|
||||
(end 5.08 -34.29)
|
||||
(end 5.08 -29.21)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type solid)
|
||||
@ -455,7 +455,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin power_in line
|
||||
(pin no_connect line
|
||||
(at 7.62 -5.08 180)
|
||||
(length 2.54)
|
||||
(name "VBAT"
|
||||
@ -527,10 +527,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(pin output line
|
||||
(at 7.62 -15.24 180)
|
||||
(length 2.54)
|
||||
(name "CAN_H"
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -545,10 +545,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(pin output line
|
||||
(at 7.62 -17.78 180)
|
||||
(length 2.54)
|
||||
(name "CAN_L"
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
@ -635,42 +635,6 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin output line
|
||||
(at 7.62 -30.48 180)
|
||||
(length 2.54)
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "12"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin output line
|
||||
(at 7.62 -33.02 180)
|
||||
(length 2.54)
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "13"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(embedded_fonts no)
|
||||
)
|
||||
|
@ -164,21 +164,21 @@
|
||||
(remove_unused_layers no)
|
||||
(uuid "eee06414-e977-45a8-a5e0-618644284d45")
|
||||
)
|
||||
(pad "7" thru_hole circle
|
||||
(at -42.4 -0.06)
|
||||
(size 1.7 1.7)
|
||||
(drill 1)
|
||||
(pad "7" thru_hole rect
|
||||
(at -0.5 -12)
|
||||
(size 0.85 0.85)
|
||||
(drill 0.5)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "a794ee5a-cb4c-4bc2-9f30-7f38ae9862fc")
|
||||
(uuid "536f0038-06c5-45e5-b1c8-898a364f6ec4")
|
||||
)
|
||||
(pad "8" thru_hole circle
|
||||
(at -42.4 2.48)
|
||||
(size 1.7 1.7)
|
||||
(drill 1)
|
||||
(pad "8" thru_hole rect
|
||||
(at 39.5 -16)
|
||||
(size 0.85 0.85)
|
||||
(drill 0.5)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "f9ed5486-c56c-4c91-b707-d09fae18d351")
|
||||
(uuid "3e0cdbaa-8219-48c4-bb0a-fd4f0e78a390")
|
||||
)
|
||||
(pad "9" thru_hole rect
|
||||
(at 39.5 22.5)
|
||||
@ -204,21 +204,5 @@
|
||||
(remove_unused_layers no)
|
||||
(uuid "f423be21-13b8-46de-8e19-e48325411a29")
|
||||
)
|
||||
(pad "12" thru_hole rect
|
||||
(at -0.5 -12)
|
||||
(size 0.85 0.85)
|
||||
(drill 0.5)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "536f0038-06c5-45e5-b1c8-898a364f6ec4")
|
||||
)
|
||||
(pad "13" thru_hole rect
|
||||
(at 39.5 -16)
|
||||
(size 0.85 0.85)
|
||||
(drill 0.5)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "3e0cdbaa-8219-48c4-bb0a-fd4f0e78a390")
|
||||
)
|
||||
(embedded_fonts no)
|
||||
)
|
||||
|
Binary file not shown.
@ -1,45 +1,17 @@
|
||||
P CODE 00
|
||||
P UNITS CUST 0
|
||||
P arrayDim N
|
||||
317CAN- VIA MD0157PA00X+070354Y-006220X0315Y0000R000S3
|
||||
317CAN+ VIA MD0157PA00X+064606Y-009213X0315Y0000R000S3
|
||||
317FLOW VIA MD0157PA00X+048543Y-021063X0315Y0000R000S3
|
||||
317TEMP VIA MD0157PA00X+048898Y-023268X0315Y0000R000S3
|
||||
317CONFIG2 VIA MD0157PA00X+060394Y-009724X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+058465Y-005591X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+060433Y-005591X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+050827Y-007402X0315Y0000R000S3
|
||||
317SDA VIA MD0157PA00X+050134Y-014937X0315Y0000R000S3
|
||||
317SCL VIA MD0157PA00X+051535Y-013898X0315Y0000R000S3
|
||||
317CHARGE VIA MD0157PA00X+071575Y-006732X0315Y0000R000S3
|
||||
317EN VIA MD0157PA00X+062697Y-009154X0315Y0000R000S3
|
||||
317EN VIA MD0157PA00X+062500Y-010827X0315Y0000R000S3
|
||||
317VBAT VIA MD0157PA00X+043130Y-036024X0315Y0000R000S3
|
||||
317VBAT VIA MD0157PA00X+043130Y-035039X0315Y0000R000S3
|
||||
3173_3V VIA MD0157PA00X+064646Y-014567X0315Y0000R000S3
|
||||
3173_3V VIA MD0157PA00X+075906Y-014331X0315Y0000R000S3
|
||||
3173_3V VIA MD0157PA00X+074094Y-014331X0315Y0000R000S3
|
||||
3173_3V VIA MD0157PA00X+067874Y-014567X0315Y0000R000S3
|
||||
317TEMP VIA MD0157PA00X+072343Y-012303X0315Y0000R000S3
|
||||
317TANK_SENSOR VIA MD0157PA00X+063091Y-007776X0315Y0000R000S3
|
||||
317TANK_SENSOR VIA MD0157PA00X+047244Y-017421X0315Y0000R000S3
|
||||
317CHARGE VIA MD0157PA00X+071575Y-006732X0315Y0000R000S3
|
||||
317SDA VIA MD0157PA00X+072441Y-010630X0315Y0000R000S3
|
||||
317SDA VIA MD0157PA00X+050134Y-014937X0315Y0000R000S3
|
||||
317SCL VIA MD0157PA00X+072441Y-011417X0315Y0000R000S3
|
||||
317SCL VIA MD0157PA00X+051535Y-013898X0315Y0000R000S3
|
||||
317NET-(CD1-A) VIA MD0157PA00X+058661Y-009843X0315Y0000R000S3
|
||||
317NET-(CD1-A) VIA MD0157PA00X+045866Y-005906X0315Y0000R000S3
|
||||
317CD_PROBE VIA MD0157PA00X+072638Y-009744X0315Y0000R000S3
|
||||
317ISDAY VIA MD0157PA00X+066929Y-011024X0315Y0000R000S3
|
||||
317LED_ENABLE VIA MD0157PA00X+064764Y-010728X0315Y0000R000S3
|
||||
317WORKING VIA MD0157PA00X+058661Y-011417X0315Y0000R000S3
|
||||
317WORKING VIA MD0157PA00X+069843Y-008858X0315Y0000R000S3
|
||||
317ENABLE_TANK VIA MD0157PA00X+062894Y-011516X0315Y0000R000S3
|
||||
317ENABLE_TANK VIA MD0157PA00X+050525Y-015584X0315Y0000R000S3
|
||||
317USB_D- VIA MD0157PA00X+045276Y-010305X0315Y0000R000S3
|
||||
317USB_D- VIA MD0157PA00X+063377Y-011752X0315Y0000R000S3
|
||||
317FLOW VIA MD0157PA00X+063484Y-007382X0315Y0000R000S3
|
||||
317USB_D+ VIA MD0157PA00X+045276Y-010719X0315Y0000R000S3
|
||||
317USB_D+ VIA MD0157PA00X+063377Y-012165X0315Y0000R000S3
|
||||
317BOOT_SEL VIA MD0157PA00X+064764Y-009744X0315Y0000R000S3
|
||||
317BOOT_SEL VIA MD0157PA00X+070374Y-012205X0315Y0000R000S3
|
||||
317WARN_LED VIA MD0157PA00X+069803Y-008465X0315Y0000R000S3
|
||||
317WARN_LED VIA MD0157PA00X+044390Y-005807X0315Y0000R000S3
|
||||
317CONFIG2 VIA MD0157PA00X+060394Y-009724X0315Y0000R000S3
|
||||
317GND VIA MD1181PA00X+077500Y-007000X1575Y0000R000S3
|
||||
317GND VIA MD0157PA00X+062402Y-010433X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+054449Y-012323X0315Y0000R000S3
|
||||
@ -52,7 +24,6 @@ P arrayDim N
|
||||
317GND VIA MD0157PA00X+058150Y-012323X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+054843Y-012323X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+043228Y-012480X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+050827Y-007402X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+047244Y-009646X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+060374Y-011594X0315Y0000R000S3
|
||||
317GND VIA MD1181PA00X+041500Y-042900X1575Y0000R000S3
|
||||
@ -87,7 +58,6 @@ P arrayDim N
|
||||
317GND VIA MD0157PA00X+048228Y-011260X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+045669Y-007087X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+063386Y-011220X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+060433Y-005591X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+060472Y-012323X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+045699Y-017156X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+048661Y-009646X0315Y0000R000S3
|
||||
@ -121,8 +91,8 @@ P arrayDim N
|
||||
317GND VIA MD0157PA00X+047953Y-009646X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+052205Y-009646X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+053780Y-010315X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+058465Y-005591X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+046181Y-009646X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+047283Y-023622X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+051496Y-009646X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+053583Y-011378X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+049016Y-034154X0315Y0000R000S3
|
||||
@ -140,6 +110,7 @@ P arrayDim N
|
||||
317GND VIA MD0157PA00X+060059Y-012323X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+042283Y-013386X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+044764Y-009646X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+047205Y-025709X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+055709Y-011614X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+060827Y-012323X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+054134Y-011969X0315Y0000R000S3
|
||||
@ -157,24 +128,126 @@ P arrayDim N
|
||||
317GND VIA MD0157PA00X+048583Y-011260X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+057185Y-011614X0315Y0000R000S3
|
||||
317GND VIA MD0157PA00X+042953Y-012756X0315Y0000R000S3
|
||||
3273_3V R19 -2 A01X+048898Y-022037X0315Y0374R270S2
|
||||
327TEMP R19 -1 A01X+048898Y-022687X0315Y0374R270S2
|
||||
3173_3V U5 -1 D0394PA00X+046339Y-019764X0669Y0669R000S0
|
||||
317VBAT U5 -2 D0394PA00X+046339Y-020764X0669Y0000R000S0
|
||||
317SDA U5 -3 D0394PA00X+046339Y-021764X0669Y0000R000S0
|
||||
317SCL U5 -4 D0394PA00X+046339Y-022764X0669Y0000R000S0
|
||||
317CD_PROBE U5 -5 D0394PA00X+046339Y-023764X0669Y0000R000S0
|
||||
317CAN+ U5 -6 D0394PA00X+046339Y-024764X0669Y0000R000S0
|
||||
317CAN- U5 -7 D0394PA00X+046339Y-025764X0669Y0000R000S0
|
||||
317GND U5 -8 D0394PA00X+046339Y-026764X0669Y0000R000S0
|
||||
317GND U5 -9 D0197PA00X+078583Y-034646X0335Y0335R000S0
|
||||
317GND U5 -10 D0197PA00X+062835Y-031693X0335Y0335R000S0
|
||||
317GND U5 -11 D0197PA00X+046102Y-034646X0335Y0335R000S0
|
||||
317GND U5 -12 D0197PA00X+062835Y-021063X0335Y0335R000S0
|
||||
317GND U5 -13 D0197PA00X+078583Y-019488X0335Y0335R000S0
|
||||
3173_3V VIA MD0157PA00X+064646Y-014567X0315Y0000R000S3
|
||||
3173_3V VIA MD0157PA00X+075906Y-014331X0315Y0000R000S3
|
||||
3173_3V VIA MD0157PA00X+074094Y-014331X0315Y0000R000S3
|
||||
3173_3V VIA MD0157PA00X+067874Y-014567X0315Y0000R000S3
|
||||
317TEMP VIA MD0157PA00X+072343Y-012303X0315Y0000R000S3
|
||||
317TEMP VIA MD0157PA00X+049099Y-026344X0315Y0000R000S3
|
||||
317TANK_SENSOR VIA MD0157PA00X+063091Y-007776X0315Y0000R000S3
|
||||
317TANK_SENSOR VIA MD0157PA00X+047244Y-017421X0315Y0000R000S3
|
||||
317SDA VIA MD0157PA00X+072441Y-010630X0315Y0000R000S3
|
||||
317SCL VIA MD0157PA00X+072441Y-011417X0315Y0000R000S3
|
||||
317NET-(CD1-A) VIA MD0157PA00X+058661Y-009843X0315Y0000R000S3
|
||||
317NET-(CD1-A) VIA MD0157PA00X+045866Y-005906X0315Y0000R000S3
|
||||
317CD_PROBE VIA MD0157PA00X+072638Y-009744X0315Y0000R000S3
|
||||
317ISDAY VIA MD0157PA00X+066929Y-011024X0315Y0000R000S3
|
||||
317LED_ENABLE VIA MD0157PA00X+064764Y-010728X0315Y0000R000S3
|
||||
317WORKING VIA MD0157PA00X+058661Y-011417X0315Y0000R000S3
|
||||
317WORKING VIA MD0157PA00X+069843Y-008858X0315Y0000R000S3
|
||||
317ENABLE_TANK VIA MD0157PA00X+062894Y-011516X0315Y0000R000S3
|
||||
317ENABLE_TANK VIA MD0157PA00X+050525Y-015584X0315Y0000R000S3
|
||||
317USB_D- VIA MD0157PA00X+045276Y-010305X0315Y0000R000S3
|
||||
317USB_D- VIA MD0157PA00X+063377Y-011752X0315Y0000R000S3
|
||||
317FLOW VIA MD0157PA00X+048543Y-023228X0315Y0000R000S3
|
||||
317FLOW VIA MD0157PA00X+063484Y-007382X0315Y0000R000S3
|
||||
317USB_D+ VIA MD0157PA00X+045276Y-010719X0315Y0000R000S3
|
||||
317USB_D+ VIA MD0157PA00X+063377Y-012165X0315Y0000R000S3
|
||||
317BOOT_SEL VIA MD0157PA00X+064764Y-009744X0315Y0000R000S3
|
||||
317BOOT_SEL VIA MD0157PA00X+070374Y-012205X0315Y0000R000S3
|
||||
317WARN_LED VIA MD0157PA00X+069803Y-008465X0315Y0000R000S3
|
||||
317WARN_LED VIA MD0157PA00X+044390Y-005807X0315Y0000R000S3
|
||||
317WARN_LED J8 -1 D0394PA00X+055787Y-006386X0669Y0669R000S0
|
||||
317GND J8 -2 D0394PA00X+055787Y-007386X0669Y0000R000S0
|
||||
317CONFIG2 J8 -3 D0394PA00X+055787Y-008386X0669Y0000R000S0
|
||||
317ESP_TX J3 -1 D0394PA00X+073051Y-006457X0669Y0669R270S0
|
||||
317ESP_RX J3 -2 D0394PA00X+074051Y-006457X0669Y0000R270S0
|
||||
327GND U2 -1 A01X+064094Y-005709X0591Y0354R000S2
|
||||
3273_3V U2 -2 A01X+064094Y-006209X0591Y0354R000S2
|
||||
327EN U2 -3 A01X+064094Y-006709X0591Y0354R000S2
|
||||
327FLOW U2 -4 A01X+064094Y-007209X0591Y0354R000S2
|
||||
327TANK_SENSOR U2 -5 A01X+064094Y-007709X0591Y0354R000S2
|
||||
327EXTRA_1 U2 -6 A01X+064094Y-008209X0591Y0354R000S2
|
||||
327ISDAY U2 -7 A01X+064094Y-008709X0591Y0354R000S2
|
||||
327-(U2-IO0-PAD8) U2 -8 A01X+064094Y-009209X0591Y0354R000S2
|
||||
327BOOT_SEL U2 -9 A01X+064094Y-009709X0591Y0354R000S2
|
||||
327(U2-IO8-PAD10) U2 -10 A01X+064094Y-010209X0591Y0354R000S2
|
||||
327LED_ENABLE U2 -11 A01X+064094Y-010709X0591Y0354R000S2
|
||||
327ENABLE_TANK U2 -12 A01X+064094Y-011209X0591Y0354R000S2
|
||||
327USB_D- U2 -13 A01X+064094Y-011709X0591Y0354R000S2
|
||||
327USB_D+ U2 -14 A01X+064094Y-012209X0591Y0354R000S2
|
||||
327BOOT_SEL U2 -15 A01X+070984Y-012209X0591Y0354R000S2
|
||||
327TEMP U2 -16 A01X+070984Y-011709X0591Y0354R000S2
|
||||
327SCL U2 -17 A01X+070984Y-011209X0591Y0354R000S2
|
||||
327SDA U2 -18 A01X+070984Y-010709X0591Y0354R000S2
|
||||
327WORKING U2 -19 A01X+070984Y-010209X0591Y0354R000S2
|
||||
327CD_PROBE U2 -20 A01X+070984Y-009709X0591Y0354R000S2
|
||||
327WARN_LED U2 -21 A01X+070984Y-009209X0591Y0354R000S2
|
||||
327-(U2-NC-PAD22) U2 -22 A01X+070984Y-008709X0591Y0354R000S2
|
||||
327EXTRA_2 U2 -23 A01X+070984Y-008209X0591Y0354R000S2
|
||||
327ESP_RX U2 -24 A01X+070984Y-007709X0591Y0354R000S2
|
||||
327ESP_TX U2 -25 A01X+070984Y-007209X0591Y0354R000S2
|
||||
327CHARGE U2 -26 A01X+070984Y-006709X0591Y0354R000S2
|
||||
327(U2-IO2-PAD27) U2 -27 A01X+070984Y-006209X0591Y0354R000S2
|
||||
327GND U2 -28 A01X+070984Y-005709X0591Y0354R000S2
|
||||
327GND U2 -29_5 A01X+066947Y-007961X0315Y0315R000S2
|
||||
327GND U2 -29_1 A01X+066455Y-007469X0315Y0315R000S2
|
||||
327GND U2 -29_2 A01X+066947Y-007469X0315Y0315R000S2
|
||||
327GND U2 -29_3 A01X+067439Y-007469X0315Y0315R000S2
|
||||
327GND U2 -29_4 A01X+066455Y-007961X0315Y0315R000S2
|
||||
327GND U2 -29_6 A01X+067439Y-007961X0315Y0315R000S2
|
||||
327GND U2 -29_7 A01X+066455Y-008453X0315Y0315R000S2
|
||||
327GND U2 -29_8 A01X+066947Y-008453X0315Y0315R000S2
|
||||
327GND U2 -29_9 A01X+067439Y-008453X0315Y0315R000S2
|
||||
317GND U2 -30_1 D0098PA00X+066701Y-007469X0138Y0000R000S3
|
||||
317GND U2 -30_2 D0098PA00X+067193Y-007469X0138Y0000R000S3
|
||||
317GND U2 -30_3 D0098PA00X+066455Y-007715X0138Y0000R000S3
|
||||
317GND U2 -30_4 D0098PA00X+066947Y-007715X0138Y0000R000S3
|
||||
317GND U2 -30_5 D0098PA00X+067439Y-007715X0138Y0000R000S3
|
||||
317GND U2 -30_6 D0098PA00X+066701Y-007961X0138Y0000R000S3
|
||||
317GND U2 -30_7 D0098PA00X+067193Y-007961X0138Y0000R000S3
|
||||
317GND U2 -30_8 D0098PA00X+066455Y-008207X0138Y0000R000S3
|
||||
317GND U2 -30_9 D0098PA00X+066947Y-008207X0138Y0000R000S3
|
||||
317GND U2 -30_1 D0098PA00X+067439Y-008207X0138Y0000R000S3
|
||||
317GND U2 -30_1 D0098PA00X+066701Y-008453X0138Y0000R000S3
|
||||
317GND U2 -30_1 D0098PA00X+067193Y-008453X0138Y0000R000S3
|
||||
317VBAT U7 -1 D0433PA00X+042795Y-037835X0750Y0787R180S0
|
||||
317GND U7 -2 D0433PA00X+041795Y-037835X0750Y0787R180S0
|
||||
3173_3V U7 -3 D0433PA00X+040795Y-037835X0750Y0787R180S0
|
||||
327USB_D+ U1 -1 A01X+044124Y-010945X0522Y0236R180S2
|
||||
327GND U1 -2 A01X+044124Y-010571X0522Y0236R180S2
|
||||
327USB_D- U1 -3 A01X+044124Y-010197X0522Y0236R180S2
|
||||
327SLASH}O2-PAD4) U1 -4 A01X+043228Y-010197X0522Y0236R180S2
|
||||
327USB_BUS U1 -5 A01X+043228Y-010571X0522Y0236R180S2
|
||||
327SLASH}O1-PAD6) U1 -6 A01X+043228Y-010945X0522Y0236R180S2
|
||||
327GND D11 -1 A01X+046506Y-030000X0581Y0236R180S2
|
||||
327VBAT D11 -2 A01X+046506Y-029252X0581Y0236R180S2
|
||||
327NET-(D10-K) D11 -3 A01X+045768Y-029626X0581Y0236R180S2
|
||||
327GND D5 -1 A01X+048027Y-023602X0581Y0236R180S2
|
||||
3273_3V D5 -2 A01X+048027Y-022854X0581Y0236R180S2
|
||||
327FLOW D5 -3 A01X+047288Y-023228X0581Y0236R180S2
|
||||
327GND D6 -1 A01X+046043Y-016811X0581Y0236R180S2
|
||||
3273_3V D6 -2 A01X+046043Y-016063X0581Y0236R180S2
|
||||
327TANK_SENSOR D6 -3 A01X+045305Y-016437X0581Y0236R180S2
|
||||
327GND D7 -1 A01X+048027Y-025669X0581Y0236R180S2
|
||||
3273_3V D7 -2 A01X+048027Y-024921X0581Y0236R180S2
|
||||
327TEMP D7 -3 A01X+047288Y-025295X0581Y0236R180S2
|
||||
327GND D3 -1 A01X+051102Y-007992X0581Y0236R000S2
|
||||
3273_3V D3 -2 A01X+051102Y-008740X0581Y0236R000S2
|
||||
327SCL D3 -3 A01X+051841Y-008366X0581Y0236R000S2
|
||||
327GND D9 -1 A01X+046486Y-033760X0581Y0236R180S2
|
||||
327VBAT D9 -2 A01X+046486Y-033012X0581Y0236R180S2
|
||||
327NET-(D8-K) D9 -3 A01X+045748Y-033386X0581Y0236R180S2
|
||||
327GND D1 -1 A01X+046033Y-007933X0581Y0236R000S2
|
||||
3273_3V D1 -2 A01X+046033Y-008681X0581Y0236R000S2
|
||||
327SDA D1 -3 A01X+046772Y-008307X0581Y0236R000S2
|
||||
327GND D4 -1 A01X+045305Y-017520X0581Y0236R000S2
|
||||
3273_3V D4 -2 A01X+045305Y-018268X0581Y0236R000S2
|
||||
327NET-(J4-PIN_1) D4 -3 A01X+046043Y-017894X0581Y0236R000S2
|
||||
3173_3V C9 -1 D0315PA00X+046165Y-012441X0630Y0630R000S0
|
||||
3173_3V C9 -1 D0315PA00X+046429Y-013071X0630Y0630R000S0
|
||||
317GND C9 -2 D0315PA00X+047413Y-013071X0630Y0000R000S0
|
||||
317GND C9 -2 D0315PA00X+047677Y-013701X0630Y0000R000S0
|
||||
317VBAT U3 -1 D0394PA00X+078189Y-017373X0669Y0669R000S0
|
||||
317ISDAY U3 -2 D0394PA00X+078189Y-016373X0669Y0669R000S0
|
||||
317CHARGE U3 -3 D0394PA00X+078189Y-015373X0669Y0669R000S0
|
||||
@ -186,8 +259,8 @@ P arrayDim N
|
||||
317GND U3 -9 D0394PA00X+050827Y-017869X0669Y0669R000S0
|
||||
317GND U3 -10 D0394PA00X+059685Y-010782X0669Y0669R000S0
|
||||
317GND U3 -11 D0394PA00X+059685Y-017869X0669Y0669R000S0
|
||||
327GND Reset1-1 A01X+060394Y-006024X0591Y0591R090S2
|
||||
327CONFIG2 Reset1-2 A01X+060394Y-009094X0591Y0591R090S2
|
||||
327GND Reset1-1 A01X+060394Y-006024X0591Y0591R090S2
|
||||
317GND U6 -1 D0394PA00X+078465Y-036024X0669Y0669R090S0
|
||||
317GND U6 -2 D0394PA00X+071378Y-044016X0669Y0669R000S0
|
||||
317GND U6 -3 D0394PA00X+047756Y-044016X0669Y0669R000S0
|
||||
@ -220,14 +293,8 @@ P arrayDim N
|
||||
327GND R16 -2 A01X+048091Y-016043X0315Y0374R180S2
|
||||
327NET-(Q2-G) R22 -1 A01X+047805Y-034843X0315Y0374R000S2
|
||||
327GND R22 -2 A01X+048455Y-034843X0315Y0374R000S2
|
||||
327FLOW D5 -3 A01X+047288Y-020295X0581Y0236R180S2
|
||||
3273_3V D5 -2 A01X+048027Y-019921X0581Y0236R180S2
|
||||
327GND D5 -1 A01X+048027Y-020669X0581Y0236R180S2
|
||||
327NET-(D2-K) D2 -1 A01X+043701Y-006570X0384Y0551R270S2
|
||||
327WARN_LED D2 -2 A01X+043701Y-005832X0384Y0551R270S2
|
||||
327GND D6 -1 A01X+046043Y-016811X0581Y0236R180S2
|
||||
3273_3V D6 -2 A01X+046043Y-016063X0581Y0236R180S2
|
||||
327TANK_SENSOR D6 -3 A01X+045305Y-016437X0581Y0236R180S2
|
||||
327NET-(CD1-A) R9 -1 A01X+058661Y-010305X0315Y0374R090S2
|
||||
327WORKING R9 -2 A01X+058661Y-010955X0315Y0374R090S2
|
||||
317GND J6 -1 D0394PA00X+046906Y-006220X0669Y0669R270S0
|
||||
@ -240,15 +307,6 @@ P arrayDim N
|
||||
327NET-(D8-A) D8 -2 A01X+040945Y-032505X0384Y0551R270S2
|
||||
327NET-(J2-PIN_2) R2 -1 A01X+042943Y-014764X0315Y0374R000S2
|
||||
327GND R2 -2 A01X+043593Y-014764X0315Y0374R000S2
|
||||
327USB_D+ U1 -1 A01X+044124Y-010945X0522Y0236R180S2
|
||||
327GND U1 -2 A01X+044124Y-010571X0522Y0236R180S2
|
||||
327USB_D- U1 -3 A01X+044124Y-010197X0522Y0236R180S2
|
||||
327SLASH}O2-PAD4) U1 -4 A01X+043228Y-010197X0522Y0236R180S2
|
||||
327USB_BUS U1 -5 A01X+043228Y-010571X0522Y0236R180S2
|
||||
327SLASH}O1-PAD6) U1 -6 A01X+043228Y-010945X0522Y0236R180S2
|
||||
327TEMP D7 -3 A01X+047288Y-022362X0581Y0236R180S2
|
||||
3273_3V D7 -2 A01X+048027Y-021988X0581Y0236R180S2
|
||||
327GND D7 -1 A01X+048027Y-022736X0581Y0236R180S2
|
||||
327VBAT C8 -1 A01X+042534Y-036024X0463Y0571R180S2
|
||||
327GND C8 -2 A01X+041718Y-036024X0463Y0571R180S2
|
||||
327NET-(R3-PAD1) R3 -1 A01X+057677Y-012933X0315Y0374R090S2
|
||||
@ -257,18 +315,10 @@ P arrayDim N
|
||||
327ENABLE_TANK R14 -2 A01X+050089Y-016043X0315Y0374R000S2
|
||||
327GND C1 -1 A01X+056299Y-011112X0423Y0374R270S2
|
||||
327T-(BOOT1-PAD2) C1 -2 A01X+056299Y-010433X0423Y0374R270S2
|
||||
327GND D3 -1 A01X+051102Y-007992X0581Y0236R000S2
|
||||
3273_3V D3 -2 A01X+051102Y-008740X0581Y0236R000S2
|
||||
327SCL D3 -3 A01X+051841Y-008366X0581Y0236R000S2
|
||||
3173_3V C9 -1 D0315PA00X+046165Y-012441X0630Y0630R000S0
|
||||
3173_3V C9 -1 D0315PA00X+046429Y-013071X0630Y0630R000S0
|
||||
317GND C9 -2 D0315PA00X+047413Y-013071X0630Y0000R000S0
|
||||
317GND C9 -2 D0315PA00X+047677Y-013701X0630Y0000R000S0
|
||||
327TEMP R19 -1 A01X+049099Y-025295X0315Y0374R000S2
|
||||
3273_3V R19 -2 A01X+049749Y-025295X0315Y0374R000S2
|
||||
3273_3V C6 -1 A01X+062205Y-007392X0463Y0571R270S2
|
||||
327GND C6 -2 A01X+062205Y-006575X0463Y0571R270S2
|
||||
317WARN_LED J8 -1 D0394PA00X+055787Y-006386X0669Y0669R000S0
|
||||
317GND J8 -2 D0394PA00X+055787Y-007386X0669Y0000R000S0
|
||||
317CONFIG2 J8 -3 D0394PA00X+055787Y-008386X0669Y0000R000S0
|
||||
327NET-(Q3-G) R21 -1 A01X+047805Y-031102X0315Y0374R000S2
|
||||
327GND R21 -2 A01X+048455Y-031102X0315Y0374R000S2
|
||||
317LED_ENABLE U4 -1 D0394PA00X+074063Y-009173X0669Y0000R090S0
|
||||
@ -280,9 +330,6 @@ P arrayDim N
|
||||
327NET-(Q3-G) Q3 -1 A01X+047756Y-030413X0354Y0315R270S2
|
||||
327GND Q3 -2 A01X+048504Y-030413X0354Y0315R270S2
|
||||
327NET-(D10-K) Q3 -3 A01X+048130Y-029626X0354Y0315R270S2
|
||||
327GND D9 -1 A01X+046486Y-033760X0581Y0236R180S2
|
||||
327VBAT D9 -2 A01X+046486Y-033012X0581Y0236R180S2
|
||||
327NET-(D8-K) D9 -3 A01X+045748Y-033386X0581Y0236R180S2
|
||||
327VBAT R17 -1 A01X+046033Y-032185X0315Y0374R000S2
|
||||
327NET-(D8-A) R17 -2 A01X+046683Y-032185X0315Y0374R000S2
|
||||
327GND C5 -1 A01X+062992Y-010379X0423Y0374R270S2
|
||||
@ -293,60 +340,8 @@ P arrayDim N
|
||||
327GND R1 -2 A01X+044488Y-007667X0315Y0374R270S2
|
||||
327EXTRA_1 R20 -1 A01X+048455Y-031890X0315Y0374R180S2
|
||||
327NET-(Q3-G) R20 -2 A01X+047805Y-031890X0315Y0374R180S2
|
||||
327GND U2 -1 A01X+064094Y-005709X0591Y0354R000S2
|
||||
3273_3V U2 -2 A01X+064094Y-006209X0591Y0354R000S2
|
||||
327EN U2 -3 A01X+064094Y-006709X0591Y0354R000S2
|
||||
327FLOW U2 -4 A01X+064094Y-007209X0591Y0354R000S2
|
||||
327TANK_SENSOR U2 -5 A01X+064094Y-007709X0591Y0354R000S2
|
||||
327EXTRA_1 U2 -6 A01X+064094Y-008209X0591Y0354R000S2
|
||||
327ISDAY U2 -7 A01X+064094Y-008709X0591Y0354R000S2
|
||||
327CAN+ U2 -8 A01X+064094Y-009209X0591Y0354R000S2
|
||||
327BOOT_SEL U2 -9 A01X+064094Y-009709X0591Y0354R000S2
|
||||
327(U2-IO8-PAD10) U2 -10 A01X+064094Y-010209X0591Y0354R000S2
|
||||
327LED_ENABLE U2 -11 A01X+064094Y-010709X0591Y0354R000S2
|
||||
327ENABLE_TANK U2 -12 A01X+064094Y-011209X0591Y0354R000S2
|
||||
327USB_D- U2 -13 A01X+064094Y-011709X0591Y0354R000S2
|
||||
327USB_D+ U2 -14 A01X+064094Y-012209X0591Y0354R000S2
|
||||
327BOOT_SEL U2 -15 A01X+070984Y-012209X0591Y0354R000S2
|
||||
327TEMP U2 -16 A01X+070984Y-011709X0591Y0354R000S2
|
||||
327SCL U2 -17 A01X+070984Y-011209X0591Y0354R000S2
|
||||
327SDA U2 -18 A01X+070984Y-010709X0591Y0354R000S2
|
||||
327WORKING U2 -19 A01X+070984Y-010209X0591Y0354R000S2
|
||||
327CD_PROBE U2 -20 A01X+070984Y-009709X0591Y0354R000S2
|
||||
327WARN_LED U2 -21 A01X+070984Y-009209X0591Y0354R000S2
|
||||
327-(U2-NC-PAD22) U2 -22 A01X+070984Y-008709X0591Y0354R000S2
|
||||
327EXTRA_2 U2 -23 A01X+070984Y-008209X0591Y0354R000S2
|
||||
327ESP_RX U2 -24 A01X+070984Y-007709X0591Y0354R000S2
|
||||
327ESP_TX U2 -25 A01X+070984Y-007209X0591Y0354R000S2
|
||||
327CHARGE U2 -26 A01X+070984Y-006709X0591Y0354R000S2
|
||||
327CAN- U2 -27 A01X+070984Y-006209X0591Y0354R000S2
|
||||
327GND U2 -28 A01X+070984Y-005709X0591Y0354R000S2
|
||||
327GND U2 -29_1 A01X+066455Y-007469X0315Y0315R000S2
|
||||
327GND U2 -29_2 A01X+066947Y-007469X0315Y0315R000S2
|
||||
327GND U2 -29_3 A01X+067439Y-007469X0315Y0315R000S2
|
||||
327GND U2 -29_4 A01X+066455Y-007961X0315Y0315R000S2
|
||||
327GND U2 -29_5 A01X+066947Y-007961X0315Y0315R000S2
|
||||
327GND U2 -29_6 A01X+067439Y-007961X0315Y0315R000S2
|
||||
327GND U2 -29_7 A01X+066455Y-008453X0315Y0315R000S2
|
||||
327GND U2 -29_8 A01X+066947Y-008453X0315Y0315R000S2
|
||||
327GND U2 -29_9 A01X+067439Y-008453X0315Y0315R000S2
|
||||
317GND U2 -30_1 D0098PA00X+066701Y-007469X0138Y0000R000S3
|
||||
317GND U2 -30_2 D0098PA00X+067193Y-007469X0138Y0000R000S3
|
||||
317GND U2 -30_3 D0098PA00X+066455Y-007715X0138Y0000R000S3
|
||||
317GND U2 -30_4 D0098PA00X+066947Y-007715X0138Y0000R000S3
|
||||
317GND U2 -30_5 D0098PA00X+067439Y-007715X0138Y0000R000S3
|
||||
317GND U2 -30_6 D0098PA00X+066701Y-007961X0138Y0000R000S3
|
||||
317GND U2 -30_7 D0098PA00X+067193Y-007961X0138Y0000R000S3
|
||||
317GND U2 -30_8 D0098PA00X+066455Y-008207X0138Y0000R000S3
|
||||
317GND U2 -30_9 D0098PA00X+066947Y-008207X0138Y0000R000S3
|
||||
317GND U2 -30_1 D0098PA00X+067439Y-008207X0138Y0000R000S3
|
||||
317GND U2 -30_1 D0098PA00X+066701Y-008453X0138Y0000R000S3
|
||||
317GND U2 -30_1 D0098PA00X+067193Y-008453X0138Y0000R000S3
|
||||
317NET-(D10-K) Extra_-1 D0394PA00X+042283Y-029616X0669Y0787R270S0
|
||||
317VBAT Extra_-2 D0394PA00X+042283Y-028632X0669Y0787R270S0
|
||||
327GND D1 -1 A01X+046033Y-007933X0581Y0236R000S2
|
||||
3273_3V D1 -2 A01X+046033Y-008681X0581Y0236R000S2
|
||||
327SDA D1 -3 A01X+046772Y-008307X0581Y0236R000S2
|
||||
3273_3V R10 -1 A01X+073553Y-011417X0315Y0374R180S2
|
||||
327SCL R10 -2 A01X+072904Y-011417X0315Y0374R180S2
|
||||
327EXTRA_2 R23 -1 A01X+048455Y-035728X0315Y0374R180S2
|
||||
@ -361,15 +356,10 @@ P arrayDim N
|
||||
317TANK_SENSOR J4 -2 D0295PA00X+042323Y-016850X0472Y0689R270S0
|
||||
327NET-(CD2-K) CD2 -1 A01X+040945Y-017594X0384Y0551R270S2
|
||||
3273_3V CD2 -2 A01X+040945Y-016855X0384Y0551R270S2
|
||||
317ESP_TX J3 -1 D0394PA00X+073051Y-006457X0669Y0669R270S0
|
||||
317ESP_RX J3 -2 D0394PA00X+074051Y-006457X0669Y0000R270S0
|
||||
327BOOT_SEL R5 -1 A01X+057677Y-010305X0315Y0374R090S2
|
||||
327T-(BOOT1-PAD2) R5 -2 A01X+057677Y-010955X0315Y0374R090S2
|
||||
327NET-(J4-PIN_1) R13 -1 A01X+047047Y-018346X0315Y0374R090S2
|
||||
327NET-(CD2-K) R13 -2 A01X+047047Y-018996X0315Y0374R090S2
|
||||
327GND D4 -1 A01X+045305Y-017520X0581Y0236R000S2
|
||||
3273_3V D4 -2 A01X+045305Y-018268X0581Y0236R000S2
|
||||
327NET-(J4-PIN_1) D4 -3 A01X+046043Y-017894X0581Y0236R000S2
|
||||
327GND CD1 -1 A01X+045177Y-006570X0384Y0551R270S2
|
||||
327NET-(CD1-A) CD1 -2 A01X+045177Y-005832X0384Y0551R270S2
|
||||
327GND C4 -1 A01X+060630Y-011166X0423Y0374R270S2
|
||||
@ -380,8 +370,8 @@ P arrayDim N
|
||||
317USB_D- J2 -4 D0295PA00X+041260Y-012165X0472Y0689R090S0
|
||||
317USB_D+ J2 -5 D0295PA00X+041260Y-012953X0472Y0689R090S0
|
||||
317GND J2 -6 D0295PA00X+041260Y-013740X0472Y0689R090S0
|
||||
3273_3V R15 -1 A01X+048858Y-019990X0315Y0374R090S2
|
||||
327FLOW R15 -2 A01X+048858Y-020640X0315Y0374R090S2
|
||||
3273_3V R15 -1 A01X+049680Y-023228X0315Y0374R180S2
|
||||
327FLOW R15 -2 A01X+049031Y-023228X0315Y0374R180S2
|
||||
327NET-(Q1-G) Q1 -1 A01X+048770Y-016831X0354Y0315R090S2
|
||||
327GND Q1 -2 A01X+048022Y-016831X0354Y0315R090S2
|
||||
327NET-(J4-PIN_1) Q1 -3 A01X+048396Y-017618X0354Y0315R090S2
|
||||
@ -390,12 +380,20 @@ P arrayDim N
|
||||
327NET-(Q2-G) Q2 -1 A01X+047776Y-034142X0354Y0315R270S2
|
||||
327GND Q2 -2 A01X+048524Y-034142X0354Y0315R270S2
|
||||
327NET-(D8-K) Q2 -3 A01X+048150Y-033354X0354Y0315R270S2
|
||||
317VBAT U7 -1 D0433PA00X+042795Y-037835X0750Y0787R180S0
|
||||
317GND U7 -2 D0433PA00X+041795Y-037835X0750Y0787R180S0
|
||||
3173_3V U7 -3 D0433PA00X+040795Y-037835X0750Y0787R180S0
|
||||
317GND J1 -1 D0394PA00X+047913Y-008346X0669Y0669R270S0
|
||||
317SDA J1 -2 D0394PA00X+048913Y-008346X0669Y0000R270S0
|
||||
317SCL J1 -3 D0394PA00X+049913Y-008346X0669Y0000R270S0
|
||||
327BOOT_SEL R6 -1 A01X+057677Y-011683X0315Y0374R090S2
|
||||
327NET-(R3-PAD1) R6 -2 A01X+057677Y-012333X0315Y0374R090S2
|
||||
3173_3V U5 -1 D0394PA00X+046339Y-019764X0669Y0669R000S0
|
||||
317(U5-VBAT-PAD2) U5 -2 D0394PA00X+046339Y-020764X0669Y0000R000S0
|
||||
317SDA U5 -3 D0394PA00X+046339Y-021764X0669Y0000R000S0
|
||||
317SCL U5 -4 D0394PA00X+046339Y-022764X0669Y0000R000S0
|
||||
317CD_PROBE U5 -5 D0394PA00X+046339Y-023764X0669Y0000R000S0
|
||||
317GND U5 -6 D0394PA00X+046339Y-024764X0669Y0000R000S0
|
||||
317GND U5 -7 D0394PA00X+062835Y-021063X0669Y0669R000S0
|
||||
317GND U5 -8 D0394PA00X+078583Y-019488X0669Y0669R000S0
|
||||
317GND U5 -9 D0394PA00X+078583Y-034646X0669Y0669R000S0
|
||||
317GND U5 -10 D0394PA00X+062835Y-031693X0669Y0669R000S0
|
||||
317GND U5 -11 D0394PA00X+046102Y-034646X0669Y0669R000S0
|
||||
999
|
||||
|
BIN
case/case.3mf
BIN
case/case.3mf
Binary file not shown.
@ -11,6 +11,8 @@ pub struct NetworkConfig {
|
||||
pub password: Option<heapless::String<64>>,
|
||||
pub mqtt_url: Option<heapless::String<128>>,
|
||||
pub base_topic: Option<heapless::String<64>>,
|
||||
pub mqtt_user: Option<heapless::String<32>>,
|
||||
pub mqtt_password: Option<heapless::String<64>>,
|
||||
pub max_wait: u32,
|
||||
}
|
||||
impl Default for NetworkConfig {
|
||||
@ -21,6 +23,8 @@ impl Default for NetworkConfig {
|
||||
password: None,
|
||||
mqtt_url: None,
|
||||
base_topic: None,
|
||||
mqtt_user: None,
|
||||
mqtt_password: None,
|
||||
max_wait: 10000,
|
||||
}
|
||||
}
|
||||
@ -58,7 +62,6 @@ pub struct TankConfig {
|
||||
pub tank_warn_percent: u8,
|
||||
pub tank_empty_percent: u8,
|
||||
pub tank_full_percent: u8,
|
||||
pub ml_per_pulse: f32
|
||||
}
|
||||
impl Default for TankConfig {
|
||||
fn default() -> Self {
|
||||
@ -69,7 +72,6 @@ impl Default for TankConfig {
|
||||
tank_warn_percent: 40,
|
||||
tank_empty_percent: 5,
|
||||
tank_full_percent: 95,
|
||||
ml_per_pulse: 0.0,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -112,7 +114,6 @@ pub struct PlantConfig {
|
||||
pub mode: PlantWateringMode,
|
||||
pub target_moisture: f32,
|
||||
pub pump_time_s: u16,
|
||||
pub pump_limit_ml: u16,
|
||||
pub pump_cooldown_min: u16,
|
||||
pub pump_hour_start: u8,
|
||||
pub pump_hour_end: u8,
|
||||
@ -132,7 +133,6 @@ impl Default for PlantConfig {
|
||||
mode: PlantWateringMode::OFF,
|
||||
target_moisture: 40.,
|
||||
pump_time_s: 30,
|
||||
pump_limit_ml: 5000,
|
||||
pump_cooldown_min: 60,
|
||||
pump_hour_start: 9,
|
||||
pump_hour_end: 20,
|
||||
|
@ -419,6 +419,8 @@ impl Esp<'_> {
|
||||
}),
|
||||
client_id: Some("plantctrl"),
|
||||
keep_alive_interval: Some(Duration::from_secs(60 * 60 * 2)),
|
||||
username: network_config.mqtt_user.as_ref().map(|v| &**v),
|
||||
password: network_config.mqtt_password.as_ref().map(|v| &**v),
|
||||
//room for improvement
|
||||
..Default::default()
|
||||
};
|
||||
|
@ -47,7 +47,6 @@ use once_cell::sync::Lazy;
|
||||
use std::result::Result::Ok as OkStd;
|
||||
use std::sync::Mutex;
|
||||
use std::time::Duration;
|
||||
use esp_idf_hal::pcnt::PCNT1;
|
||||
|
||||
//Only support for 8 right now!
|
||||
pub const PLANT_COUNT: usize = 8;
|
||||
@ -155,7 +154,6 @@ pub struct FreePeripherals {
|
||||
pub gpio29: Gpio29,
|
||||
pub gpio30: Gpio30,
|
||||
pub pcnt0: PCNT0,
|
||||
pub pcnt1: PCNT1,
|
||||
pub adc1: ADC1,
|
||||
}
|
||||
|
||||
@ -188,7 +186,6 @@ impl PlantHal {
|
||||
let free_pins = FreePeripherals {
|
||||
adc1: peripherals.adc1,
|
||||
pcnt0: peripherals.pcnt0,
|
||||
pcnt1: peripherals.pcnt1,
|
||||
gpio0: peripherals.pins.gpio0,
|
||||
gpio1: peripherals.pins.gpio1,
|
||||
gpio2: peripherals.pins.gpio2,
|
||||
|
@ -124,16 +124,12 @@ pub(crate) fn create_v3(
|
||||
let one_wire_pin = peripherals.gpio18.downgrade();
|
||||
let tank_power_pin = peripherals.gpio11.downgrade();
|
||||
|
||||
let flow_sensor_pin = peripherals.gpio4.downgrade();
|
||||
|
||||
let tank_sensor = TankSensor::create(
|
||||
one_wire_pin,
|
||||
peripherals.adc1,
|
||||
peripherals.gpio5,
|
||||
tank_power_pin,
|
||||
flow_sensor_pin,
|
||||
peripherals.pcnt1
|
||||
)?;
|
||||
);
|
||||
|
||||
let mut signal_counter = PcntDriver::new(
|
||||
peripherals.pcnt0,
|
||||
|
@ -152,16 +152,13 @@ pub(crate) fn create_v4(
|
||||
|
||||
let one_wire_pin = peripherals.gpio18.downgrade();
|
||||
let tank_power_pin = peripherals.gpio11.downgrade();
|
||||
let flow_sensor_pin = peripherals.gpio4.downgrade();
|
||||
|
||||
let tank_sensor = TankSensor::create(
|
||||
one_wire_pin,
|
||||
peripherals.adc1,
|
||||
peripherals.gpio5,
|
||||
tank_power_pin,
|
||||
flow_sensor_pin,
|
||||
peripherals.pcnt1
|
||||
)?;
|
||||
);
|
||||
|
||||
let mut signal_counter = PcntDriver::new(
|
||||
peripherals.pcnt0,
|
||||
|
@ -5,8 +5,7 @@ use esp_idf_hal::adc::oneshot::config::AdcChannelConfig;
|
||||
use esp_idf_hal::adc::oneshot::{AdcChannelDriver, AdcDriver};
|
||||
use esp_idf_hal::adc::{attenuation, Resolution, ADC1};
|
||||
use esp_idf_hal::delay::Delay;
|
||||
use esp_idf_hal::gpio::{AnyIOPin, AnyInputPin, Gpio5, InputOutput, PinDriver, Pull};
|
||||
use esp_idf_hal::pcnt::{PcntChannel, PcntChannelConfig, PcntControlMode, PcntCountMode, PcntDriver, PinIndex, PCNT1};
|
||||
use esp_idf_hal::gpio::{AnyIOPin, Gpio5, InputOutput, PinDriver, Pull};
|
||||
use esp_idf_sys::EspError;
|
||||
use one_wire_bus::OneWire;
|
||||
|
||||
@ -14,7 +13,6 @@ pub struct TankSensor<'a> {
|
||||
one_wire_bus: OneWire<PinDriver<'a, AnyIOPin, InputOutput>>,
|
||||
tank_channel: AdcChannelDriver<'a, Gpio5, AdcDriver<'a, ADC1>>,
|
||||
tank_power: PinDriver<'a, AnyIOPin, InputOutput>,
|
||||
flow_counter: PcntDriver<'a>,
|
||||
delay: Delay,
|
||||
}
|
||||
|
||||
@ -24,9 +22,7 @@ impl<'a> TankSensor<'a> {
|
||||
adc1: ADC1,
|
||||
gpio5: Gpio5,
|
||||
tank_power_pin: AnyIOPin,
|
||||
flow_sensor_pin: AnyIOPin,
|
||||
pcnt1: PCNT1
|
||||
) -> anyhow::Result<TankSensor<'a>> {
|
||||
) -> TankSensor<'a> {
|
||||
let mut one_wire_pin =
|
||||
PinDriver::input_output_od(one_wire_pin).expect("Failed to configure pin");
|
||||
one_wire_pin
|
||||
@ -51,54 +47,12 @@ impl<'a> TankSensor<'a> {
|
||||
let one_wire_bus =
|
||||
OneWire::new(one_wire_pin).expect("OneWire bus did not pull up after release");
|
||||
|
||||
let mut flow_counter = PcntDriver::new(
|
||||
pcnt1,
|
||||
Some(flow_sensor_pin),
|
||||
Option::<AnyInputPin>::None,
|
||||
Option::<AnyInputPin>::None,
|
||||
Option::<AnyInputPin>::None,
|
||||
)?;
|
||||
|
||||
flow_counter.channel_config(
|
||||
PcntChannel::Channel1,
|
||||
PinIndex::Pin0,
|
||||
PinIndex::Pin1,
|
||||
&PcntChannelConfig {
|
||||
lctrl_mode: PcntControlMode::Keep,
|
||||
hctrl_mode: PcntControlMode::Keep,
|
||||
pos_mode: PcntCountMode::Increment,
|
||||
neg_mode: PcntCountMode::Hold,
|
||||
counter_h_lim: i16::MAX,
|
||||
counter_l_lim: 0,
|
||||
},
|
||||
)?;
|
||||
|
||||
|
||||
Ok(TankSensor {
|
||||
TankSensor {
|
||||
one_wire_bus,
|
||||
tank_channel,
|
||||
tank_power,
|
||||
flow_counter,
|
||||
delay: Default::default(),
|
||||
})
|
||||
}
|
||||
|
||||
pub fn reset_flow_meter(&mut self) {
|
||||
self.flow_counter.counter_pause().unwrap();
|
||||
self.flow_counter.counter_clear().unwrap();
|
||||
}
|
||||
|
||||
pub fn start_flow_meter(&mut self) {
|
||||
self.flow_counter.counter_resume().unwrap();
|
||||
}
|
||||
|
||||
pub fn get_flow_meter_value(&mut self) -> i16 {
|
||||
self.flow_counter.get_counter_value().unwrap()
|
||||
}
|
||||
|
||||
pub fn stop_flow_meter(&mut self) -> i16 {
|
||||
self.flow_counter.counter_pause().unwrap();
|
||||
self.get_flow_meter_value()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn water_temperature_c(&mut self) -> anyhow::Result<f32> {
|
||||
|
@ -88,9 +88,6 @@ pub struct PumpResult {
|
||||
max_current_ma: u16,
|
||||
min_current_ma: u16,
|
||||
error: bool,
|
||||
flow_value_ml: f32,
|
||||
flow_value_count: i16,
|
||||
pump_time_s: u16,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, PartialEq)]
|
||||
@ -586,26 +583,12 @@ pub fn do_secure_pump(
|
||||
dry_run: bool,
|
||||
) -> anyhow::Result<PumpResult> {
|
||||
let mut current_collector = vec![0_u16; plant_config.pump_time_s.into()];
|
||||
let mut flow_collector = vec![0_i16; plant_config.pump_time_s.into()];
|
||||
let mut error = false;
|
||||
let mut first_error = true;
|
||||
let mut pump_time_s = 0;
|
||||
if !dry_run {
|
||||
board.board_hal.get_tank_sensor().unwrap().reset_flow_meter();
|
||||
board.board_hal.get_tank_sensor().unwrap().start_flow_meter();
|
||||
board.board_hal.pump(plant_id, true)?;
|
||||
Delay::new_default().delay_ms(10);
|
||||
Delay::new_default().delay_ms(2);
|
||||
for step in 0..plant_config.pump_time_s as usize {
|
||||
let flow_value = board.board_hal.get_tank_sensor().unwrap().get_flow_meter_value();
|
||||
flow_collector[step] = flow_value;
|
||||
let flow_value_ml = flow_value as f32 * board.board_hal.get_config().tank.ml_per_pulse;
|
||||
|
||||
println!("Flow value is {} ml, limit is {} ml raw sensor {}", flow_value_ml, plant_config.pump_limit_ml, flow_value);
|
||||
if flow_value_ml > plant_config.pump_limit_ml as f32 {
|
||||
println!("Flow value is reached, stopping");
|
||||
break;
|
||||
}
|
||||
|
||||
let current = board.board_hal.pump_current(plant_id);
|
||||
match current {
|
||||
Ok(current) => {
|
||||
@ -668,21 +651,13 @@ pub fn do_secure_pump(
|
||||
}
|
||||
}
|
||||
Delay::new_default().delay_ms(1000);
|
||||
pump_time_s += 1;
|
||||
}
|
||||
}
|
||||
board.board_hal.get_tank_sensor().unwrap().stop_flow_meter();
|
||||
let final_flow_value = board.board_hal.get_tank_sensor().unwrap().get_flow_meter_value();
|
||||
let flow_value_ml = final_flow_value as f32 * board.board_hal.get_config().tank.ml_per_pulse;
|
||||
println!("Final flow value is {} with {} ml", final_flow_value, flow_value_ml);
|
||||
current_collector.sort();
|
||||
Ok(PumpResult {
|
||||
median_current_ma: current_collector[current_collector.len() / 2],
|
||||
max_current_ma: current_collector[current_collector.len() - 1],
|
||||
min_current_ma: current_collector[0],
|
||||
flow_value_ml,
|
||||
flow_value_count: final_flow_value,
|
||||
pump_time_s,
|
||||
error,
|
||||
})
|
||||
}
|
||||
|
@ -29,6 +29,8 @@ export interface NetworkConfig {
|
||||
password: string,
|
||||
mqtt_url: string,
|
||||
base_topic: string,
|
||||
mqtt_user: string | null,
|
||||
mqtt_password: string | null,
|
||||
max_wait: number
|
||||
}
|
||||
|
||||
@ -71,7 +73,6 @@ export interface TankConfig {
|
||||
tank_warn_percent: number,
|
||||
tank_empty_percent: number,
|
||||
tank_full_percent: number,
|
||||
ml_per_pulse: number
|
||||
}
|
||||
|
||||
|
||||
@ -123,9 +124,6 @@ export interface PumpTestResult {
|
||||
median_current_ma: number,
|
||||
max_current_ma: number,
|
||||
min_current_ma: number,
|
||||
flow_value_ml: number,
|
||||
flow_value_count: number,
|
||||
pump_time_s: number,
|
||||
error: boolean,
|
||||
}
|
||||
|
||||
@ -186,4 +184,4 @@ export interface TankInfo {
|
||||
/// water temperature
|
||||
water_temp: number | null,
|
||||
temp_sensor_error: string | null
|
||||
}
|
||||
}
|
||||
|
@ -72,8 +72,20 @@
|
||||
</div>
|
||||
<input class="mqttvalue" type="text" id="base_topic" placeholder="plants/one">
|
||||
</div>
|
||||
<div class="flexcontainer">
|
||||
<div class="mqttkey">
|
||||
MQTT User
|
||||
</div>
|
||||
<input class="mqttvalue" type="text" id="mqtt_user" placeholder="">
|
||||
</div>
|
||||
<div class="flexcontainer">
|
||||
<div class="mqttkey">
|
||||
MQTT Password
|
||||
</div>
|
||||
<input class="mqttvalue" type="text" id="mqtt_password" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -16,6 +16,8 @@ export class NetworkConfigView {
|
||||
private readonly mqtt_url: HTMLInputElement;
|
||||
private readonly base_topic: HTMLInputElement;
|
||||
private readonly max_wait: HTMLInputElement;
|
||||
private readonly mqtt_user: HTMLInputElement;
|
||||
private readonly mqtt_password: HTMLInputElement;
|
||||
private readonly ssidlist: HTMLElement;
|
||||
|
||||
constructor(controller: Controller, publicIp: string) {
|
||||
@ -37,6 +39,10 @@ export class NetworkConfigView {
|
||||
this.mqtt_url.onchange = controller.configChanged
|
||||
this.base_topic = document.getElementById("base_topic") as HTMLInputElement;
|
||||
this.base_topic.onchange = controller.configChanged
|
||||
this.mqtt_user = document.getElementById("mqtt_user") as HTMLInputElement;
|
||||
this.mqtt_user.onchange = controller.configChanged
|
||||
this.mqtt_password = document.getElementById("mqtt_password") as HTMLInputElement;
|
||||
this.mqtt_password.onchange = controller.configChanged
|
||||
|
||||
this.ssidlist = document.getElementById("ssidlist") as HTMLElement
|
||||
|
||||
@ -52,6 +58,8 @@ export class NetworkConfigView {
|
||||
this.password.value = network.password;
|
||||
this.mqtt_url.value = network.mqtt_url;
|
||||
this.base_topic.value = network.base_topic;
|
||||
this.mqtt_user.value = network.mqtt_user ?? "";
|
||||
this.mqtt_password.value = network.mqtt_password ?? "";
|
||||
this.max_wait.value = network.max_wait.toString();
|
||||
}
|
||||
|
||||
@ -62,7 +70,9 @@ export class NetworkConfigView {
|
||||
ssid: this.ssid.value ?? null,
|
||||
password: this.password.value ?? null,
|
||||
mqtt_url: this.mqtt_url.value ?? null,
|
||||
mqtt_user: this.mqtt_user.value ? this.mqtt_user.value : null,
|
||||
mqtt_password: this.mqtt_password.value ? this.mqtt_password.value : null,
|
||||
base_topic: this.base_topic.value ?? null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,16 +20,16 @@
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.plantTargetEnabledOnly_ ${plantId} {
|
||||
.plantTargetEnabledOnly_${plantId}{
|
||||
}
|
||||
|
||||
.plantPumpEnabledOnly_ ${plantId} {
|
||||
.plantPumpEnabledOnly_${plantId}{
|
||||
}
|
||||
|
||||
.plantSensorEnabledOnly_ ${plantId} {
|
||||
.plantSensorEnabledOnly_${plantId}{
|
||||
}
|
||||
|
||||
.plantHidden_ ${plantId} {
|
||||
.plantHidden_${plantId} {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
@ -129,28 +129,8 @@
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_moisture_b">not measured</span>
|
||||
</div>
|
||||
<div class="flexcontainer plantPumpEnabledOnly_${plantId}">
|
||||
<div class="plantsensorkey">Max Current</div>
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_pump_test_current_max">not_tested</span>
|
||||
</div>
|
||||
<div class="flexcontainer plantPumpEnabledOnly_${plantId}">
|
||||
<div class="plantsensorkey">Min Current</div>
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_pump_test_current_min">not_tested</span>
|
||||
</div>
|
||||
<div class="flexcontainer plantPumpEnabledOnly_${plantId}">
|
||||
<div class="plantsensorkey">Average</div>
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_pump_test_current_average">not_tested</span>
|
||||
</div>
|
||||
<div class="flexcontainer plantPumpEnabledOnly_${plantId}">
|
||||
<div class="plantsensorkey">Pump Time</div>
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_pump_test_pump_time">not_tested</span>
|
||||
</div>
|
||||
<div class="flexcontainer plantPumpEnabledOnly_${plantId}">
|
||||
<div class="plantsensorkey">Flow ml</div>
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_pump_test_flow_ml">not_tested</span>
|
||||
</div>
|
||||
<div class="flexcontainer plantPumpEnabledOnly_${plantId}">
|
||||
<div class="plantsensorkey">Flow raw</div>
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_pump_test_flow_raw">not_tested</span>
|
||||
<div class="plantsensorkey">Test Current</div>
|
||||
<span class="plantsensorvalue" id="plant_${plantId}_pump_current_result">not_tested</span>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -68,18 +68,12 @@ export class PlantView {
|
||||
private readonly mode: HTMLSelectElement;
|
||||
private readonly moistureA: HTMLElement;
|
||||
private readonly moistureB: HTMLElement;
|
||||
private readonly pump_current_result: HTMLElement
|
||||
private readonly maxConsecutivePumpCount: HTMLInputElement;
|
||||
private readonly minPumpCurrentMa: HTMLInputElement;
|
||||
private readonly maxPumpCurrentMa: HTMLInputElement;
|
||||
private readonly ignoreCurrentError: HTMLInputElement;
|
||||
|
||||
private readonly pump_test_current_max: HTMLElement;
|
||||
private readonly pump_test_current_min: HTMLElement;
|
||||
private readonly pump_test_current_average: HTMLElement;
|
||||
private readonly pump_test_pump_time: HTMLElement;
|
||||
private readonly pump_test_flow_ml: HTMLElement;
|
||||
private readonly pump_test_flow_raw: HTMLElement;
|
||||
|
||||
|
||||
constructor(plantId: number, parent: HTMLDivElement, controller: Controller) {
|
||||
this.plantId = plantId;
|
||||
@ -95,13 +89,8 @@ export class PlantView {
|
||||
|
||||
this.moistureA = document.getElementById("plant_" + plantId + "_moisture_a")! as HTMLElement;
|
||||
this.moistureB = document.getElementById("plant_" + plantId + "_moisture_b")! as HTMLElement;
|
||||
this.pump_current_result = document.getElementById("plant_" + plantId + "_pump_current_result")! as HTMLElement;
|
||||
|
||||
this.pump_test_current_max = document.getElementById("plant_" + plantId + "_pump_test_current_max")! as HTMLElement;
|
||||
this.pump_test_current_min = document.getElementById("plant_" + plantId + "_pump_test_current_min")! as HTMLElement;
|
||||
this.pump_test_current_average = document.getElementById("plant_" + plantId + "_pump_test_current_average")! as HTMLElement;
|
||||
this.pump_test_pump_time = document.getElementById("plant_" + plantId + "_pump_test_pump_time")! as HTMLElement;
|
||||
this.pump_test_flow_ml = document.getElementById("plant_" + plantId + "_pump_test_flow_ml")! as HTMLElement;
|
||||
this.pump_test_flow_raw = document.getElementById("plant_" + plantId + "_pump_test_flow_raw")! as HTMLElement;
|
||||
|
||||
this.testButton = document.getElementById("plant_" + plantId + "_test")! as HTMLButtonElement;
|
||||
this.testButton.onclick = function () {
|
||||
@ -237,14 +226,7 @@ export class PlantView {
|
||||
}
|
||||
|
||||
setTestResult(result: PumpTestResult) {
|
||||
this.pump_test_current_max.innerText = result.max_current_ma.toString()
|
||||
this.pump_test_current_min.innerText = result.min_current_ma.toString()
|
||||
this.pump_test_current_average.innerText = result.median_current_ma.toString()
|
||||
|
||||
this.pump_test_flow_raw.innerText = result.flow_value_count.toString()
|
||||
this.pump_test_flow_ml.innerText = result.flow_value_ml.toString()
|
||||
|
||||
this.pump_test_pump_time.innerText = result.pump_time_s.toString()
|
||||
this.pump_current_result.innerText = "Did abort " + result.error + " median current " + result.median_current_ma + " max current " + result.max_current_ma + " min current " + result.min_current_ma
|
||||
}
|
||||
|
||||
setMeasurementResult(a: string, b: string) {
|
||||
|
@ -48,10 +48,6 @@
|
||||
<div class="tankkey">Full at %</div>
|
||||
<input class="tankvalue" type="number" min="0" max="100" id="tank_full_percent">
|
||||
</div>
|
||||
<div class="flexcontainer">
|
||||
<div class="tankkey">Flow Sensor ml per pulse</div>
|
||||
<input class="tankvalue" type="number" min="0" max="1000" step="0.01" id="ml_per_pulse">
|
||||
</div>
|
||||
<button id="tank_update">Update Tank</button>
|
||||
|
||||
|
||||
@ -86,4 +82,4 @@
|
||||
<div class="flexcontainer">
|
||||
<div class="tankkey">Warn Level</div>
|
||||
<label class="tankvalue" id="tank_measure_warnlevel"></label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -8,7 +8,6 @@ export class TankConfigView {
|
||||
private readonly tank_warn_percent: HTMLInputElement;
|
||||
private readonly tank_sensor_enabled: HTMLInputElement;
|
||||
private readonly tank_allow_pumping_if_sensor_error: HTMLInputElement;
|
||||
private readonly ml_per_pulse: HTMLInputElement;
|
||||
private readonly tank_measure_error: HTMLLabelElement;
|
||||
private readonly tank_measure_ml: HTMLLabelElement;
|
||||
private readonly tank_measure_percent: HTMLLabelElement;
|
||||
@ -55,8 +54,6 @@ export class TankConfigView {
|
||||
this.tank_sensor_enabled.onchange = controller.configChanged
|
||||
this.tank_allow_pumping_if_sensor_error = document.getElementById("tank_allow_pumping_if_sensor_error") as HTMLInputElement;
|
||||
this.tank_allow_pumping_if_sensor_error.onchange = controller.configChanged
|
||||
this.ml_per_pulse = document.getElementById("ml_per_pulse") as HTMLInputElement;
|
||||
this.ml_per_pulse.onchange = controller.configChanged
|
||||
|
||||
let tank_update = document.getElementById("tank_update") as HTMLInputElement;
|
||||
tank_update.onclick = () => {
|
||||
@ -144,7 +141,6 @@ export class TankConfigView {
|
||||
this.tank_full_percent.value = String(tank.tank_full_percent)
|
||||
this.tank_sensor_enabled.checked = tank.tank_sensor_enabled
|
||||
this.tank_useable_ml.value = String(tank.tank_useable_ml)
|
||||
this.ml_per_pulse.value = String(tank.ml_per_pulse)
|
||||
}
|
||||
getConfig(): TankConfig {
|
||||
return {
|
||||
@ -153,8 +149,7 @@ export class TankConfigView {
|
||||
tank_full_percent: this.tank_full_percent.valueAsNumber,
|
||||
tank_sensor_enabled: this.tank_sensor_enabled.checked,
|
||||
tank_useable_ml: this.tank_useable_ml.valueAsNumber,
|
||||
tank_warn_percent: this.tank_warn_percent.valueAsNumber,
|
||||
ml_per_pulse: this.ml_per_pulse.valueAsNumber
|
||||
tank_warn_percent: this.tank_warn_percent.valueAsNumber
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user