Author Topic: DDCSV1.1 4 Axis controller  (Read 439727 times)

Offline Will_D

  • Hero Member
  • *****
  • Posts: 668
  • Country: ie
    • National Homebrew Club of Ireland
Re: DDCSV1.1 4 Axis controller
« Reply #350 on: February 02, 2017, 11:19:07 AM »
Andrew, I also remember paper tape ! Punched cards were much better as you could put the chats in to correct typos.
Just don't drop them

Problem was when the chat fell out the card reader stopped.

Some days we used to load up a file of data from 10,000 or so cards!!
Engineer and Chemist to the NHC.ie
http://www.nationalhomebrewclub.ie/forum/

Offline Will_D

  • Hero Member
  • *****
  • Posts: 668
  • Country: ie
    • National Homebrew Club of Ireland
Re: DDCSV1.1 4 Axis controller
« Reply #351 on: February 02, 2017, 11:28:49 AM »
Based on the great work done by others, attatched is a spread sheet of the parameters used by the controller, with my values and the defaults as best as I can find out

It will need renaming!
Engineer and Chemist to the NHC.ie
http://www.nationalhomebrewclub.ie/forum/

Offline awemawson

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8966
  • Country: gb
  • East Sussex, UK
Re: DDCSV1.1 4 Axis controller
« Reply #352 on: February 02, 2017, 11:39:02 AM »
So is the M30 perhaps (rather oddly) cancelling any of the supposedly modal  G17 G21 G90 G40 G49 G80  :scratch:
Andrew Mawson
East Sussex

Offline philf

  • Hero Member
  • *****
  • Posts: 1107
  • Country: gb
Re: DDCSV1.1 4 Axis controller
« Reply #353 on: February 02, 2017, 05:53:50 PM »
So is the M30 perhaps (rather oddly) cancelling any of the supposedly modal  G17 G21 G90 G40 G49 G80  :scratch:

Andrew,

Do modal commands carry over from one piece of code to a newly loaded piece of code?

Will,

I mostly use Vectric Cut2d to generate GCode and an initialising string of commands begins every file. Mach3, which I use on my mill, also adds it's own string most of which duplicate those from Cut2d.

It's not a big deal to include an initialisation string and feed rate to every file if it makes your controller work OK. I don't know if Estlcam can do this automatically.

Phil.
Phil Fern
Location: Marple, Cheshire

Offline DaveS

  • Jr. Member
  • **
  • Posts: 30
  • Country: gb
Re: DDCSV1.1 4 Axis controller
« Reply #354 on: February 02, 2017, 06:11:04 PM »
Will,

I know nothing about your controller but wearing my very faded Fanuc hat, is it possible you can insert a short dwell time between each linear move?
It may help to narrow things down.  Just a thought

Dave

Offline David Jupp

  • Sr. Member
  • ****
  • Posts: 308
  • Country: gb
  • Teesside - UK
Re: DDCSV1.1 4 Axis controller
« Reply #355 on: February 03, 2017, 02:29:42 AM »


It's not a big deal to include an initialisation string and feed rate to every file if it makes your controller work OK. I don't know if Estlcam can do this automatically.

Phil.

Yes EstlCAM has a tab where you save your standard initialisation/start commands, and another for end of program commands.

Offline awemawson

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8966
  • Country: gb
  • East Sussex, UK
Re: DDCSV1.1 4 Axis controller
« Reply #356 on: February 03, 2017, 03:20:31 AM »
So is the M30 perhaps (rather oddly) cancelling any of the supposedly modal  G17 G21 G90 G40 G49 G80  :scratch:

Andrew,

Do modal commands carry over from one piece of code to a newly loaded piece of code?

Will,

I mostly use Vectric Cut2d to generate GCode and an initialising string of commands begins every file. Mach3, which I use on my mill, also adds it's own string most of which duplicate those from Cut2d.

It's not a big deal to include an initialisation string and feed rate to every file if it makes your controller work OK. I don't know if Estlcam can do this automatically.

Phil.

Phil, I imagine it's very much dependent on the controller, but iirc on the Heidenhain they do while in normal mode, but if you go into MDI then you have to re-enter them.
Andrew Mawson
East Sussex

Offline Simon0362

  • Jr. Member
  • **
  • Posts: 33
  • Country: fr
Re: DDCSV1.1 4 Axis controller
« Reply #357 on: February 03, 2017, 04:45:23 AM »
Will,
Try reversing the X distances in the program that doesn't work - I see that you have homing set but I am not sure whether you have 'homed'.
Also - and I see a similar issue with mine - what are your MACH values showing?
If you are running the normal default G53 co-ords, the MACH values are shown in smaller text - but these are the ones that are used for keeping within the defined window - and you have software limits set.

So....try physically placing the tool to 0,0,0, then step through to MACH co-ords, do a 'zero all', step back to G53, do another 'zero all', then run your little programme.

I run X and Y to the table physical limits but Z is set by hand each time for a tool change and if I set it such that the MACH co-ords do not permit a retract then nothing moves...
And on that same note, I see that your Z safe height is set to zero which is IMO very unwise since this is usually the height of the top of the surface to machine - the default '5' is far safer.
Best of luck!
Simon

Offline Benedikt

  • Full Member
  • ***
  • Posts: 200
  • Country: de
Re: DDCSV1.1 4 Axis controller
« Reply #358 on: February 06, 2017, 10:42:32 AM »
In case anyone might still need it, the configuration generator is completed now and will stay on my site for unlimited time.
If anyone would like to host it though, I can send over the PHP code.

http://bmuessig.eu/tools/pandora-configurator/

TLDR for all new owners of this controller:
You can use this website to configure all settings of the controller without having to dial them in on the controller itself.
Just fill in the settings, download the file to a USB stick and reboot the controller with the stick connected.

Offline Merlin201314

  • Full Member
  • ***
  • Posts: 121
  • Country: gb
  • London
Re: DDCSV1.1 4 Axis controller
« Reply #359 on: February 06, 2017, 11:06:34 AM »
Heyyyy
Benedikt, good to hear from you again,
Thank you for the great work, very apreciated as usual!!!!
 :beer:

Offline chriscnc

  • Jr. Member
  • **
  • Posts: 39
Re: DDCSV1.1 4 Axis controller
« Reply #360 on: February 08, 2017, 12:54:49 AM »
Thanks so much for the configurator.... quick question since it does not support tool change , why does it have all the tool offset settings? i thought you make new code for each tool and just re zero the z... but if it has tool offsets can't i run multiple tools in one code so i can use rest machining?

Offline Will_D

  • Hero Member
  • *****
  • Posts: 668
  • Country: ie
    • National Homebrew Club of Ireland
Re: DDCSV1.1 4 Axis controller
« Reply #361 on: February 08, 2017, 07:59:02 AM »
Not much progress as have been a bit unwell!

Hello Benedikt, good to hear from you again,
Thanks for the configuator.

So its obvious my controller is out of date [2016-05-11-73-NOR] as there is no mention of parameter #395 "Allow G53"
So what does this do?

Regards my problem with the code stopping I really suspect its the controller and or its software or parameters.
The code works on another controller and on g-code simulators

Who has the latest version?
Engineer and Chemist to the NHC.ie
http://www.nationalhomebrewclub.ie/forum/

Offline Merlin201314

  • Full Member
  • ***
  • Posts: 121
  • Country: gb
  • London
Re: DDCSV1.1 4 Axis controller
« Reply #362 on: February 08, 2017, 08:04:40 AM »
I will post the firmware I have in my controller, but you can download it from benedikt site, is up to date


Inviato dal mio iPad utilizzando Tapatalk

Offline Benedikt

  • Full Member
  • ***
  • Posts: 200
  • Country: de
Re: DDCSV1.1 4 Axis controller
« Reply #363 on: February 08, 2017, 09:00:34 AM »
Not much progress as have been a bit unwell!

Hello Benedikt, good to hear from you again,
Thanks for the configuator.

So its obvious my controller is out of date [2016-05-11-73-NOR] as there is no mention of parameter #395 "Allow G53"
So what does this do?

Regards my problem with the code stopping I really suspect its the controller and or its software or parameters.
The code works on another controller and on g-code simulators

Who has the latest version?
You can download the latest version from here: https://bmuessig.eu/secure/data/CNC/DDCSV11/install-mod-20161119.zip
To install it, just unzip it to a blank, FAT32 formatted stick and reboot the controller with the stick inserted. Now wait until the home screen is shown again. The controller might reboot once to finish the upgrade.
I will finish some things up and release a 2017 version soon, so stay tuned :)

Thanks so much for the configurator.... quick question since it does not support tool change , why does it have all the tool offset settings? i thought you make new code for each tool and just re zero the z... but if it has tool offsets can't i run multiple tools in one code so i can use rest machining?
I think it has a manual tool change. So it knows the offsets, but the tool has to be changed by oneself. It will probably just pause until the tool is changed.

Thanks for all the positive feedback so far :)

Offline Merlin201314

  • Full Member
  • ***
  • Posts: 121
  • Country: gb
  • London
Re: DDCSV1.1 4 Axis controller
« Reply #364 on: February 08, 2017, 09:05:56 AM »
I agree about the manual tool change, but how to trigger the pause and tell him which tool we need?


Inviato dal mio iPad utilizzando Tapatalk

Offline Will_D

  • Hero Member
  • *****
  • Posts: 668
  • Country: ie
    • National Homebrew Club of Ireland
Re: DDCSV1.1 4 Axis controller
« Reply #365 on: February 08, 2017, 10:10:23 AM »
You can download the latest version from here: https://bmuessig.eu/secure/data/CNC/DDCSV11/install-mod-20161119.zip
To install it, just unzip it to a blank, FAT32 formatted stick and reboot the controller with the stick inserted. Now wait until the home screen is shown again. The controller might reboot once to finish the upgrade.
I will finish some things up and release a 2017 version soon, so stay tuned :)

Well what can I say Benedikt?

 :ddb: :mmr:  :ddb:

Downloaded the code as you suggested and IT WORKS!!

I just need to tweak some parameters

Again many many thanks
Engineer and Chemist to the NHC.ie
http://www.nationalhomebrewclub.ie/forum/

Offline chriscnc

  • Jr. Member
  • **
  • Posts: 39
Re: DDCSV1.1 4 Axis controller
« Reply #366 on: February 08, 2017, 03:27:33 PM »
I thought it can't process a M6 command to even do a pause for a manual tool change. I have a new code/program for each tool and just re-zero the Z axis keeping X/Y positions and run the new file. if it can pause and let me do a manual tool change in the same code using a M6 or T command, I can use rest machining options saving lots of time. I see there is an Enable M commands  in the configurator maybe this need to be turned on? I wonder if there is programming to use more M commands as sub-options to outputs not used.

Offline ryan8

  • Jr. Member
  • **
  • Posts: 5
Re: DDCSV1.1 4 Axis controller
« Reply #367 on: February 08, 2017, 08:17:44 PM »
Regards my problem with the code stopping I really suspect its the controller and or its software or parameters.
The code works on another controller and on g-code simulators

I've been having the same issue, and a google search led me to this thread.

In case others are having similar issues with the DDCSV1.1 controller stalling on gcodes, for me it appears to have been a configuration issue. It seems like the controller will stall if you enable backlash compensation for an axis without setting an offset value. I disabled backlash compensation for the time being and was able to run programs that used to stall successfully.

This may also explain why updating to newer firmware with default configuration settings fixed the issue for you.

I've been really happy with the controller so far, though if there's anything I'd change with the firmware I'd modify having to press the mode button to switch between incremental / continuous / MPG. It's a minor hassle and unnecessary, since the controller should be able to distinguish between single and long presses of the axis movement buttons, and the MPG should be enabled as long as the controller is idle.
« Last Edit: February 08, 2017, 09:25:53 PM by ryan8 »

Offline Benedikt

  • Full Member
  • ***
  • Posts: 200
  • Country: de
Re: DDCSV1.1 4 Axis controller
« Reply #368 on: February 16, 2017, 02:34:22 PM »
I have started preparing everything for our completely custom firmware. I am working on bringing Qt to the DDCSV11 (Pandora).
Hopefully I can make it work  :scratch:

EDIT: Can't get it to work unfortunately.
However, I managed to compile DirectFB for the DDCSV1.1 (Pandora) :)
Quote
libdirect-1.7.so.6.0.0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

Here's the file tree:
Code: [Select]
.
├── bin
│   ├── cjpeg
│   ├── dfbdump
│   ├── dfbdumpinput
│   ├── dfbfx
│   ├── dfbg
│   ├── dfbinfo
│   ├── dfbinput
│   ├── dfbinspector
│   ├── dfblayer
│   ├── dfbmaster
│   ├── dfbpenmount
│   ├── dfbplay
│   ├── dfbscreen
│   ├── dfbshow
│   ├── dfbswitch
│   ├── directfb-config
│   ├── djpeg
│   ├── fluxcomp
│   ├── freetype-config
│   ├── jpegtran
│   ├── libpng16-config
│   ├── libpng-config -> libpng16-config
│   ├── pngfix
│   ├── png-fix-itxt
│   ├── rdjpgcom
│   └── wrjpgcom
├── include
│   ├── ++dfb
│   │   ├── ++dfb.h
│   │   ├── ++dfb_mangle.h
│   │   ├── ++dfb_unmangle.h
│   │   ├── idirectfbdatabuffer.h
│   │   ├── idirectfbdisplaylayer.h
│   │   ├── idirectfbeventbuffer.h
│   │   ├── idirectfbfont.h
│   │   ├── idirectfb.h
│   │   ├── idirectfbimageprovider.h
│   │   ├── idirectfbinputdevice.h
│   │   ├── idirectfbpalette.h
│   │   ├── idirectfbscreen.h
│   │   ├── idirectfbsurface.h
│   │   ├── idirectfbvideoprovider.h
│   │   └── idirectfbwindow.h
│   ├── directfb
│   │   ├── dfb_types.h
│   │   ├── dfiff.h
│   │   ├── dgiff.h
│   │   ├── direct
│   │   │   ├── atomic.h
│   │   │   ├── build.h
│   │   │   ├── clock.h
│   │   │   ├── compiler.h
│   │   │   ├── conf.h
│   │   │   ├── debug.h
│   │   │   ├── direct.h
│   │   │   ├── fastlz.h
│   │   │   ├── fifo.h
│   │   │   ├── filesystem.h
│   │   │   ├── flz.h
│   │   │   ├── hash.h
│   │   │   ├── init.h
│   │   │   ├── interface.h
│   │   │   ├── interface_implementation.h
│   │   │   ├── list.h
│   │   │   ├── Lists.h
│   │   │   ├── LockWQ.h
│   │   │   ├── log_domain.h
│   │   │   ├── log.h
│   │   │   ├── Magic.h
│   │   │   ├── map.h
│   │   │   ├── memcpy.h
│   │   │   ├── mem.h
│   │   │   ├── messages.h
│   │   │   ├── modules.h
│   │   │   ├── Mutex.h
│   │   │   ├── os
│   │   │   │   ├── clock.h
│   │   │   │   ├── filesystem.h
│   │   │   │   ├── linux
│   │   │   │   │   └── glibc
│   │   │   │   │       ├── filesystem.h
│   │   │   │   │       ├── mutex.h
│   │   │   │   │       ├── thread.h
│   │   │   │   │       ├── types.h
│   │   │   │   │       └── waitqueue.h
│   │   │   │   ├── log.h
│   │   │   │   ├── mem.h
│   │   │   │   ├── mutex.h
│   │   │   │   ├── signals.h
│   │   │   │   ├── system.h
│   │   │   │   ├── thread.h
│   │   │   │   ├── types.h
│   │   │   │   └── waitqueue.h
│   │   │   ├── perf.h
│   │   │   ├── Performer.h
│   │   │   ├── print.h
│   │   │   ├── processor.h
│   │   │   ├── result.h
│   │   │   ├── serial.h
│   │   │   ├── signals.h
│   │   │   ├── stream.h
│   │   │   ├── String.h
│   │   │   ├── system.h
│   │   │   ├── thread.h
│   │   │   ├── TLSObject.h
│   │   │   ├── ToString.h
│   │   │   ├── trace.h
│   │   │   ├── tree.h
│   │   │   ├── types.h
│   │   │   ├── Types++.h
│   │   │   ├── utf8.h
│   │   │   ├── util.h
│   │   │   └── uuid.h
│   │   ├── directfb_build.h
│   │   ├── directfbgl2.h
│   │   ├── directfbgl.h
│   │   ├── directfb_graphics.h
│   │   ├── directfb.h
│   │   ├── directfb++.h
│   │   ├── directfb_keyboard.h
│   │   ├── directfb_keynames.h
│   │   ├── directfb_strings.h
│   │   ├── directfb_util.h
│   │   ├── directfb_version.h
│   │   ├── directfb_water.h
│   │   ├── directfb_water_strings.h
│   │   ├── directfb_windows.h
│   │   └── fusion
│   │       ├── arena.h
│   │       ├── build.h
│   │       ├── call.h
│   │       ├── conf.h
│   │       ├── Debug.h
│   │       ├── fusion.h
│   │       ├── fusion_internal.h
│   │       ├── hash.h
│   │       ├── init.h
│   │       ├── lock.h
│   │       ├── object.h
│   │       ├── property.h
│   │       ├── protocol.h
│   │       ├── reactor.h
│   │       ├── ref.h
│   │       ├── shm
│   │       │   ├── pool.h
│   │       │   ├── shm.h
│   │       │   └── shm_internal.h
│   │       ├── shmalloc.h
│   │       ├── types.h
│   │       └── vector.h
│   ├── directfb-internal
│   │   ├── core
│   │   │   ├── clipboard.h
│   │   │   ├── colorhash.h
│   │   │   ├── coredefs.h
│   │   │   ├── CoreDFB_CallMode.h
│   │   │   ├── CoreDFB.h
│   │   │   ├── CoreDFB_includes.h
│   │   │   ├── CoreGraphicsStateClient.h
│   │   │   ├── CoreGraphicsState.h
│   │   │   ├── CoreGraphicsState_includes.h
│   │   │   ├── core.h
│   │   │   ├── CoreInputDevice.h
│   │   │   ├── CoreInputDevice_includes.h
│   │   │   ├── CoreLayerContext.h
│   │   │   ├── CoreLayerContext_includes.h
│   │   │   ├── CoreLayer.h
│   │   │   ├── CoreLayer_includes.h
│   │   │   ├── CoreLayerRegion.h
│   │   │   ├── CoreLayerRegion_includes.h
│   │   │   ├── CorePalette.h
│   │   │   ├── CorePalette_includes.h
│   │   │   ├── core_parts.h
│   │   │   ├── CoreScreen.h
│   │   │   ├── CoreScreen_includes.h
│   │   │   ├── CoreSlave.h
│   │   │   ├── CoreSlave_includes.h
│   │   │   ├── core_strings.h
│   │   │   ├── CoreSurfaceClient.h
│   │   │   ├── CoreSurfaceClient_includes.h
│   │   │   ├── CoreSurface.h
│   │   │   ├── CoreSurface_includes.h
│   │   │   ├── core_system.h
│   │   │   ├── coretypes.h
│   │   │   ├── CoreWindow.h
│   │   │   ├── CoreWindow_includes.h
│   │   │   ├── CoreWindowStack.h
│   │   │   ├── CoreWindowStack_includes.h
│   │   │   ├── Debug.h
│   │   │   ├── DisplayTask.h
│   │   │   ├── Fifo.h
│   │   │   ├── fonts.h
│   │   │   ├── gfxcard.h
│   │   │   ├── graphics_driver.h
│   │   │   ├── graphics_state.h
│   │   │   ├── input_driver.h
│   │   │   ├── input.h
│   │   │   ├── input_hub.h
│   │   │   ├── Interface.h
│   │   │   ├── layer_context.h
│   │   │   ├── layer_control.h
│   │   │   ├── layer_region.h
│   │   │   ├── layers.h
│   │   │   ├── layers_internal.h
│   │   │   ├── PacketBuffer.h
│   │   │   ├── palette.h
│   │   │   ├── Renderer.h
│   │   │   ├── screen.h
│   │   │   ├── screens.h
│   │   │   ├── screens_internal.h
│   │   │   ├── state.h
│   │   │   ├── surface_allocation.h
│   │   │   ├── surface_buffer.h
│   │   │   ├── surface_client.h
│   │   │   ├── surface_core.h
│   │   │   ├── surface.h
│   │   │   ├── surface_pool_bridge.h
│   │   │   ├── surface_pool.h
│   │   │   ├── SurfaceTask.h
│   │   │   ├── system.h
│   │   │   ├── Task.h
│   │   │   ├── TaskManager.h
│   │   │   ├── TaskThreadsQ.h
│   │   │   ├── Util.h
│   │   │   ├── windows.h
│   │   │   ├── windows_internal.h
│   │   │   ├── windowstack.h
│   │   │   ├── wm.h
│   │   │   └── wm_module.h
│   │   ├── devmem
│   │   │   ├── devmem.h
│   │   │   └── surfacemanager.h
│   │   ├── display
│   │   │   ├── idirectfbdisplaylayer.h
│   │   │   ├── idirectfbpalette.h
│   │   │   ├── idirectfbscreen.h
│   │   │   ├── idirectfbsurface.h
│   │   │   ├── idirectfbsurface_layer.h
│   │   │   └── idirectfbsurface_window.h
│   │   ├── dummy
│   │   │   └── dummy.h
│   │   ├── fbdev
│   │   │   ├── agp.h
│   │   │   ├── fbdev.h
│   │   │   ├── fb.h
│   │   │   ├── surfacemanager.h
│   │   │   └── vt.h
│   │   ├── gfx
│   │   │   ├── clip.h
│   │   │   ├── convert.h
│   │   │   ├── generic
│   │   │   │   └── generic.h
│   │   │   └── util.h
│   │   ├── idirectfb.h
│   │   ├── init.h
│   │   ├── input
│   │   │   ├── idirectfbinputbuffer.h
│   │   │   └── idirectfbinputdevice.h
│   │   ├── media
│   │   │   ├── idirectfbdatabuffer_client.h
│   │   │   ├── idirectfbdatabuffer.h
│   │   │   ├── idirectfbfont.h
│   │   │   ├── idirectfbimageprovider_client.h
│   │   │   ├── idirectfbimageprovider.h
│   │   │   └── idirectfbvideoprovider.h
│   │   ├── misc
│   │   │   ├── conf.h
│   │   │   ├── gfx_util.h
│   │   │   └── util.h
│   │   └── windows
│   │       └── idirectfbwindow.h
│   ├── freetype2
│   │   ├── freetype
│   │   │   ├── config
│   │   │   │   ├── ftconfig.h
│   │   │   │   ├── ftheader.h
│   │   │   │   ├── ftmodule.h
│   │   │   │   ├── ftoption.h
│   │   │   │   └── ftstdlib.h
│   │   │   ├── freetype.h
│   │   │   ├── ftadvanc.h
│   │   │   ├── ftautoh.h
│   │   │   ├── ftbbox.h
│   │   │   ├── ftbdf.h
│   │   │   ├── ftbitmap.h
│   │   │   ├── ftbzip2.h
│   │   │   ├── ftcache.h
│   │   │   ├── ftcffdrv.h
│   │   │   ├── ftchapters.h
│   │   │   ├── ftcid.h
│   │   │   ├── fterrdef.h
│   │   │   ├── fterrors.h
│   │   │   ├── ftfntfmt.h
│   │   │   ├── ftgasp.h
│   │   │   ├── ftglyph.h
│   │   │   ├── ftgxval.h
│   │   │   ├── ftgzip.h
│   │   │   ├── ftimage.h
│   │   │   ├── ftincrem.h
│   │   │   ├── ftlcdfil.h
│   │   │   ├── ftlist.h
│   │   │   ├── ftlzw.h
│   │   │   ├── ftmac.h
│   │   │   ├── ftmm.h
│   │   │   ├── ftmodapi.h
│   │   │   ├── ftmoderr.h
│   │   │   ├── ftotval.h
│   │   │   ├── ftoutln.h
│   │   │   ├── ftpfr.h
│   │   │   ├── ftrender.h
│   │   │   ├── ftsizes.h
│   │   │   ├── ftsnames.h
│   │   │   ├── ftstroke.h
│   │   │   ├── ftsynth.h
│   │   │   ├── ftsystem.h
│   │   │   ├── fttrigon.h
│   │   │   ├── ftttdrv.h
│   │   │   ├── fttypes.h
│   │   │   ├── ftwinfnt.h
│   │   │   ├── t1tables.h
│   │   │   ├── ttnameid.h
│   │   │   ├── tttables.h
│   │   │   ├── tttags.h
│   │   │   └── ttunpat.h
│   │   └── ft2build.h
│   ├── jconfig.h
│   ├── jerror.h
│   ├── jmorecfg.h
│   ├── jpeglib.h
│   ├── libpng16
│   │   ├── pngconf.h
│   │   ├── png.h
│   │   └── pnglibconf.h
│   ├── pngconf.h -> libpng16/pngconf.h
│   ├── png.h -> libpng16/png.h
│   ├── pnglibconf.h -> libpng16/pnglibconf.h
│   ├── zconf.h
│   └── zlib.h
├── lib
│   ├── directfb-1.7-6
│   │   ├── gfxdrivers
│   │   │   ├── libdirectfb_ati128.la
│   │   │   └── libdirectfb_ati128.so
│   │   ├── inputdrivers
│   │   │   ├── libdirectfb_input_hub.la
│   │   │   ├── libdirectfb_input_hub.so
│   │   │   ├── libdirectfb_joystick.la
│   │   │   ├── libdirectfb_joystick.so
│   │   │   ├── libdirectfb_keyboard.a
│   │   │   ├── libdirectfb_keyboard.la
│   │   │   ├── libdirectfb_keyboard.o
│   │   │   ├── libdirectfb_keyboard.so
│   │   │   ├── libdirectfb_linux_input.a
│   │   │   ├── libdirectfb_linux_input.la
│   │   │   ├── libdirectfb_linux_input.o
│   │   │   ├── libdirectfb_linux_input.so
│   │   │   ├── libdirectfb_lirc.la
│   │   │   ├── libdirectfb_lirc.so
│   │   │   ├── libdirectfb_mutouch.la
│   │   │   ├── libdirectfb_mutouch.so
│   │   │   ├── libdirectfb_penmount.la
│   │   │   ├── libdirectfb_penmount.so
│   │   │   ├── libdirectfb_ps2mouse.a
│   │   │   ├── libdirectfb_ps2mouse.la
│   │   │   ├── libdirectfb_ps2mouse.o
│   │   │   ├── libdirectfb_ps2mouse.so
│   │   │   ├── libdirectfb_serialmouse.la
│   │   │   ├── libdirectfb_serialmouse.so
│   │   │   ├── libdirectfb_sonypi.la
│   │   │   ├── libdirectfb_sonypi.so
│   │   │   ├── libdirectfb_ucb1x00_ts.la
│   │   │   ├── libdirectfb_ucb1x00_ts.so
│   │   │   ├── libdirectfb_wm97xx_ts.la
│   │   │   ├── libdirectfb_wm97xx_ts.so
│   │   │   ├── libdirectfb_zytronic.la
│   │   │   └── libdirectfb_zytronic.so
│   │   ├── interfaces
│   │   │   ├── ICoreResourceManager
│   │   │   │   ├── libicoreresourcemanager_test.a
│   │   │   │   ├── libicoreresourcemanager_test.la
│   │   │   │   ├── libicoreresourcemanager_test.o
│   │   │   │   └── libicoreresourcemanager_test.so
│   │   │   ├── IDirectFBFont
│   │   │   │   ├── libidirectfbfont_dgiff.a
│   │   │   │   ├── libidirectfbfont_dgiff.la
│   │   │   │   ├── libidirectfbfont_dgiff.o
│   │   │   │   └── libidirectfbfont_dgiff.so
│   │   │   ├── IDirectFBImageProvider
│   │   │   │   ├── libidirectfbimageprovider_bmp.a
│   │   │   │   ├── libidirectfbimageprovider_bmp.la
│   │   │   │   ├── libidirectfbimageprovider_bmp.o
│   │   │   │   ├── libidirectfbimageprovider_bmp.so
│   │   │   │   ├── libidirectfbimageprovider_dfiff.a
│   │   │   │   ├── libidirectfbimageprovider_dfiff.la
│   │   │   │   ├── libidirectfbimageprovider_dfiff.o
│   │   │   │   ├── libidirectfbimageprovider_dfiff.so
│   │   │   │   ├── libidirectfbimageprovider_gif.a
│   │   │   │   ├── libidirectfbimageprovider_gif.la
│   │   │   │   ├── libidirectfbimageprovider_gif.o
│   │   │   │   ├── libidirectfbimageprovider_gif.so
│   │   │   │   ├── libidirectfbimageprovider_jpeg.a
│   │   │   │   ├── libidirectfbimageprovider_jpeg.la
│   │   │   │   ├── libidirectfbimageprovider_jpeg.o
│   │   │   │   ├── libidirectfbimageprovider_jpeg.so
│   │   │   │   ├── libidirectfbimageprovider_mpeg2.a
│   │   │   │   ├── libidirectfbimageprovider_mpeg2.la
│   │   │   │   ├── libidirectfbimageprovider_mpeg2.o
│   │   │   │   ├── libidirectfbimageprovider_mpeg2.so
│   │   │   │   ├── libidirectfbimageprovider_pnm.a
│   │   │   │   ├── libidirectfbimageprovider_pnm.la
│   │   │   │   ├── libidirectfbimageprovider_pnm.o
│   │   │   │   └── libidirectfbimageprovider_pnm.so
│   │   │   ├── IDirectFBVideoProvider
│   │   │   │   ├── libidirectfbvideoprovider_gif.a
│   │   │   │   ├── libidirectfbvideoprovider_gif.la
│   │   │   │   ├── libidirectfbvideoprovider_gif.o
│   │   │   │   ├── libidirectfbvideoprovider_gif.so
│   │   │   │   ├── libidirectfbvideoprovider_v4l.la
│   │   │   │   └── libidirectfbvideoprovider_v4l.so
│   │   │   ├── IDirectFBWindows
│   │   │   │   ├── libidirectfbwindows_default.a
│   │   │   │   ├── libidirectfbwindows_default.la
│   │   │   │   ├── libidirectfbwindows_default.o
│   │   │   │   └── libidirectfbwindows_default.so
│   │   │   └── IWater
│   │   │       ├── libiwater_default.a
│   │   │       ├── libiwater_default.la
│   │   │       ├── libiwater_default.o
│   │   │       └── libiwater_default.so
│   │   ├── systems
│   │   │   ├── libdirectfb_devmem.a
│   │   │   ├── libdirectfb_devmem.la
│   │   │   ├── libdirectfb_devmem.o
│   │   │   ├── libdirectfb_devmem.so
│   │   │   ├── libdirectfb_dummy.a
│   │   │   ├── libdirectfb_dummy.la
│   │   │   ├── libdirectfb_dummy.o
│   │   │   ├── libdirectfb_dummy.so
│   │   │   ├── libdirectfb_fbdev.a
│   │   │   ├── libdirectfb_fbdev.la
│   │   │   ├── libdirectfb_fbdev.o
│   │   │   └── libdirectfb_fbdev.so
│   │   └── wm
│   │       ├── libdirectfbwm_default.a
│   │       ├── libdirectfbwm_default.la
│   │       ├── libdirectfbwm_default.o
│   │       └── libdirectfbwm_default.so
│   ├── lib++dfb-1.7.so.6 -> lib++dfb-1.7.so.6.0.0
│   ├── lib++dfb-1.7.so.6.0.0
│   ├── lib++dfb.a
│   ├── lib++dfb.la
│   ├── lib++dfb.so -> lib++dfb-1.7.so.6.0.0
│   ├── libdirect-1.7.so.6 -> libdirect-1.7.so.6.0.0
│   ├── libdirect-1.7.so.6.0.0
│   ├── libdirect.a
│   ├── libdirectfb-1.7.so.6 -> libdirectfb-1.7.so.6.0.0
│   ├── libdirectfb-1.7.so.6.0.0
│   ├── libdirectfb.a
│   ├── libdirectfb.la
│   ├── libdirectfb.so -> libdirectfb-1.7.so.6.0.0
│   ├── libdirect.la
│   ├── libdirect.so -> libdirect-1.7.so.6.0.0
│   ├── libfreetype.a
│   ├── libfreetype.la
│   ├── libfreetype.so -> libfreetype.so.6.13.0
│   ├── libfreetype.so.6 -> libfreetype.so.6.13.0
│   ├── libfreetype.so.6.13.0
│   ├── libfusion-1.7.so.6 -> libfusion-1.7.so.6.0.0
│   ├── libfusion-1.7.so.6.0.0
│   ├── libfusion.a
│   ├── libfusion.la
│   ├── libfusion.so -> libfusion-1.7.so.6.0.0
│   ├── libjpeg.a
│   ├── libjpeg.la
│   ├── libjpeg.so -> libjpeg.so.9.2.0
│   ├── libjpeg.so.9 -> libjpeg.so.9.2.0
│   ├── libjpeg.so.9.2.0
│   ├── libpng16.a
│   ├── libpng16.la
│   ├── libpng16.so -> libpng16.so.16.28.0
│   ├── libpng16.so.16 -> libpng16.so.16.28.0
│   ├── libpng16.so.16.28.0
│   ├── libpng.a -> libpng16.a
│   ├── libpng.la -> libpng16.la
│   ├── libpng.so -> libpng16.so
│   ├── libz.a
│   └── pkgconfig
│       ├── ++dfb.pc
│       ├── directfb-internal.pc
│       ├── directfb.pc
│       ├── direct.pc
│       ├── freetype2.pc
│       ├── fusion.pc
│       ├── libpng16.pc
│       ├── libpng.pc -> libpng16.pc
│       └── zlib.pc
└── share
    ├── aclocal
    │   └── freetype2.m4
    ├── directfb-1.7.6
    │   ├── cursor.dat
    │   ├── cursor.png
    │   ├── decker.dgiff
    │   └── decker.ttf
    └── man
        ├── man1
        │   ├── cjpeg.1
        │   ├── dfbg.1
        │   ├── djpeg.1
        │   ├── freetype-config.1
        │   ├── jpegtran.1
        │   ├── rdjpgcom.1
        │   └── wrjpgcom.1
        ├── man3
        │   ├── libpng.3
        │   ├── libpngpf.3
        │   └── zlib.3
        └── man5
            ├── directfbrc.5
            └── png.5

47 directories, 474 files

The code for the Makefile can be found here:
https://gist.github.com/bmuessig/10d105c6b1bd59b0f5401b9b606f8a1d
« Last Edit: February 16, 2017, 08:17:43 PM by Benedikt M. »

Offline Benedikt

  • Full Member
  • ***
  • Posts: 200
  • Country: de
Re: DDCSV1.1 4 Axis controller
« Reply #369 on: February 17, 2017, 07:22:22 PM »
I have really great news today:
SDL is finally running on the CNC controller!!!
This is probably the biggest breakthrough so far.  :beer:
From here on we could cannibalise LinuxCNC, grbl, etc. and use its code for the GCode and path routines.
I will still have to reverse engineer the motion driver and the keyboard, but be assured we can do that!

Here's a nice photo of running SDL:

Offline BrokenEye

  • Jr. Member
  • **
  • Posts: 30
  • Country: gb
Re: DDCSV1.1 4 Axis controller
« Reply #370 on: February 18, 2017, 06:11:57 AM »
Great work Benedikt, much appreciated, NURBS here we come  :D
Backup, then Backup the Backup then Backup again

Offline Merlin201314

  • Full Member
  • ***
  • Posts: 121
  • Country: gb
  • London
Re: DDCSV1.1 4 Axis controller
« Reply #371 on: February 18, 2017, 07:16:00 AM »
I have really great news today:
SDL is finally running on the CNC controller!!!
This is probably the biggest breakthrough so far.  :beer:
From here on we could cannibalise LinuxCNC, grbl, etc. and use its code for the GCode and path routines.
I will still have to reverse engineer the motion driver and the keyboard, but be assured we can do that!

Here's a nice photo of running SDL:
FANTASTIC Job Benedikt, you are the hero of this topic :D :beer: :bow:


Offline Benedikt

  • Full Member
  • ***
  • Posts: 200
  • Country: de
Re: DDCSV1.1 4 Axis controller
« Reply #372 on: February 18, 2017, 10:46:21 AM »
Thanks for the kind words  :beer:

@Merlin201314:
Would you mind sketching out a possible UI?
We are not using an UI framework so I am drawing on a virtual bitmap buffer. You could just use any graphics program and sketch an UI if you find time.

Offline Merlin201314

  • Full Member
  • ***
  • Posts: 121
  • Country: gb
  • London
Re: DDCSV1.1 4 Axis controller
« Reply #373 on: February 18, 2017, 11:39:49 AM »
I will do that willingly Benedikt,  but i need some imput from you...
should we keep the layout as it is and make it better? or should we draw a complete new one?
Any suggestion is very helpful for a good start
Best regards


Offline Benedikt

  • Full Member
  • ***
  • Posts: 200
  • Country: de
Re: DDCSV1.1 4 Axis controller
« Reply #374 on: February 18, 2017, 11:42:00 AM »
I will do that willingly Benedikt,  but i need some imput from you...
should we keep the layout as it is and make it better? or should we draw a complete new one?
Any suggestion is very helpful for a good start
Best regards
I think we should change it a bit. I don't like the Home screen to be honest. It could be simplified. Some things should be moved to actual sub menus. Especially homing and these related functions.
We could keep the tabbed layout if you think that would help. As long as it is well usable and intuitive with the available buttons, everything works really ;)

EDIT: I have more great news:
PNG, BMP and TTF font support is now completely working:




Here, I would like to get some help.
I am really not that great at understanding and reverse-engineering ARM assembly. Could somebody have a look at following files:
https://www.onlinedisassembler.com/odaweb/H7yyMp7I/0 (download here: http://data.bmuessig.eu/CNC/DDCSV11/Dumps/Files/motion.out)
https://www.onlinedisassembler.com/odaweb/sy9GUrVy/0 (download here: http://data.bmuessig.eu/CNC/DDCSV11/Dumps/Files/motiondev.ko)
Otherwise, I will have to properly learn ARM assembly, which is absolutely fine, but it will take me several months to reverse-engineer these files to get basic CNC functionality working.
This is fine, but some help would greatly speed this all up.

We need to get basic CNC-Functionality working. Especially important is the keypad, followed by the stepper outputs, the spindle and coolant control and finally the beeper.
« Last Edit: February 18, 2017, 01:15:16 PM by Benedikt M. »