LitexCNC: firmware and driver for 5A-75B and 5A-75E

More
2 years 10 months ago #289382 by TOLP2

the space around the 40 pin connector of the HAT is a bit tight with the mounting points of the RPi. The solution to work with the current board is to use plastic stand-offs and cut part of these away.


imo,just dont do it that way. it makes everything tall and awkward, and honestly it sucks this way. PCW said for the new 7c81, he offset the bottom header so its not longer like that
 
I produced version 1.1 of the board, in which the header has been moved so it does not clash with stand offs. 

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

More
2 years 9 months ago #289906 by Ehsan_R
Please share with us an example for a six-axis machine that includes all the provided modules along with the INI file.

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

More
2 years 9 months ago #289907 by TOLP2
This will be guessing in the dark for me:
  • my machine is only a 3 axis machine with 4 joints (there is a slave axis);
  • to dial in a machine, more information is required.
I can supply you with a basic example of a machine with 3 axis / 4 joints. From that point you have to extend it to your own requirements.

To start, I think you require a configuration for your 5A-75E LED card. On any Linux machine you can install Litex-CNC to create the firmware:
Code:
pip install litexcnc[cli] litexcnc install_toolchain litexcnc install_driver

Note: install driver only works when you also have LinuxCNC installed on the machine.

Then create a file with the configuration of your machine (sample_config.json, for example (assuming you've received a version 8.X of the LED card) with 4 axis:
Code:
{     "board_name": "example",     "board_type": "5A-75E v6.0",     "clock_frequency": 40000000,     "connection": {         "connection_type": "etherbone",         "tx_delay": 0,         "ip_address": "10.0.0.10",         "mac_address": "0x10e2d5000000"     },     "watchdog": {         "pin":"j1:8"     },     "modules": [     {         "module_type": "stepgen",         "instance": [             {                 "pins" : {                     "stepgen_type": "step_dir",                     "step_pin": "j1:0",                     "dir_pin": "j1:1"                 },                 "soft_stop": true             }, {                 "pins" : {                     "stepgen_type": "step_dir",                     "step_pin": "j2:0",                     "dir_pin": "j2:1"                 },                 "soft_stop": true             }, {                 "pins" : {                     "stepgen_type": "step_dir",                     "step_pin": "j3:0",                     "dir_pin": "j3:1"                 },                 "soft_stop": true             }, {                 "pins" : {                     "stepgen_type": "step_dir",                     "step_pin": "j4:0",                     "dir_pin": "j4:1"                 },                 "soft_stop": true             }         ]     ] }

Now you can build the firmware and flash your card
Code:
litexcnc build_firmware sample_config.json -a --build cd example/gateware litexcnc flash_firmware <filename-with-extension-svf>

Note: the example above assumes an IP-address of 10.0.0.10. The machine where the card is connected to must have its network configured to the same subnet (i.e. 10.0.0.1 as fixed address with subnet 255.255.255.0)

If you have LinuxCNC installed on the machine, you can test the connection with the card and show the created pins. Start a the hal with halrun and type the following commands:
Code:
loadrt litexcnc connections="eth:10.0.0.10" show pin show param show function

This is a basis from where you should be able to get started. Please also see the documentation . When things are not clear in the documentation, please help to improve.

Just to be clear: I will not create full setups for machines based on minimal information. I am a hobbyist: developing the software is done in my spare time and I help as many people I can. I will however always improve the software and documentation when people submit bugs, enhancements or improvements.
 
The following user(s) said Thank You: Ehsan_R

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

More
2 years 9 months ago #289943 by Ehsan_R
Thank you very much for your guidance.
Hoping that I will pay my share in advancing the goals of this project

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

More
2 years 9 months ago #289997 by TOLP2
Please tell when it works and certainly tell when something is not working or not clear!

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

More
2 years 9 months ago #290061 by Ehsan_R
user@debian:~$ pip install litexcnc[cli]
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
 

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

Moderators: PCW, jmelson
Time to create page: 0.076 seconds
Powered by Kunena Forum