Remora - ethernet
05 Jan 2022 06:10 #230833
by scotta
Replied by scotta on topic Remora - ethernet
Hi, theoretically yes. A new target would need to be configured but there is a Nucleo-F411RE target that could be used as a base.hey there @scotta
Very cool way this is heading. I think it has been asked before will the current codebase work on blackpills (f411)? It would make such an affordable combo w5500+f411+chinese bob.
Thanks!
Please Log in or Create an account to join the conversation.
05 Jan 2022 06:11 #230834
by scotta
Replied by scotta on topic Remora - ethernet
Interrupt driven reception is working now (not yet in the repo). Still trying to figure out how to hack in an SPI DMA master into the w5500 code.... no luck as yet.
The following user(s) said Thank You: ALittleOffTheRails
Please Log in or Create an account to join the conversation.
- AlessandroEmm
- Offline
- New Member
Less
More
- Posts: 16
- Thank you received: 0
10 Jan 2022 14:58 - 10 Jan 2022 20:51 #231309
by AlessandroEmm
Replied by AlessandroEmm on topic Remora - ethernet
Any success on the DMA yet?
EDIT: Are there instructions on how to import your project into the mbed IDE? I tried but somehow cant figure it out naturally.
So far i forked your repo and imported that.
EDIT: Are there instructions on how to import your project into the mbed IDE? I tried but somehow cant figure it out naturally.
So far i forked your repo and imported that.
Last edit: 10 Jan 2022 20:51 by AlessandroEmm. Reason: further question
Please Log in or Create an account to join the conversation.
10 Jan 2022 21:32 #231347
by scotta
I'm also a little distracted by a new ethernet enabled controller board. So trying to figure out the class structure to allow for SPI, w5500 and native ethernet in the code base and to use the config.txt file to configure the comms to either a RPi (via SPI) or over ethernet (w5500 or native). The repo fork is a real hack at the moment to prove that ethernet works.
The servo thread period need to be increase when using the w5500 due to the transfer time between the MCU and w5500. Lots of idle time when not using DMA.
Replied by scotta on topic Remora - ethernet
Hi, no updates for the repo for a while. Sorry. I still need to push up the interrupt code but still no luck with SPI DMA.Any success on the DMA yet?
EDIT: Are there instructions on how to import your project into the mbed IDE? I tried but somehow cant figure it out naturally.
So far i forked your repo and imported that.
I'm also a little distracted by a new ethernet enabled controller board. So trying to figure out the class structure to allow for SPI, w5500 and native ethernet in the code base and to use the config.txt file to configure the comms to either a RPi (via SPI) or over ethernet (w5500 or native). The repo fork is a real hack at the moment to prove that ethernet works.
The servo thread period need to be increase when using the w5500 due to the transfer time between the MCU and w5500. Lots of idle time when not using DMA.
Please Log in or Create an account to join the conversation.
10 Jan 2022 21:35 - 10 Jan 2022 21:45 #231348
by scotta
Replied by scotta on topic Remora - ethernet
Below is the logic analyser output with the w5500 with interrupts. You can see the SPI bytes on the second channel with wasted time between them.
Bottom two channels are the LinuxCNC component read (read request + data out) and write (data + acknowledge message back) functions in action. With native ethernet these should be super short and back to a normal servo thread period.
Bottom two channels are the LinuxCNC component read (read request + data out) and write (data + acknowledge message back) functions in action. With native ethernet these should be super short and back to a normal servo thread period.
Attachments:
Last edit: 10 Jan 2022 21:45 by scotta.
The following user(s) said Thank You: tommylight, satsuma
Please Log in or Create an account to join the conversation.
11 Jan 2022 00:40 #231375
by cakeslob
I do it pretty half assed, because there is a source control option, but since i dont know how to use a computer here is my shitty way
git clone the repo, and unpack it
In mbed studio
-open workspace at directory location "Remora/Firmware/FirmwareSource/Remora-OS5/"
-under library , it wants you to fix mbed 5.15 (the button looks like a refresh button)
fix the lib but do NOT update it to mbed 6.
-once the lib is fixed, it will allow you to select your target from the side menu
Replied by cakeslob on topic Remora - ethernet
Any success on the DMA yet?
EDIT: Are there instructions on how to import your project into the mbed IDE? I tried but somehow cant figure it out naturally.
So far i forked your repo and imported that.
I do it pretty half assed, because there is a source control option, but since i dont know how to use a computer here is my shitty way
git clone the repo, and unpack it
In mbed studio
-open workspace at directory location "Remora/Firmware/FirmwareSource/Remora-OS5/"
-under library , it wants you to fix mbed 5.15 (the button looks like a refresh button)
fix the lib but do NOT update it to mbed 6.
-once the lib is fixed, it will allow you to select your target from the side menu
Please Log in or Create an account to join the conversation.
11 Jan 2022 04:16 #231392
by scotta
Replied by scotta on topic Remora - ethernet
Hi cakeslob, thanks for sharing and spot on. Not half assed at all.
I use Gitkracken to handle the git side of things and do exactly as you've described when changing workspaces.
I really need to do some work on the docs to add this, maybe even a short YouTube how to. The docs are getting a bit out of date now with the recent developments for STM32 etc.
I use Gitkracken to handle the git side of things and do exactly as you've described when changing workspaces.
I really need to do some work on the docs to add this, maybe even a short YouTube how to. The docs are getting a bit out of date now with the recent developments for STM32 etc.
Please Log in or Create an account to join the conversation.
01 Jul 2022 16:22 #246374
by satsuma
Replied by satsuma on topic Remora - ethernet
Hi scotta, I really like your work. I tried to run it, but linuxcnc always gives an error, and I would like to ask for help. Hardware: W5500+SKR1.3 and followed all the instructions. I will share the error line soon.
Please Log in or Create an account to join the conversation.
01 Jul 2022 21:16 #246396
by scotta
Replied by scotta on topic Remora - ethernet
Hi satsuma, this branch is still in development and totally untested on the LPC1768 on the SKR1.3.
Also the LinuxCNC Remora Ethernet component has developed faster and the packet data structure is slightly different.
In configuration.h the following line would need to be changed to 68
#define SPI_BUFF_SIZE 64
Again, this branch has only been tested on an SKRv2.
Also the LinuxCNC Remora Ethernet component has developed faster and the packet data structure is slightly different.
In configuration.h the following line would need to be changed to 68
#define SPI_BUFF_SIZE 64
Again, this branch has only been tested on an SKRv2.
The following user(s) said Thank You: satsuma
Please Log in or Create an account to join the conversation.
02 Jul 2022 20:21 #246463
by satsuma
Replied by satsuma on topic Remora - ethernet
Hi scotta, thank you for your reply.
There is always an error and it is very difficult to find a solution.
The last problem: joint 1 following error.
It starts but gives an error message.
I'm testing an Octopus(F446) board now, and need this because estop don't work.
/remora-eth.hal/
#net user-enable-out <= iocontrol.0.user-enable-out => remora.enable
#net user-request-enable <= iocontrol.0.user-request-enable => remora.reset
#net remora-status <= remora.status => iocontrol.0.emc-enable-in
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
There is always an error and it is very difficult to find a solution.
The last problem: joint 1 following error.
It starts but gives an error message.
I'm testing an Octopus(F446) board now, and need this because estop don't work.
/remora-eth.hal/
#net user-enable-out <= iocontrol.0.user-enable-out => remora.enable
#net user-request-enable <= iocontrol.0.user-request-enable => remora.reset
#net remora-status <= remora.status => iocontrol.0.emc-enable-in
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
Please Log in or Create an account to join the conversation.
Time to create page: 0.147 seconds