iPad App for LinuxCNC with HAL Socket Server

More
26 Feb 2018 07:13 - 26 Feb 2018 07:16 #106524 by narrobb
Hi guys,

Not sure if this is the right place, feel free to move.

I am at the last stage of this development and wanted to consider several interfaces that are for LinuxCNC before first public release is sent out.

This is actually a two part development. I initially showed the first edition few weeks back on CNCZone if anyone following PathPilot over there.

MKI is using a custom Bluetooth board, it interacts with HAL via USB HID, Virtual Serial & Keyboard all in single USB interface, allowing some commands to be sent as Keyboard commands, while other commands are sent via HAL pins. I've a video of the board and first Beta version of the iPendant here:


iPendant V1

Then MKII of this development focused on building a complete socket server as a HAL component which eliminated the Bluetooth hardware making the solution just a download. Extra features are also added like the ability to change DRO / Work Offsets / Tools right from the App. Using HAL pins/signal made installation/addition/changes to python files really a straightforward even to PathPilot.

In fact, I believe any LinuxCNC based system can point its correct pins being used to the pins already defined in the server and the App should work. Component also includes a virtual keyboard allowing for keyboard shortcuts or keys to be used right from the App as well.

In the case of PathPilot, some of their IN pins are already hooked up to other OUTs, we could have used OR2 and such HAL great features so I can share Tormach's used IN pins with several OUTs, but that would mean PathPilot users/installers will need to #comment these pins out and copy code to share the pins with the iOS App. It's much easier to create new pins and add a python function without disabling a single line of code originally written for PathPilot. Installation for PathPilot is now as simple as just putting the reference to load the component in HALUI section, and insert a function into the main python file.

An interesting feature added to the iPad App is a custom Buttons page, allowing users to create their own keyboard shortcuts, and to trigger up to 5 MDI_COMMANDS right from the App.

The server and App also fully works on VirtualBox LinuxCNC simulator making testing and checking much faster.

I have to admit that I only been using this on my Tormach & PathPilot and interested to see how it works on other flavors of LinuxCNC. I think if just match the PIN type, along with function with any system then the desired input/output is done.

MKII video and the final beta software just released here:


iPendant V2

If anyone wants to see the background of this development, check out the post at CNCZone here www.cnczone.com/forums/tormach-personal-...ponent-ipendant.html

But this forum seems the right place for this development actually as this is HAL/LinuxCNC dependent.

Looking forward for your feedback, suggestion & ideas.
Last edit: 26 Feb 2018 07:16 by narrobb.
The following user(s) said Thank You: tommylight, rodw, Desertboy

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

More
27 Feb 2018 01:16 - 27 Feb 2018 01:17 #106593 by narrobb
Looks like there will be a 'Custom Pin Page' feature like the Custom Button Page (for keyboard shortcuts). The custom pin page allows users/operators to create their own HAL pins into the machine and hook them up to the iPad. Following a discussion with interested machinist over at CNCZone, i came up with the Custom Pin page concept to allow for ‘power users’ to add their own features/functions into iPendant.

‘Power user’ as of someone who can write their own python code and insert it in the right place correctly without LinuxCNC complain on startup.

For example, if one wants to show a floating point representing a temperature, or coolant pump pressure/speed/flow; the Custom Pin Page feature allow this exactly. They easily can create a HAL pin, and attach it to one of the Custom Pin already available within the component and that will trigger/show/display on the iPad.

The pins will be bit/float/s32/u32. If bit, it will light up a LED, other types will show be displayed.

Maybe a combination of some IN pins and some OUT pins will be useful for customization of the machine & features;
Last edit: 27 Feb 2018 01:17 by narrobb.

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

More
03 Mar 2018 20:22 - 03 Mar 2018 20:23 #106885 by narrobb
Hi guys,

Just an update on this. The iPendant is now available in the App Store. The screenshot user's guide and the full HOW TO document explaining all changes to the files are also on the site.

I’ve been testing this only on PathPilot. As this is now done, I would like to start downloading standard LinuxCNC and MachineKit simulator and check it out. Though still I am looking for a tester with actual machine with LinuxCNC (Axis or others) to check it out. Tester needs to have an iPad (iOS 10+). Please send me your email.
I am preparing a document explaining each HAL pin available within iServer and associated functions. Tester needs to adapt these pins to their own pins.

About the current released one fully tested on PathPilot, for next major update already in the pipeline:
- Add IP Camera feed. This is activated when the screen dim while a gcode program is running. (with Audio). Camera can be positioned to look at PP main screen if certain messages are important, or it can be looking at the workpiece. I am already testing this setup with the App, will make a video of it soon.
- Add a decoder to transfer/Sync tool database from LinuxCNC & PathPilot to the iPad.
- Add Custom Pins page similar to Custom Buttons, this can bring in custom data like Temperature, Pressure, Flow readings and output Custom control to IO devices or other custom functions.
- Offer HAL pins to accompany current virtual keyboard functions, this gives developers and custom installers full control over using this App for any machine running native LinuxCNC/MachineKit.

MicrokitSolutions.com
Last edit: 03 Mar 2018 20:23 by narrobb.

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

Time to create page: 0.146 seconds
Powered by Kunena Forum