Remora - ethernet NVEM / EC300 / EC500 cnc board

More
1 year 6 months ago #325769 by tuxcnc

yes?how?
 
pyocd reset --target mimxrt1050_quadspi
pyocd erase --chip --target mimxrt1050_quadspi
pyocd reset --target mimxrt1050_quadspi
pyocd flash remora-rt1052-3.1.3.bin --target mimxrt1050_quadspi
pyocd reset --target mimxrt1050_quadspi
 
The following user(s) said Thank You: DarkPhoinix

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago - 1 year 6 months ago #325807 by jenkinson8
Replied by jenkinson8 on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
Hey brains trust!

I'm working on converting an NVEM v5 board (says IMXR_NVEM_V6   2022-08-11 on the silk screen) to use Remora. I managed to get the firmware uploaded to the board, thank you Scott for the great vid. The board uses RT1052 chip and I was able to make a donor STLink into a DAPLink and upload the firmware by compiling the latest Remora-RT1052-cpp from source. I could initially see it working by toggling the eStop in software and seeing the LED light up on the board so I know it was responding to LinuxCNC at first. I basically just followed the steps in the video. 

I got the static IP set up, did the Halcompile of the ethernet component, and then successfully uploaded an unmodified full_config.txt with the upload_config.py script, I managed to get past needing to install the TFTP package via PIP successfully as it wasn't included on my machine by default. This is where I'm now running into issues. After installing the config, LinuxCNC will no longer allow me to get the machine out of eStop, where it did before. Clicking the button does nothing and the LED on the board no longer toggles. It no longer lets me upload new configs, and pinging 10.10.10.10 now no longer responds (it did before I uploaded the config. This happened once already and re-flashing the chip got me back to being able to ping, get the machine out of eStop and upload new configs, none of which I can do anymore after uploading the config. The chip definitely isn't bricked as I can erase, reupload and step over code using the makeshift DAPLink as a debugger. 

I've tried wiring up a serial connector for the little port in the corner, but I'm not even sure that works to begin with - I've only seen Scott do it to an EC500 board so this potentially could help in troubleshooting. Seems I can read serial with a loopback and I know the wiring pinout, baud rate, comms settings etc from the pic on page 1 of this thread, none of that has output any data to any of the serial terminals I've tried on both of my machines.

I'm using the latest LinuxCNC version which I believe is now using Debian Bookworm which now uses NetworkManager so some of the instructions used in the video are now slightly different. I've fiddled with firewall and port settings but I'm not sure that's it because uploading and connecting works the first time just fine - port 69 is definitely open for SFTP.

Hope that's a good enough starting point for troubleshooting, let me know what other details I can provide to help troubleshoot this one? It's an odd one!
Last edit: 1 year 6 months ago by jenkinson8. Reason: forgot to mention a step.

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago #325821 by cakeslob
post your config.txt
The following user(s) said Thank You: jenkinson8

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago #325851 by jenkinson8
Replied by jenkinson8 on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
Sure, when I did this, I uploaded the unmodified nvem-full-config.txt - from the Remora repo.

Reading the upload script, it looks like it makes a copy of what I feed into it and writes it to this config.txt file? Comparing the two documents showed them as identical.

Contents of the file to sense check:
Code:
{     "Board": "NVEM",     "Modules":[     {     "Thread": "Base",     "Type": "Stepgen",         "Comment":            "X - Joint 0 step generator",         "Joint Number":        0,         "Step Pin":         "PE_15",         "Direction Pin":     "PE_14"     },     {     "Thread": "Base",     "Type": "Stepgen",         "Comment":            "Y - Joint 1 step generator",         "Joint Number":        1,         "Step Pin":         "PE_13",         "Direction Pin":     "PE_12"     },     {     "Thread": "Base",     "Type": "Stepgen",         "Comment":            "Z - Joint 2 step generator",         "Joint Number":        2,         "Step Pin":         "PE_11",         "Direction Pin":     "PE_10"     },     {     "Thread": "Base",     "Type": "Stepgen",         "Comment":            "A - Joint 3 step generator",         "Joint Number":        3,         "Step Pin":         "PE_9",         "Direction Pin":     "PE_8"     },     {     "Thread": "Base",     "Type": "Stepgen",         "Comment":            "B - Joint 4 step generator",         "Joint Number":        4,         "Step Pin":         "PE_7",         "Direction Pin":     "PA_8"     },     {     "Thread": "Base",     "Type": "Stepgen",         "Comment":            "C - Joint 5 step generator",         "Joint Number":        5,         "Step Pin":         "PA_5",         "Direction Pin":     "PA_6"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "FHA",         "Pin":                "PD_12",         "Mode":                "Input",         "Data Bit":            0,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "FHB",         "Pin":                "PD_13",         "Mode":                "Input",         "Data Bit":            1,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "SRO",         "Pin":                "PB_14",         "Mode":                "Input",         "Data Bit":            2,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "SJR",         "Pin":                "PB_15",         "Mode":                "Input",         "Data Bit":            3,         "Invert":            "True"     },         {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "STOP",         "Pin":                "PD_8",         "Mode":                "Input",         "Data Bit":            4,         "Invert":            "False"     },         {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "PROBE",         "Pin":                "PD_9",         "Mode":                "Input",         "Data Bit":            5,         "Invert":            "True"     },         {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP3",         "Pin":                "PD_10",         "Mode":                "Input",         "Data Bit":            6,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP4",         "Pin":                "PD_11",         "Mode":                "Input",         "Data Bit":            7,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP5",         "Pin":                "PD_14",         "Mode":                "Input",         "Data Bit":            8,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP6",         "Pin":                "PD_15",         "Mode":                "Input",         "Data Bit":            9,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP7",         "Pin":                "PC_6",         "Mode":                "Input",         "Data Bit":            10,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP8",         "Pin":                "PC_7",         "Mode":                "Input",         "Data Bit":            11,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP9",         "Pin":                "PC_8",         "Mode":                "Input",         "Data Bit":            12,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP10",         "Pin":                "PC_9",         "Mode":                "Input",         "Data Bit":            13,         "Invert":            "True"     },         {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP11",         "Pin":                "PA_11",         "Mode":                "Input",         "Data Bit":            14,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INP12",         "Pin":                "PA_12",         "Mode":                "Input",         "Data Bit":            15,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "INDEX",         "Pin":                "PC_15",         "Mode":                "Input",         "Data Bit":            16,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "x100",         "Pin":                "PA_15",         "Mode":                "Input",         "Data Bit":            17,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "x10",         "Pin":                "PC_10",         "Mode":                "Input",         "Data Bit":            18,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "x1",         "Pin":                "PC_11",         "Mode":                "Input",         "Data Bit":            19,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "ESTOP",         "Pin":                "PC_12",         "Mode":                "Input",         "Data Bit":            20,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "Xin",         "Pin":                "PD_7",         "Mode":                "Input",         "Data Bit":            21,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "Yin",         "Pin":                "PD_4",         "Mode":                "Input",         "Data Bit":            22,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "Zin",         "Pin":                "PD_3",         "Mode":                "Input",         "Data Bit":            23,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "Ain",         "Pin":                "PD_2",         "Mode":                "Input",         "Data Bit":            24,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "Bin",         "Pin":                "PD_1",         "Mode":                "Input",         "Data Bit":            25,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "Cin",         "Pin":                "PD_0",         "Mode":                "Input",         "Data Bit":            26,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "WHA",         "Pin":                "PB_7",         "Mode":                "Input",         "Data Bit":            27,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "WHB",         "Pin":                "PB_6",         "Mode":                "Input",         "Data Bit":            28,         "Invert":            "True"     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT1",         "Pin":                "PC_3",         "Mode":                "Output",         "Data Bit":            0     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT2",         "Pin":                "PC_2",         "Mode":                "Output",         "Data Bit":            1     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT3",         "Pin":                "PB_8",         "Mode":                "Output",         "Data Bit":            2     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT4",         "Pin":                "PB_9",         "Mode":                "Output",         "Data Bit":            3     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT5",         "Pin":                "PE_0",         "Mode":                "Output",         "Data Bit":            4     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT6",         "Pin":                "PE_1",         "Mode":                "Output",         "Data Bit":            5     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT7",         "Pin":                "PE_2",         "Mode":                "Output",         "Data Bit":            6     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT8",         "Pin":                "PE_3",         "Mode":                "Output",         "Data Bit":            7     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT9",         "Pin":                "PC_13",         "Mode":                "Output",         "Data Bit":            8     },     {     "Thread": "Servo",     "Type": "Digital Pin",         "Comment":            "OUT10",         "Pin":                "PC_14",         "Mode":                "Output",         "Data Bit":            9     },     {     "Thread": "Servo",     "Type": "Spindle PWM",         "Comment":            "Spindle PWM",         "SP[i]":            0     }    ,     {     "Thread": "Servo",     "Type": "NVMPG",         "Comment":            "NVMPG"     }     ] }

Something else worth mentioning, I had read that the 4/5/6 axis boards used the same hardware, and that Remora doesn't care which version of the board you get. I bought a 4 axis version as the others were more expensive for seemingly no value add if used with Remora. I did use my multimeter and could trace the 5 and 6 axis step/dir pins back to what looks like a buffer IC at least. Hopefully I don't have some later version of the board that has additional locks in place.

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago #325875 by Domi
Hi frayja2002. I have the same problem. How did you fix the error?
File "upload_config.py", line 7, in <module>
import tftpy
ModuleNotFoundError: No module named 'tftpy'

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago #325898 by jenkinson8
Replied by jenkinson8 on topic Remora - ethernet NVEM / EC300 / EC500 cnc board
Fortunately this one is a reasonably easy fix:
Code:
pip3 install tftpy 

it will spit out an error advising that you need to work inside a virtual environment, since you probably aren’t using your LinuxCNC machine for Python development, just run the override flag. Apologies I am typing on the go otherwise I’d look up the exact flag you need to add.

Please Log in or Create an account to join the conversation.

Time to create page: 0.241 seconds
Powered by Kunena Forum