-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CanBus support #30
Comments
i agree. Im so close to just sledge hammering shit. i feel like ive watched and read 1000 bits a piece, and im still no closer. and fairly certain ive bricked an unnecessary U2C |
Yeah its annoying how spread out and fragmented documentation is for CanBus. For as much of a hard@$$ O'Conner is about stuff, you'd think he wouldnt merge something like CanBus into Klipper without proper documentation... |
Ingot my voron at the end of September. Had it running foe maybe 2 weeks. Gotna few mods and lost a month. Finally got it running for another week. Tap arrived. Fried my board and all my LEDs because of poor documentation on a necessary alteration to hartk pcb. |
what mods? are you on discord we can move this conversation there and I could possibly help |
No those were like 2 crisis ago lol. I gotnthat stuff figured now. |
Healthy eh? |
Holy sausage thumbs. I need to proofread. Too much repetitive mumbo-jumbo. Too lazy. Eyes... searing shut. |
This is a feature that is also advertised on the homepage and in the sales documents, but there is no documentation on how to use it. |
This is something Biqu/Bigtreetech does with pretty much everything they sell. They make lots of claims on the productpages, then when it comes to support its crickets except for the cheerleaders who get upset when you call our Biqu/BTT for this kind of crap. |
@alexwiecke It Works.... THX Only problemv i got was the bootloader. I have to flash the firmware by sd -card. Now CAN-bus communication to EBB36 work well - without additional boards. |
Hey guys, this is the procedure we follow for getting CANBUS working on the Manta v1.1s: These instructions reference the Manta M8P User Manual v1.04 (Commit 53df01d on Jan 8)
cd ~/klipper
make menuconfig
make clean
make
make flash FLASH_DEVICE=0483:df11
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 Expected response: > Found canbus_uuid=[UUID], Application: Klipper
> Total 1 uuids found If the UUID doesn't appear, make sure you've setup the host as recommended in the instructions under Host Hardware, then reflash the board per steps 7-9
Once you've gotten to this point, the Klipper CANBUS documentation will get you the rest of the way |
This work, but how i get the serial of Manta, because when i try run "ls /dev/serial/by-id/" the command return to me this error: |
Once flashed in CAN bridge mode the MCU no longer appears as a serial device, but instead shows up as a CAN device on See the Klipper CANBUS documentation for instructions on how to query and configure it. |
Im not need put on printer.cfg the ?: [mcu] What i put here ? |
return error: Klipper reports: ERROR Option 'serial' in section 'mcu' must be specified Once the underlying issue is corrected, use the "RESTART" |
@danielsmoura, instead of a serial address, you'd put a CAN UUID, see below:
|
Thanks for you help @ALM007cs ! |
every time I turn the printer off and on again it shows me ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 Total 0 uuids found when i flash the board new is show 1 uuid . when i turn the printer off and on it shows total uuids 0 |
Once you update your printer.cfg with the canbus_uuid and restart, klipper will claim the device. Running canbus_query.py will only show new or otherwise unused canbus devices. |
no it disappears even if i don't write the uuid in klipper that's life shit like the flashing of the ebb42 I've been shitting around with the board for 14 days, I think it's time to throw it in the trash |
Thanks @Alex-Pantheon could I please ask for some help. Could you please show which pins on that page to use for the canbus connection and the pinout of those pins please. |
To use the built in CAN Bus on the Manta M8P, you need to use pins PD12/PD13. |
Just want to make sure I understand the physical connection side of stuff... the firmware bit makes sense. When using a CM4/CB1 with the Manta v1.1 is the can comms done through the B2B connectors for the CM4/CB1 or does it need the likes of a Pi Can hat? I ask as I'm building / looking to build a system with a preexisting hermit crab can toolhead (the hermit crab comes with a pi hat, and a tool board). I 'assume' the PD12/13 connectors on the V1.1 board would go to the hermit crabs tool board (a 'dumb' hub) but does it still need the pi hat to connect to the tool board as well? Can the v1.1 use Canboot or can it be re-flased via the klipper tools as described above after the MCU is flashed the first time (assume again you'd point your binary to can0 uuid). Any advice would be appreciated. Whilst I HATE BTT for their overall lack of support once schematics and rough manuals have been uploaded (very much heres the hardware work it out yourself), they do make hardware that fits with what I want to achieve at a price point that makes sesne...... and I know I'm lucky enough to be able to decipher (more or less) the info they do upload. |
The CAN and the rest of the MCU communicate with the CM4/CB1 through the B2B connectors. There is no need for a seperate CAN hat. You can use a separate CAN hat if you want to offload the CAN communications and not use the built in CAN. There is plenty of CPU and bandwidth on the Manta so I don;t see this as usefull.
If you are using the CAN version of the Hermit Crab Tool board, I see no reason why you would need the Pi CAN Hat.
The 1.1 can use CanBoot, but I see no reason to. The Manta is directly connected to the CM4/CB1 and always will be. So flashing/reflashing is quite easy and direct. You would only need CanBoot if you want to flash devices that are only connected to the CANBus.
Yeah, the lack of support sucks. Took me forever to get my Manta MP8 v1.1 w/CB1 and EBB SB2209 working together. Three of their own products. You would think that there would be a step by step guide somewhere, but nope. You got to figure it all out yourself. |
Huge thanks, Yh as its using the B2B then that all makes sense. And again, no need for canboot as its using that. Seriously thanks for your time and support!! |
@EveCodeJunkie Hi there! Your comment was helpful in order to understand that i do not need to use Pi HAT that came with my Hermit Crab CAN. Now i need to figure out how i could cut off one end of phone cable that came with the device and crimp connectors for my Manta M8P motherboard CAN pins. Do you mby know where i could find pinout for BIGTREETECH CAN-Tool Board Version V1.0. I only could find pinout for my motherboard.. But i would need to know the other end also.. :( I have only found this scheme but i am not sure if that is the one i should reference with H and L positions.. And after that how would i proceed with firmware conpilation and configuration :( Official documentation of BTT products is not enough rly it is way way to simple.. |
If I'm understanding you correctly, you'll find the pinouts in this repo: https://github.com/bigtreetech/EBB So on one end, you'd have your manta & a positive and negative lead from your PSU. On the other side of the cable will be whichever EBB CAN board you have. |
That is correct i have Hermit Crab CAN and Manta M8P. Now i have them connected without using RPi Hat and now i need to understand how to configure software part. Do i need to flash some custom klipper binary to Hermit Crab CAN and how could i use 2 mcu-s (Manta M8P and Hermit Crab CAN) in klipper... |
@nikolicjakov - for the simplest setup, you'd flash your hermit crab with whatever is normal for that particular board. For the manta however, you'll have to choose the connection type "USB TO CAN BRIDGE" when building it's firmware. Reference the pinout for the specific option to choose. After that, you'll run the can_query script from the Klipper CANBUS documentation and you should see 2 uninitialized devices. Top one was the Manta for me. |
After a day of thinkering with Crab CAN and M8P i have managed to get it working. But do not ask me how since i do not know i have compiled and flashed klipper milion times both on manta m8p and crab CAN. After some time it just booted and worked. So i can only confirm that combinantion where you have Manta M8P and Hermit Crab CAN can work togather without RPi HAT but direct from motherboard to CAN board and then from CAN board to Hermit Crab via USB type C cable. |
I got CAN to work on my m8p + cb1 and sb2209. For those who are still trying to figure it out using BTT’s guide, there's a very important step that is not included as detailed by Alex-Pantheon. What confused me most was flashing two different configs of klipper, one is for the SB2209, the other is for the Manta M8P MCU. There’s not much documentation about CAN on the manta m8p guide from BTT. I'll detail how I got the m8p + cb1 to communicate with the SB2209:
Hope this helps! |
Yeah, every CAN board has its own flavor of flashing procedure and config, you'll have to follow the flashing instructions specific to your board. |
So, to make it clear, if using M8P v1.1 and Hermit Crab, you need to connect from M8P CAN port to Hermit Crab tool CAN-IN port (RJ11). Each of these ports are 4 wires. Just wants to reconfirm what I think is the right connection: On M8P left to right: HermitCrab Tool RJ11 port left to right: |
@djeZo888 The M8P V1.1 has two identical CAN ports that are [ CAN-L, CAN-H ], [ CAN-L, CAN-H ] |
Ah thanks! So, only two wires are actually needed then. From here: https://github.com/bigtreetech/HermitCrab/blob/master/CanbusKlipper/Hardware/Schematic/BTT%20Tool%20Board-SCH.pdf Actually, it makes sense to prep cable with 4 wires - use RJ11 cable and then wire it in a way, so that one CAN port of M8P goes to USB distributed ports of Toolboard via CAN-IN and another port of M8P goes via CAN-IN to CAN-OUT for future expansion. |
Hi, my card communicates well, Found canbus_uuid=030792b2fc33, Application: CanBoot
Help |
Yes I made it, it just lacked the flash of the can in klipper |
BIGTREETECH IF YOU READ THIS YOU SHOULD RLY IMPROVE ON YOUR DOCUMENTATION! IT IS NOT ONLY IMPORTANT TO SELL YOUR EQUIPMENT BUT TO SUPPORT YOUR CUSTOMERS. |
For all those out there wondering what the pinouts and wiring diagram between the Hermit Crab CAN Tool Board and the M8P v1.1 CAN headers is, here it is: When you are looking at the tool board from top, the 3rd and 4th wire from the left, are CAN-H and CAN-L respectively, and when you look at the M8P Can header pins from left to right are CAN-L, and CAN-H, respectively. Also note that the jumpers for the CAN bus termination resistors need to be in place on both boards (on the M8P, it's the header labeled 120R, and on the HC CAN Tool Board, it's the header on the left of the RJ11 ports). |
I have the Manta M8p and considering the Can version of Hermit Crab |
As always 'that depends'. I had a a 'fruit-branded laptop, with an i9 CPU that got charged via a USB-C cable with a 90W charger. Heater cartridges tend to be between 30 and 70W. So that fits. Additionally, the 'PD' ('Power Delivery') spec of USB-C lists 20V as the highest end voltage (and even 48V for some extended spec, though I am assuming we won't see that 'in the wild' very often). |
If you use a power delivery USBC cable it is fine. It can handle up to 100W with some newer ones being capable od 250W. Just note that not all USBC cables are power delivery cables. |
I have an m8p v1.1 and ebb36. There is a resistor on the ebb to jumper that is documented. There is a resistor on the m8p to jumper but not documented. It is next to the can connector. I was getting dropped connection at 250k with 1048 and 500k at 2048. Tried both speeds. Once the jumper was placed on the board no more dropped connections on either speed setup. Went through a lot of configs, apt installs, crimping and testing to find this resistor afterwards. Has not faulted since and 100 print hours later. |
That's called a termination resistor and is required for canbus. You must always have termination resistors at both ends of the bus lines. 120R is the most common value used. Not having that in place will allow the signal to echo causing all sorts of connection issues. |
The m8p does not have this documented at the time of my install. Hope this helps someone. |
It is documented in the schematic and printed on the board itself. Depending on how the CAN bus line is being set up it may or may not be needed. There are different configurations so it's not always required, but all can bus lines need the termination resistors at both ends of the bus. If the m8p is at one of the ends it needs it if it's not at the end, for example 2 ebbs, it doesn't need it. It's not anything unique to this board. |
This must be documented in the M8P manual. The CAN is labeled on the board but newbies to CAN you will need some better documentation. Also needs the same verbiage as the EBB for CAN in the M8P CAN section. An updated picture to show the resistor and when to use it should be added. BTT please ensure this is in all versions that have the CAN bridge. Install is not clear and can be erratic if both are not terminated. Seems 50 50 so please document . All other parts of the CAN are documented well. I believe the speed can be bumped up to 500K and 2048 bit. Not having any issues at this speed [double of manual]. M8P|EBB36 CAN Bridge setup. |
Kannst du mir zeigen ,wie du das angeschlossen hast? |
Is that for CM4 or CB1. I was told by Biqu R&D Justin, that for Hermit Crab CAN with CB1 I would need the IO2CAN v1.0 adapter (same one used for the TFT35 SPI v2.1) to make it work with the CB1. Since that information wasnt available and seems that still not available i didnt purchase the IO2CAN V1.0 so i had to use the Hermit Crab CAN with a raspi 3 and skr e3v2 |
The m8p v1.1 and likely the V2 will have no problems using the canbus out with the CB1. You put it in can bridge mode and you're good to go. The original m8P didn't have a canbus transceiver so that's probably why you were told that you needed the IO2Can adapter. |
The owners manuals provided give zero help on getting the built in canbus to work.
The text was updated successfully, but these errors were encountered: