# widget-axes
**Repository Path**: mirrors_cheton/widget-axes
## Basic Information
- **Project Name**: widget-axes
- **Description**: The Axes widget shows the XYZA values of the axes of your CNC controller. It also enables you to jog, home, change units, and change Work Coordinate Systems.
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2026-06-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# com-chilipeppr-widget-xyz
The Axes widget shows the XYZA values of the axes of your CNC controller. It also enables you to jog, home, change units, and change Work Coordinate Systems.

## ChiliPeppr Widget / XYZ Axes
All ChiliPeppr widgets/elements are defined using cpdefine() which is a method
that mimics require.js. Each defined object must have a unique ID so it does
not conflict with other ChiliPeppr widgets.
| Item | Value |
| ------------- | ------------- |
| ID | com-chilipeppr-widget-xyz |
| Name | Widget / XYZ Axes |
| Description | The Axes widget shows the XYZA values of the axes of your CNC controller. It also enables you to jog, home, change units, and change Work Coordinate Systems. |
| chilipeppr.load() URL | http://raw.githubusercontent.com/chilipeppr/widget-axes/master/auto-generated-widget.html |
| Edit URL | http://ide.c9.io/chilipeppr/widget-axes |
| Github URL | http://github.com/chilipeppr/widget-axes |
| Test URL | https://preview.c9users.io/chilipeppr/widget-axes/widget.html |
## Example Code for chilipeppr.load() Statement
You can use the code below as a starting point for instantiating this widget
inside a workspace or from another widget. The key is that you need to load
your widget inlined into a div so the DOM can parse your HTML, CSS, and
Javascript. Then you use cprequire() to find your widget's Javascript and get
back the instance of it.
```javascript
// Inject new div to contain widget or use an existing div with an ID
$("body").append('<' + 'div id="myDivWidgetXyz"><' + '/div>');
chilipeppr.load(
"#myDivWidgetXyz",
"http://raw.githubusercontent.com/chilipeppr/widget-axes/master/auto-generated-widget.html",
function() {
// Callback after widget loaded into #myDivWidgetXyz
// Now use require.js to get reference to instantiated widget
cprequire(
["inline:com-chilipeppr-widget-xyz"], // the id you gave your widget
function(myObjWidgetXyz) {
// Callback that is passed reference to the newly loaded widget
console.log("Widget / XYZ Axes just got loaded.", myObjWidgetXyz);
myObjWidgetXyz.init();
}
);
}
);
```
## Publish
This widget/element publishes the following signals. These signals are owned by this widget/element and are published to all objects inside the ChiliPeppr environment that listen to them via the
chilipeppr.subscribe(signal, callback) method.
To better understand how ChiliPeppr's subscribe() method works see amplify.js's documentation at http://amplifyjs.com/api/pubsub/
## Subscribe
This widget/element subscribes to the following signals. These signals are owned by this widget/element. Other objects inside the ChiliPeppr environment can publish to these signals via the chilipeppr.publish(signal, data) method.
To better understand how ChiliPeppr's publish() method works see amplify.js's documentation at http://amplifyjs.com/api/pubsub/
## Foreign Publish
This widget/element publishes to the following signals that are owned by other objects.
To better understand how ChiliPeppr's subscribe() method works see amplify.js's documentation at http://amplifyjs.com/api/pubsub/
## Foreign Subscribe
This widget/element publishes to the following signals that are owned by other objects.
To better understand how ChiliPeppr's publish() method works see amplify.js's documentation at http://amplifyjs.com/api/pubsub/
## Methods / Properties
The table below shows, in order, the methods and properties inside the widget/element.
## About ChiliPeppr
[ChiliPeppr](http://chilipeppr.com) is a hardware fiddle, meaning it is a
website that lets you easily
create a workspace to fiddle with your hardware from software. ChiliPeppr provides
a [Serial Port JSON Server](https://github.com/johnlauer/serial-port-json-server)
that you run locally on your computer, or remotely on another computer, to connect to
the serial port of your hardware like an Arduino or other microcontroller.
You then create a workspace at ChiliPeppr.com that connects to your hardware
by starting from scratch or forking somebody else's
workspace that is close to what you are after. Then you write widgets in
Javascript that interact with your hardware by forking the base template
widget or forking another widget that
is similar to what you are trying to build.
ChiliPeppr is massively capable such that the workspaces for
[TinyG](http://chilipeppr.com/tinyg) and [Grbl](http://chilipeppr.com/grbl) CNC
controllers have become full-fledged CNC machine management software used by
tens of thousands.
ChiliPeppr has inspired many people in the hardware/software world to use the
browser and Javascript as the foundation for interacting with hardware. The
Arduino team in Italy caught wind of ChiliPeppr and now
ChiliPeppr's Serial Port JSON Server is the basis for the
[Arduino's new web IDE](https://create.arduino.cc/). If the Arduino team is excited about building on top
of ChiliPeppr, what
will you build on top of it?