Duet 2 Ethernet and SBC
-
@wilriker haha! Don't worry about it too much, it was just a stab in the dark as I had someone to help me with the wiring. I'll get back to it in a couple of weeks.
Anyways yes, i did use gpio0 or EDR_CONN as the net is called, which looked to be the same pin the w5500 uses, and as M115 did manage to sneak through I presumed that was ok. And despite not seeing checksum errors I tried dropping the SPI speed but made no difference.
I just wanted to see if it was possible to not remove the ESP, so far either i messed up hi-z firmware, or it has to GTFO. Thanks for taking a look!
-
I finished my prototype
It has a 5V 3A regulator on it for the raspberry
-
@smoki3 said in Duet 2 Ethernet and SBC:
It has a 5V 3A regulator on it for the raspberry
have you considered the load on the 1A fuse for the fans when you're taking a good chunk out for the 5v buck?
-
@bearer said in Duet 2 Ethernet and SBC:
I just wanted to see if it was possible to not remove the ESP, so far either i messed up hi-z firmware, or it has to GTFO. Thanks for taking a look!
If the firmware sets up the ESP reset pin and EN pins as outputs in the low state, then I think it should work without disconnecting the ESP. The additional capacitance of the ESP pins might reduce the maximum available SPI speed a little, but that speed isn't critical.
-
@dc42 said in Duet 2 Ethernet and SBC:
If the firmware sets up the ESP reset pin and EN pins as outputs in the low state
I feel like I'm missing something obvious here; will have a think or two and make a new topic when I've figured it out, or figured out that I'm not gonna figure it out
edit: nope, doesn't compute.as suspected, were missing something obvious .. -
@bearer said in Duet 2 Ethernet and SBC:
@smoki3 said in Duet 2 Ethernet and SBC:
It has a 5V 3A regulator on it for the raspberry
have you considered the load on the 1A fuse for the fans when you're taking a good chunk out for the 5v buck?
Yes you are right. I thought the always on Fan are directly connected to VIN
-
@smoki3 said in Duet 2 Ethernet and SBC:
@bearer said in Duet 2 Ethernet and SBC:
@smoki3 said in Duet 2 Ethernet and SBC:
It has a 5V 3A regulator on it for the raspberry
have you considered the load on the 1A fuse for the fans when you're taking a good chunk out for the 5v buck?
Now you are right. I thought the always on Fan are directly connected to VIN
might not be a problem, you should have 3-400mA left for fans driven by Vin, I was just trying to make sure you'd take it into account.
edit: I've used some of these type of things to tap the fuse for putting on a step down for fans (mini - not low profile, ATM or ATP fuse)
https://www.ebay.com/sch/i.html?_nkw=atp+fuse+tap -
../src/Libraries/Fatfs/diskio.c:51:10: fatal error: ctrl_access.h: No such file or directory 51 | #include "ctrl_access.h" | ^~~~~~~~~~~~~~~ compilation terminated. make: *** [src/Libraries/Fatfs/diskio.o] Error 1 make: *** Waiting for unfinished jobs....
I get this when I try to build DuetIAP. Building in mac.
-
@smoki3 said in Duet 2 Ethernet and SBC:
ctrl_access.h: No such file or directory
i got the same, but as long as you can use Bossa to do any programming after the inital flashing you don't need the IAP binary
-
So tested my PCB today. Its working fine. So I just miss the IAP that I can flash the duet trough DWC.
-
With SBC there is no SD card needed in the duet right?
-
@smoki3 said in Duet 2 Ethernet and SBC:
With SBC there is no SD card needed in the duet right?
it explicitly needs to not have a SD card with a config.g on it. (at least for now (RRF3.2), been some discussion on changing that)
-
@bearer said in Duet 2 Ethernet and SBC:
@smoki3 said in Duet 2 Ethernet and SBC:
With SBC there is no SD card needed in the duet right?
it explicitly needs to not have a SD card with a config.g on it.
I got it I removed the SD Card now my config is working
-
@wilriker said in Duet 2 Ethernet and SBC:
@Dougal1957 DSF is absolutely the same. It does neither know nor care if it's a D3 or a D2 on the other end.
not 100% accurate .. if one were to suffer from pendanticitis(?) .. upon first connection it says "Welcome to your new Duet 3" .
...good thing i don't
-
@bearer Have you found a solution building DuetIAP?
maybe @wilriker can help us?
-
@smoki3 said in Duet 2 Ethernet and SBC:
@bearer Have you found a solution building DuetIAP?
sort of; wait for 3.2 release candidates as I don't really need it.
I just send
M997 P"ERASE"
M999 P"ERASE"
and upload firmware with bossac from the pi. -
@bearer said in Duet 2 Ethernet and SBC:
I just send
M997 P"ERASE"
and upload firmware with bossac from the pi.It's actually
M999 P"ERASE"
.Anyway, I remember I had that compiler error as well. I just don't remember what I did to fix that. I can most likely only check on Monday in more detail. Meanwhile I try to upload my IAP binary to Dropbox and then share here.
EDIT: find the IAP here: https://www.dropbox.com/s/rkcb3chqk878nkm/Duet2_SBCiap_2SBC.bin?dl=0
-
@wilriker said in Duet 2 Ethernet and SBC:
It's actually M999 P"ERASE".
'aint that the truth, I should stick to copy/paste. luckily there is always a pedantic around:)
-
@smoki3 said in Duet 2 Ethernet and SBC:
../src/Libraries/Fatfs/diskio.c:51:10: fatal error: ctrl_access.h: No such file or directory 51 | #include "ctrl_access.h" | ^~~~~~~~~~~~~~~ compilation terminated. make: *** [src/Libraries/Fatfs/diskio.o] Error 1 make: *** Waiting for unfinished jobs....
I get this when I try to build DuetIAP. Building in mac.
That's a victim of recent refactorings. Currently looking into how to fix it best.
-
@dc42 @wilriker
After some testing with the sbc configuration, I have problems with homing my tool changer.I have configured 3 additional axes. However I do a home all, all axes getting homes besides the last "W" axes and the printer hangs forever. After some time the printer then resets itself automatically.
If I home all axes separately it is working fine so far. Also the whole configuration what working fine before.
I also made a short video:
https://photos.app.goo.gl/1YnQmdPAnkXtDG2X8Is there a possibility to grab logs why it is crashing?
UPDATE:
[info] Starting macro file /sys/homew.g on channel Aux [warn] Lost connection to Duet (Timeout while waiting for transfer ready pin) [warn] Bad header checksum (expected 0x0000, got 0xb5c3) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xb5c3) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xb5c3) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0xb5c3) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x7532) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x006d) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x006d) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xcacc) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x6ac5) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xa075) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x006d) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0x606c) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xaacb) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xa075) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xaacb) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xaacb) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0xc074) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x006d) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0xc074) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0xc074) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Restarting transfer because the number of maximum retries has been exceeded [warn] Bad header checksum (expected 0x0000, got 0x006d) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x006d) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000005) [warn] Bad header checksum (expected 0x0000, got 0x606a) [warn] Note: RepRapFirmware didn't receive valid data either (code 0x0002005f) [warn] Restarting transfer because the number of maximum retries has been exceeded [info] Connection to Duet established [info] Aborted macro file /sys/homew.g [warn] Aux: ==> Cancelling unfinished starting code: M98 P"/sys/homew.g" [info] Aborted macro file homeall.g [warn] Controller has been reset [info] Starting macro file config.g on channel Trigger [error] Failed to merge JSON: {"key":"inputs","flags":"d99vn","result":[{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"HTTP","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"Marlin","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Telnet","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"File","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"Marlin","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"USBchan","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Aux","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":true,"lineNumber":51,"name":"Trigger","stackDepth":1,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Queue","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"LCD","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"SBC","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Daemon","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Aux2","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":false,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Autopause","stackDepth":0,"state":"idle","volumetric":false}]} System.Text.Json.JsonException: Failed to deserialize property [InputChannel].Name (type CodeChannel) from JSON "USBchan" ---> System.Text.Json.JsonException: The JSON value could not be converted to DuetAPI.CodeChannel. Path: $ | LineNumber: 0 | BytePositionInLine: 9. at System.Text.Json.ThrowHelper.ThrowJsonException() at System.Text.Json.Serialization.Converters.JsonConverterEnum`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) at System.Text.Json.JsonPropertyInfoNotNullable`4.OnRead(ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack) at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader) at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options) at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 321 --- End of inner exception stack trace --- at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 336 at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 243 at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 162 at DuetControlServer.Model.Updater.Run() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 197