Table saw: blade + fence

Official

The router table screen for a table saw: the first axis of the Core raises the saw blade, the second moves the rip fence. The big numbers are how high the teeth stand above the table and the rip width — from the fence face to the near side of the teeth. After a blade change, lower the teeth level with the table and press “Teeth level with the table”, then bring the fence to the teeth and press “Fence touches the teeth”. A job such as “Rip 50 · board 18” raises the blade 5 mm above an 18 mm board and sets the fence to 50 mm in one tap; save your own from where the saw stands. Move the blade and the fence only with the saw stopped: UPAN does not know whether the blade spins, and it does not replace the guard, the riving knife or your emergency stop.

Hardware
UPAN Core · 2 axes
Contains
Controller screen, Phrases for an agent
Version
0.1.0
Minimum firmware
not released yet

Controller screen

How the controller draws this screen on a phone, next to the machine it drives. Tap the presets and the buttons: the machine moves at the speed of a demo machine. The gear in the top bar opens the settings.

Table saw
Blade height23.00
Rip width50.00
Jobs: blade · width
Ready

Move the blade and the fence only with the saw stopped. The guard and the riving knife stay on.

Table saw: blade and rip fence23.00 · fence 50.0 mm

Demo machines with their own limits. Your machine checks against its own; the screen only changes what you see, the device checks every move.

Layout (upan.layout/1)

{
  "format": "upan.layout/1",
  "name": "table-saw",
  "title": "Table saw",
  "units": "mm",
  "axes": [
    {
      "label": "Blade",
      "units": "mm"
    },
    {
      "label": "Fence",
      "units": "mm"
    }
  ],
  "scales": [
    {
      "id": "height",
      "label": "Blade height",
      "units": "mm",
      "min": 0,
      "max": 80,
      "offsets": [
        {
          "key": "table",
          "label": "Table offset",
          "sign": 1
        },
        {
          "key": "tool",
          "label": "Blade offset",
          "sign": 1
        }
      ]
    },
    {
      "id": "fence",
      "label": "Rip width",
      "units": "mm",
      "axis": 1,
      "min": 0,
      "max": 600,
      "offsets": [
        {
          "key": "zero",
          "label": "Fence offset",
          "sign": 1
        },
        {
          "key": "blade",
          "label": "Blade offset",
          "sign": 1
        }
      ]
    }
  ],
  "rows": [
    [
      {
        "w": "position",
        "scale": "height"
      },
      {
        "w": "position",
        "scale": "fence"
      }
    ],
    [
      {
        "w": "presets",
        "id": "jobs",
        "label": "Jobs: blade · width",
        "scales": [
          "height",
          "fence"
        ],
        "mode": "go",
        "columns": 2,
        "max": 12
      }
    ],
    [
      {
        "w": "target",
        "scale": "height"
      }
    ],
    [
      {
        "w": "step",
        "scale": "height",
        "steps": [
          -1,
          -0.1,
          0.1,
          1
        ]
      }
    ],
    [
      {
        "w": "scale_set",
        "scale": "height",
        "key": "tool",
        "value": 0,
        "label": "Teeth level with the table"
      }
    ],
    [
      {
        "w": "target",
        "scale": "fence",
        "recent": 5
      }
    ],
    [
      {
        "w": "step",
        "scale": "fence",
        "steps": [
          -10,
          -1,
          -0.1,
          0.1,
          1,
          10
        ]
      }
    ],
    [
      {
        "w": "scale_set",
        "scale": "fence",
        "key": "blade",
        "value": 0,
        "label": "Fence touches the teeth"
      }
    ],
    [
      {
        "w": "home",
        "label": "Blade down"
      },
      {
        "w": "home",
        "axis": 1,
        "label": "Fence park"
      },
      {
        "w": "status"
      }
    ],
    [
      {
        "w": "note",
        "text": "Move the blade and the fence only with the saw stopped. The guard and the riving knife stay on."
      }
    ]
  ],
  "defaults": {
    "presets": {
      "jobs": [
        {
          "name": "Rip 50 · board 18",
          "value": 23,
          "values": [
            23,
            50
          ],
          "color": "green"
        },
        {
          "name": "Rip 100 · board 25",
          "value": 30,
          "values": [
            30,
            100
          ],
          "color": "blue"
        },
        {
          "name": "Panel 300 · board 18",
          "value": 23,
          "values": [
            23,
            300
          ],
          "color": "cyan"
        },
        {
          "name": "Groove 8 × 10",
          "value": 8,
          "values": [
            8,
            10
          ],
          "color": "orange"
        }
      ]
    },
    "offsets": {
      "height": {
        "table": 0,
        "tool": 0
      },
      "fence": {
        "zero": 0,
        "blade": 0
      }
    }
  }
}

Layout data (upan.layout-data/1)

The file also carries the layout data the device starts with: presets, offsets and form values.

{
  "format": "upan.layout-data/1",
  "layout": "table-saw",
  "presets": {
    "jobs": [
      {
        "name": "Rip 50 · board 18",
        "value": 23,
        "values": [
          23,
          50
        ],
        "color": "green"
      },
      {
        "name": "Rip 100 · board 25",
        "value": 30,
        "values": [
          30,
          100
        ],
        "color": "blue"
      },
      {
        "name": "Panel 300 · board 18",
        "value": 23,
        "values": [
          23,
          300
        ],
        "color": "cyan"
      },
      {
        "name": "Groove 8 × 10",
        "value": 8,
        "values": [
          8,
          10
        ],
        "color": "orange"
      }
    ]
  },
  "offsets": {
    "height": {
      "table": 0,
      "tool": 0
    },
    "fence": {
      "zero": 0,
      "blade": 0
    }
  },
  "selected": {},
  "fields": {}
}

The agent opens with this preset's code and your values already in the message: add what you want to change.

Install

Install codeP-3TSW

  1. On the device's control page: enter P-3TSW.
  2. Without internet: download the file and drop it on the control page.
  3. With an agent: ask it to install preset P-3TSW.

Not final: installing by code needs controller firmware that is still in development. The file and the API work today.

Phrases for an agent

  • Rip 65 mm strips from a 22 mm board.
  • Add a job Rip 40 · board 18.