I think this topic is long enough now, to provide a small summary what we did so far and what is hopefully going to happen in the future.
I may have forgotten the one or other thing, so please complain if you find anything.
Requests are as usually welcome.
What we did so far that you can already profit from:- Added support for wireless keypads/keyboard/MPGs
- Redid the English translation to clean up the interface and make operation easier
- Created an online configuration utility for easy machine setup and later editing of the configuration at
http://config.pandora-cnc.eu/- Hosted a website with downloads, info and other interesting at
http://pandora-cnc.eu/- Developing an assistant for simplifying firmware upgrades
- Added support for custom boot-up images (may be useful for identifying machines or just as a personalization option)
What we worked on so far under the hood (technical):- Lot's of reverse-engineering of the FPGA registers, the application, the keypad interface, ...
- Some circuit-level reverse-engineering
- Writing a new CPU bootloader (not finished yet)
- Getting a cross-compiler set up and patching lots of libraries, Makefiles and utilites for getting many Linux applications to run (e.g. Lua, Python, SDL and many more).
- Writing a utility to read, extract and create raw NAND flash images from dumps we read out
- Writing a utility for directly manipulating the FPGA from the Linux command-line
- Writing some SDL test apps
- Writing a new FPGA Linux driver with logic-analyzer debug capabilities
- Writing a new Keypad Linux driver (not finished yet)
- Decompiling the original application and patching certain parts to fix translations, add USB keyboard support and to allow us to get our own external code to run.
- Developing new boot-scripts for adding custom kernel modules, libraries, configuration, handling firmware upgrades, etc.
- Added support and drivers for USB serial adapters. If you want to access the Linux command line, you can boot up with a Prolific USB serial adapter and you will get a root shell on that serial port.
- Work on a new Linux kernel with support for USB-Ethernet adapters (and possibly WiFi) to allow remote control and remote file upload to the controller
- Hand-fixed the Nand dumps we pulled off the flash to be able to flash them back to recover bricked controllers. You may even send them in for repair if you really need to. Just leave me a pm.
What I am currently working on:- Fixing inch mode using an on-device post-processor that turns all inch parameters into millimeters and also fixes some other errors
- Working with the original engineer to bring many of the currently Pandora-only features to the original factory firmware and also adding other, new features to it (such as homing individual axis, on-device plugin support for creating custom cycles, etc. (using Lua scripts), maybe support for other languages and more
If you are just discovering this topic, all you need to do to get started on a Windows computer, is the following:1st. Set up your machine's settings over at
http://config.pandora-cnc.eu/ and download the resulting file.
2nd. Download the latest installer from
http://pandora-cnc.eu/en/download and find an empty USB stick. Follow the instructions on screen to install the new firmware onto your controller.
3rd. Put the USB stick back into your computer and copy the settings file you have previously created onto the USB stick. Later, safely remove the stick from your PC and plug it back into your controller.
4th. Go to the file manager page and find your settings file you have just created. Press the Enter button on your CNC to load the new settings.
5th. Power-cycle your controller to finish the application of the new settings.
Many thanks go to the nice people who have donated. I have created a "Thank you" page over at
http://pandora-cnc.eu/en/supporters.
Best regards,
Benedikt