Saturday, February 1, 2014

New -bone39 Kernel Available

I've been building a lot of kernels lately, testing various options recommended by the Xenomai folks to improve latency.  Nothing has been a "magic silver bullet", but the overall combination of options has dramatically reduced typical latency, even though worst-case values haven't dropped much.

Also, some folks testing with recent kernels noticed the CPU wasn't running at full speed.  I have re-enabled the frequency scaling support in the kernel (the Xenomai folks recommend disabling this), which has restored the expected 1 GHz operation.  Tests so far show no impact on latency figures, since the CPU frequency isn't actually changing (only the performance scheduler is compiled into the kernel, which keeps the CPU running at the highest possible speed and doesn't try to throttle the CPU to save power).  AFAIK, the latency hit is from the CPU shutting down while the PLLs relock to a new frequency, so if the CPU never changes it's operating frequency there shouldn't be any issues.

You can download the new kernels here.  If you try it out, please let me know how it works for you.  I'll probably try to make new images with just the kernel update soon, but I'm in the middle of a bunch of other coding and updates, so pester me if you really want a new image and it hasn't shown up on the MachineKit page.

In other news, work is in progress to develop interfaces geared towards the BeagleBone (lower resolution screens with less 3D intensive "eye candy"), I've started work on the CRAMPS 3D Printer interface board, and I hope to have encoder support (both hardware and PRU software based) working  soon.  Rigid tapping could be coming soon to a 'Bone near you!  :-)

I am making good progress on the CRAMPS and encoder tasks.  If you would like to assist with interface design for the 'Bone, please post on the LinuxCNC developer list.  I don't do well designing GUI interfaces, and am looking for as much help as I can get to provide usable and attractive interfaces for the BeagleBone, for both CNC machining and for 3D printing.  Thanks!

11 comments:

  1. Good afternoon. Necessarily want to try the new kernel. I have a doubt in the process of installation, it would be desirable not to break anything. You write the exact command to install the kernel and modules?

    ReplyDelete
    Replies
    1. I just install the kernel manually. Download the various *bone39* files, then:

      sudo cp /path/to/*.zImage /boot/uBoot/zImage

      cd /
      sudo tar -xzvf /path/to/*-modules.tar.gz

      cd /boot/uboot/dtbs
      sudo tar -xzvf /path/to/*-dtbs.tar.gz

      cd /lib/firmware
      sudo tar -xzvf /path/to/*-firmware.tar.gz

      Delete
  2. Do you have any concept drawings of what CRAMPS will be like? I quite interested in the replicape board, but it is more expensive than I want to pay to use linuxcnc with a beaglebone. I would be very interested in the CRAMPS concept, especially if we can reuse components from existing RAMPS hardware.

    ReplyDelete
    Replies
    1. Work in progress files are on github if you use KiCAD: https://github.com/cdsteinkuehler/bobc_hardware

      I'm not far enough along to have pretty 3D pictures of the PCB, but the overall design will look very much like the RAMPS-FD, but probably a bit wider, and have the same basic features: http://reprap.org/wiki/RAMPS-FD

      Delete
  3. any chance for a UDOO kernel for linuxCNC with the RAMPS-FD?

    ReplyDelete
    Replies
    1. Not from me. I think Andy Pugh is working on one, based on his posts to the Xenomai list.

      Delete
  4. I have interest in the helping out on this project. I will sign up on the developers list.
    Matt

    ReplyDelete
  5. Hello, is there a guide of sorts to modify your default configuration for 3D Printing to change to CNC 3-axis Mill with Double y-Axis (X, Y, Y, Z)
    From the Machine Kit, I am not seeing where and how you can run the Stepper Configuration.

    ReplyDelete
    Replies
    1. You'll have to edit the HAL file manually. There is no stepconfig type program for the BeagleBone yet. There are several ways to setup a gantry system in HAL with LinuxCNC, see the recent thread "Gantry Best Practices": http://article.gmane.org/gmane.linux.distributions.emc.user/49446

      I will also try to provide an example configuration for a typical gantry style desktop mill (like a Fireball, ShapeOko, or similar) sometime soon.

      Delete
  6. Was looking at adding in a LCD cape driver from element 14 into the kernel, not sure if this will work or not, but what the heck looks fun. Was trying to find what patches, tweaks, etc you do to the kernel so I don't miss something in the recompile.

    Thanks, Tim

    ReplyDelete
    Replies
    1. I use Robert C Nelson's kernel build scripts, with the Xenomai patches (and a few other minor tweaks) added for the MachineKit images. All the patches and details are in the github repository: https://github.com/cdsteinkuehler/linux-dev

      Delete